1数学建模竞赛试题B题:如何进行人员分配“A公司”是一家从事建筑工程的公司,现有41个专业技术人员,其结构和相应的工资水平分布如表1所示:表1人员结构及工资情况目前,公司承接4个工程项目,其中2项是现场施工,分别在A地和B地,主要工作在现场完成;另外2项是工程设计,分别在C地和D地,主要工作在办公室完成。由于4个项目来源于不同客户,并且工作的难易程度不同,因此,各项目的合同对有关技术人员的收费标准不同,具体情况如表2:表2不同项目和各种人员的收费标准人员项目高级工程师工程师助理工程师技术员收费(元/天)A1000800600500B1500800700600C1300900700400D1000800700500为了保证工程质量,各项目中必须保证专业人员结构符合客户的要求,具体情况如表3所示:表3各项目对专业技术人员结构的要求项目人员ABCD高级工程师1~32~521~2工程师2222~8助理工程师2221技术员131——总计10161118人员工资情况高级工程师工程师助理工程师技术员人数917105日工资(元)2502001701102说明:(1)项目D,由于技术要求较高,人员配备必须是助理工程师以上,技术员不能参加;(2)高级工程师相对稀少,而且是保证质量的关键,因此,各项目客户对高级工程师的配备要求不能少于一定数目的限制。各项目对其他专业人员也有不同的限制或要求;(3)各项目客户对总人数都有限制;(4)由于C,D两项目是在办公室完成,所以每人每天有50元的管理费开支;由于收费是按人工计算的,而且4个项目总共同时最多需要的人数是10+16+11+18=55,多于公司现有人数41,应如何合理地分配现有的人员力量,使公司每天的直接受益最大?32011年高教社杯全国大学生数学建模竞赛选拔赛题目如何进行人员分配摘要人力资源管理是一个公司进行人力资源分配的重要工作,合理地安排人力资源,能够为企业带来最大的经济效益。公司不只要对现有的人员进行任务分配,还要使公司的人力资源结构保持一个科学的比例。本模型旨在为A建筑公司提供一个良好的人员分配方案,达到公司获利最大的目的,以及怎样在以后的人员招聘中使人力资源结构保持一个良好的比例。在公司现有的情况下,通过分析各种影响因素,排除掉一些不必要的干扰因素,运用整数线性规划和分支定界法的知识建立数学模型,并使用LINGO软件进行编程求解,得出公司人员分配的最佳方案。在对本模型优缺点评价之后,根据公司可能会采取临时招聘技术人员的情况,对模型进行了改进,通过模型计算,为公司提供了一个合理的人员招聘方案。关键字:线性规划,人员分配,最大收益,LINGO软件目录一、问题重述二、问题分析三、问题假设四、模型建立五、模型求解六、结果分析七、模型评价八、模型改进九、附录4一、问题重述企业的人力资源管理是一门科学,而人力资源管理最主要的任务是如何把企业现有的人力资源安排到合适的工作岗位,以使企业能够获得更高的经济效益。尤其是在人力资源稀缺的情况下,合理的安排各人员的任务更是显得至关重要。接下来我们将要解决的就是一个企业人员分配的问题。在这个问题中,A建筑工程公司有高级工程师、工程师、助理工程师、技术员等四种不同级别的工作人员,并且公司同时承接了A、B、C、D四个不同的工程项目。公司不同级别的技术人员的工资是固定不变的,各级别技术人员的数量也是一定的,为了保证工程质量,各项目中必须保证专业人员结构符合客户的要求,在各项目的收费标准也是一定的情况下,合理的安排现有的技术人员的任务,将使公司获得一个最大的利润。那么,为了获得最大收益,A公司到底应该如何把这四种不同级别的技术人员安排到四个不同的项目中去呢?本文中,我们将重点对该问题进行分析。二、问题分析该问题的任务是,通过合理分配人员,使公司每天的直接收益最大。公司的主要收入来源是对各项目所收取的费用,支出主要有两项:四种不同级别的技术人员的工资和项目期间的办公费用。公司的直接收益是总收入减去总支出。A公司对各个项目的不同技术人员的收费标准都高于对应技术人员的总支出费用。我们可以得出不同项目对应不同级别技术人员的利润表如下:人员项目高级工程师工程师助理工程师技术员利润(元/天)A750600430390B1250600530490C1000650480240D700550480340注:该表中的利润值是已经减去办公费用的值同时,技术人员的分配受到不同项目对技术人员结构要求的约束,由于公司人员有限,各项目的技术人员安排不可能同时达到所需的最大数量,我们要将现有的41名技术人员对最大55个可用岗位进行安排。从以上分析结果,我们可以确定这是一个线性规划问题,对公司现有的各级别技术人员进行合理的任务安排,可以使公司获得一个最大利润。接下来,我们5就将问题转化到如何将A公司各级别技术人员安排到55个岗位上来,使公司获得最大利润。三、问题假设1、公司的现有技术人员数量和结构保持不变,即公司不会再临时招聘专业技术人员;2、一旦任务分配好之后,不会再出现人员变动的情况,并且不可能出现同一个技术人员同时担任两个项目的工作;3、对项目的收费标准和专业技术人员的工资水平保持不变;4、排除人员因生病、请假等不能正常工作的情况,排除天气对项目进行的影响;5、假设四个项目工期相同,即四个项目每天都在同时运行。四、模型建立1、决策变量:对各项目分配的技术人员数目设如下变量:项目人员数目ABCD高级工程师x11x12x13x14工程师x21x22x23x24助理工程师x31x32x33x34技术员x41x42x43x442、目标函数:设公司每天的利润为M元,根据利润表和人员分配表,公司每天的总利润可以表示为:M=750*x11+1250*x12+1000*x13+700*x14+600*x21+600*x22+650*x23+550*x24+430*x31+530*x32+480*x33+480*x34+390*x41+490*x42+240*x43+340*x4463、约束条件:(1)各项目的不同技术人员数量约束如下:1≤x11≤32≤x12≤5x13=21≤x14≤2x21≥2x22≥2x23≥22≤x24≤8x31≥2x32≥2x33≥2x34≥1x41≥1x42≥3x43≥1x44=0(2)各项目安排的总人员约束如下:x11+x21+x31+x41≤10x12+x22+x32+x42≤16x13+x23+x33+x43≤11x14+x24+x34+x44≤18(3)各级别技术人员总数约束如下:x11+x12+x13+x14≤9x21+x22+x23+x24≤17x31+x32+x33+x34≤10x41+x42+x43+x44≤57五、模型求解对于这种整数规划类型的问题,可以用分支定界法来进行求解。但是由于该模型的变量比较多,用分支定界法进行手工求解是比较麻烦的,而lingo软件求解整数规划问题时,正是基于这种方法,所以我们可以借助lingo软件进行求解。编写lingo程序如下:model:max=750*x11+1250*x12+1000*x13+700*x14+600*x21+600*x22+650*x23+550*x24+430*x31+530*x32+480*x33+480*x34+390*x41+490*x42+240*x43+340*x44;x11+x12+x13+x14=9;x21+x22+x23+x24=17;x31+x32+x33+x34=10;x41+x42+x43+x44=5;x11+x21+x31+x41=10;x12+x22+x32+x42=16;x13+x23+x33+x43=11;x14+x24+x34+x44=18;x11=1;x11=3;x12=2;x12=5;x13=2;x14=1;x14=2;x21=2;x22=2;x23=2;x24=2;x24=8;x31=2;x32=2;x33=2;x34=1;x41=1;x42=3;x43=1;x44=0;End运行程序(运行结果见附录一),求得最优解为27150元,即为公司每天最大直8接收益。各项目的专业技术人员最优分配表如下:项目人员ABCD总计高级工程师15219工程师636217助理工程师252110技术员13105总计101611441六、结果分析从运行结果(详见附录一)可以看出,公司的41名技术人员都能分配到任务,且完全符合各项目对技术人员结构的要求。而且,从其“影子价格”一栏可得知,在其他条件不变的情况下,每增加一名高级工程师,公司的最大直接收益就增加700元;每增加一名工程师,公司的最大直接收益就增加550元;每增加一名助理工程师,公司的最大直接收益增加480元;每增加一名技术员,公司的最大直接收益增加440元。因此,在不影响公司正常业务的情况下,应减少助理工程师和技术员的人数,增加高级工程师和工程师的人数,以使公司获得最大的直接收益。七、模型评价1.模型优点:(1)该模型对问题用线性规划进行分析,而且列出了利润表对问题进行简化,使得问题变得简单,也减少了模型变量的数量,使得分析问题变得简单;(2)模型用lingo软件进行求解,通过影子价格来分析问题,简化了手工计算的工作量;(3)结果分析了各级别技术人员数量增加时对企业利润的影响,给人力资源结构调整作了一个参照,以及今后公司扩展业务时应该招聘的人员比例。2.模型缺点:(1)本模型忽略了实际作业时的多种因素,例如天气、人员缺勤等不确定因素;9(2)本模型未对公司实际作业时的其他支出进行考虑,如购买工具、设备折旧等;(3)当公司招聘临时技术人员时,会对公司利润造成影响,本模型未对其进行考虑。八、模型改进针对模型的以上缺点,我们对其进行了以下改进:四个项目同时要求的总人数为55人,而公司实际人口为41人,如果公司招聘更多的技术人员会使利润增加,但应该招多少高级工程师、工程师、助理工程师和技术员,才能使公司的直接收益最大呢?下面我们对此问题进行求解。假设其他条件不变,新招聘的技术人员的工资标准和现有人员的相同。我们编写如下lingo程序并进行求解:model:max=750*x11+1250*x12+1000*x13+700*x14+600*x21+600*x22+650*x23+550*x24+430*x31+530*x32+480*x33+480*x34+390*x41+490*x42+240*x43+340*x44;x11+x21+x31+x41=10;x12+x22+x32+x42=16;x13+x23+x33+x43=11;x14+x24+x34+x44=18;x11=1;x11=3;x12=2;x12=5;x13=2;x14=1;x14=2;x21=2;10x22=2;x23=2;x24=2;x24=8;x31=2;x32=2;x33=2;x34=1;x41=1;x42=3;x43=1;x44=0;End结果(详见附录二)显示:当招录高级工程师3人,工程师7人,助理工程师4人时,公司的直接收益最大,且最大收益为35020元。各项目的专业技术人员最优分配表如下:项目人员ABCD总计高级工程师352212工程师466824助理工程师222814技术员13105总计1016111855表中的各级别的技术人员比例是最优的人员配置,当A公司保持这种人员比例时,会使公司的利润最大化。这就给今后公司的进行人员招聘提供了一个比较科学的参照。九、附录附录一:原模型运行结果Globaloptimalsolutionfound.Objectivevalue:27150.0011Totalsolveriterations:7VariableValueReducedCostX111.0000000.000000X125.0000000.000000X132.0000000.000000X141.0000000.000000X216.