人员安排问题Word文档格式.docx
《人员安排问题Word文档格式.docx》由会员分享,可在线阅读,更多相关《人员安排问题Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
项目B
t21
t22
t23
t24
项目C
t31
t32
t33
t34
表1数据表
完成所有项目的总费用,等于工程师甲、乙、丙与丁参与完成项目A、B、C各所用的月数与月工资的成绩之与,则可表示为:
minS=3000*(t11+t21+t31)+3500*(t12+t22+t32)+3200*(t13+t23+t33)+3900*(t14+t24+t34)
b、工程师甲、乙、丙与丁完成项目A、B、C所用的总时间约束为:
(t11+t21+t31)+(t12+t22+t32)+(t13+t23+t33)+(t14+t24+t34)>
=60;
18+12+30=60
c、项目A、B、C完成所需的时间约束为:
t11+t12+t13+t14>
=18;
t21+t22+t23+t24>
=12;
t31+t32+t33+t34>
=30、
d、所有项目要求只能在18个月内完后才(一个人最多只能工作18个月):
0<
=t11+t21+t31<
0<
=t12+t22+t32<
=t13+t23+t33<
=t14+t24+t34<
=18、
由于问题需要将工程师分配到具体项目,所以将问题进行优化。
aij=1i=j=1,2,3表示甲工程师在j时期被安排于第i个项目;
aij=0i=j=1,2,3表示甲工程师在j时期不被安排于第i个项目;
bij=1i=j=1,2,3表示乙工程师在j时期被安排于第i个项目;
bij=0i=j=1,2,3表示乙工程师在j时期不被安排于第i个项目;
cij=1i=j=1,2,3表示丙工程师在j时期被安排于第i个项目;
cij=0i=j=1,2,3表示丙工程师在j时期不被安排于第i个项目;
dij=1i=j=1,2,3表示丁工程师在j时期被安排于第i个项目;
dij=0i=j=1,2,3表示丁工程师在j时期不被安排于第i个项目、
相应的具体到每个时期的表示方式如表2所示:
时期一
时期二
时期三
a11
b11
c11
d11
a12
b12
c12
d12
a13
b13
c13
d13
a21
b21
c21
d21
a22
b22
c22
d22
a23
b23
c23
d23
a31
b31
c31
d31
a32
b32
c32
d32
a33
b33
c33
d33
表2数据表
e、工程师甲、乙、丙与丁在时期一、时期二、时期三各阶段都有可能被安排参与项目,则:
甲、a11+a21+a31<
=1;
a12+a22+a32<
a13+a23+a33<
=1、
乙、b11+b21+b31<
b12+b22+b32<
b13+b23+b33<
丙、c11+c21+c31<
c12+c22+c32<
c13+c23+c33<
丁、d11+d21+d31<
d12+d22+d32<
d13+d23+d33<
f、工程师们在一个时期内参与一个项目,工资应按6个月来计算,则工程师甲、乙、丙、丁工作于这几个项目所用的总时间为时期一、时期二、时期三的所有时间之与,则:
甲、6*(a11+a12+a13)=t11;
6*(a21+a22+a23)=t21;
6*(a31+a32+a33)=t31;
乙、6*(b11+b12+b13)=t12;
6*(b21+b22+b23)=t22;
6*(b31+b32+b33)=t32;
丙、6*(c11+c12+c13)=t13;
6*(c21+c22+c23)=t23;
6*(c31+c32+c33)=t33;
丁、6*(d11+d12+d13)=t14;
6*(d21+d22+d23)=t24;
6*(d31+d32+d33)=t34;
(2)建立模型
(3)采用LINGO进行仿真
具体的程序如图1所示:
图1程序代码
运行程序输出结果如下所示:
Globaloptimalsolutionfound、
Objectivevalue:
198000、0
Objectivebound:
Infeasibilities:
0、000000
Extendedsolversteps:
0
Totalsolveriterations:
21
VariableValueReducedCost
T110、0000003000、000
T210、0000003000、000
T3118、000003000、000
T126、0000003500、000
T2212、000003500、000
T320、0000003500、000
T136、0000003200、000
T230、0000003200、000
T3312、000003200、000
T146、0000003900、000
T240、0000003900、000
T340、0000003900、000
A110、0000000、000000
A120、0000000、000000
A130、0000000、000000
A210、0000000、000000
A220、0000000、000000
A230、0000000、000000
A311、0000000、000000
A321、0000000、000000
A331、0000000、000000
B110、0000000、000000
B121、0000000、000000
B130、0000000、000000
B211、0000000、000000
B220、0000000、000000
B231、0000000、000000
B310、0000000、000000
B320、0000000、000000
B330、0000000、000000
C111、0000000、000000
C120、0000000、000000
C130、0000000、000000
C210、0000000、000000
C220、0000000、000000
C230、0000000、000000
C310、0000000、000000
C321、0000000、000000
C331、0000000、000000
D111、0000000、000000
D120、0000000、000000
D130、0000000、000000
D210、0000000、000000
D220、0000000、000000
D230、0000000、000000
D310、0000000、000000
D320、0000000、000000
D330、0000000、000000
整理输出结果如表3与表4所示:
6
12
18
表3数据表
1
表4数据表
答:
根据仿真结果可以得出第一时期,甲工程师在C项目,乙工程师在B项目,丙与丁工程师在A项目;
第二时期,甲与丙工程师在C项目,乙工程师在A项目,丁工程师休息;
第三时期,甲与丙工程师在C项目,乙工程师在B项目。
2、
(1)问题分析:
根据要求工程师乙与丙不能同时在一个项目中工作,所以只需要在1中的问题分析中加入另一个约束条件即可。
添加条件如下所示:
b11+c11<
=1;
b12+c12<
b13+c13<
b21+c21<
b22+c22<
b23+c23<
b31+c31<
b32+c32<
b33+c33<
具体的程序如图2所示:
图2程序代码
Globaloptimalsolutionfound、
T210、0000003000、000
A130、0000000、000000
B310、0000000、000000
C210、0000000、000000
D320、0000000、000000
整理输出结果如表5与表6所示:
表5数据表
表6数据表
根据仿真结果得出乙与丙的个人矛盾不会带来额外损失。
3、
(1)问题分析:
g、如果项目A能够在前6个月内完成,公司会发10000元的奖金,所以要加入约束条件:
a11+b11+c11+d11=3;
(2)建立模型
具体的程序如图3所示:
图3程序代码
程序运行结果如下所示:
0、000000
VariableValueReducedCost
B111、0000000、000000
B120、0000000、000000
B210、0000000、000000
B221、0000000、000000
C120、0000000、000000
整理输出结果如表7与表8所示:
表7数据表
表8数据表
根据仿真结果显示项目A能够在前6个月内完成,人员细节安排会有一点变化,但不会改变最优解。