1、t 14项目Bt 21t 22t 23t 24项目Ct 31t 32t 33t 34表1 数据表完成所有项目的总费用,等于工程师甲、乙、丙和丁参与完成项目A、B、C各所用的月数与月工资的成绩之和,则可表示为:min S=3000*(t 11+t 21+t 31)+3500*(t 12+t 22+t 32)+3200*(t 13+t 23+t 33)+3900*(t 14+t 24+t 34)b.工程师甲、乙、丙和丁完成项目A、B、C所用的总时间约束为:(t 11+t 21+t 31)+(t 12+t 22+t 32)+(t 13+t 23+t 33)+(t 14+t 24+t 34)=60;1
2、8+12+30=60c.项目A、B、C完成所需的时间约束为:t 11+t 12+t 13+t 14=18;t 21+t 22+t 23+t 24=12;t 31+t 32+t 33+t 34=30.d.所有项目要求只能在18个月内完后才(一个人最多只能工作18个月):0=t 11+t 21+t 31=t 12+t 22+t 32=t 13+t 23+t 33=t 14+t 24+t 34=18.由于问题需要将工程师分配到具体项目,所以将问题进行优化。a ij=1 i=j=1,2,3 表示甲工程师在j时期被安排于第i个项目;a ij=0 i=j=1,2,3 表示甲工程师在j时期不被安排于第i个项
3、目;b ij=1 i=j=1,2,3 表示乙工程师在j时期被安排于第i个项目;b ij=0 i=j=1,2,3 表示乙工程师在j时期不被安排于第i个项目;c ij=1 i=j=1,2,3 表示丙工程师在j时期被安排于第i个项目;c ij=0 i=j=1,2,3 表示丙工程师在j时期不被安排于第i个项目;d ij=1 i=j=1,2,3 表示丁工程师在j时期被安排于第i个项目;d ij=0 i=j=1,2,3 表示丁工程师在j时期不被安排于第i个项目.相应的具体到每个时期的表示方式如表2所示:时期一时期二时期三a 11b 11c 11d 11a 12b 12c 12d 12a 13b 13c 1
4、3d 13a 21b 21c 21d 21a 22b 22c 22d 22a 23b 23c 23d 23a 31b 31c 31d 31a 32b 32c 32d 32a 33b 33c 33d 33表2 数据表e.工程师甲、乙、丙和丁在时期一、时期二、时期三各阶段都有可能被安排参与项目,则:甲、a 11+a 21+a 31=1;a12+a 22+a 32a 13+a 23+a 33=1.乙、b 11+b 21+b 31b12+b 22+b 32b13+b 23+b 33丙、c 11+c 21+c 31c12+c 22+c 32c 13+c 23+c 33丁、d 11+d 21+d31d12
5、+d 22+d 32d 13+d 23+d 33f.工程师们在一个时期内参与一个项目,工资应按6个月来计算,则工程师甲、乙、丙、丁工作于这几个项目所用的总时间为时期一、时期二、时期三的所有时间之和,则:甲、6*(a 11+a12+a13)=t 11; 6*(a 21+a 22+a 23)=t 21; 6*(a 31+a 32+a 33)=t 31;乙、6*(b11+b12+b13)=t 12; 6*(b 21+b 22+b 23)=t 22; 6*(b 31+b 32+b33)=t 32;丙、6*(c11+c12+c 13)=t 13; 6*(c 21+c 22+c 23)=t 23; 6*(
6、c 31+c 32+c 33)=t 33;丁、6*(d11+d12+d13)=t 14; 6*(d 21+d 22+d 23)=t 24; 6*(d 31+d 32+d 33)=t 34;(2)建立模型(3)采用LINGO进行仿真具体的程序如图1所示:图1程序代码运行程序输出结果如下所示:Global optimal solution found.Objective value: 198000.0Objective bound:Infeasibilities: 0.000000Extended solver steps: 0Total solver iterations: 21Variable
7、 Value Reduced CostT11 0.000000 3000.000T21 0.000000 3000.000T31 18.00000 3000.000T12 6.000000 3500.000T22 12.00000 3500.000T32 0.000000 3500.000T13 6.000000 3200.000T23 0.000000 3200.000T33 12.00000 3200.000T14 6.000000 3900.000T24 0.000000 3900.000T34 0.000000 3900.000A11 0.000000 0.000000A12 0.00
8、0000 0.000000A13 0.000000 0.000000A21 0.000000 0.000000A22 0.000000 0.000000A23 0.000000 0.000000A31 1.000000 0.000000A32 1.000000 0.000000A33 1.000000 0.000000B11 0.000000 0.000000B12 1.000000 0.000000B13 0.000000 0.000000B21 1.000000 0.000000B22 0.000000 0.000000B23 1.000000 0.000000B31 0.000000 0
9、.000000B32 0.000000 0.000000B33 0.000000 0.000000C11 1.000000 0.000000C12 0.000000 0.000000C13 0.000000 0.000000C21 0.000000 0.000000C22 0.000000 0.000000C23 0.000000 0.000000C31 0.000000 0.000000C32 1.000000 0.000000C33 1.000000 0.000000D11 1.000000 0.000000D12 0.000000 0.000000D13 0.000000 0.00000
10、0D21 0.000000 0.000000D22 0.000000 0.000000D23 0.000000 0.000000D31 0.000000 0.000000D32 0.000000 0.000000D33 0.000000 0.000000整理输出结果如表3和表4所示:61218表3数据表1表4数据表答:根据仿真结果可以得出第一时期,甲工程师在C项目,乙工程师在B项目,丙和丁工程师在A项目 ;第二时期,甲和丙工程师在C项目,乙工程师在A项目,丁工程师休息;第三时期,甲和丙工程师在C项目,乙工程师在B项目。2.(1)问题分析:根据要求工程师乙和丙不能同时在一个项目中工作,所以只需要
11、在1中的问题分析中加入另一个约束条件即可。添加条件如下所示:b11+c11b12+c12b13+c13b21+c21b22+c22b23+c23b31+c31b32+c32b33+c33具体的程序如图2所示:图2程序代码整理输出结果如表5和表6所示:表5数据表表6数据表根据仿真结果得出乙和丙的个人矛盾不会带来额外损失。3.(1)问题分析:g.如果项目A能够在前6个月内完成,公司会发10000元的奖金,所以要加入约束条件:a11+b11+c11+d11=3; (2)建立模型具体的程序如图3所示:图3程序代码程序运行结果如下所示:B11 1.000000 0.000000B12 0.000000 0.000000B21 0.000000 0.000000B22 1.000000 0.000000整理输出结果如表7和表8所示:表7数据表表8数据表根据仿真结果显示项目A能够在前6个月内完成,人员细节安排会有一点变化,但不会改变最优解。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1