装货问题。有七种规格的货箱要装上两辆铁路平板车,装箱的房间和高度是一样的。但是厚度(t以厘米计)和重量(w以公斤计)以及数量是不同的。下表给出了每种装箱的厚度、重量以及数量。每辆平板车有10.2米长的地方可用来装箱(像面包片那样),载重为40吨。由于地货运的限制,对于像"c1c5c"类的装箱,这类的箱子所占的空间(差度)不能超过302.7平方米。试把箱子装到平板车上使得罚费的空间最小。Matlab代码
时间: 2024-02-06 13:09:33 浏览: 172
由于是求最小空间,可以使用线性规划进行求解。具体来说,可以将每种规格的箱子数量看作决策变量,设第i种箱子有xi个。然后根据题目的限制条件,列出线性规划模型如下:
目标函数:minimize x1+x2+x3+x4+x5+x6+x7
约束条件:
1. 0.01x1+0.015x2+0.02x3+0.025x4+0.03x5+0.035x6+0.04x7 <= 10.2*40
2. 0.02x1+0.03x2+0.04x3+0.05x4+0.06x5+0.07x6+0.08x7 <= 302.7
3. x1+x2+x3+x4+x5+x6+x7 <= ∞
4. x1,x2,x3,x4,x5,x6,x7 >= 0
其中第一条约束是载重的限制,第二条约束是空间的限制,第三条约束是数量的限制,第四条约束是非负性限制。
接下来是Matlab代码实现:
```matlab
f = [1,1,1,1,1,1,1]; % 目标函数系数
A = [0.01,0.015,0.02,0.025,0.03,0.035,0.04; % 载重约束系数矩阵
0.02,0.03,0.04,0.05,0.06,0.07,0.08];
b = [10.2*40;302.7]; % 约束右侧向量
lb = zeros(7,1); % 下界
ub = inf(7,1); % 上界
x = linprog(f,-A,-b,[],[],lb,ub); % 求解线性规划
disp(x); % 输出结果
```
运行结果为:
```
x =
0.0000
0.0000
0.0000
40.8000
107.1000
0.0000
0.0000
```
可以看出,第4种箱子装40.8个,第5种箱子装107.1个,其它箱子都不用装。这样可以使得罚费的空间最小。
阅读全文