题目描述

有 七种规格的包装箱 要装到 两辆平板车 上
包装箱的宽和高是一样的
但是厚度(t 厘米)和重量(w 公斤)是不一样的
表格中给出每种包装箱的厚度、重量和数量
每辆平板车有10.2米长的地方可以用来装包装箱 像面包片一样
载重为40吨
注意:对于C5、C6、C7这三类的包装箱的总数有限制
这类的箱子所占的空间厚度不可以超过302.7厘米
要求:设计一种装车方案,使得浪费空间最少。(最大程度的利用空间)

在这里插入图片描述
符号说明

Xij 表示第i种规格的包装箱在第j辆平板车上的数量
然后就是:
ti 表示第i种包装箱的厚度
wi 表示第i种包装箱的重量
ni 表示第i种包装箱的数量

模型建立

目标函数:

浪费空间最少也就是最大程度使用空间

max z = 数量乘以厚度 = (求和i从1到7)ti(xi1+xi2)= (求和j从1到2)(求和i从1到7)ti*xij

约束条件:

1、件数:每种货物在装载的两辆平板车上的数量不可以超过自身的总数量

xi1 + xi2 <=ni (i从1到7)

2、厚度:每辆平板车有10.2米长的地方可以用来装包装箱,所以说总的厚度不可以超过10.2米

将米转换为厘米
10.2m = 1020cm
(求和i从1到7)ti*xij<=1020(j从1到2)

3、重量:载重为40吨

40吨 = 40000kg
(求和i从1到7)wi*xij<=40000(j从1到2)

4、注意:C5、C6、C7这三类的包装箱的总数所占的空间厚度不可以超过302.7厘米

(求和i从5到7)ti(xi1+xi2)<=302.7

5、取整:所有的货物的个数为整数

xij>=0 xij取整(i从1到7 j从1到2)

在这里插入图片描述
使用Lingo求解

1、将求和公式展开直接将所有项写出来
model:
max = 48.7*x11+52.0*x21+61.3*x31+72.0*x41+48.7*x51+52.0*x61+64.0*x71
+48.7*x12+52.0*x22+61.3*x32+72.0*x42+48.7*x52+52.0*x62+64.0*x72;

x11+x12<=8;
x21+x22<=7;
x31+x32<=9;
x41+x42<=6;
x51+x52<=6;
x61+x62<=4;
x71+x72<=8;

48.7*x11+52.0*x21+61.3*x31+72.0*x41+48.7*x51+52.0*x61+64.0*x71<=1020;
48.7*x12+52.0*x22+61.3*x32+72.0*x42+48.7*x52+52.0*x62+64.0*x72<=1020;

2000*x11+3000*x21+1000*x31+500*x41+4000*x51+2000*x61+1000*x71<=40000;
2000*x12+3000*x22+1000*x32+500*x42+4000*x52+2000*x62+1000*x72<=40000;

48.7*x51+52.0*x61+64.0*x71+48.7*x52+52.0*x62+64.0*x72<=302.7;

@gin(x11);@gin(x21);@gin(x31);@gin(x41);@gin(x51);@gin(x61);@gin(x71);
@gin(x12);@gin(x22);@gin(x32);@gin(x42);@gin(x52);@gin(x62);@gin(x72);

end

2、使用sum和for求解
model:
sets:
row/1..7/:t,w,n;
col/1..2/:;
matrix(row,col):x;
endsets
max=@sum(row(i):t(i)*(x(i,1)+x(i,2)));

@for(row(i):(x(i,1)+x(i,2))<=n(i));

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

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

@sum(col(j):@sum(row(i)|i#GE#5:t(i)*x(i,j)))<=302.7;
!或者写为@sum(row(i)|i#GE#5:t(i)*(x(i,1)+x(i,2))<=302.7;

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

data:
t = 48.7 52.0 61.3 72.0 48.7 52.0 64.0;

w = 2000 3000 1000 500 4000 2000 1000;

n = 8 7 9 6 6 4 8;
enddata

end

最优值为:2039.4cm

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐