问题
在一个尺寸为
L
×
W
L \times W
L×W 的大矩形(object)内,正交摆放尺寸为
a
×
b
a \times b
a×b 的小矩形(items)。小矩形的边界必须平行于大矩形的边界,任何小矩形之间不可以重叠,且任何小矩形的边界不可以超出大矩形的边界。问如何摆放才能使得托盘上承载的零件最多。
建模
变量
二值变量 X 1 p q X1_{pq} X1pq表示在 ( p , q ) (p,q) (p,q)点是否有横放的矩形( ( p , q ) (p,q) (p,q)位于矩形左下角), X 2 p q X2_{pq} X2pq表示是否纵放。
目标
m a x ∑ p = 1 L − a + 1 ∑ q = 1 W − b + 1 X 1 p q + ∑ p = 1 L − b + 1 ∑ q = 1 W − a + 1 X 2 p q max \sum_{p=1}^{L-a+1}\sum_{q=1}^{W-b+1}X1_{pq}+\sum_{p=1}^{L-b+1}\sum_{q=1}^{W-a+1}X2_{pq} maxp=1∑L−a+1q=1∑W−b+1X1pq+p=1∑L−b+1q=1∑W−a+1X2pq
约束
∑
p
=
m
a
x
{
1
,
r
−
a
+
1
}
m
i
n
{
r
,
L
−
a
+
1
}
∑
q
=
m
a
x
{
1
,
s
−
b
+
1
}
m
i
n
{
s
,
W
−
b
+
1
}
X
1
p
q
+
∑
p
=
m
a
x
{
1
,
r
−
b
+
1
}
m
i
n
{
r
,
L
−
b
+
1
}
∑
q
=
m
a
x
{
1
,
s
−
a
+
1
}
m
i
n
{
s
,
W
−
a
+
1
}
X
2
p
q
≤
1
(
r
=
1
,
.
.
.
,
L
;
s
=
1
,
.
.
.
,
W
)
\sum_{p=max \lbrace 1,r-a+1 \rbrace}^{min \lbrace r,L-a+1\rbrace} \sum_{q=max \lbrace 1,s-b+1 \rbrace}^{min \lbrace s,W-b+1\rbrace} X1_{pq}+ \sum_{p=max \lbrace 1,r-b+1 \rbrace}^{min \lbrace r,L-b+1\rbrace} \sum_{q=max \lbrace 1,s-a+1 \rbrace}^{min \lbrace s,W-a+1\rbrace}X2_{pq} \le 1 \space (r =1 ,...,L;s=1,...,W)
p=max{1,r−a+1}∑min{r,L−a+1}q=max{1,s−b+1}∑min{s,W−b+1}X1pq+p=max{1,r−b+1}∑min{r,L−b+1}q=max{1,s−a+1}∑min{s,W−a+1}X2pq≤1 (r=1,...,L;s=1,...,W)
X
1
p
q
∈
{
0
,
1
}
(
1
≤
p
≤
L
−
a
+
1
;
1
≤
q
≤
W
−
b
+
1
)
X1_{pq} \in \lbrace 0,1 \rbrace \space (1 \le p \le L-a+1;1 \le q \le W-b+1)
X1pq∈{0,1} (1≤p≤L−a+1;1≤q≤W−b+1)
X
2
p
q
∈
{
0
,
1
}
(
1
≤
p
≤
L
−
b
+
1
;
1
≤
q
≤
W
−
a
+
1
)
X2_{pq} \in \lbrace 0,1 \rbrace \space (1 \le p \le L-b+1;1 \le q \le W-a+1)
X2pq∈{0,1} (1≤p≤L−b+1;1≤q≤W−a+1)