单 位 运 产 地 费 销 地 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); @for(need(i):
@sum(coul(j):num(i,j))<=re(i)); @for(coul(j):
@sum(need(i):num(i,j))>=requ(j)); end
- 6 -
求解结果:
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 RE( A1) RE( A2) RE( A3) RE( A4) RE( A5) RE( A6) REQU( B1) REQU( B2) REQU( B3) REQU( B4) REQU( B5) REQU( B6) REQU( B7) REQU( B8) COST( A1, B1) COST( A1, B2) COST( A1, B3) COST( A1, B4) COST( A1, B5) COST( A1, B6) COST( A1, B7) COST( A1, B8) COST( A2, B1) COST( A2, B2) COST( A2, B3) COST( A2, B4) COST( A2, B5) COST( A2, B6) COST( A2, B7) COST( A2, B8) COST( A3, B1) COST( A3, B2) COST( A3, B3)
Value 6.000000 2.000000 6.000000 7.000000 4.000000 2.000000 5.000000 9.000000 4.000000 9.000000 5.000000 3.000000 8.000000 5.000000 8.000000 2.000000 5.000000 2.000000 1.000000 - 7 -
0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
Reduced Cost 60.00000 55.00000 51.00000 43.00000 41.00000 52.00000 35.00000 37.00000 22.00000 32.00000 41.00000 32.00000 43.00000 38.00000
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) COST( A4, B6) COST( A4, B7) COST( A4, B8) COST( A5, B1) COST( A5, B2) COST( A5, B3) COST( A5, B4) COST( A5, B5) COST( A5, B6) COST( A5, B7) COST( A5, B8) COST( A6, B1) COST( A6, B2) COST( A6, B3) COST( A6, B4) COST( A6, B5) COST( A6, B6) COST( A6, B7) COST( A6, B8) NUM( A1, B1) NUM( A1, B2) NUM( A1, B3) NUM( A1, B4) NUM( A1, B5) NUM( A1, B6) NUM( A1, B7) NUM( A1, B8) NUM( A2, B1) NUM( A2, B2) NUM( A2, B3) NUM( A2, B4) NUM( A2, B5) NUM( A2, B6) NUM( A2, B7) NUM( A2, B8)
9.000000 2.000000 7.000000 1.000000 2.000000 3.000000 9.000000 5.000000 7.000000 2.000000 6.000000 5.000000 5.000000 5.000000 2.000000 2.000000 8.000000 1.000000 4.000000 3.000000 - 8 -
0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5.000000 5.000000 7.000000 2.000000 2.000000 10.00000 4.000000 1.000000 1.000000 2.000000 2.000000 0.0000000
0.0000000 19.00000 0.0000000 0.0000000 0.0000000 41.00000 0.0000000 0.0000000 0.0000000 0.0000000 1.000000 0.0000000 0.0000000 0.0000000 32.00000 0.0000000 0.0000000 0.0000000 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) NUM( A4, B3) NUM( A4, B4) NUM( A4, B5) NUM( A4, B6) NUM( A4, B7) NUM( A4, B8) NUM( A5, B1) NUM( A5, B2) NUM( A5, B3) NUM( A5, B4) NUM( A5, B5) NUM( A5, B6) NUM( A5, B7) NUM( A5, B8) NUM( A6, B1) NUM( A6, B2) NUM( A6, B3) NUM( A6, B4) NUM( A6, B5) NUM( A6, B6) NUM( A6, B7) NUM( A6, B8)
Row 1 2 3 4 5 6 7 8 9 10 11
0.0000000 0.0000000 0.0000000 0.0000000 5.000000 0.0000000 38.00000 34.00000 7.000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 22.00000 0.0000000 0.0000000 27.00000 3.000000 0.0000000 664.0000 22.00000 0.0000000 -4.000000 0.0000000 -3.000000
- 9 -
2.000000 4.000000 1.000000 3.000000 2.000000 7.000000 4.000000 2.000000 1.000000 2.000000 5.000000 3.000000 2.000000 1.000000 3.000000 3.000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 Slack or Surplus Dual Price 1.000000 0.0000000 3.000000 0.0000000 0.0000000 3.000000 0.0000000 1.000000 0.0000000 2.000000 0.0000000 2.000000 0.0000000 -4.000000 0.0000000 -5.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%要退休。 有关资料汇总于下表中,问该领导应如何拟定一个满意的方案。
等级 Ⅰ Ⅱ Ⅲ 合计
解:设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 Single cols= 6
Optimal solution found at step: 1
- 10 -
工资额(元/年) 2000 1500 1000 现有人数 10 12 15 37 编制人数 12 15 15 42