人力资源调度的优化模型摘要本文主要研究人力资源调度的最优化问题。
人力资源调度问题中所要处理的数据之间的关系是比较繁琐的,所以如何有效地设置决策变量,找出相互关系是我们建立模型的突破口。
上述模型属于多元函数的条件极值问题的范围,然而许多实际问题归结出的这种形式的优化模型,起决策变量个数n和约束条件m一般比较大,并且最优解往往在可行域的边界上取到,这样就不能简单地用微分法求解,数学规划是解决这类问题的有效方法。
根据所给的“PE公司”技术人员结构及工资情况表、不同项目和各种人员的收费标准表格,为了在满足客户对专业技术人员结构要求的前提下,使“PE公司”每天的直接收益最大,我们首先对不同项目的不同技术人员的分配个数进行假设,从而得到了“PE公司”每天总收入I和每天总支出C,所以每天的直接收益C=,这就是公司每天直接收益的目标函数。
在此基础上我们建立U-I了基于Matlab软件上的线性规划方法一和基于Lindo6.0软件上的整数线性规划方法二来求解这个模型。
首先我们Matlab软件运行这个函数,得到求得的值恰好是整数,满足题意,在题目的约束条件下得到的最大公司效益是27150元,此时的人员分布如下表所示:因为对题中的数据稍做改动时得出的答案就会出现小数的现象,为了更好的解决该问题,我们又引入了一个很好地能处理整数的软件Lindo6.0,得到了各个有效的数据。
并在模型扩展中运用已建立的程序对所得的结果进行灵敏度分析,即讨论在收费标准不变的情况下技术人员结构对公司收益的影响以及在技术人员结构不变的情况下收费标准对公司收益的影响,并且进一步分析在怎样的范围内最优解保持不变,并联系社会实际进行了一定的分析。
最后在适当简化模型的同时,对模型进行了改进和推广,预示了高素质人才在现代社会中将发挥着越来越重要的作用。
关键词:人力资源调度;决策变量;可行域;灵敏度分析;博弈论一.问题重述:“PE公司”是一家从事电力工程技术的中美合资公司,现有41个专业技术人员,其结构和相应的工资水平分布如表1所示。
表1 公司的人员结构及工资情况目前,公司承接有4个工程项目,其中2项是现场施工监理,分别在A地和B地,主要工作在现场完成;另外2项是工程设计,分别在C地和D地,主要工作在办公室完成。
由于4 个项目来源于不同客户,并且工作的难易程度不一,因此,各项目的合同对有关技术人员的收费标准不同,具体情况如表2所示。
表2 不同项目和各种人员的收费标准为了保证工程质量,各项目中必须保证专业人员结构符合客户的要求,具体情况如表3 所示:表3:各项目对专业技术人员结构的要求说明:表中“1~3”表示“大于等于1,小于等于3”,其他有“~”符号的同理;● 项目D ,由于技术要求较高,人员配备必须是助理工程师以上,技术员不能参加; ● 高级工程师相对稀缺,而且是质量保证的关键,因此,各项目客户对高级工程师的配备有不能少于一定数目的限制。
各项目对其他专业人员也有不同的限制或要求;● 各项目客户对总人数都有限制;● 由于C 、D 两项目是在办公室完成,所以每人每天有50元的管理费开支。
由于收费是按人工计算的,而且4个项目总共同时最多需要的人数是10+16+11+18=55,多于公司现有人数41。
因此需解决的问题是:如何合理的分配现有的技术力量,使公司每天的直接收益最大?并写出相应的论证报告。
二.模型假设和符号说明:1.模型假设根据问题的要求,并为了达到将问题进一步明确抽象的目的,在我们的模型中有如下的假设:1) PE 公司是在同一时间接手A 、B 、C 、D 四个工程项目。
2) PE 公司的各种技术人员分工相当明确,如高级工程师不能兼职工程师的工作。
3) PE 公司的专业技术人员在接手工程期间不存在着请假,缺席的现象。
4) 在PE 公司接手这四个工程的间段,市场物价稳定。
各级技术人员的收费标准分别在如下的范围内:高级工程师的收费最低不低于800元,最高不超过1600元; 工程师的收费最低不低于500元,最高不超过1200元; 助理工程师的收费最低不低于300元,最高不超过900 元; 技术员的收费最低不低于150元,最高不超过600元。
5) 假设A ,B ,C ,X 是如下四个矩阵:],,,,,,,,,,,,,,[444342413433323124232221141312,11a a a a a a a a a a a a a a a a A =],,,,,,,,,,,,,,,[44434241343332312423222114131211b b b b b b b b b b b b b b b b B =],,,,,,,,,,,,,,,[44434241343332312423222114131211c c c c c c c c c c c c c c c c C =T x x x x x x x x x x x x x x x x X ],,,,,,,,,,,,,,,[44434241343332312423222114131211=2.符号说明14131211,,,x x x x 分别代表的是在A 、B 、C 、D 项目中高级工程师的人数安排 24232221,,,x x x x 分别代表的是在A 、B 、C 、D 项目中工程师的人数安排 34333231,,,x x x x 分别代表的是在A 、B 、C 、D 项目中助理工程师的人数安排 44434241,,,x x x x 分别代表的是在A 、B 、C 、D 项目中技术员的人数安排 14131211,,,a a a a 分别代表的是高级工程师在A 、B 、C 、D 项目中的每天收费标准 24232221,,,a a a a 分别代表的是工程师在A 、B 、C 、D 项目中的每天收费标准34333231,,,a a a a 分别代表的是助理工程师在A 、B 、C 、D 项目中的每天收费标准 44434241,,,a a a a 分别代表的是技术员在A 、B 、C 、D 项目中的每天收费标准 14131211,,,b b b b 分别代表的是PE 公司为A 、B 、C 、D 项目中的高级工程师每天所支付的费用24232221,,,b b b b 分别代表的是PE 公司在A 、B 、C 、D 项目中的工程师每天所支付的费用34333231,,,b b b b 分别代表的是PE 公司为A 、B 、C 、D 项目中的助理工程师每天所支付的费用44434241,,,b b b b 分别代表的是PE 公司为A 、B 、C 、D 项目中的技术员每天所支付的费用注: PE 公司支出费用包括技术人员的工资和C 、D 项目中每个人员每天的50元管理费。
三.模型的建立:模型Ⅰ:基于Matlab 的线性规划方法根据题意以及上面的符号说明可以得到下列A ,B ,C 的值A=[1000 1500 1300 1000 800 800 900 800 600 700 700 700 500 600 400 500] B=[250 250 300 300 200 200 250 250 170 170 220 220 110 110 160 160] C=A —B=[750 1250 1000 700 600 600 650 550 430 530 480 480 390 490 240 340 ]于是得到目标函数:..)(41,t s x b aCX MaxZ ijij j i ij⨯-==∑=444233323124232221131243413414112414131211443424144333231342322212413121114443424134333231242322211413121103,,,,,,,,2,,,,18225318111610510179x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x =≤≤≤≤≤≤≤≤≤+++≤+++≤+++≤+++≤+++≤+++≤+++≤+++ 我们首先来观察表1和表3,因为A 、B 、C 、D 四个工程需要的技术员最低限分别是1、3、1、0,而PE 公司的技术员恰好只有5人,所以关于技术员的调度就已经确定,A 工程1人,B 程3人,工程1人,工程0人。
即: 0,1,3,144434241====x x x x 。
又有C 工程中高级工程师的数量已定,213=x ,因此其实只有11个决策变量在影响最终公司效益。
用Matlab 6.5软件中的函数[x,fval]=linprog(C,A,b,Aeq,beq,vlb,vub)解,具体程序看附录1:得出数据X=[1,5,2,1,6,3,6,2,2,5,2,1,1,3,1,0]TMax Z=CX=27150通过对高级工程师的人数变化时(其他因素全都不变),分析其对最大公司效益的影响,分别取高级工程师的人数是9,10,11,12的情况: 得出结果如下表所示:上述表格缺陷在于人员分配个数出现了小数,这跟实际问题相违背。
分析其原因主要在于:我们用这个Matlab6.5软件做出来的就是基于用单纯形法引入松弛变量而得出来的。
因为松弛问题是作为一个线形规划问题,其可行解的集合是一个凸集,任意两个可行解的凸集组合仍为可行解。
由于整数规划问题的可行解一定也是松弛问题的可行解(反之则不一定),所以前者最优解的目标函数值不会优于后者最优解的目标函数值。
在一般情况下,松弛问题的最优解不会刚好满足变量的整数约束条件,因而不是整数规划的可行解,自然就不是整数规划的最优解。
我们用Matlab 6.5中函数[x,fval]=linprog(C,A,b,Aeq,beq,vlb,vub)求解出来的当高级工程师人数变化时出现了小数现象,就是上述所述的问题。
此时,若对松弛问题的这个最优解中不符合整数要求的分量简单的取整,所得到的解不一定是整数规划问题的最优解,甚至也不一定是整数规划问题的可行解。
基于这个问题我们引入了解这个模型的第二种方法。
模型Ⅱ:基于LinDo6.0的整数规划方法:对于该问题我们有同于4.1的目标函数及约束条件,即..)(41,t s x b aCX MaxZ ijij j i ij⨯-==∑=444233323124232221131243413414112414131211443424144333231342322212413121114443424134333231242322211413121103,,,,,,,,2,,,,18225318111610510179x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x =≤≤≤≤≤≤≤≤≤+++≤+++≤+++≤+++≤+++≤+++≤+++≤+++用Lindo6.0求解问题,程序具体见附录2: 得出数据X=[1,5,2,1,6,3,6,2,2,5,2,1,1,3,1,0]TMaxZ=CX=27150结果跟方法一的相同,从而也验证了结果的正确性。