数学建模竞赛论文
论文题目: 最优人力资源安排问题
姓名1:吴青山学号:201120360211 专业:数学与应用数学 姓名1:王季光学号:201120360219 专业:数学与应用数学 姓名1:石峰铭学号:201120360125 专业:数学与应用数学
2013年 4 月 29 日
东华理工大学数学建模竞赛论文格式规范
参赛队从A、B、C题中任选一题。
论文用白色A4纸单面打印;上下左右各留出至少2.5厘米的页边距;从左
侧装订。
论文题目用三号黑体字、一级标题用四号黑体字,并居中;二级、三级标题
用小四号黑体字,左端对齐(不居中)。论文中其他汉字一律采用小四号宋体字,行距用单倍行距,打印时应尽量避免彩色打印。
提请大家注意:摘要应该是一份简明扼要的详细摘要(包括关键词),在整
篇论文评阅中占有重要权重,请认真书写(注意篇幅不能超过一页,且无需译成英文)。评阅时将首先根据摘要和论文整体结构及概貌对论文优劣进行初步筛选。
论文应该思路清晰,表达简洁(正文尽量控制在20页以内,附录页数不限)。 引用别人的成果或其他公开的资料(包括网上查到的资料) 必须按照规定的
参考文献的表述方式在正文引用处和参考文献中均明确列出。正文引用处用方括号标示参考文献的编号,如[1][3]等;引用书籍还必须指出页码。参考文献按正文中的引用次序列出,其中书籍的表述方式为:
[编号] 作者,书名,出版地:出版社,出版年。 参考文献中期刊杂志论文的表述方式为:
[编号] 作者,论文名,杂志名,卷期号:起止页码,出版年。 参考文献中网上资源的表述方式为:
[编号] 作者,资源标题,网址,访问时间(年月日)。
东华理工大学数学建模竞赛组委会
2013年4月28日
- 0 -
最优人力资源安排问题
摘要
人力资源管理是一个企事业单位进行人力资源分配的重要工作,合理的安排人力资源,能够为企业带来最大的经济效益。企业不仅要对现有的人员进行任务分配,还要对企业的人力资源结构保持一个科学的比例。
本文通过对最优人力资源安排问题的研究分析,针对该企业7名工作人员对5种语言译文的不同翻译、审校效率,提出了整数规划模型。在求解过程中利用到MATLAB、SQL server、LINGO、MATHE TYPE等软件求得了在不同情况下的最优资源分配方案。如下表:
最优人力资源分配方案 方案一 方案二 方案一 方案二 翻译 翻译 翻译 翻译 翻译 审校 英语 A A G G A G G A G A G A 法语 日语 E B B E B E B E B F E F F F F F F G F B F B F B 德语 A A A A A G A G A G A G 俄语 D D D D D G D C D E D E 最短完成时间/天 6 6 6 6 12 所用人数 4 4 5 5 6 问题一 问题二 问题三 方案翻译 一 审校 问题方案翻译 四 二 审校 方案翻译 三 校对 12 7 12 6 12 6 由MATLAB软件得到问题(2)的结果可得方案一,但由题目提供的数据方案二亦是最优的。针对问题(4)运用整数规划模型可得三种方案。一、二、三方案均为最优,但方案一中需要分配7人来完成任务。然而对人力资源部门而言,在该项目上所花费的人力越少越好,故方案一为次优方案。
最后本文还给出了该模型的评价和推广,模型简便易行,非常实用,拟合数据较符合事实,数据精确度也比较高。
关键词:
LINGO MATLAB 偏差变量 双目标规划
- 1 -
一、问题重述:
现有一个项目,需要把一份中文资料翻译成英语、法语、日语、德语和俄语。已知A、B、C、D、E、F和G七个人翻译该资料所需要花费的时间如表1所示,且这七个人均表示可参加该项目。【注意:为了译文的连贯性,不允许两人或两人以上做同一种译文的翻译工作。一个人在同一时间只能做一种译文的翻译工作。】
表1. 七人五语种翻译用时表(单位:天) A B C D E F G
英语 2 10 9 7 8 12 5
法语 15 4 14 8 4 4 16
日语 13 14 16 11 15 6 8
德语 1 15 13 9 8 8 5
俄语 8 7 8 4 6 13 10
试通过建立数学模型(而非枚举法)回答下述问题。
问题1. 应该如何进行人力资源的安排使得该项目尽早完成?
问题2. 在问题1中若规定每人最多承担一种译文的翻译工作,试求相应的最优人力资源安排方案。
问题3. 接上级通知,为了保证翻译的质量,需要对翻译之后的译文进行审校且规定同一个语种的审校人和翻译者不能为同一人。显然,在这种新的要求下,该项目完成当且仅当所有的译文均审校完。已知这七人均表示可以参加审校工作,他们审校这五种译文的用时如表2所示。【注意:对于每个语种,只有当该语种的译文完全完成之后才能进行该语种译文的审校工作。为了译文的连贯性,不允许两人或两人以上做同一种译文的审校工作。一个人在同一时间只能做一种译文的审校工作。】问:应该如何进行人力资源的安排使得该项目尽早完成?
表2. 七人五语种审校用时表(单位:天) 英语 法语 日语 德语 俄语 A 1 13 10 1 8 B 10 4 8 10 5 C 8 6 10 9 6 D 6 7 11 8 4 E 6 3 15 8 5 F 11 4 6 7 10 G 4 12 6 3 2 问题4. 在问题3中若规定每人最多承担一种译文的翻译工作和另外一种译文的审校工作,试求相应的最优人力资源安排方案。
二、基本假设:
1.假设每人工作是完成,不会受其他人影响。 2.假设每人的工作会按时完成,不会提前或推迟。
- 2 -
3.假设翻译后无停顿时间可直接审校。
4.假设不允许两人或两人以上做同一种译文的翻译工作。
5、假设一个人在同一时间只能做一种译文的翻译、审校工作。
6、假设对于每个语种,只有当该语种的译文完全完成之后才能进行该语种 译文的审校工作。
三、符号说明:
符号 cij bi 含义 第i个人翻译第j种语言的天数 第i行中最大的数 第k个人审校第j种语言的天数 第i个人翻译第k个人审校第j种语言的天数 第l行中最大的数 修改后第i个人审校第j种语言的天数 正偏差变量 负偏差变量 bkj alj dl dij di di
四、问题分析:
本题目可以分为两个部分。前两个题目只涉及翻译问题,后两个题目还涉及到翻译后的校对工作。现需要把一份中文资料翻译成英语、法语、日语、德语和俄语5种语言,其中有7人能够单独完成每一种语言的翻译工作,并且能够单独完成每种语言的校对工作。
由于题中要求为了译文的连贯性,不允许两人或两人以上做同一种译文的翻译工作。所以问题(1)分析得到,每一种语言的翻译只能由一个人来完成,但每个人可以担任多种语言的翻译工作。此时,人力资源分配可利用整数规划模型求得是该项目尽早完成的人员分配方案。而问题(2)题目要求每人最多承担一种译文的翻译工作,故可以假设还有另外两种译文的翻译工作,同时让7个人翻译另外两种译文的时间均为0。这样就相当于把7种译文的翻译工作分别一一分配给这7个人。这是个给n 个人分配n 项工作以获得某个最高总效果的问题。利用MATLAB软件求得最优的分配方案。问题(3)与问题(4)在翻译的同时,还要进行校对。但题目要求为了保证翻译 的质量,同一个语种的审校人和翻译者不能为同一人。故可以利用SQL server软件得到翻译与校对的叉乘excel表格(见附录)但要把同一人进行翻译、校对的译文时间置为无穷大。再利用与问
- 3 -
题(1)相同的方法求得。对于问题(4)可看做双目标规划问题。运用分成求解的方法先求得译文翻译的最优资源分配方案,再求得译文校对工作的最优分配方案。
五、模型的建立与求解:
5.1.1模型一的建立
用Z表示五种语言总共的天数, 此外
xij
10表示第i个人去翻译第j种语言表示第i个人没翻译第j种语言
现考虑各方面的条件,列出如下的整数规划模型:
minzcijxiji1j175
约束条件:
不同语言所需人数的约束:
i1 j1,...,5 不同人翻译语言所需的时间约束:
x57ij1 j1
5.1.2模型的求解
首先我们在目标规划中引入偏差变量的重要概念。 该原问题第2个约束条件为:
cxijijbii1,...,7c
j15ijijxbi
ddii现以变量表示该约束条件的正偏差(和称盈变量),以变量表示该约束
条件的负偏差(或称方变量),对所有变量仍然有非负性的要求。即令
dmax{cijxijbi,0}ij15
dmax{bicijxij,0}ij15
- 4 -
于是该约束条件可表示为:
cxddijijiibi5
j1
dddd显然,一对偏差变量i和i不可能同时大于零,即总有ii=0,由于引进
了偏差变量,使得所有约束条件均为等式方程组。并且易知,此时可行解总是存
在。这就克服了当可行域为空集时,无法用线性规划进行处理的困难,从而更有利于我们求解该模型。 运行结果:
Global optimal solution found.
Objective value: 17.00000 Infeasibilities: 0.000000 Total solver iterations: 5
Variable Value Reduced Cost
B( W1) 15.00000 0.000000
B( W2) 15.00000 0.000000
B( W3) 16.00000 0.000000
B( W4) 11.00000 0.000000
B( W5) 15.00000 0.000000
B( W6) 13.00000 0.000000
B( W7) 16.00000 0.000000
COST( W1, J1) 2.000000 0.000000
COST( W1, J2) 15.00000 0.000000
COST( W1, J3) 13.00000 0.000000
COST( W1, J4) 1.000000 0.000000
COST( W1, J5) 8.000000 0.000000
COST( W2, J1) 10.00000 0.000000
- 5 -
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
W2, W2, W2, W2, W3, W3, W3, W3, W3, W4, W4, W4, W4, W4, W5, W5, W5, W5, W5, W6, W6, W6,
J2) J3) J4) J5) J1) J2) J3) J4) J5) J1) J2) J3) J4) J5) J1) J2) J3) J4) J5) J1) J2) J3)
4.000000 14.00000 15.00000 7.000000 9.000000 14.00000 16.00000 13.00000 8.000000 7.000000 8.000000 11.00000 9.000000 4.000000 8.000000 4.000000 15.00000 8.000000 6.000000 12.00000 4.000000 6.000000
- 6 -
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
VOLUME( 0.000000
VOLUME( 11.00000
VOLUME( 7.000000
VOLUME( 0.000000
VOLUME( 4.000000
VOLUME( 8.000000
VOLUME( 0.000000
VOLUME( 8.000000
VOLUME( 14.00000
VOLUME( 3.000000
VOLUME( 7.000000
VOLUME( 10.00000
VOLUME( 10.00000
VOLUME( 12.00000
VOLUME( 4.000000
W6, W6, W7, W7, W7, W7, W7, W1, W1, W1, W1, W1, W2, W2, W2, W2, W2, W3, W3, W3, W3, W3,
J4) J5) J1) J2) J3) J4) J5) J1) J2) J3) J4) J5) J1) J2) J3) J4) J5) J1) J2) J3) J4) J5)
8.000000 13.00000 5.000000 16.00000 8.000000 5.000000 10.00000 1.000000 0.000000 0.000000 1.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
- 7 -
VOLUME( W4, J1) 0.000000 5.000000
VOLUME( W4, J2) 0.000000 4.000000
VOLUME( W4, J3) 0.000000 5.000000
VOLUME( W4, J4) 0.000000 8.000000
VOLUME( W4, J5) 1.000000 0.000000
VOLUME( W5, J1) 0.000000 6.000000
VOLUME( W5, J2) 0.000000 0.000000
VOLUME( W5, J3) 0.000000 9.000000
VOLUME( W5, J4) 0.000000 7.000000
VOLUME( W5, J5) 0.000000 2.000000
VOLUME( W6, J1) 0.000000 10.00000
VOLUME( W6, J2) 0.000000 0.000000
VOLUME( W6, J3) 1.000000 0.000000
VOLUME( W6, J4) 0.000000 7.000000
VOLUME( W6, J5) 0.000000 9.000000
VOLUME( W7, J1) 0.000000 3.000000
VOLUME( W7, J2) 0.000000 12.00000
VOLUME( W7, J3) 0.000000 2.000000
VOLUME( W7, J4) 0.000000 4.000000
VOLUME( W7, J5) 0.000000 6.000000
Row Slack or Surplus Dual Price
1 17.00000 -1.000000
- 8 -
2 0.000000
3 0.000000
4 0.000000
5 0.000000
6 0.000000
7 0.000000
8 0.000000
9 -2.000000
10 -4.000000
11 -6.000000
12 -1.000000
13 -4.000000
12.00000 11.00000 16.00000 7.000000 15.00000 7.000000 16.00000 0.000000 0.000000 0.000000 0.000000 0.000000
由lingo软件求得的最优解是:
x111,x141,x221,x451,x631;
即是:
方案一:A翻译英语和德语;B翻译法语;D翻译俄语;F翻译日语。
由于E翻译法语都是需要4天与B所需时间相同。所以还有另外一种最优方案。 方案二:A翻译英语和德语;E翻译法语;D翻译俄语;F翻译日语。 这样安排才能使得项目更早完成。
5.2.1模型二的建立
在问题1中若规定每人最多承担一种译文的翻译工作,故五种语言应该要五个人去翻译。可以假设还有另外两种译文的翻译工作,七个人对着两种译文的翻译时间均置为0,从而转化成求七个人分配七项项目来得到最优解。
用Y表示其种语言总共的天数, 此外
- 9 -
xij10表示第i个人去翻译第j种语言表示第i个人没翻译第j种语言
由此,可得目标函数为:
77minYcijxij 约束条件:
i1j1
7xij1i1...7i17j1...7xij1 j1xij0,1
5.2.2模型的求解
显然,此问题可看作是运输问题的特殊情况。可将此问题看作具有7个源和7个汇的问题,每个源有1单位的可获量,而每个汇有1单位的需要量。从表面上来看,这问题要用整数规划以保证xij能取到0或1.然而,幸运的是,此问题是运输问题的特例,因此即使不xij取0或1,最优解也将取得0或1. 利用matlab软件可求得:
最优解矩阵为:
Assignment =
0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
最优解为:
- 10 -
Y = 20.0000
即是:
方案一:A翻译德语,B翻译法语,D翻译俄语,F翻译日语,G翻译英语。
表1. 七人五语种翻译用时表(单位:天) 英语 法语 日语 德语 俄语 A 2 15 13 1 8 B 10 4 14 15 7 C 9 14 16 13 8 D 7 8 11 9 4 E 8 4 15 8 6 F 12 4 6 8 13 G 5 16 8 5 10 由表,可知,E和B翻译英语的时间是一样的,所以可以得到
第二种方案:A翻译德语,E翻译法语,D翻译俄语,F翻译日语,G翻译英语。
这样安排才能在规定每人最多承担一种译文的翻译工作情况下,使得人力资源最优化。
5.3.1模型三的建立
构建新的矩阵,使得矩阵元素aljcijbkj,其中l7(i1)k,i1,...,7,
k1,...,7
即我们可以得到一个49*5的新矩阵。故可得一个新的表格(见附表)。由于规定同一个语种的审校人和翻译者不能为同一人,故当ik时,可令此时的
alj1000,使得其足够大,这样才能排除同一个语种的审校人和翻译者为同一人的可能性。
用w来表示完成翻译和审校两项工作的总时间,建立目标函数:
minwakjxkj j1,...,5
k149约束条件:
(1)不同语言所需人数的约束:
xl149lj1 j1,...,5
(2)不同人翻译语言所需的时间约束:
- 11 -
axj15ljljdl l1,...,49
5.3.2模型的求解
可依据模型一的求解方法,在目标规划中引入偏差变量的重要概念,使得约束条件
axddaxd转化成ljkjlldl,这样由于引进了偏差变量,ljljlj155j1使得所有约束条件均为等式方程组。并且易知,此时可行解总是存在。这就克服
了当可行域为空集时,无法用线性规划进行处理的困难,从而更有利于我们求解该模型。
由lingo软件可算出 x711,x741,x12,21,x28,51,x42,31;
即最优安排是:
A翻译英语、G审校英语;A翻译德语、G审校德语;B翻译法语、E审校法语;D翻译俄语、G审校俄语;F翻译日语、G审校日语。
5.4.1模型四的建立
规定每人最多承担一种译文的翻译工作和另外一种的审校工作,并且由于是翻译后才能去审校,所以可以在翻译工作确定最优人力资源安排后再考虑审校工作,在第二问基础上,可以相应地修改审校时间表,因为题目要求每个人最多承担一种疑问的翻译工作和另外一种的审校工作,所以把某人翻译某种语言后再去审校这种语言的审校时间均改为100天,这样就可以避免一个人既承担一种译文的翻译工作又承担这种译文的审校工作的可能性,由方案一作修改表3如下:
表3. 七人五语种审校用时修改表(单位:天) A B C D E F G
英语 1 10 8 6 6 11 100
法语 13 100 6 7 3 4 12
日语 10 8 10 11 15 100 6
德语 100 10 9 8 8 7 3
俄语 8 5 6 100 5 10 2
由方案二作修改表4如下:
表4. 七人五语种审校用时修改表(单位:天) A B C D E F
英语 1 10 8 6 6 11 法语 13 4 6 7 100 4
- 12 -
日语 10 8 10 11 15 100 德语 100 10 9 8 8 7 俄语 8 5 6 100 5 10
G
100 12 6 3 2 可以假设还有另外两种译文的审校工作,七个人对这两种译文的审校时间均置为0,从而转化成求七个人分配七项项目来得到最优解。 由此建立整数规划模型:
y1ij=07第i个人审校第j中语言第i个人不审校第j种语言
目标函数:
minZdijyij
i1j17约束条件:
7yij1i1...7i17yij1j1...7 j1yij0,1
5.4.2模型的求解
此问题可看作是运输问题的特殊情况。可将此问题看作具有7个源和7个汇的问题,每个源有1单位的可获量,而每个汇有1单位的需要量。从表面上来看,这问题要用整数规划以保证xij能取到0或1.然而,幸运的是,此问题是运输问题的特例,因此即使不xij取0或1,最优解也将取得0或1.针对表3利用matlab软件可求得:
最优解矩阵为: Assignment =
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
- 13 -
最优解为:
Z = 21.0000
方案一:G翻译英语、A审校英语;B翻译法语、E审校法语;F翻译日语、B审校日语;A翻译德语、G审校德语;D翻译俄语、C审校俄语。
此外,利用lingo软件可求得: 运行结果:
Global optimal solution found.
Objective value: 21.00000 Infeasibilities: 0.000000 Total solver iterations: 17
Variable Value Reduced Cost
COST( W1, J1) 1.000000 0.000000
COST( W1, J2) 13.00000 0.000000
COST( W1, J3) 10.00000 0.000000
COST( W1, J4) 100.0000 0.000000
COST( W1, J5) 8.000000 0.000000
COST( W1, J6) 0.000000 0.000000
COST( W1, J7) 0.000000 0.000000
COST( W2, J1) 10.00000 0.000000
COST( W2, J2) 100.0000 0.000000
COST( W2, J3) 8.000000 0.000000
COST( W2, J4) 10.00000 0.000000
COST( W2, J5) 5.000000 0.000000
COST( W2, J6) 0.000000 0.000000
- 14 -
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
W2, W3, W3, W3, W3, W3, W3, W3, W4, W4, W4, W4, W4, W4, W4, W5, W5, W5, W5, W5, W5, W5,
J7) J1) J2) J3) J4) J5) J6) J7) J1) J2) J3) J4) J5) J6) J7) J1) J2) J3) J4) J5) J6) J7)
0.000000 8.000000 6.000000 10.00000 9.000000 6.000000 0.000000 0.000000 6.000000 7.000000 11.00000 8.000000 100.0000 0.000000 0.000000 6.000000 3.000000 15.00000 8.000000 5.000000 0.000000 0.000000
- 15 -
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
COST( 0.000000
VOLUME( 0.000000
VOLUME( 9.000000
VOLUME( 1.000000
VOLUME( 93.00000
VOLUME( 2.000000
VOLUME( 0.000000
VOLUME( 0.000000
VOLUME( 10.00000
W6, W6, W6, W6, W6, W6, W6, W7, W7, W7, W7, W7, W7, W7, W1, W1, W1, W1, W1, W1, W1, W2,
J1) J2) J3) J4) J5) J6) J7) J1) J2) J3) J4) J5) J6) J7) J1) J2) J3) J4) J5) J6) J7) J1)
11.00000 4.000000 100.0000 7.000000 10.00000 0.000000 0.000000 100.0000 12.00000 6.000000 3.000000 2.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
- 16 -
VOLUME( 97.00000
VOLUME( 0.000000
VOLUME( 4.000000
VOLUME( 0.000000
VOLUME( 1.000000
VOLUME( 1.000000
VOLUME( 7.000000
VOLUME( 2.000000
VOLUME( 1.000000
VOLUME( 2.000000
VOLUME( 0.000000
VOLUME( 0.000000
VOLUME( 0.000000
VOLUME( 5.000000
VOLUME( 3.000000
VOLUME( 2.000000
VOLUME( 1.000000
VOLUME( 94.00000
VOLUME( 0.000000
VOLUME( 0.000000
VOLUME( 6.000000
VOLUME( 0.000000
W2, W2, W2, W2, W2, W2, W3, W3, W3, W3, W3, W3, W3, W4, W4, W4, W4, W4, W4, W4, W5, W5,
J2) J3) J4) J5) J6) J7) J1) J2) J3) J4) J5) J6) J7) J1) J2) J3) J4) J5) J6) J7) J1) J2)
0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000
- 17 -
VOLUME( W5, J3) 0.000000 7.000000
VOLUME( W5, J4) 0.000000 2.000000
VOLUME( W5, J5) 1.000000 0.000000
VOLUME( W5, J6) 0.000000 1.000000
VOLUME( W5, J7) 0.000000 1.000000
VOLUME( W6, J1) 0.000000 10.00000
VOLUME( W6, J2) 1.000000 0.000000
VOLUME( W6, J3) 0.000000 91.00000
VOLUME( W6, J4) 0.000000 0.000000
VOLUME( W6, J5) 0.000000 4.000000
VOLUME( W6, J6) 0.000000 0.000000
VOLUME( W6, J7) 0.000000 0.000000
VOLUME( W7, J1) 0.000000 103.0000
VOLUME( W7, J2) 0.000000 12.00000
VOLUME( W7, J3) 0.000000 1.000000
VOLUME( W7, J4) 1.000000 0.000000
VOLUME( W7, J5) 0.000000 0.000000
VOLUME( W7, J6) 0.000000 4.000000
VOLUME( W7, J7) 0.000000 4.000000
Row Slack or Surplus Dual Price
1 21.00000 -1.000000
2 0.000000 0.000000
- 18 -
3 1.000000
4 0.000000
5 0.000000
6 1.000000
7 0.000000
8 4.000000
9 -1.000000
10 -4.000000
11 -9.000000
12 -7.000000
13 -6.000000
14 0.000000
15 0.000000
0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
即是:y111,y231,y551,y621,y741;
故优化安排为:
方案二:G翻译英语、A审校英语;B翻译法语、F审校法语;F翻译日语、B审校日语;A翻译德语、G审校德语;D翻译俄语、E审校俄语。
针对表4 利用matlab软件可求得
最优解矩阵为:
Assignment =
1 0 0 0 0 0 0 0 0 1 0 0 0 0
- 19 -
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0
最优解为:
z =21.0000
方案三:G翻译英语、A审校英语;E翻译法语、F审校法语;F翻译日语、B审校日语;A翻译德语、G审校德语;D翻译俄语、E审校俄语。
六、模型的改进与推广
在第四问中有两种不同的算法,分别用matlab和lingo算出但结果又有一定的差异,在实际问题中在翻译某种语言之后只有人员有空闲就可进行审校工作,而本文未考虑这段时间,所以这是本文模型需要改进的地方。
本文在人数大于任务的指派问题是的方法是值得推广的,在数据的处理上使用了匈牙利法对数据进行改进但不影响模型的结果。
此模型通过对人力资源的调配,从量化的角度得出人力资源最优分配方案。利用此模型的方法可以求出所有类似本模型的线性规划模型。但是,模型一只是单目标的规划,可以在此基础上,增加目标要求。从而建立多目标规划模型。解决更为复杂的实际问题。
七、模型的优缺点分析
1. 优点
(1)本文模型简单易懂,便于编程和计算,可以用其在较短的时间内对大量的数据进行处理,提高工作效率。
(2)本文在建模过程中充分讨论各种情况的同时讨论了任务完成的时间和人力资源的调配,最大程度上是任务尽早完成和人力资源的较少利用。
(3)我们在翻译和审校的时间调配上,如果出现冲突因为问题的先后性,对审校工作调整部分数据以达到问题的要求.
2. 缺点
(1)我们在解决这四个问题中所使用的模型较为单一,结果可能并非最优解,而是次优解。
(2)每个人的工作受诸多因素的影响,存在大量的不确定性。
八、参考文献:
[1] 王沫然,matlab6.0与科学计算【M]电子工业出版社.2001年
- 20 -
[2] 李强,maple8基础应用教程].【M】中国水利水电出版社.2004年 [3] 姜启源,数学模型(第三版),北京:高等教育出版社,2003年 [4] 傅英定,成孝予,唐应辉,最优化理论与方法,国防工业出版社,2008年 [5] 黄平,孟永钢,最优化理论与方法,清华大学出版社,2009年11月27日 [6] 司守奎,孙玺菁《数学建模算法与应用》.国防工业出版社,2013年1月 [7] 李维铮《运筹学》第三版.清华大学出版社,2005年6月
附录:
七人译文的翻译与审校时间叉乘表
AA AB AC AD AE AF AG BA
英语 3 12 10 8 8 13 6 11 法语 28 19 21 22 18 19 27 17 日语 23 21 23 24 28 19 19 24 - 21 -
德语 2 11 10 9 9 8 4 16 俄语 16 13 14 12 13 18 10 15 最大值 28 21 23 24 28 19 27 24
BB BC BD BE BF BG CA CB CC CD CE CF CG DA DB DC DD DE DF DG EA EB EC ED EE EF EG FA FB FC FD FE FF FG GA GB GC GD GE GF GG 20 18 16 16 21 14 10 19 17 15 15 20 13 8 17 15 13 13 18 11 9 18 16 14 14 19 12 13 22 20 18 18 23 16 6 15 13 11 11 16 9 8 10 11 7 8 16 27 18 20 21 17 18 26 21 12 14 15 11 12 20 17 8 10 11 7 8 16 17 8 10 11 7 8 16 29 20 22 23 19 20 28 22 24 25 29 20 20 26 24 26 27 31 22 22 21 19 21 22 26 17 17 25 23 25 26 30 21 21 16 14 16 17 21 12 12 18 16 18 19 23 14 14 25 24 23 23 22 18 14 23 22 21 21 20 16 10 19 18 17 17 16 12 9 18 17 16 16 15 11 9 18 17 16 16 15 11 6 15 14 13 13 12 8 12 13 11 12 17 9 16 13 14 12 13 18 10 12 9 10 8 9 14 6 14 11 12 10 11 16 8 21 18 19 17 18 23 15 18 15 16 14 15 20 12 25 24 25 29 22 20 27 24 26 27 31 22 26 21 19 21 22 26 18 20 25 23 25 26 30 21 21 21 22 20 18 21 23 16 29 20 22 23 23 20 28 程序代码
1、模型一的程序代码
- 22 -
Sets:
People/w1..w7/:b; Language/j1..j5/;
Links(People, Language):cost,volume; Endsets
Min=@sum(links:cost*volume);
@For(People(I):@sum(Language(J):cost*volume(I,J))b=15 15 16 11 15 13 16; Cost= 2 15 13 1 8 10 4 14 15 7 9 14 16 13 8 7 8 11 9 4 8 4 15 8 6 12 4 6 8 13 5 16 8 5 10; enddata
2、模型二的程序代码
C=[2 15 13 1 8 0 0;10 4 14 15 7 0 0;9 14 16 13 8 0 0;7 8 11 9 4 0 0;8 4 15 8 6 0 0;12 4 6 8 13 0 0;5 16 8 5 10 0 0];%效率矩阵C
n=size(C,1);%计算C的行列数n
C=C(:);%计算目标函数系数,将矩阵C按列排成一个列向量即可。 A=[];B=[];%没有不等式约束
Ae=zeros(2*n,n^2);%计算等约束的系数矩阵a for i=1:n
for j=(i-1)*n+1:n*i Ae(i,j)=1; end
for k=i:n:n^2 Ae(n+i,k)=1; end end
Be=ones(2*n,1);%等式约束右端项b Xm=zeros(n^2,1);%决策变量下界Xm
- 23 -
XM=ones(n^2,1);%决策变量上界XM
[x,z]=linprog(C,A,B,Ae,Be,Xm,XM);%使用linprog求解 x=reshape(x,n,n);%将列向量x按列排成一个n阶方阵 disp('最优解矩阵为:');%输出指派方案和最优值 Assignment=round(x)%使用round进行四舍五入取整 disp('最优解为:');
z 运行结果
Optimization terminated. 最优解矩阵为:
Assignment =
0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
最优解为: z =
20.0000
3、模型三的程序代码 Sets:
Workers/w1..w49/:b; Jobs/j1..j5/;
Links(workers,jobs):cost,volume; Endsets
Min=@sum(links:cost*volume);
@For(workers(I):@sum(jobs(J):cost*volume(I,J))b=28 21 23 24 28 19 27 24 25 24 25 29 22 20 27 24 26 27 31 22 26 21 19 21 22 26 18 20 25 23 25 26 30 21 21 21 22 20 18 21 23 16 29 20 22 23 23 20 28;
- 24 -
cost= @OLE('D:/Book2.xls','dist') ; enddata
4、模型四的代码 MATLAB代码: clear all;
C=[1 13 10 100 8 0 0;10 100 8 10 5 0 0;8 6 10 9 6 0 0;6 7 11 8 100 0 0;6 3 15 8 5 0 0;11 4 100 7 10 0 0;100 12 6 3 2 0 0];%效率矩阵C
n=size(C,1);%计算C的行列数n
C=C(:);%计算目标函数系数,将矩阵C按列排成一个列向量即可。 A=[];B=[];%没有不等式约束
Ae=zeros(2*n,n^2);%计算等约束的系数矩阵a for i=1:n
for j=(i-1)*n+1:n*i
Ae(i,j)=1; end
for k=i:n:n^2 Ae(n+i,k)=1; end end
Be=ones(2*n,1);%等式约束右端项b Xm=zeros(n^2,1);%决策变量下界Xm XM=ones(n^2,1);%决策变量上界XM
[x,z]=linprog(C,A,B,Ae,Be,Xm,XM);%使用linprog求解 x=reshape(x,n,n);%将列向量x按列排成一个n阶方阵 disp('最优解矩阵为:');%输出指派方案和最优值 Assignment=round(x)%使用round进行四舍五入取整
- 25 -
disp('最优解为:');
z
运行结果
Optimization terminated. 最优解矩阵为:
Assignment =
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
最优解为:
z =
21.0000
C=[1 13 10 100 8 0 0;10 4 8 10 5 0 0;8 6 10 9 6 0 0;6 7 11 8 100 0 0;6 100 15 8 5 0 0;11 4 100 7 10 0 0;100 12 6 3 2 0 0];%效率矩阵C
n=size(C,1);%计算C的行列数n
C=C(:);%计算目标函数系数,将矩阵C按列排成一个列向量即可。 A=[];B=[];%没有不等式约束
Ae=zeros(2*n,n^2);%计算等约束的系数矩阵a for i=1:n
for j=(i-1)*n+1:n*i Ae(i,j)=1; end
for k=i:n:n^2 Ae(n+i,k)=1; end end
Be=ones(2*n,1);%等式约束右端项b
- 26 -
Xm=zeros(n^2,1);%决策变量下界Xm XM=ones(n^2,1);%决策变量上界XM
[x,z]=linprog(C,A,B,Ae,Be,Xm,XM);%使用linprog求解 x=reshape(x,n,n);%将列向量x按列排成一个n阶方阵 disp('最优解矩阵为:');%输出指派方案和最优值 Assignment=round(x)%使用round进行四舍五入取整 disp('最优解为:');
z
运行结果
Optimization terminated. 最优解矩阵为:
Assignment =
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 最优解为: z = 21.0000
LINGO代码 sets:
workers/w1..w7/; jobs/j1..j7/;
links(workers,jobs):cost,volume; endsets
min=@sum(links:cost*volume); @for(workers(i):
@sum(jobs(j):volume(i,j))=1;); @for(jobs(j):
@sum(workers(i):volume(i,j))=1; ); data:
cost=1 13 10 100 8 0 0
- 27 -
10 100 8 10 5 0 0 8 6 10 9 6 0 0 6 7 11 8 100 0 0 6 3 15 8 5 0 0 11 4 100 7 10 0 0 100 12 6 3 2 0 0; enddata end
Excel表格: Book2 1000 1000 1000 12 19 21 10 21 23 8 22 24 8 18 28 13 19 19 6 27 19 11 17 24 1000 1000 1000 18 10 24 16 11 25 16 7 29 21 8 20 14 16 20 10 27 26 19 18 24 1000 1000 1000 15 21 27 15 17 31 20 18 22 13 26 22 8 21 21 17 12 19 15 14 21 1000 1000 1000 13 11 26 18 12 17 11 20 17 9 17 25 18 8 23 16 10 25 14 11 26
1000 11 10 9 9 8 4 16 1000 24 23 23 22 18 14 23 1000 21 21 20 16 10 19 18 1000 17 16 12 9 18 17 16 - 28 -
1000 13 14 12 13 18 10 15 1000 13 11 12 17 9 16 13 1000 12 13 18 10 12 9 10 1000 9 14 6 14 11 12 10
1000 19 12 13 22 20 18 18 1000 16 6 15 13 11 11 16 1000 1000 8 16 17 8 10 11 7 1000 16 29 20 22 23 19 20 1000 1000 21 21 16 14 16 17 21 1000 12 18 16 18 19 23 14 1000 1000 15 11 9 18 17 16 16 1000 11 6 15 14 13 13 12 1000 1000 16 8 21 18 19 17 18 1000 15 18 15 16 14 15 20 1000
- 29 -
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务