1、1人力资源安排模型摘要:近年来,我国电力工程发展越来越快,高级人力资源渐渐成为发展的瓶颈.如何在保证专业人员结构符合客户的要求下合理的分配现有的技术力量,使得公司直接收益最大已成为每个公司需要解决的问题。本文针对某一公司在承接 4 个项目工程时的人力资源如何安排使得直接收益最大这一问题进行建模。本文建立模型主要依据公司的人员结构及工资情况、各项目对专业技术人员结构要求、以及不同项目和各种人员的收费标准三个要素。其中人员结构和对人员结构的要求为约束条件,各种人员的收费标准、工资和管理开支为权重。本文针对这一特点建立 16 个变量的整数规划模型。并分别运用启发式算法和软件求解该模型。在启发式算法中
2、,先将人员结构分为两个部分,固定部分即客户的最低需求部分,调派部分即需要安排部分。其中固定部分所对应的直接收益是固定的,所以只需考虑调派部分所产生的最大收益,将收费标准减去所有对应的开支,得到该公司的利润标准,并给出不同项目和各种人员的利润图表。对简化后的 11 个变量考虑,运用启发式算法给出调派部分的人员安排以及直接收益,最后给出具体人员安排如下: 项工程需高级工程师 1 名,工程师 6 名,助理工程师 2 名,A技术员 1 名; 项工程需高级工程师 5 名,工程师 3 名,助理 5 名,技术员 3 名; 项工B C程需高级工程师 2 名,工程师 6 名,助理 2 名,技术员 1 名; 项工
3、程需高级工程师 1 名,D工程师 2 名,助理 1 名,技术员无;最大利润为每天 27150 元。用 软件对 16 个变量Lindo的整数规划求解得到答案和上面相同,最大利润为每天 27150 元。本模型的优点在于运用两种不同的方法进行求解,得到了相同的结果,启发式算法在去掉固定部分的调派人员后,使问题大大简化,有利于计算;同时给出利润标准,使问题更加直观,由于所建立的是整数规划模型,在变量比较多时,用 软件易于求解,具Lindo有一定的普遍性和推广性;同时,在变量较少时,启发式算法也是一种有效的方法。关键词:启发式算法,整数规划模型,灵敏度分析,最大收益,优化分析一问题重述2“PE 公司”是
4、一家从事电力工程技术的中美合资公司,现有 41 个专业技术人员,其结构和相应的工资水平分布如表 1 所示。高级工程师 工程师 助理工程师 技术员人 数日工资(元)925017200101705110目前,公司承接有 4 个工程项目,其中 2 项是现场施工监理,分别在 A 地和 B 地,主要工作在现场完成;另外 2 项是工程设计,分别在 C 地和 D 地,主要工作在办公室完成。由于 4 个项目来源于不同客户,并且工作的难易程度不一,因此,各项目的合同对有关技术人员的收费标准不同,具体情况如表 2 所示。高级工程师 工程师 助理工程师 技术员收费(元/天)ABCD10001500130010008
5、00800900800600700700700500600400500为了保证工程质量,各项目中必须保证专业人员结构符合客户的要求,具体情况如表3 所示:A B C D高级工程师工程师助理工程师技术员总计1322110252231622211112281-18因此需要解决的问题是:如何合理的分配现有的技术力量,使公司每天的直接收益最大?3二问题分析在本模型中,要解决的问题为怎样分配人力资源使公司的直接收益最大,其约束分别为公司人员结构以及各项目对专业人员结构要求。很明显这是一个变量为 16 个的整数规划问题,在满足约束条件下建立相关模型是比较简单的,如何给出解答是本题的关键。本文给出了 3 种
6、解法。解法一在模型的求解中可以将安排分为两个部分:第一个部分为固定部分即客户最低要求部分,其利润是不变的;第二部分为需要安排部分,为方便起见,首先将 16 个变量简化为 11 个变量,给出其对应的利润标准。对需要安排部分运用启发式算法,求出需要安排部分的人员结构,在此基础上可得到最大收益,即为固定利润与安排部分最大利润之和。解法二是将此问题看作多重集的 组合数,分别给出不同的可能组合,r再求最大值,由于计算量比较大和时间上的关系,本文就不再给出解答。解法三采用软件进行求解,得到最优安排。Lindo三符号说明表示各承包项目的类型DCBA,表示 项目需要 类型人的人员数ijxji表示第 类型人被调
7、派到第 项目的收费标准ijcij表示该公司每天的直接收益W表示该公司每天固定部分的直接收入1表示该公司每天调派部分的直接收入2表示该公司承包四个项目每天的直接收入R表示 两个项目专业技术人员的每天管理开支的总费用LDC,表示该公司每天所发给 41 个专业技术人员的工资总额Q表示第 类专业技术人员作第 个项目给公司净收入iji j表示该公司给第 类专业技术人员每天所发的工资ik i4)(明其 它 符 号 在 文 中 用 处 说四模型的假设1 假设该公司每天都必须给 41 个专业技术人员发工资,无论他们是否被指派去完成各项目;2 假设在 两个项目工作的工人所开支的管理费由该公司承担;DC,3 假设
8、这四个项目每天都在开工,不存在停工的项目;五模型的建立1. 模型的准备为了做到心中有数,首先我们对本问题进行粗略的估算,(1) 对出动人数的估计一方面,从表 1 和表 2 中的数据可以看出,所有专业技术人员无论调派到那个项目,他们的收费标准都大于该公司给他们所发的日工资,另一方面,四个项目所需要的总人数为 55,大于该公司的现有专业技术人数 41,所以,为了使该公司每天的直接收益最大,我们得出的结论是:要求该公司出动所有的专业技术人员,即调派 41 个专业技术人员去这四个项目。(2)对调派方案估计由于这四个项目对该公司的人员结构有要求,设 表示为第 类人调派去做第 个项ijij目时,给公司带来
9、的直接收益, 表示公司给专业技术人员的日工资, 表示第 类人员ik ijci做第 项目的收费标准,j则 )4,3(5021jkciijijiijij由此,我们得出 的值如下表:ij511213142122324750 1250 1050 750 600 600 650 55031323344142434430 530 480 480 390 490 240 340表(4)下面采用按 的最大元素法对人员进行调派,由于 ,因此,高级ij 14132工程应尽量调派到 项目,同理,工程师应尽量调派到 项目;助理工程师应尽量调派到BC项目,而技术人员只有 5 个,恰好是四个项目的最低要求,因而不存在这样
10、的问题。这B样可以得到以下的调派人数表,A B C D 分配情况高级工程师 1 最多 5 人 2 1 分配完工程师 最多为 6助理工程师 2 最多 5 人 2 1 分配完技术员 1 3 1 0 分配完总计 10 16 11表(5)现在只剩下工程师没有分配完,由于 ,所以工程师在先满足 的24213C条件下,再尽量满足 ,由于此时 最多只能分配 名, 最多能分配BA, 356A名,这样 41 名专业技术人员分配完毕。6120(3)对该公司每天直接收益估计假若该公司是按上面的方案进行调派的,我们认为该公司每天的直接收益是最大的,通过计算,得出最大的直接收益为: ,由于上面的调派方案可能不是4127
11、150ijijxW最优的,所以最优的直接最大收益 ,应该满足 。 W2. 整数规划模型通过对问题仔细的分析,可用整数规划模型来描述:设 为人员类型,其中 1)4,321(i6表示高级工程师,2 表示工程师,3 表示助理工程师,4 表示技术员; 为项)4,321(j目类型,其中 1 表示 项目,2 表示 项目,3 表示 项目,4 表示 项目;ABCD表示第 项目需要第 类人的人数, 表示第 类人员做第 项目)4,;,(jixj jiijcij的收费标准。 表示该公司每天所发给 41 个专业技术人员的工资总额, 表示该公司承Q R包四个项目每天所得的收入, 表示 两个项目的专业技术人员每天的开支管
12、理费,则LDC,该公司每天的直接收益 QRW题意知: 元790510712095Q要使该公司每天的直接收益最大,我们建立整数规划模型,具体过程如下:目标函数为: 41341ijijjiji xxcMax约束条件为: 由于要满足该公司的人员结构要求,即有:)1((该公司供分配的高级工程师不超过 9 人)419jjx(该公司供分配的工程师不超过 17 人)4127jj(该公司供分配的助理工程师不超过 10 人)4130jjx(该公司供分配的技术人员不超过 5 人)415jj项目 对专业技术人员结构的要求,即有:)2(A( 项目对高级工程师的要求) 31xA( 项目对工程师的要求)2( 项目对助理工
13、程师的要求)31x( 项目对技术员的要求)4 A7( 项目对总人数的限制)410ixA项目 对专业技术人员结构的要求,即有:)3(B( 项目对高级工程师的要求) 521xB( 项目对工程师的要求) ( 项目对助理工程师的要求) 32x( 项目对技术员的要求) 4 B( 项目对总人数的限制) 126ix项目 对专业技术人员结构的要求,即有:)4(C( 项目对高级工程师的要求) 213xC( 项目对工程师的要求) ( 项目对助理工程师的要求) 3x( 项目对技术人员的要求) 14 C( 项目对总人数的限制) 13ix项目 对专业技术人员结构的要求,即有:)5(D( 项目对高级工程师的要求)214x
14、D( 项目对工程师的要求)8( 项目对助理工程师的要求) 34x( 项目对技术人员的要求)0D( 项目对总人数的限制)418ix8该公司分配给各个项目的专业技术人员要必须是正整数,即有:)6(0ijx )4,321;,(ji六模型的求解方法一:启发式算法首先将问题做如下简化:1) 对公司的收入和支出的简化:公司每天的直接收益为收入 减去发给员工的工 R资 和管理费用 ,即 ,在计算过程中,公司的直接收益可以简化为每QLLQRW个专业技术人员在不同的四个项目中对公司带来的收益,可以看作各种人员在不同项目的利润标准,即每个人员在不同项目中每天可以获得的利润。给出不同项目和各种人员的利润标准(单位
15、元/天):高级工程师 工程师 助理工程师 技术员A 750 600 430 390B 1250 600 530 490C 1000 650 480 240D 700 550 480 340表(6)2) 各项目对专业技术人员结构的要求以及人员结构的简化:在各项目中,客户对不同的技术人员结构都有个最低要求,其对应的成本是固定的,在调派过程中除去固定部分后的最大利润对应着总的最大利润。给出固定部分的最低人员配置要求和剩余技术人员结构图表(7):A B C D 剩余人员高级工程师 1 2 2 1 3工程师 2 2 2 2 9助理工程师 2 2 2 1 3技术员 1 3 1 0 0表(7)9其对应的每天
16、固定部分直接收益(元/天)16201ijxcW给出调派部分不同项目对技术人员分配要求和剩余人员结构图表(8):A B C D 剩余人员高级工程师 02 0-3 0 0-1 3工程师 00-6 9助理工程师 03技术员 0 0 0 0 0需求 47414表(8)可以看出变量由 16 个减少为 11 个,对这 11 个变量给出模型。下面根据图表(4)和图表(6)的数据,运用启发式算法进行求解:首先对最高层-高级工程师进行分配,其中 B 的权值最大,所以先将 3 个高级工程师尽可能安排在 B 处,此时 B 的剩余需求为 4 个人,最高层安排完毕。然后考虑次高层-工程师,其中 C 的权值最大,则先将工
17、程师尽可能安排在 C 处,此时 C 处人员需求已满,工程师还有 5 个剩余,考虑次大权值为 A 和 B,由于两个权值相等,我们为满足需求条件,先对第三层 -助理工程师考虑。助理工程师在 B 中的权值最大,尽可能向 B 处安排助理工程师,这样助理工程师安排完毕。此时 B 处剩余需求为 1 人,安排工程师 1 名在 B 处,剩余的 4 名工程师刚好满足 A,最优安排完毕。给出调度部分的人员安排图表A B C D高级工程师 750 1250(3) 1000 700工程师 600(4) 600(1) 650(4) 550助理工程师 430 530(3) 480 480技术员 390 490 240 3
18、40表(9)算出调派部分的最大利润 )/(1042天元W10则总的最大收益 (元/天)271509416201 W给出调派部分和固定部分的人员安排表(10)A B C D高级工程师 750(1) 1250(5) 1000(2) 700(1)工程师 600(6) 600(3) 650(6) 550(2)助理工程师 430(2) 530(5) 480(2) 480(1)技术员 390(1) 490(3) 240(1) 340表(10)方法二:由表(6)的数据可知简化后,模型变量的个数由 16 个变为 11,由于收费是按人工计算的,而且 4 个项目总共同时最多需要的人数是 55 人,多于该公司现有人
19、数 41,所以要使公司每天的直接收益达到最大,就应该把人员完全配置到项目上去,即将以下 3个约束取等号。 )30,30,(3 64749)1,2,0( 4323143231 2222 4111421 xxxxxx以上的 3 个方程都可以看作多重集的 r-组合数问题,运用包含排斥原理对每个方程进行求解,得到的结果组数是比较多的,在满足约束条件后所得到的方案可以大大减少,对每一种方案给出其对应的利润,找到最大值。由于计算比较复杂,本文在这里不再赘述。方法三:利用 软件求解,程序如下:Lindomax 1000 x11+800 x21+600 x31+500 x41+1500 x12+800 x22
20、+700 x32+600 x42+1300 x13+900 x23+700 x33+400 x43+1000 x14+800 x24+700 x34+500 x44-50 x13-50 x23-50 x33-50 x43-50 x14-50 x24-50 x34-50 x44-7900 ystx11+x12+x13+x141 x112 x121 x142 x222x232 x242 x242 x322 x332 x341 x411 x423x431 x44=0 y=1endgin x11 gin x12 gin x13 gin x14 gin x21 gin x22 gin x23 gin x
21、24 gin x31 gin x32 gin x33 gin x34 gin x41 gin x42 gin x43 gin x44(注明:上程序中的 y 是为了方便计算而引入的变量,无任何实际意义)程序运行的结果为:OBJECTIVE FUNCTION VALUE(目标函数值): 27150VARIABLE VALUE REDUCED COSTX11 1.000000 -1000.000000X12 5.000000 -1500.000000X13 2.000000 -1250.000000X14 1.000000 -950.000000X21 6.000000 -800.000000X22
22、 3.000000 -800.000000X23 6.000000 -850.000000X24 2.000000 -750.000000X31 2.000000 -600.000000X32 5.000000 -700.000000X33 2.000000 -650.000000X34 1.000000 -650.000000X41 1.000000 -500.000000X42 3.000000 -600.000000X43 1.000000 -350.000000X44 0.000000 -450.00000012六模型的检验通过方法一和方法三进行求解,得出的结果完全相同的,由此说明我们
23、所建立的模型是最优的。下面我们采用灵敏度分析对模型进行检验,参考 运行的结果得出下表(11)Lindo变量 X11 X12 X13 X14 X21 X22 X23 X24调派人数 1 5 2 1 6 3 6 2灵敏度 -750 -1250 -1000 -700 -600 -600 -650 -550变量 X31 X32 X33 X34 X41 X42 X43 X44调派人数 2 5 2 1 1 3 1 0灵敏度 -430 -530 -480 -480 -390 -490 -240 -340表(11)将变量按其灵敏度由大到小的顺序进行排列,结果如下: 43413434232412314132 x
24、xxxxx 通过对表格(9)与表格(3)进行比较,我们发现调派的人数完全符合各个项目对专业技术人员结构的要求,同时使公司的收益达到最大,通过进一步的检验,发现以上表格的调派方案不但满足专业技人员结构要求,而且是完全符合灵敏度由大到小的安排顺序,由此说明我们所建立的模型是合理的,是符合实际的。七模型的改进和推广下面我们对模型进行优化分析, 如表(12)所示:A B C D高级工程师 750(1) 1250(5) 1000(2) 700(1)工程师 600(6) 600(3) 650(6) 550(2)助理工程师 430(2) 530(5) 480(2) 480(1)技术员 390(1) 490(
25、3) 240(1) 340人数总计 10 16 11 413由上表给出的调派的人力资源表的数据可以看出,该公司调派了所有专业技术人员,使得公司在现有的人员结构基础上收益达到了最大,但是该公司调派的总人数并没有达到这四个项目的人数上限,从上表可以看出 三个项目已经达到了人数的上限,而 项CBA, D目没有达到人数的上限,还差 14 个专业技术人员,现假设公司可以从市场聘用专业技术人员时,那么,我们通过计算,得出最优聘用方案是:聘用的人数为 14 人,其中高级工程师为 1 名,工程师为 6 名,助理工程师为 7 名,这样可以使该公司的收益增加(元/天)30487507W本文的建模思想可以进一步的推
26、广到资源分配问题。在现实生活中,会遇到很多与本问题相类似的分配问题,例如,将数量一定的一种或若干种资源恰当的分给若干个使用者,从而使目标函数达到最优。具体如下:设有 种类型的原料,总数量为 ,用于生产 种产品, 表示生产第 种产品需要第manijxi种类型原料的数量,其收益记为 ,问如何分配使总的收入最大?j )(ijxg此问题就可以写成静态规划问题: 0)(ma11ijnijnimjijxxgz当 都是线性函数时,它可用本模型所用的 软件求解;当 是非线性函)(ijxg Lindo)(ijxg数时,可以看成一个多阶段决策问题,采用动态规划的递推关系来求解,或者用 软件Lno求解。八模型的评价
27、优点:1本模型所采用的是整数规划,可综合考虑各种因素,且可解一般性的问题,对于变量相对较多时,应用计算机很容易求解。2本模型中所采用的启发式算法,比较容易理解,而且易于求解,在变量比较少时,14是一种有效的方法,而且所求的解往往是最优的。不足:启发式算法对于变量比较多时,求解过程比较复杂,而且可能不是最优解,九参考文献1 教材编写组,运筹学,北京:清华大学出版社,19902 屈婉玲,组合数学,北京:北京大学出版社,198915附:关于人力资源安排的论证报告各位领导、各位来宾、各位员工:大家好!我们公司是一家从事电力工程技术的中美合资公司,多年以来,在各位领导的大力支持下,在各位来宾的关心下,在
28、各位员工的辛勤工作下,我们取得了辉煌的成就,在市场上占有一席之地。但毕竟我公司的人力资源有限,仅有专业技术人员 41 名,而市场上有多家公司需要我们承包工程项目,为了使我公司在单位时间内的收益尽可能的大,我们必须尽量的承包多个工程项目,与此同时,为了保持公司的美好形象,在保证工程质量的前提下,各个项目必须保证专业技术人员结构符合客户的要求,这样在人力资源的分配上给我公司带来了一定的困难。目前,公司已承接有 这 4 个工程项目,各项目对专业技术人员结构的要求DCBA,如下表 所示:)13(A B C D高级工程师工程师助理工程师技术员总计1322110252231622211112281-18由
29、于 4 个项目来源于不同客户,并且工作的难易程度不一,因此,各项的同对有关技术人员的收费标准不同,具体情况如表 所示:)14(高级工程师 工程师 助理工程师 技术员A 750 600 430 390B 1250 600 530 490C 1000 650 480 24016D 700 550 480 340这样一来,问题就出现了,怎样来分配公司的人力资源来使每天的直接的收益最大呢? 通过我们仔细的分析和精确的计算,得出在合理的分配现有的全部技术力量的前提下,公司每天的直接收益最大为:27150 元,具体人员安排如下: 项工程需高级工A程师 1 名,工程师 6 名,助理工程师 2 名,技术员 1
30、 名; 项工程需高级工程师 5 名,B工程师 3 名,助理 5 名,技术员 3 名; 项工程需高级工程师 2 名,工程师 6 名,助C理 2 名,技术员 1 名; 项工程需高级工程师 1 名,工程师 2 名,助理 1 名,技术员D无。下面我们从两个方面加以论证:一个方面,我们可以先分配一定的人员来满足各项目对专业技术人员的最低要求,这样表格 可转化为:)15(A B C D高级工程师工程师助理工程师技术员总计0200040300070000401060-14表 )15(在表 中,首先对最高层-高级工程师进行分配,其中 B 的权值最大,所以先将 3 个)1(高级工程师尽可能安排在 B 处,此时
31、B 的剩余需求为 4 个人,最高层安排完毕。然后考虑次高层-工程师,其中 C 的权值最大,则先将工程师尽可能安排在 C 处,此时 C 处人员需求已满,工程师还有 5 个剩余,考虑次大权值为 A 和 B,由于两个权值相等,我们为满足需求条件,先对第三层- 助理工程师考虑。助理工程师在 B 中的权值最大,尽可能向 B处安排助理工程师,这样助理工程师安排完毕。此时 B 处剩余需求为 1 人,安排工程师 1名在 B 处,剩余的 4 名工程师刚好满足 A,最优安排完毕。另外,我们借用相应数学软件也得到了相同的结果。具体的算法可参考会后的发言稿。17这只是公司内部分析计算的结果,如果有更好的方案和建议,欢迎大家以书面或口头的方式告诉我们。今天的报告到此结束,谢谢。