START( SAT) 5.000000 0.000000 START( SUN) 0.000000 0.000000
Row Slack or Surplus Dual Price 1 36.00000 -1.000000 2 9.000000 0.000000 3 0.000000 -0.3333333 4 0.000000 -0.3333333 5 1.000000 0.000000 6 0.000000 -0.3333333 7 0.000000 0.000000 8 0.000000 -0.3333333
五、计算如下运输问题: 单 销 位 运 产 地 费 地 B1 6 4 5 7 2 5 35 B2 2 9 2 6 3 5 37 B3 6 5 1 7 9 2 22 B4 7 3 9 3 5 2 32 B5 4 8 7 9 7 8 41 B6 2 5 4 2 2 1 32 B7 5 8 3 7 6 4 43 B8 9 2 3 1 5 3 38 产量 60 55 51 43 41 52 A1 A2 A3 A4 A5 A6 需求量 解:a1,a2,a3,a4,a5,a6是6个产地,b1,b2,b3,b4,b5,b6,b7,b8是8个销地 程序如下: sets:
need/a1,a2,a3,a4,a5,a6/:re;
coul/b1,b2,b3,b4,b5,b6,b7,b8/:requ; link(need,coul):cost,num; endsets data:
cost=6 2 6 7 4 2 5 9 4 9 5 3 8 5 8 2 5 2 1 9 7 4 3 3 7 6 7 3 9 2 7 1 2 3 9 5 7 2 6 5 5 5 2 2 8 1 4 3;
re=60 55 51 43 41 52; requ=35 37 22 32 41 32 43 38; enddata
min=@sum(link:cost*num);
- 6 -
@for(need(i):
@sum(coul(j):num(i,j))<=re(i)); @for(coul(j):
@sum(need(i):num(i,j))>=requ(j)); end
求解结果:
Rows= 15 Vars= 48 No. integer vars= 0 ( all are linear) Nonzeros= 158 Constraint nonz= 96( 96 are +- 1) Density=0.215
Smallest and largest elements in abs value= 1.00000 60.0000
No. < : 6 No. =: 0 No. > : 8, Obj=MIN, GUBs <= 8 Single cols= 0
Optimal solution found at step: 24 Objective value: 664.0000
Variable Value Reduced Cost RE( A1) 60.00000 0.0000000 RE( A2) 55.00000 0.0000000 RE( A3) 51.00000 0.0000000 RE( A4) 43.00000 0.0000000 RE( A5) 41.00000 0.0000000 RE( A6) 52.00000 0.0000000 REQU( B1) 35.00000 0.0000000 REQU( B2) 37.00000 0.0000000 REQU( B3) 22.00000 0.0000000 REQU( B4) 32.00000 0.0000000 REQU( B5) 41.00000 0.0000000 REQU( B6) 32.00000 0.0000000 REQU( B7) 43.00000 0.0000000 REQU( B8) 38.00000 0.0000000 COST( A1, B1) 6.000000 0.0000000 COST( A1, B2) 2.000000 0.0000000 COST( A1, B3) 6.000000 0.0000000 COST( A1, B4) 7.000000 0.0000000 COST( A1, B5) 4.000000 0.0000000 COST( A1, B6) 2.000000 0.0000000 COST( A1, B7) 5.000000 0.0000000 COST( A1, B8) 9.000000 0.0000000 COST( A2, B1) 4.000000 0.0000000 COST( A2, B2) 9.000000 0.0000000 COST( A2, B3) 5.000000 0.0000000
- 7 -
COST( A2, B4) 3.000000 0.0000000 COST( A2, B5) 8.000000 0.0000000 COST( A2, B6) 5.000000 0.0000000 COST( A2, B7) 8.000000 0.0000000 COST( A2, B8) 2.000000 0.0000000 COST( A3, B1) 5.000000 0.0000000 COST( A3, B2) 2.000000 0.0000000 COST( A3, B3) 1.000000 0.0000000 COST( A3, B4) 9.000000 0.0000000 COST( A3, B5) 7.000000 0.0000000 COST( A3, B6) 4.000000 0.0000000 COST( A3, B7) 3.000000 0.0000000 COST( A3, B8) 3.000000 0.0000000 COST( A4, B1) 7.000000 0.0000000 COST( A4, B2) 6.000000 0.0000000 COST( A4, B3) 7.000000 0.0000000 COST( A4, B4) 3.000000 0.0000000 COST( A4, B5) 9.000000 0.0000000 COST( A4, B6) 2.000000 0.0000000 COST( A4, B7) 7.000000 0.0000000 COST( A4, B8) 1.000000 0.0000000 COST( A5, B1) 2.000000 0.0000000 COST( A5, B2) 3.000000 0.0000000 COST( A5, B3) 9.000000 0.0000000 COST( A5, B4) 5.000000 0.0000000 COST( A5, B5) 7.000000 0.0000000 COST( A5, B6) 2.000000 0.0000000 COST( A5, B7) 6.000000 0.0000000 COST( A5, B8) 5.000000 0.0000000 COST( A6, B1) 5.000000 0.0000000 COST( A6, B2) 5.000000 0.0000000 COST( A6, B3) 2.000000 0.0000000 COST( A6, B4) 2.000000 0.0000000 COST( A6, B5) 8.000000 0.0000000 COST( A6, B6) 1.000000 0.0000000 COST( A6, B7) 4.000000 0.0000000 COST( A6, B8) 3.000000 0.0000000 NUM( A1, B1) 0.0000000 5.000000 NUM( A1, B2) 19.00000 0.0000000 NUM( A1, B3) 0.0000000 5.000000 NUM( A1, B4) 0.0000000 7.000000 NUM( A1, B5) 41.00000 0.0000000 NUM( A1, B6) 0.0000000 2.000000 NUM( A1, B7) 0.0000000 2.000000 NUM( A1, B8) 0.0000000 10.00000
- 8 -
NUM( A2, B1) 1.000000 0.0000000 NUM( A2, B2) 0.0000000 4.000000 NUM( A2, B3) 0.0000000 1.000000 NUM( A2, B4) 32.00000 0.0000000 NUM( A2, B5) 0.0000000 1.000000 NUM( A2, B6) 0.0000000 2.000000 NUM( A2, B7) 0.0000000 2.000000 NUM( A2, B8) 0.0000000 0.0000000 NUM( A3, B1) 0.0000000 4.000000 NUM( A3, B2) 11.00000 0.0000000 NUM( A3, B3) 0.0000000 0.0000000 NUM( A3, B4) 0.0000000 9.000000 NUM( A3, B5) 0.0000000 3.000000 NUM( A3, B6) 0.0000000 4.000000 NUM( A3, B7) 40.00000 0.0000000 NUM( A3, B8) 0.0000000 4.000000 NUM( A4, B1) 0.0000000 4.000000 NUM( A4, B2) 0.0000000 2.000000 NUM( A4, B3) 0.0000000 4.000000 NUM( A4, B4) 0.0000000 1.000000 NUM( A4, B5) 0.0000000 3.000000 NUM( A4, B6) 5.000000 0.0000000 NUM( A4, B7) 0.0000000 2.000000 NUM( A4, B8) 38.00000 0.0000000 NUM( A5, B1) 34.00000 0.0000000 NUM( A5, B2) 7.000000 0.0000000 NUM( A5, B3) 0.0000000 7.000000 NUM( A5, B4) 0.0000000 4.000000 NUM( A5, B5) 0.0000000 2.000000 NUM( A5, B6) 0.0000000 1.000000 NUM( A5, B7) 0.0000000 2.000000 NUM( A5, B8) 0.0000000 5.000000 NUM( A6, B1) 0.0000000 3.000000 NUM( A6, B2) 0.0000000 2.000000 NUM( A6, B3) 22.00000 0.0000000 NUM( A6, B4) 0.0000000 1.000000 NUM( A6, B5) 0.0000000 3.000000 NUM( A6, B6) 27.00000 0.0000000 NUM( A6, B7) 3.000000 0.0000000 NUM( A6, B8) 0.0000000 3.000000
Row Slack or Surplus Dual Price 1 664.0000 1.000000 2 0.0000000 3.000000 3 22.00000 0.0000000
- 9 -
4 0.0000000 3.000000 5 0.0000000 1.000000 6 0.0000000 2.000000 7 0.0000000 2.000000 8 0.0000000 -4.000000 9 0.0000000 -5.000000 10 0.0000000 -4.000000 11 0.0000000 -3.000000 12 0.0000000 -7.000000 13 0.0000000 -3.000000 14 0.0000000 -6.000000 15 0.0000000 -2.000000
六、目标规划
某单位领导在考虑单位职工的升级调资方案时,依次遵守以下规定: (1)不超过年工资总额60000元;
(2)每级的人数不超过定编规定的人数; (3)Ⅱ、Ⅲ级的升级面尽可能达到现有人数的20%; (4)Ⅲ级不足编制的人数可录用新职工,又Ⅰ级的职工中有10%要退休。 有关资料汇总于下表中,问该领导应如何拟定一个满意的方案。 等级 工资额(元/年) 现有人数 编制人数 Ⅰ 2000 10 12 Ⅱ 1500 12 15 Ⅲ 1000 15 15 合计 37 42 解:设x1,x2分别表示提升到Ⅰ级,Ⅱ级的人数,x3表示录用到Ⅲ级的新职工人数 程序如下:
min=10000*d1p+100*(d2p+d3p+d4p)+d5m+d6m;
2000*(9+x1)+1500*(12-x1+x2)+1000*(15-x2+x3)+d1p-d1m=60000; 9+x1+d2p-d2m=12;
12-x1+x2+d3p+d3m=15; 15-x2+x3+d4p-d4m=15; x1+d5p-d5m=2.4; x2+d6p-d6m=3; end
求解结果:
Rows= 7 Vars= 15 No. integer vars= 0 ( all are linear) Nonzeros= 33 Constraint nonz= 22( 19 are +- 1) Density=0.295
Smallest and largest elements in abs value= 1.00000 10000.0
No. < : 0 No. =: 6 No. > : 0, Obj=MIN, GUBs <= 2
- 10 -