工作人员的最优时间分配问题的研究【摘要】对于一个事业单位,人力资源部门的合理分配对于一个事业单位的收益是至关重要的。众所周知,由于每个人的工作效率不尽不同,不同的分配方式所带来的收益也不同。本文建立了0-1规划模型对最少时间成本下的工作人员分配问题进行了研究。本问题中首先确定第i人做或者不做第j工作将问题定量化,根据不同的需要建立不同的目标函数。对于一个项目而言越早完成越好,对人力资源部门来说所花费的人力越少越好。本文利用运筹管理学的思想建立的0-1规划模型,最后使用Lingo对目标函数求最优解得出最终结果。关键词:最少时间运筹管理学最优解时间分配0-1模型Lingo线性规划一、问题重述最优人力资源安排问题在企事业单位,人力资源部门经常要根据当前情况把人员分配给即将开始的项目。一般地,对项目而言,越早完成越好;而对人力资源部门而言,在该项目上所花费的人力越少越好。现有一个项目,需要把一份中文资料翻译成英语、法语、日语、德语和俄语。已知A、B、C、D、E、F和G七个人翻译该资料所需要花费的时间如表1所示,且这七个人均表示可参加该项目。【注意:为了译文的连贯性,不允许两人或两人以上做同一种译文的翻译工作。一个人在同一时间只能做一种译文的翻译工作。】表1.七人五语种翻译用时表(单位:天)英语法语日语德语俄语A2151318B10414157C91416138D781194E841586F1246813G5168510试通过建立数学模型(而非枚举法)回答下述问题。问题1.应该如何进行人力资源的安排使得该项目尽早完成?问题2.在问题1中若规定每人最多承担一种译文的翻译工作,试求相应的最优人力资源安排方案。问题3.接上级通知,为了保证翻译的质量,需要对翻译之后的译文进行审校且规定同一个语种的审校人和翻译者不能为同一人。显然,在这种新的要求下,该项目完成当且仅当所有的译文均审校完。已知这七人均表示可以参加审校工作,他们审校这五种译文的用时如表2所示。【注意:对于每个语种,只有当该语种的译文完全完成之后才能进行该语种译文的审校工作。为了译文的连贯性,不允许两人或两人以上做同一种译文的审校工作。一个人在同一时间只能做一种译文的审校工作。】问:应该如何进行人力资源的安排使得该项目尽早完成?表2.七人五语种审校用时表(单位:天)英语法语日语德语俄语A1131018B1048105C861096D671184E631585F1146710G412632问题4.在问题3中若规定每人最多承担一种译文的翻译工作和另外一种译文的审校工作,试求相应的最优人力资源安排方案。二、问题假设1.每个人都能在自己的花销时间内完成工作。2.每个人只能做一个工作,即既不能同时做两个工作,也不能在一个工作做完后再做其他工作。3.每件工作都必须有人做,且只能由一个人独立完成。4.各个工作之间没有相互联系。即一个工作的完成与否,不受另一个工作的制约。三、符号说明z1:完成翻译工作的总时间z2:完成审查工作的总时间z:完成所有工作的总时间ti:完成翻译工作的最短时间tj:完成审查工作的最短时间tk:完成翻译审查工作的最短时间ijc:第i人做第j件工作的时间t1:翻译成英语所需的最短时间t2:翻译成法语所需的最短时间t3:翻译成日语所需的最短时间t4:翻译成得语所需的最短时间t5:翻译成俄语所需的最短时间t6:翻译并审校完成英语所需的最短时间t7:翻译并审校完成法语所需的最短时间t8:翻译并审校完成日语所需的最短时间t9:翻译并审校完成德语所需的最短时间t10:翻译并审校完成俄语所需的最短时间四、问题分析、模型的建立与求解1.问题的分析最少时间(即人力资源成本)是最大利润一个很有参考价值的数据,往往需要利用数学建模的方法对其进行定量的分析,首先确定第i人做或者不做第j工作将问题定量化,再以全部的工作时间为目标函数,最后对目标函数求最优解得出最终结果。2.模型的建立与求解(1)设:10...3,2,112...3,2,1{.1.0jixijjiji,件工作人做第第件工作人不做第第翻译成英语所需的最短时间t1=min(1ic*1ix)翻译成法语所需的最短时间t2=min(2ic*2ix)翻译成日语所需的最短时间t3=min(3ic*3ix)翻译成德语所需的最短时间t4=min(4ic*4ix)翻译成俄语所需的最短时间t5=min(5ic*5ix)有目标函数z1=max(t1,t2,t3,t4,t5)根据运筹管理学的思想,利用lingo软件知道z1=6天其具体分配方案只需满足日语的翻译者为F,由于要尽到人力资源分配最优化其他任务取其最短时间即可。具体推荐分配表如下图任务英语法语日语德语俄语人员AB或EFAD(2)10...3,2,112...3,2,1{.1.0jixijjiji,件工作人做第第件工作人不做第第7151ziijjijxc限定条件为:5...3,2,1151ixjij,(即每个人只能做一个工作(假设2),可以小于1是因为人比工作多,允许有人空闲)7...3,2,1171ijxij,(即每个工作都要有人做,且只能由一个人做(假设3))10orxij将上述条件,以及数据写入Lingo中,编写程序求解。源程序及输出结果详见附件。需花费的人力时间为20天最优分案如下任务英语法语日语德语俄语人员GB或EFAD(3)审校完成英语所需的最短时间t6=min(6mc*6mx)+t1审校完成法语所需的最短时间t7=min(7mc*7mx)+t2审校完成日语所需的最短时间t8=min(8mc*8mx)+t3:审校完成德语所需的最短时间t9=min(9mc*9mx)+t4:审校完成俄语所需的最短时间t10=min(10mc*10mx)+t5限定条件为m-i55...3,2,1151jxjij,(即每个人只能做一个工作(假设2),可以小于1是因为人比工作多,允许有人空闲)7...3,2,1171iixij,(即每个工作都要有人做,且只能由一个人做(假设3))7...3,2,1151ixjij,(即每个人只能做一个工作(假设2),可以小于1是因为人比工作多,允许有人空闲)7...3,2,11106ixmmj,(即每个工作都要有人做,且只能由一个人做(假设3))10orxij完成工作的最早时间zk=max(t6,t7,t8,t9,t10)将上述条件,以及数据写入Lingo中,编写程序求解。推荐最快完成方案如下最快完成的天数为12天任务英语法语日语德语俄语翻译GEFAD审核AFGFE(4)7151min(ziijjijxc+7151mijjmjxc)限定条件5...3,2,1171ixjij,m-I57...3,2,1171iixij,7...3,2,11106ixmmj,5...3,2,1151jxjij,将上述条件,以及数据写入Lingo中,编写程序求解。源程序及输出结果详见附件花费总时间为39天,方案如下任务英语法语日语德语俄语翻译GBFAD审核AEBGC3.结果分析表1.2加粗的单元格即为选择做第j件事的第i个人现在我们可以看到,最优解基本上是集中于取值较低(即花费时间较少)的人上面,受假设2(每个人只能做一个工作,即既不能同时做两个工作,也不能在一个工作做完后再做其他工作)的约束,每一横行只能选一个格子(即每个人只能做一件工作),可不选。模型再受到假设3的约束(每件工作都必须有人做,且只能由一个人独立完成)),所以,每一竖行必须且只能选一个格子。对照约束条件与表1.2,我们发现有些事件取值并非该人最高效事件(如第1人),但为满足约束,所以程序从全局高度对结果进行了取舍。由表1.2,我们可以推断,在没有计算机辅助,或待求解量较少且对结果要求不高的情况下,可以采取“画格子”的方式粗糙地求解类似问题。但也可从思维过程看出在计算机辅助的情况下节省了大量的较繁运算。五、模型的评价优点模型明了简洁,具有相当的可推广性。缺点模型考虑的影响因素较少。六、模型的推广与改进在该问题的求解中,考虑的方面较为简略,还有很多因素可以考虑。例如在可以协作的情况下,各个人做完了分配工作后可以再其他工作的情况下,以及该情形下他们不同的休息时间,各道工作有关联时的情况等因素。但在单一工作及简单考虑情况下,该模型具有较大的生存空间,只需改动少许数值即可推广应用。七、参考文献[1]王泽文乐励华等,数学实验与数学建模,江西,东华理工大学出版社,2011年七月[2]姜启源,谢金星,叶俊.数学模型[M].北京:高等教育出版社,2003.8[3]百度文库,LINGO线性规划数学建模论文-工作人员的最优时间分配问题的研究,,2013年04月30日八、附件源程序一model:sets:myset/1..7/:y;link(myset,myset):x;endsetsdata:x=210978125154148441613141611156811513988587846131000000000000000;enddata@for(myset(i):y(i)=@min(link(i,j):x(i,j)));End结果一Feasiblesolutionfound.Totalsolveriterations:6VariableValueY(1)2.000000Y(2)4.000000Y(3)6.000000Y(4)1.000000Y(5)4.000000Y(6)0.000000Y(7)0.000000X(1,1)2.000000X(1,2)10.00000X(1,3)9.000000X(1,4)7.000000X(1,5)8.000000X(1,6)12.00000X(1,7)5.000000X(2,1)15.00000X(2,2)4.000000X(2,3)14.00000X(2,4)8.000000X(2,5)4.000000X(2,6)4.000000X(2,7)16.00000X(3,1)13.00000X(3,2)14.00000X(3,3)16.00000X(3,4)11.00000X(3,5)15.00000X(3,6)6.000000X(3,7)8.000000X(4,1)1.000000X(4,2)15.00000X(4,3)13.00000X(4,4)9.000000X(4,5)8.000000X(4,6)8.000000X(4,7)5.000000X(5,1)8.000000X(5,2)7.000000X(5,3)8.000000X(5,4)4.000000X(5,5)6.000000X(5,6)13.00000X(5,7)10.00000X(6,1)0.000000X(6,2)0.000000X(6,3)0.000000X(6,4)0.000000X(6,5)0.000000X(6,6)0.000000X(6,7)0.000000X(7,1)0.000000X(7,2)0.000000X(7,3)0.000000X(7,4)0.000000X(7,5)0.000000X(7,6)0.000000X(7,7)0.000000RowSlackorSurplus10.00000020.00000030.00000040.00000050.00000060.00000070.000000Lingo源程序2:model:sets:si/i1..i7/;sj/j1..j5/;sij(si,sj):cost,volume;endsetsmin=@sum(sij:cost*volume);@for(sij:@bin(x));@for(sj(j):@sum(si(i):volume(i,j))=1);@for(si(i):@sum(sj(j):volume(i,j))=1);data: