MCM1988 问题B_lingo_装货问题

两辆平板车的装货问题有七种规格的包装箱要装到两辆铁路平板车上去包装箱的宽和高是一样的但厚度(t,以厘米计)及重量(MCM1988 问题B_lingo_装货问题,以公斤计)是不同的.下表给出了每种包装箱的厚度重量以及数量每辆平板车有10.2 米长的地方可用来装包装箱像面包片那样载重为40吨由于当地货运的限制对C5
,C6
,C7
类的包装箱的总数有一个特别的限制这类箱子所占的空间厚度不能超过302.7厘米试反包装箱见下表装到平板车上去使得浪费的空间最小.

MCM1988 问题B_lingo_装货问题
MCM1988 问题B_lingo_装货问题
MCM1988 问题B_lingo_装货问题
MCM1988 问题B_lingo_装货问题
MCM1988 问题B_lingo_装货问题
MCM1988 问题B_lingo_装货问题
MCM1988 问题B_lingo_装货问题

t (厘米) 48.7 52.0 61.3 72.0 48.7 52.0 64.0

W(公斤) 2000 3000 1000 500 4000 2000 1000

件数 8 7 9 6 6 4 8

 

MCM1988 问题B_lingo_装货问题

 

 

 

 

 

解:

假设MCM1988 问题B_lingo_装货问题表示在第j辆车上所装的i类货物的个数(i=1,2,…,7;j=1,2);

MCM1988 问题B_lingo_装货问题表示第i类货物的厚度(i=1,2,…,7);

MCM1988 问题B_lingo_装货问题表示第i类货物的质量(i=1,2,…,7);

MCM1988 问题B_lingo_装货问题表示第i类货物的数量(i=1,2,…,7);

则建立模型如下:

 

MCM1988 问题B_lingo_装货问题

 

Lingo运行代码及结果:

model:

sets:

row/1..7/:t,w,n;

col/1..2/:cl;

matrix(row,col):x;

endsets

data:

t=48.7,52,61.3,72,48.7,52,64;

w=2000,3000,1000,500,4000,2000,1000;

n=8,7,9,6,6,4,8;

cl=1020,1020;

enddata

max=@sum(row(i):t(i)*(x(i,1)+x(i,2)));

@for(row(i):@sum(col(j):x(i,j))<=n(i));

@for(col(j):@sum(row(i):t(i)*x(i,j))<=cl(j));

@for(col(j):@sum(row(i):w(i)*x(i,j))<=40000);

@sum(row(i)|i#GE#5:t(i)*(x(i,1)+x(i,2)))<=302.7;

@for(row(i):@for(col(j):@gin(x(i,j))));

End

 

运行结果:

Global optimal solution found.

Objective value: 2039.400

Objective bound: 2039.400

Infeasibilities: 0.000000

Extended solver steps: 44712

Total solver iterations: 114375

 

 

Variable Value Reduced Cost

T( 1) 48.70000 0.000000

T( 2) 52.00000 0.000000

T( 3) 61.30000 0.000000

T( 4) 72.00000 0.000000

T( 5) 48.70000 0.000000

T( 6) 52.00000 0.000000

T( 7) 64.00000 0.000000

W( 1) 2000.000 0.000000

W( 2) 3000.000 0.000000

W( 3) 1000.000 0.000000

W( 4) 500.0000 0.000000

W( 5) 4000.000 0.000000

W( 6) 2000.000 0.000000

W( 7) 1000.000 0.000000

N( 1) 8.000000 0.000000

N( 2) 7.000000 0.000000

N( 3) 9.000000 0.000000

N( 4) 6.000000 0.000000

N( 5) 6.000000 0.000000

N( 6) 4.000000 0.000000

N( 7) 8.000000 0.000000

CL( 1) 1020.000 0.000000

CL( 2) 1020.000 0.000000

X( 1, 1) 5.000000 -48.70000

X( 1, 2) 3.000000 -48.70000

X( 2, 1) 0.000000 -52.00000

X( 2, 2) 7.000000 -52.00000

X( 3, 1) 9.000000 -61.30000

X( 3, 2) 0.000000 -61.30000

X( 4, 1) 1.000000 -72.00000

X( 4, 2) 5.000000 -72.00000

X( 5, 1) 1.000000 -48.70000

X( 5, 2) 2.000000 -48.70000

X( 6, 1) 2.000000 -52.00000

X( 6, 2) 1.000000 -52.00000

X( 7, 1) 0.000000 -64.00000

X( 7, 2) 0.000000 -64.00000

 

Row Slack or Surplus Dual Price

1 2039.400 1.000000

2 0.000000 0.000000

3 0.000000 0.000000

4 0.000000 0.000000

5 0.000000 0.000000

6 3.000000 0.000000

7 1.000000 0.000000

8 8.000000 0.000000

9 0.1000000 0.000000

10 0.5000000 0.000000

11 12500.00 0.000000

12 500.0000 0.000000

13 0.6000000 0.000000

 

 

 

上一篇:Nginx 配置 Jenkins 反向代理


下一篇:js中window.print()去除页眉页脚