人力资源配置问题及解决方案
摘要
在现实生活中,在公司人员安排上,这类人员配置问题总是不断出现,但总会有一个或一个以后的最好安排即可以让公司的利润实现最大化。主要研究如何能够使人力资源得到优化调度和配置。根据所给的黄河实业有限公司技术人员结构及工资情况表、不同项目和各种技术人员的收费标准表格,为了满足客户对专业技术人员结构要求,使黄河实业有限公司每天的直接收益最大,人力资源调度和配置问题的处理一般比较复杂,它有许多互相依赖的数据,所以如何有效的找出数据间关系并设置变量就成了解决问题的关键。针对这类问题,我们用一些不等式表示条件,得到满足这些条件的利润最大值。这里我用到了lingo软件中的集和派生集,用派生集的属性表示如何配置人员。但其中我考虑到,四类员工也许发生意外情况,而不能得到及时的安排,为此我从新建立一个模型,以应付突发情况。 得算出来的最好人员分配,利润是每天27150.00元。
我们求得模型结果后对结果的可靠性进行了验证并对模型的灵敏度进行了分析,从而验证了模型的可行性。最后,我们指出了模型的优缺点,供以后改进。作为企业,应该重视人力资源的配置,这样人力资源才能为企业创造最佳的经济效益与社会效益。
关键词:人力资源 优化配置 Lindo 灵敏度分析利润 最大化 集 派生集
问题的重述:
人力资源得到优化配置,这是许多企事业单位期望得到的。这样可以避免人力资源的浪费并且可以提高本单位的经济效益。然而在现实生活中,由于诸多因素的限制很影响,如:技术人员的职称不同和数目不和谐,工程项目的特点等因素。这样如果不找出一种方法来优化配置人力资源,拥有这些技术人员的公司将很难生存。而要做到人力资源的优化配置,计算机是离不了的,而计算机软件的开发又需要有数学模型的支持。因此本文试图在这方面做一些有益的尝试
人员配置是公司发展速度的一大因素,根据目标和任务需要正确选择、合理使用人员,以合理的人员去完成组织结构中规定的各项任务,从而保证整个组织目标和各项任务完成的职能活动,根据经济效益原则,这个合理使用人员要实现利润的最大化。 而针对不同的项目有不同的要求,充分根据自己的人力资源,做出最好的开发。
今天这个问题,是一个人力资源配置问题,“E公司”承接四个项目,可人力资源有限,而且每个项目也有各种人员限制。我们必须从许多种配置中选出一个最好的配置,既可以及时的完成每个项目,也可以实现公司的利润最大化。
由于C,D两项目是在办公室完成,所以每人每天有50元的管理费开支; 由于收费是按人工计算的,而且4个项目总共同时最多需要的人数是10+16+11+18=55,
多于公司现有人数41,应如何合理地分配现有的技术力量,使公司每天的直接受益最大?
我们要根据这3个表中的条件,建立所对应有数学模型,而使公司的利润最大;
问题的分析:
本问题是一个整数的线性规划问题 的数学模型。线性规划问题是将实际问题转化为一组线性不等式或者等式的约束下求线性目标函数的最大(最小)值问题。显然本问题要求的是最大值。问题中的所有变量都只取整数值的线性规划问题称为整数线性规划问题。
另外,对问题还有以下分析结果:5个项目对高级工程师人数的上下限都各有限制;D和E的两个项目的技术含量高,技术员不能参加;各项目对各职称的技术人员的总人数有限制。如A项目的人数不大于16名;C,D,E三项目在办公室完成,每人每天需要50元的管理费;从表格可以看出技术员共9人,参加A,B,C三项目都不少于3人,显然参加A,B,C三项目的技术员各3人;5个项目最多所需要的技术人员:85人。不难看出公司的净收入最大时,公司拥有的63名技术人员必须都参与各项目。现在的问题是这63名技术人员如何参与?如何优化?才能使得公司的每日净收益最大?
模型假设:
在得出最合理的安排后,各个人员能够得到这个的安排去完成项目,没有请假或出现一些意外而不能参加项目的情况。那么这个安排是绝对成立的,而且是最合理的。
假设这些任务独立,即相互之间没有什么影响。A项目的完成与否与B项目完成与否没有联系。
1、假设公司所有技术人员都服从公司的调遣和指派。
2、假设各个项目进展顺利且各技术人员按上时保质保量完成项目任务。
3、假设公司除各类技术人员的工资和C,D项目每日每人50元的管理费外,再无别的开支,如差旅费、生活补助、医疗补助等。
4、假设公司各类技术人员中,同职称技术人员之间无技术等任何差别。 5、假设公司与客户双方都能按合同办事,按时交付技术人员的报酬。
符号说明:
1. ! 注释部分; 我用“!”开始进行注释, 用“;“表示注释结束。
2. types/1..4/; !建立一个集,里面放有1,2,3,4,分别用来标记
高级工程师、工程 师、助理工程师、技术员 ;
3. sports/1..4/; !建立别一个集,里面也是放有1,2,3,4,分别用
来标记A项目、B项目、C项目、D项目 ;
4. link(types,sports):pp,nu; !建立一个派生集,放有
types,sports所有的组合,并设有两个属性,pp,nu,用pp放每个人为公司创造的纯利润,表面可以理解为44矩阵,用nu放他们的人员配置,也可以理解为44矩阵。
5. 高级工程师、工程师、助理工程师、技术员的编号记在nu的第一列中;A项
目、B项目、C项目、D项目记在nu的第二列中。 6. nu(1,1) 表示的是高级工程师去完成A项目的人数; 7. nu(1,2) 表示的是高级工程师去完成B项目的人数;
8. nu(2,1) 表示的是工程师去完成A项目的人数;其余的,依些类推,则nu
属性有16个 值。
4
9.
nu(1,i) 表示的是nu(1,1)nu(1,2)nu(1,3)nu(1,4)
i1
其它类似可以类推.
问题的分析:
在现实生活中,这样的问题总是很容易遇到。公司想得到多的利润,可人手又不足,但会存在一个最可观的安排,这个安排得用数学模型得出,而首先应该建立正确的数学方程。我们必须对每个条件进行分析,得出一系列的式子,而结果首先必需先满足这些式子。
进而分析,其实公司人员的日工资我们可以不用考虑,因为无论如何安排他们,他们的日工资是不会变的,只须在最后的的收入减去固定的工资,就可以得到利润了。
为了简化计算,我把C、 D项目中的各个人员的收费都减去50(管理费开支),这样我们考虑的问题就少了一些了。
这个我们建立一个表,是公司的利润表,即每个人员的收费减去工资再减去各种支出。
表4 不同项目和各种人员,公司得到的净利润
模型建立与求解:
根据表3,我们可以得出一系列的等式和不等式。 1. 每一个nu(i,j)的值都是整数。
2. 1nu(1,1)3; !高级工程师参加A项目的人数为1~3; 3. 2nu(1,2)5; !高级工程师参加B项目的人数为2~5; 4. nu(1,3)=2; !高级工程师参加C项目的人数为2; 5. 1nu(1,4)2; !高级工程师参加D项目的人数为1~2; 6. nu(2,1)2; !工程师参加A项目的人数不小于2; 7. nu(2,2)2; !工程师参加B项目的人数不小于2; 8. nu(2,3)2; !工程师参加C项目的人数不小于2; 9. 2nu(2,4)8; !工程师参加D项目的人数为2~8;
10. nu(3,1)2; !助理工程师参加A项目的人数不小于2; 11. nu(3,2)2; !助理工程师参加B项目的人数不小于2; 12. nu(3,3)2; !助理工程师参加C项目的人数不小于2; 13. nu(3,4)1; !助理工程师参加D项目的人数不小于1; 14. nu(4,1)=1; !技术员参加A项目的人数为1;
15. nu(4,2)=3; !技术员参加B项目的人数不小于3; 16. nu(4,3)=1; !技术员参加C项目的人数为1; 17. nu(4,4)=0; !技术员参加D项目的人数为0;
4
18. nu(i,1)10; !参加A项目的总人数不多于10;
i14
19. nu(i,2)16; !参加B项目的总人数不多于16;
i14
20. nu(i,3) 11; !参加C项目的总人数不多于11;
i1
4
21. nu(i,4)18; !参加D项目的总人数不多于18;
i1
4
22. nu(1,j)9; !高级工程师的总个数不大于9个;
j14
23. nu(2,j)17; !工程师的总个数不大于17个;
j14
24. nu(3,j) 10; !助理工程师个数不大于10个;
j14
25. nu(4,j)5; !技术员个数不大于5个;
j1
model: sets:
types/1..4/; sports/1..4/;
link(types,sports):pp,nu; endsets data:
pp=750 1250 1000 700 600 600 650 550 430 530 480 480 390 490 240 340; enddata
max=@sum(types(i):
@sum(sports(j):pp(i,j)*nu(i,j))); !@for(link(i,j):@gin(nu(i,j))); @bnd(1,nu(1,1),3); @bnd(2,nu(1,2),5); nu(1,3)=2;
@bnd(1,nu(1,4),2); nu(2,1)>2; nu(2,2)>2; nu(2,3)>2;
@bnd(2,nu(2,4),8); nu(3,1)>2; nu(3,2)>2; nu(3,3)>2; nu(3,4)>1; nu(4,1)=1; nu(4,2)=3; nu(4,3)=1; nu(4,4)=0;
(@sum(types(a):nu(a,1)))
目标函数;
(@sum(sports(b):nu(3,b)))
首先得到的结果必须满足以上条件,而我们要得到的是满足上面条件,而使公司利
4
润最大的一组解。也就是说我们要使
pp(i,j)nu(i,j) 的值最大。
i1,j1
经过lingo9.0 的求解,可以得出: nu=1 5 2 1 6 3 6 2 2 5 2 1 1 3 1 0
4
公司的总纯利润为:
可得得到下表:
pp(i,j)nu(i,j)=27150.00元
i1,j1
建模中必需考虑到的问题:
因为C、D两个项目人员要交办公管理费,所以会不会放弃一个项目增加别的项目的人数而使利润更高呢?
进一步分析,我们放弃A是肯定不对的,因为上面的安排已经把全体的人员安排了,而原本应该参加A项目的人员必有去参加C、D项目的,因为管理费问题,所以利润肯定会减少,同理,放弃B项目也是不对的。而放弃D项目,就更加不对了,由于每个项目的总人数有限制,而放弃D项目,连人员都不能全部得到安排。所以现在只需考虑放弃C项目,利润将会是多少?
经过重新建立一个数学模型可以得到h
从上观察可以得出所有的条件都满足,而且人员都分配齐全。可得到的利润为:
Global optimal solution found.
Objective value: 26150.00 Extended solver steps: 0 Total solver iterations: 7
没有参加四个项目的利润高。 model: sets:
types/1..4/; sports/1..3/;
link(types,sports):sa,nu; endsets data:
sa=750 1250 700 600 600 550 430 530 480 390 490 340; enddata
max=@sum(types(i):
@sum(sports(j):sa(i,j)*nu(i,j))); @for(link(i,j):@gin(nu(i,j))); @bnd(1,nu(1,1),3); @bnd(2,nu(1,2),5); @bnd(1,nu(1,3),2); nu(2,1)>2; nu(2,2)>2;
@bnd(2,nu(2,3),8); nu(3,1)>2; nu(3,2)>2; nu(3,3)>1; nu(4,1)>1; nu(4,2)>3; nu(4,3)=0;
(@sum(types(a):nu(a,1)))
(@sum(sports(b):nu(2,b)))
但实际上意外总是会出现的,而且会有各种各样的意外。
1:一位高级工程师无法参加项目,这样我们不得不重新安排人员。其实也只需在B项目中减去一名高级工程师。
2:一位工程师因某种原因不能参加项目,这样我们会更好地重新安排,只要从A、B、C中减去一名工程师,因为无论如何都是减去一名工程师,但不能因此而减少工程项目。
3:一位助理工程师因某种原因不能参加项目,最好的方法是从B项目中减去一名助理工程师。
4:一位技术员因某种原因而不能参加项目,这个我们得重新安排了,而且必须有一个项目不能参加了,因为技术员只有5位,而这已经是最少数目了。所以我们得从新建立模型,减少一个项目。而减少哪一个项目呢?我们又得建模型讨论了。
减少A项目: Global optimal solution found.
Objective value: 26510.00 Extended solver steps: 0 Total solver iterations: 6
model: sets:
types/1..4/; sports/1..3/;
link(types,sports):sa,nu; endsets data:
sa=1250 1000 700 600 650 550 530 480 480 490 240 340; enddata
max=@sum(types(i):
@sum(sports(j):sa(i,j)*nu(i,j))); @for(link(i,j):@gin(nu(i,j))); @bnd(2,nu(1,1),5); nu(1,2)=2;
@bnd(1,nu(1,3),2); nu(2,1)>2; nu(2,2)>2;
@bnd(2,nu(2,3),8); nu(3,1)>2; nu(3,2)>2; nu(3,3)>1;
nu(4,1)=3; nu(4,2)=1; nu(4,3)=0;
(@sum(types(a):nu(a,1)))
减少B项目: Global optimal solution found.
Objective value: Extended solver steps: 0 Total solver iterations:
sets:
types/1..4/; sports/1..3/;
link(types,sports):sa,nu; endsets data:
sa=750 1000 700 600 650 550 430 480 480 390 240 340; enddata
max=@sum(types(i):
@sum(sports(j):sa(i,j)*nu(i,j))); @for(link(i,j):@gin(nu(i,j))); @bnd(1,nu(1,1),3); nu(1,2)=2;
@bnd(1,nu(1,3),2); nu(2,1)>2; nu(2,2)>2;
@bnd(2,nu(2,3),8); nu(3,1)>2; nu(3,2)>2; nu(3,3)>1; nu(4,1)>1; nu(4,2)=1; nu(4,3)=0;
(@sum(types(a):nu(a,1)))
22110.00 6
(@sum(sports(b):nu(4,b)))
减少C项目:
Global optimal solution found.
Objective value: 25710.00 Extended solver steps: 0 Total solver iterations: 6
model: sets:
types/1..4/; sports/1..3/;
link(types,sports):sa,nu; endsets data:
sa=750 1250 700 600 600 550 430 530 480 390 490 340; enddata
max=@sum(types(i):
@sum(sports(j):sa(i,j)*nu(i,j))); @for(link(i,j):@gin(nu(i,j))); @bnd(1,nu(1,1),3); @bnd(2,nu(1,2),5); @bnd(1,nu(1,3),2); nu(2,1)>2; nu(2,2)>2;
@bnd(2,nu(2,3),8); nu(3,1)>2; nu(3,2)>2; nu(3,3)>1; nu(4,1)>1; nu(4,2)>3; nu(4,3)=0;
(@sum(types(a):nu(a,1)))
五:模型分析
主要采用灵敏度分析法:
从上述表格中的信息中除了告诉我们最优值外,还隐含着许多内在的有用秘密和信息:
1:(在允许范围内)每增加一个高级工程师使得公司的效益增加670,如高级工程师人数从9个增加到10个公司效益增加了670元。增加一个工程师使得公司效益增加240元,但是同样增加助理工程师和技术员人数时公司的效益却不在增加上面公司效益的增加可以称谓人数的“隐藏价格”,也就是说高级工程师和工程师的隐藏价格分别是670,240元,而助理工程师与技术员没有隐藏价格。 2:当目标函数系数发生变化时(假定约束条件不变),最优解会改变吗?
六:模型的评价
模型的优点如下:
(1) 模型采用了
与
软件处理数据,在编写程序上方便、
而且计算速度快、准确性高、便于修改,具有较强的说服力和实用性。(2) 模型对结果采用了 效益又有怎样的改变。
(3) 模型求解时综合了
计算结果。
(4) 从理论的问题分析中得出了,高科技人才是现代企业成功的关键所
在。
模型的缺点如下:
、
两种软件,对比分析了两种灵敏度分析,也动态的考虑了
各类技术人员的变化会给公司效益带来何种结果,以及收费标准不同
(1) 模型在模型分析上过于理论化,机械的假设各种不可能存在的假
设。
(2) 模型在灵敏度分析中,对于模型最优值的影响因素只是很单一的考
虑,没有做到全面化。
七、优化人力资源配置 寻求公司最大效益
下面是本模型在众多的约束条件下的人员分布表 :
在此种科技人员的分布模式下,公司的最大效益是52250元。
然而这毕竟是一个配出众多实际情况的理想化模型。事实上在公司的运转过程中,由于众多因素的干扰,公司的最大效益往往很难实现。当然作为公司的经营者,在人才及资源的周转过程中应该力求效益的最大,使得模型趋于理想状态。
通过本模型我们总结了以下几点,对于经营者决策的制定是很有帮助的:1)高科技人员对公司效益的贡献最大,对公司效益的提高起着不可替代的作用。所以作为公司的经营者,应该充分运用高科技人员。尽量让他们英雄有用武之地,充分展示他们的才能,为公司于集体谋福利。2)并不是高科技人才越多越好,当然最重要的是要靠虑工程项目的实际情况,即其科技含量以及技术的复杂性以及工程项目负责人的要求。在其它条件允许的情况下,应尽量做到科技人员的充分利用。3)适当的时候,应该增加科技人员的工资,这实在间接的增加公司的利润。因为只有这样,科技人员才能有百倍的信心与千倍的热情投入到工作中去,工作也会有效率,更有质量。这样,便有了和项目负责人讨价还价的机会,因为我们的工作是最棒的。4)作为公司的经营者,应该及时地充实自己的实力,也就是在每一个项目之后,要总结经验,用知识和能力以及科技武装在自己。只有这样才能顺应时代的潮流,才能更长远的增加公司的利润,是的公司立于不败之地。
当今时代的竞争是科技的竞争,科技的竞争归根结底就是人才的竞争。与其说是科技角逐,不如说是“人才”竞争。而“人”作为浓缩于科技中的精华在市场经济中发挥的作用已不仅局限于在量上的占有,而更多地表现在对其有效、合理地配置上。因此,在新世纪的经济发展形势下,客观上要求我们深入地分析当前人力资源配置中存在的问题,建立现代企业战略人力资源管理新模式。
人力资源配置问题及解决方案
摘要
在现实生活中,在公司人员安排上,这类人员配置问题总是不断出现,但总会有一个或一个以后的最好安排即可以让公司的利润实现最大化。主要研究如何能够使人力资源得到优化调度和配置。根据所给的黄河实业有限公司技术人员结构及工资情况表、不同项目和各种技术人员的收费标准表格,为了满足客户对专业技术人员结构要求,使黄河实业有限公司每天的直接收益最大,人力资源调度和配置问题的处理一般比较复杂,它有许多互相依赖的数据,所以如何有效的找出数据间关系并设置变量就成了解决问题的关键。针对这类问题,我们用一些不等式表示条件,得到满足这些条件的利润最大值。这里我用到了lingo软件中的集和派生集,用派生集的属性表示如何配置人员。但其中我考虑到,四类员工也许发生意外情况,而不能得到及时的安排,为此我从新建立一个模型,以应付突发情况。 得算出来的最好人员分配,利润是每天27150.00元。
我们求得模型结果后对结果的可靠性进行了验证并对模型的灵敏度进行了分析,从而验证了模型的可行性。最后,我们指出了模型的优缺点,供以后改进。作为企业,应该重视人力资源的配置,这样人力资源才能为企业创造最佳的经济效益与社会效益。
关键词:人力资源 优化配置 Lindo 灵敏度分析利润 最大化 集 派生集
问题的重述:
人力资源得到优化配置,这是许多企事业单位期望得到的。这样可以避免人力资源的浪费并且可以提高本单位的经济效益。然而在现实生活中,由于诸多因素的限制很影响,如:技术人员的职称不同和数目不和谐,工程项目的特点等因素。这样如果不找出一种方法来优化配置人力资源,拥有这些技术人员的公司将很难生存。而要做到人力资源的优化配置,计算机是离不了的,而计算机软件的开发又需要有数学模型的支持。因此本文试图在这方面做一些有益的尝试
人员配置是公司发展速度的一大因素,根据目标和任务需要正确选择、合理使用人员,以合理的人员去完成组织结构中规定的各项任务,从而保证整个组织目标和各项任务完成的职能活动,根据经济效益原则,这个合理使用人员要实现利润的最大化。 而针对不同的项目有不同的要求,充分根据自己的人力资源,做出最好的开发。
今天这个问题,是一个人力资源配置问题,“E公司”承接四个项目,可人力资源有限,而且每个项目也有各种人员限制。我们必须从许多种配置中选出一个最好的配置,既可以及时的完成每个项目,也可以实现公司的利润最大化。
由于C,D两项目是在办公室完成,所以每人每天有50元的管理费开支; 由于收费是按人工计算的,而且4个项目总共同时最多需要的人数是10+16+11+18=55,
多于公司现有人数41,应如何合理地分配现有的技术力量,使公司每天的直接受益最大?
我们要根据这3个表中的条件,建立所对应有数学模型,而使公司的利润最大;
问题的分析:
本问题是一个整数的线性规划问题 的数学模型。线性规划问题是将实际问题转化为一组线性不等式或者等式的约束下求线性目标函数的最大(最小)值问题。显然本问题要求的是最大值。问题中的所有变量都只取整数值的线性规划问题称为整数线性规划问题。
另外,对问题还有以下分析结果:5个项目对高级工程师人数的上下限都各有限制;D和E的两个项目的技术含量高,技术员不能参加;各项目对各职称的技术人员的总人数有限制。如A项目的人数不大于16名;C,D,E三项目在办公室完成,每人每天需要50元的管理费;从表格可以看出技术员共9人,参加A,B,C三项目都不少于3人,显然参加A,B,C三项目的技术员各3人;5个项目最多所需要的技术人员:85人。不难看出公司的净收入最大时,公司拥有的63名技术人员必须都参与各项目。现在的问题是这63名技术人员如何参与?如何优化?才能使得公司的每日净收益最大?
模型假设:
在得出最合理的安排后,各个人员能够得到这个的安排去完成项目,没有请假或出现一些意外而不能参加项目的情况。那么这个安排是绝对成立的,而且是最合理的。
假设这些任务独立,即相互之间没有什么影响。A项目的完成与否与B项目完成与否没有联系。
1、假设公司所有技术人员都服从公司的调遣和指派。
2、假设各个项目进展顺利且各技术人员按上时保质保量完成项目任务。
3、假设公司除各类技术人员的工资和C,D项目每日每人50元的管理费外,再无别的开支,如差旅费、生活补助、医疗补助等。
4、假设公司各类技术人员中,同职称技术人员之间无技术等任何差别。 5、假设公司与客户双方都能按合同办事,按时交付技术人员的报酬。
符号说明:
1. ! 注释部分; 我用“!”开始进行注释, 用“;“表示注释结束。
2. types/1..4/; !建立一个集,里面放有1,2,3,4,分别用来标记
高级工程师、工程 师、助理工程师、技术员 ;
3. sports/1..4/; !建立别一个集,里面也是放有1,2,3,4,分别用
来标记A项目、B项目、C项目、D项目 ;
4. link(types,sports):pp,nu; !建立一个派生集,放有
types,sports所有的组合,并设有两个属性,pp,nu,用pp放每个人为公司创造的纯利润,表面可以理解为44矩阵,用nu放他们的人员配置,也可以理解为44矩阵。
5. 高级工程师、工程师、助理工程师、技术员的编号记在nu的第一列中;A项
目、B项目、C项目、D项目记在nu的第二列中。 6. nu(1,1) 表示的是高级工程师去完成A项目的人数; 7. nu(1,2) 表示的是高级工程师去完成B项目的人数;
8. nu(2,1) 表示的是工程师去完成A项目的人数;其余的,依些类推,则nu
属性有16个 值。
4
9.
nu(1,i) 表示的是nu(1,1)nu(1,2)nu(1,3)nu(1,4)
i1
其它类似可以类推.
问题的分析:
在现实生活中,这样的问题总是很容易遇到。公司想得到多的利润,可人手又不足,但会存在一个最可观的安排,这个安排得用数学模型得出,而首先应该建立正确的数学方程。我们必须对每个条件进行分析,得出一系列的式子,而结果首先必需先满足这些式子。
进而分析,其实公司人员的日工资我们可以不用考虑,因为无论如何安排他们,他们的日工资是不会变的,只须在最后的的收入减去固定的工资,就可以得到利润了。
为了简化计算,我把C、 D项目中的各个人员的收费都减去50(管理费开支),这样我们考虑的问题就少了一些了。
这个我们建立一个表,是公司的利润表,即每个人员的收费减去工资再减去各种支出。
表4 不同项目和各种人员,公司得到的净利润
模型建立与求解:
根据表3,我们可以得出一系列的等式和不等式。 1. 每一个nu(i,j)的值都是整数。
2. 1nu(1,1)3; !高级工程师参加A项目的人数为1~3; 3. 2nu(1,2)5; !高级工程师参加B项目的人数为2~5; 4. nu(1,3)=2; !高级工程师参加C项目的人数为2; 5. 1nu(1,4)2; !高级工程师参加D项目的人数为1~2; 6. nu(2,1)2; !工程师参加A项目的人数不小于2; 7. nu(2,2)2; !工程师参加B项目的人数不小于2; 8. nu(2,3)2; !工程师参加C项目的人数不小于2; 9. 2nu(2,4)8; !工程师参加D项目的人数为2~8;
10. nu(3,1)2; !助理工程师参加A项目的人数不小于2; 11. nu(3,2)2; !助理工程师参加B项目的人数不小于2; 12. nu(3,3)2; !助理工程师参加C项目的人数不小于2; 13. nu(3,4)1; !助理工程师参加D项目的人数不小于1; 14. nu(4,1)=1; !技术员参加A项目的人数为1;
15. nu(4,2)=3; !技术员参加B项目的人数不小于3; 16. nu(4,3)=1; !技术员参加C项目的人数为1; 17. nu(4,4)=0; !技术员参加D项目的人数为0;
4
18. nu(i,1)10; !参加A项目的总人数不多于10;
i14
19. nu(i,2)16; !参加B项目的总人数不多于16;
i14
20. nu(i,3) 11; !参加C项目的总人数不多于11;
i1
4
21. nu(i,4)18; !参加D项目的总人数不多于18;
i1
4
22. nu(1,j)9; !高级工程师的总个数不大于9个;
j14
23. nu(2,j)17; !工程师的总个数不大于17个;
j14
24. nu(3,j) 10; !助理工程师个数不大于10个;
j14
25. nu(4,j)5; !技术员个数不大于5个;
j1
model: sets:
types/1..4/; sports/1..4/;
link(types,sports):pp,nu; endsets data:
pp=750 1250 1000 700 600 600 650 550 430 530 480 480 390 490 240 340; enddata
max=@sum(types(i):
@sum(sports(j):pp(i,j)*nu(i,j))); !@for(link(i,j):@gin(nu(i,j))); @bnd(1,nu(1,1),3); @bnd(2,nu(1,2),5); nu(1,3)=2;
@bnd(1,nu(1,4),2); nu(2,1)>2; nu(2,2)>2; nu(2,3)>2;
@bnd(2,nu(2,4),8); nu(3,1)>2; nu(3,2)>2; nu(3,3)>2; nu(3,4)>1; nu(4,1)=1; nu(4,2)=3; nu(4,3)=1; nu(4,4)=0;
(@sum(types(a):nu(a,1)))
目标函数;
(@sum(sports(b):nu(3,b)))
首先得到的结果必须满足以上条件,而我们要得到的是满足上面条件,而使公司利
4
润最大的一组解。也就是说我们要使
pp(i,j)nu(i,j) 的值最大。
i1,j1
经过lingo9.0 的求解,可以得出: nu=1 5 2 1 6 3 6 2 2 5 2 1 1 3 1 0
4
公司的总纯利润为:
可得得到下表:
pp(i,j)nu(i,j)=27150.00元
i1,j1
建模中必需考虑到的问题:
因为C、D两个项目人员要交办公管理费,所以会不会放弃一个项目增加别的项目的人数而使利润更高呢?
进一步分析,我们放弃A是肯定不对的,因为上面的安排已经把全体的人员安排了,而原本应该参加A项目的人员必有去参加C、D项目的,因为管理费问题,所以利润肯定会减少,同理,放弃B项目也是不对的。而放弃D项目,就更加不对了,由于每个项目的总人数有限制,而放弃D项目,连人员都不能全部得到安排。所以现在只需考虑放弃C项目,利润将会是多少?
经过重新建立一个数学模型可以得到h
从上观察可以得出所有的条件都满足,而且人员都分配齐全。可得到的利润为:
Global optimal solution found.
Objective value: 26150.00 Extended solver steps: 0 Total solver iterations: 7
没有参加四个项目的利润高。 model: sets:
types/1..4/; sports/1..3/;
link(types,sports):sa,nu; endsets data:
sa=750 1250 700 600 600 550 430 530 480 390 490 340; enddata
max=@sum(types(i):
@sum(sports(j):sa(i,j)*nu(i,j))); @for(link(i,j):@gin(nu(i,j))); @bnd(1,nu(1,1),3); @bnd(2,nu(1,2),5); @bnd(1,nu(1,3),2); nu(2,1)>2; nu(2,2)>2;
@bnd(2,nu(2,3),8); nu(3,1)>2; nu(3,2)>2; nu(3,3)>1; nu(4,1)>1; nu(4,2)>3; nu(4,3)=0;
(@sum(types(a):nu(a,1)))
(@sum(sports(b):nu(2,b)))
但实际上意外总是会出现的,而且会有各种各样的意外。
1:一位高级工程师无法参加项目,这样我们不得不重新安排人员。其实也只需在B项目中减去一名高级工程师。
2:一位工程师因某种原因不能参加项目,这样我们会更好地重新安排,只要从A、B、C中减去一名工程师,因为无论如何都是减去一名工程师,但不能因此而减少工程项目。
3:一位助理工程师因某种原因不能参加项目,最好的方法是从B项目中减去一名助理工程师。
4:一位技术员因某种原因而不能参加项目,这个我们得重新安排了,而且必须有一个项目不能参加了,因为技术员只有5位,而这已经是最少数目了。所以我们得从新建立模型,减少一个项目。而减少哪一个项目呢?我们又得建模型讨论了。
减少A项目: Global optimal solution found.
Objective value: 26510.00 Extended solver steps: 0 Total solver iterations: 6
model: sets:
types/1..4/; sports/1..3/;
link(types,sports):sa,nu; endsets data:
sa=1250 1000 700 600 650 550 530 480 480 490 240 340; enddata
max=@sum(types(i):
@sum(sports(j):sa(i,j)*nu(i,j))); @for(link(i,j):@gin(nu(i,j))); @bnd(2,nu(1,1),5); nu(1,2)=2;
@bnd(1,nu(1,3),2); nu(2,1)>2; nu(2,2)>2;
@bnd(2,nu(2,3),8); nu(3,1)>2; nu(3,2)>2; nu(3,3)>1;
nu(4,1)=3; nu(4,2)=1; nu(4,3)=0;
(@sum(types(a):nu(a,1)))
减少B项目: Global optimal solution found.
Objective value: Extended solver steps: 0 Total solver iterations:
sets:
types/1..4/; sports/1..3/;
link(types,sports):sa,nu; endsets data:
sa=750 1000 700 600 650 550 430 480 480 390 240 340; enddata
max=@sum(types(i):
@sum(sports(j):sa(i,j)*nu(i,j))); @for(link(i,j):@gin(nu(i,j))); @bnd(1,nu(1,1),3); nu(1,2)=2;
@bnd(1,nu(1,3),2); nu(2,1)>2; nu(2,2)>2;
@bnd(2,nu(2,3),8); nu(3,1)>2; nu(3,2)>2; nu(3,3)>1; nu(4,1)>1; nu(4,2)=1; nu(4,3)=0;
(@sum(types(a):nu(a,1)))
22110.00 6
(@sum(sports(b):nu(4,b)))
减少C项目:
Global optimal solution found.
Objective value: 25710.00 Extended solver steps: 0 Total solver iterations: 6
model: sets:
types/1..4/; sports/1..3/;
link(types,sports):sa,nu; endsets data:
sa=750 1250 700 600 600 550 430 530 480 390 490 340; enddata
max=@sum(types(i):
@sum(sports(j):sa(i,j)*nu(i,j))); @for(link(i,j):@gin(nu(i,j))); @bnd(1,nu(1,1),3); @bnd(2,nu(1,2),5); @bnd(1,nu(1,3),2); nu(2,1)>2; nu(2,2)>2;
@bnd(2,nu(2,3),8); nu(3,1)>2; nu(3,2)>2; nu(3,3)>1; nu(4,1)>1; nu(4,2)>3; nu(4,3)=0;
(@sum(types(a):nu(a,1)))
五:模型分析
主要采用灵敏度分析法:
从上述表格中的信息中除了告诉我们最优值外,还隐含着许多内在的有用秘密和信息:
1:(在允许范围内)每增加一个高级工程师使得公司的效益增加670,如高级工程师人数从9个增加到10个公司效益增加了670元。增加一个工程师使得公司效益增加240元,但是同样增加助理工程师和技术员人数时公司的效益却不在增加上面公司效益的增加可以称谓人数的“隐藏价格”,也就是说高级工程师和工程师的隐藏价格分别是670,240元,而助理工程师与技术员没有隐藏价格。 2:当目标函数系数发生变化时(假定约束条件不变),最优解会改变吗?
六:模型的评价
模型的优点如下:
(1) 模型采用了
与
软件处理数据,在编写程序上方便、
而且计算速度快、准确性高、便于修改,具有较强的说服力和实用性。(2) 模型对结果采用了 效益又有怎样的改变。
(3) 模型求解时综合了
计算结果。
(4) 从理论的问题分析中得出了,高科技人才是现代企业成功的关键所
在。
模型的缺点如下:
、
两种软件,对比分析了两种灵敏度分析,也动态的考虑了
各类技术人员的变化会给公司效益带来何种结果,以及收费标准不同
(1) 模型在模型分析上过于理论化,机械的假设各种不可能存在的假
设。
(2) 模型在灵敏度分析中,对于模型最优值的影响因素只是很单一的考
虑,没有做到全面化。
七、优化人力资源配置 寻求公司最大效益
下面是本模型在众多的约束条件下的人员分布表 :
在此种科技人员的分布模式下,公司的最大效益是52250元。
然而这毕竟是一个配出众多实际情况的理想化模型。事实上在公司的运转过程中,由于众多因素的干扰,公司的最大效益往往很难实现。当然作为公司的经营者,在人才及资源的周转过程中应该力求效益的最大,使得模型趋于理想状态。
通过本模型我们总结了以下几点,对于经营者决策的制定是很有帮助的:1)高科技人员对公司效益的贡献最大,对公司效益的提高起着不可替代的作用。所以作为公司的经营者,应该充分运用高科技人员。尽量让他们英雄有用武之地,充分展示他们的才能,为公司于集体谋福利。2)并不是高科技人才越多越好,当然最重要的是要靠虑工程项目的实际情况,即其科技含量以及技术的复杂性以及工程项目负责人的要求。在其它条件允许的情况下,应尽量做到科技人员的充分利用。3)适当的时候,应该增加科技人员的工资,这实在间接的增加公司的利润。因为只有这样,科技人员才能有百倍的信心与千倍的热情投入到工作中去,工作也会有效率,更有质量。这样,便有了和项目负责人讨价还价的机会,因为我们的工作是最棒的。4)作为公司的经营者,应该及时地充实自己的实力,也就是在每一个项目之后,要总结经验,用知识和能力以及科技武装在自己。只有这样才能顺应时代的潮流,才能更长远的增加公司的利润,是的公司立于不败之地。
当今时代的竞争是科技的竞争,科技的竞争归根结底就是人才的竞争。与其说是科技角逐,不如说是“人才”竞争。而“人”作为浓缩于科技中的精华在市场经济中发挥的作用已不仅局限于在量上的占有,而更多地表现在对其有效、合理地配置上。因此,在新世纪的经济发展形势下,客观上要求我们深入地分析当前人力资源配置中存在的问题,建立现代企业战略人力资源管理新模式。