两辆平板车装货问题
问题
有七种规格的包装箱要装到两辆平板车上。包装箱的宽和高是一样的,但厚度 t t t(厘米)和重量 w w w(公斤)是不同的。表1给出了每种包装箱的厚度、重量以及数量。
| 包装箱类型 | C 1 C_1 C1 | C 2 C_2 C2 | C 3 C_3 C3 | C 4 C_4 C4 | C 5 C_5 C5 | C 6 C_6 C6 | C 7 C_7 C7 |
|---|---|---|---|---|---|---|---|
| 厚度 t t t (厘米) | 48.7 | 52.0 | 61.3 | 72.0 | 48.7 | 52.0 | 64.0 |
| 重量 w w w (公斤) | 2000 | 3000 | 1000 | 500 | 4000 | 2000 | 1000 |
| 件数 | 8 | 7 | 9 | 6 | 6 | 4 | 8 |
每辆平板车有10.2米的地方可用来装包装箱(像面包片那样),载重为40吨。由于地区货运的限制,对于 C 5 C_5 C5, C 6 C_6 C6, 和 C 7 C_7 C7 类包装箱的总数有一个特别的限制:这三类包装箱所占空间(厚度)不能超过302.7厘米。
问题要求:
设计一种装车方案,使剩余的空间最小。
数学分析解释
-
变量说明
- w w w:表示每种包装箱的重量。 w i w_i wi:表示第i类包装箱的重量。
- t t t:表示每种包装箱的厚度。 t i t_i ti:表示第i类包装箱的厚度。
- x i x_i xi:表示第一个板车上第i个种类包装箱的数量。 i _i i:表示第二个板车上第i个种类包装箱的数量
- n i n_i ni:表示每种包装箱的数量。
-
目标函数:
最小化未使用的总空间,即第一辆车和第二辆车未使用的空间之和。具体来说,就是使得 (1020 - 总厚度) 的和尽可能小。用数学表达式表示为:
min = ( 1020 − ∑ i = 1 7 t i ⋅ x i ) + ( 1020 − ∑ i = 1 7 t i ⋅ y i ) \text{min} = (1020 - \sum_{i=1}^{7} t_i \cdot x_i) + (1020 - \sum_{i=1}^{7} t_i \cdot y_i) min=(1020−i=1∑7ti⋅xi)+(1020−i=1∑7ti⋅yi)
-
约束条件:为了设计一种使剩余空间最小的装车方案,需要考虑以下约束条件:
- 每辆平板车有10.2米的地方可用来装包装箱。
- 每辆平板车的最大载重为40吨。
- 对于 C 5 C_5 C5, C 6 C_6 C6, 和 C 7 C_7 C7 类包装箱的总数有一个特别的限制:这三类包装箱所占空间(厚度)不能超过302.7厘米。
- 约束条件的数学表达方式如下
-
每辆车的空间限制:
∑ i = 1 7 t i ⋅ x i ≤ 1020 (第一辆车) \sum_{i=1}^{7} t_i \cdot x_i \leq 1020 \quad \text{(第一辆车)} i=1∑7ti⋅xi≤1020(第一辆车)
∑ i = 1 7 t i ⋅ y i ≤ 1020 (第二辆车) \sum_{i=1}^{7} t_i \cdot y_i \leq 1020 \quad \text{(第二辆车)} i=1∑7ti⋅yi≤1020(第二辆车)
-
每辆车的重量限制:
∑ i = 1 7 w i ⋅ x i ≤ 40000 (第一辆车) \sum_{i=1}^{7} w_i \cdot x_i \leq 40000 \quad \text{(第一辆车)} i=1∑7wi⋅xi≤40000(第一辆车)∑ i = 1 7 w i ⋅ y i ≤ 40000 (第二辆车) \sum_{i=1}^{7} w_i \cdot y_i \leq 40000 \quad \text{(第二辆车)} i=1∑7wi⋅yi≤40000(第二辆车)
-
对于 C 5 C5 C5, C 6 C6 C6, C 7 C7 C7 类包装箱的特殊限制:
∑ i = 5 7 ( x i + y i ) ⋅ t i ≤ 302.7 \sum_{i=5}^{7} (x_i + y_i) \cdot t_i \leq 302.7 i=5∑7(xi+yi)⋅ti≤302.7 -
每种包装箱装载数量不超过其可用数量:
x i + y i ≤ n i ∀ i ∈ { 1 , 2 , . . . , 7 } x_i + y_i \leq n_i \quad \forall i \in \{1, 2, ..., 7\} xi+yi≤ni∀i∈{1,2,...,7} -
变量 x i x_i xi 和 y i y_i yi 为整数,表示装载数量必须为整数:
x i , y i ∈ Z ∀ i ∈ { 1 , 2 , . . . , 7 } x_i, y_i \in \mathbb{Z} \quad \forall i \in \{1, 2, ..., 7\} xi,yi∈Z∀i∈{1,2,...,7}
约束条件解释
-
空间限制:每辆平板车的空间限制为10.2米(即1020厘米),因此所有装载到第一辆车和第二辆车的包装箱总厚度不能超过这个值。
-
重量限制:每辆平板车的最大载重为40吨(即40000公斤),所以所有装载到第一辆车和第二辆车的包装箱总重量不能超过40吨。
-
特殊限制:对于 C 5 C_5 C5, C 6 C_6 C6, 和 C 7 C_7 C7类包装箱,它们的总厚度不得超过302.7厘米。
-
数量限制:每个类型的包装箱装载到两辆车上的数量之和不能超过其可用数量。
-
整数约束:装载数量这个变量只能为整数。
代码程序:
为了满足上述约束条件,并设计出使得剩余空间最小的装车方案,我们构建了如下的线性规划模型,并使用LINGO程序进行求解。
!两辆平板车装货问题AMCM88B;
model:
sets:
num/1..7/: w, t, n, x, y;
endsets
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
min = (1020 - @sum(num: t * x)) + (1020 - @sum(num: t * y));
@sum(num: t * x) <= 1020;
@sum(num: t * y) <= 1020;
@sum(num: w * x) <= 40000;
@sum(num: w * y) <= 40000;
@for(num(i): x(i) + y(i) <= n(i));
@sum(num(i) | i #GE# 5 #AND# i #LE# 7 : (x(i) + y(i)) * t(i)) <= 302.7;
@for(num: @GIN(x));
@for(num: @GIN(y));
end
5195



被折叠的 条评论
为什么被折叠?



