:9嗦3帻噍09嘈嘌 6嘈嘈郤囿喱囗啶囿唰唰啜810郳08嚓唰啜啻 嗔嗬喙啻嘌嘌啾(嘹8囗(08嚓嗥 )啻 嗔嗬喙啻嘌嘌啾(嘹8囗(08嚓嗥 )郌郉
第48卷第 2期
2 0 0 8 年 3 月
大 连 理 工 大 学 学 报
Journal of Dalian University of Technology
Vol .48 , No .2
Mar . 2 0 0 8
文章编号 :1000‐8608(2008)02‐0308‐05
二 维 装 箱 问 题 非 线 性 规 划 模 型 和 算 法
于 洪 霞
1 ,2
, 张 绍 武
3
, 张 立 卫
倡 1
( 1 .大连理工大学 应用数学系 ,辽宁 大连 116024 ;
2 .上海电力学院 数理系 ,上海 200090 ;
3 .大连理工大学 电子与信息工程学院 ,辽宁 大连 116024 )
摘要 :
二维装箱问题是具有广泛应用背景的一类组合优化问题 ,这类问题是 NP 难问题 ,很
难得到精确解 .将二维装箱问题表示为一个非线性规划模型 ,用变分分析中切锥的概念建立
了这一优化问题的一阶最优性条件 .给出了求解这一优化问题的增广 Lagrange 方法 ,并求解
了具体问题 .数值实验表明增广 Lagrange 方法适合求解该问题 ,对于不超过 10 个物品的装
箱问题可以求得精确解 .
关键词 :二维装箱问题 ;一阶最优性条件 ;增广 Lagrange 方法
中图分类号 :0221 .2 文献标志码 :A
收稿日期 :2005‐12‐20 ; 修回日期 :2007‐12‐17 .
基金项目 :国家自然科学基金资助项目(10771026) .
作者简介 :于洪霞 (1978‐) ,女 ,博士 ;张立卫
倡
(1966‐) ,男 ,教授 ,博士生导师 .
0 引 言
二维装箱问题可以分为两类 :一类是给定数
量不限大小固定的容器 ,目标是使用最少数量的
容器装完所有的物品 ;另一类是给定一个宽度为
有限数值的矩形容器 ,它的高度不限 ,要求将所有
物品放入该容器中 ,并取得最小的放置高度 ,使容
器利用率最高 .本文只考虑第二类装箱问题 .
在计算机科学和工业领域中 ,装箱问题有着
广泛的应用背景 ,包括多处理器任务调度 、资源分
配 、运输计划等 ,因此对其求解的研究具有广泛的
应用价值 .从计算复杂性理论来讲 ,装箱问题是
NP 难问题 ,很难精确求解 ,已有的大部分成果都
是针对近似算法的研究 .目前的近似算法有下次
适应 (next‐fit decreasing height ,NFDH ) 、首次
适应(first‐fit decreasing height ,FFDH) 、最佳适
应(best‐fit decreasing height ,BFDH)等
[1]
.本文
建立二维装箱问题的数学模型 ,将其转化为一个
非线性规划问题 ,给出数值算法并对不超过 10 个
物品的装箱问题进行求解 .
1 数学模型
给定宽度为 L ,高度不限的矩形容器 ;矩形物
品集合 J
=
{1 ,… ,n} ,每个矩形物品的宽度为
l
i
,高度为 h
i
.以矩形容器左下角的位置为坐标原
点 ,每个小矩形物品左下角坐标用(x
i
,
y
i
) 表示 ,
则每个小矩形的内部可以表示为
S
i
(x
i
,
y
i
) = {(u ,w) ∈ R
2 n
|
x
i
<
u
i
<
x
i
+
l
i
,
y
i
<
w
i
<
y
i
+
h
i
}
令 H
=
{(i ,
j
)
|
i
∈
J ,
j
∈
J ,i
<
j
} ,则
|
H
| =
n(n
-
1)/2 ,任何两个矩形物品不重合可以表示为
S
i
(x
i
,
y
i
) ∩ S
j
(x
j
,
y
j
) = 除 , (i ,
j
) ∈ H
从而二维装箱问题可以用下面的数学模型来表示 :
广义模型
min v
s .t . S
i
(x
i
,
y
i
) ∩ S
j
(x
j
,
y
j
) = 除 , (i ,
j
) ∈ H ,
0
≤
x
i
≤
L
-
l
i
, 0
≤
y
i
≤
v
-
h
i
, i
∈
J
由于约束 S
i
(x
i
,
y
i
) ∩ S
j
(x
j
,
y
j
) = 除 ,(i ,
j
) ∈
H 不是通常的由函数表示的约束 ,这个模型是一
个非光滑数学规划问题 ,下面研究如何将其转化
为一个光滑的数学规划问题 .
令 P
X
(S) 和 P
Y
(S) 分别表示矩形 S 在 x 轴
和
y
轴上的投影 ,则
P
X
(S
i
(x
i
,
y
i
)) = (x
i
,x
i
+
l
i
) ,
P
Y
(S
i
(x
i
,
y
i
)) = (
y
i
,
y
i
+
h
i
)
容易知道两个矩形物品重合当且仅当它们到 x 轴
和
y
轴的投影都相交 ,经过简单的计算能得到