基于蚁群算法的集装箱装载问题
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
布局空间分解过程采用二维链表的数据结构 表示. 先对原始布局空间求解 ,此时 ,原始布局空间 为当前布局空间 ,二维链表只有一个结点. 按 2. 1 节中数字串 P 的先后顺序 , 从可选布局物体中选 择一个待布局物体 , 在二维链表中找一块可装下该 物体的空间并在二维链表中删去该空间 ,将待布物 体定位于当前布局空间后部的左下角 , 如图 1 位置 所示 , 并将布入的物体编号从 P 中删除. 这样 , 原 布局空间可分为 L , M , R 这 3 个子空间 ,根据 W C 为行 、DC 为列的顺序插入到二维链表中. 当然这 3 个空间可根据下一个待布物的形状加以改变 (空间改 变要保证待布物装完后其底面必须放到同一高度 ,如 空间 R 和空间 L 可以重新组合) ,即空间重新组合. 对这 3 个面布局空间依次重复上述过程 ,直至未待布 的物品或集装箱没有可利用的空间时停止译码.
Edition)
Vol. 6
Dec.
No . 6 2007
文章编号 :1671 - 7147 (2007) 06 - 0795 - 05
基于蚁群算法的集装箱装载问题
庄凤庭1 , 张 磊1 , 张春鲜1 , 高 尚 3 1 ,2
(1. 江苏科技大学 电子信息学院 , 江苏 镇江 212003 ;2. 苏州大学 江苏省计算机信息处理技术重点 实验室 ,江苏 苏州 215006)
蚁群算法对搜索空间的“了解”机制主要包括 3 个方面 : (1) 蚂蚁的记忆 :一只蚂蚁搜索过的路径在 下次搜索时就不会再被选择 ,由此可在蚁群算法中 建立禁忌列表进行模拟 ; (2) 蚂蚁利用信息素进行 相互通信 :蚂蚁在所选择的路径上会释放一种称之 为信息素的物质 ,当同伴进行路径选择时 ,会根据 路径上的信息素进行选择 ,这样信息素就成为蚂蚁 间进行通信的媒介 ; (3) 蚂蚁的集群活动 :通过一只 蚂蚁的运动很难找到食物源 ,但整个蚁群进行搜索则 完全不同. 当某些路径上通过的蚂蚁越来越多时 ,在 路径上留下的信息素数量也越来越多 ,导致信息强度 增大 ,蚂蚁选择该路径的概率随之增加 ,从而进一步 增加该路径的信息强度 ;而某些路径上通过的蚂蚁较 少时 ,路径上的信息素就会随时间的推移而蒸发. 因 此 ,模拟这种现象即可利用群体智能建立路径选择机 制 ,使蚁群算法的搜索向最优解推进.
m
×100 MBi ≤ MC
MC
i =1
(2)
m
0
∑MBi > MC
i =1
式中 : MBi 为第 i 个布入盒子的质量 ; MC 为集装箱最
大承载质量 ,超过最大承载质量 ,惩罚 M () 为 0.
3) 重心考察函数
S () =
HC ×1. 5 -
m
∑MBi ×M Hi
i =1 m
∑MBi
Email : zft311 @163. co m
796
江 南 大 学 学 报 (自 然 科 学 版) 第 6 卷
中 ,目标是使容器空间利用率和质量利用率达到最 高. 同时 ,要考虑的约束有 :不允许超过最大承载质 量 ;箱体搬运的难易性 ;重心与几何形心偏差不应 太大 ;货物码放的稳定性等条件. 集装箱配装问题 从 20 世纪 60 年代开始受到了学术界和工程界的重 视 ,求解 极 为 困 难 , 近 期 研 究 大 多 采 用 启 发 式 方 法[229 ] 和遗传算法方法解决集装箱配装问题[10216] . 然而启发式方法只能给出问题的局部最优解 ,缺乏 全局寻优能力 ;遗传算法具有大范围快速全局搜索 能力 ,但对系统中的反馈信息利用不够 ,当求解到 一定范围时往往做大量无用的冗余迭代 ,求精确解 效率低. 蚁群算法是一种正反馈机制 ,具有全局搜 索能力 ,能够跳出局部最优的“陷阱”. 文中将蚁群 算法和二维链表结构的摆放策略运用于集装箱配 装问题 ,取得了很好的效果.
中图分类号 : TN 919. 8
文献标识码 : A
Research on Solution to Container Loading Problem Based on Ant Colony Optimization
ZHU AN G Feng2ting1 , ZHAN G L ei1 , ZHAN G Chun2xian1 , GAO Shang 3 1 ,2
1节中数字串p的先后顺序从可选布局物体中选择一个待布局物体在二维链表中找一块可装下该物体的空间并在二维链表中删去该空间将待布物体定位于当前布局空间后部的左下角如图1位置所示并将布入的物体编号从p中删除
第20067卷年第126月期
Journal
江 南 大 学 学 报 (自 然 科 学 版) of Jiangnan University( Natural Science
τk ij
= ρτij
+λA ()
(5)
式中 ,
i ≠ j ;τikj 为第 k 只蚂蚁走过路径上的信息量 ;ρ可取
范围是 0. 5 ~ 0. 9 ;λ可根据经验选取.
2. 4 路径选择概率
在运动过程中 , 第 k ( k = 1 ,2 …m) 只蚂蚁根据
摘 要 :探讨了蚁群算法在复杂集装箱装载问题中的应用. 利用蚁群算法对解空间的搜索能力 ,结合
二维链表结构的方法 ,对布局空间依次分割完成不同大小的三维矩形物体的装载 ,并给出了有效的编
码形式和解码算法. 通过对文献中提供的数据进行测试和比较说明本算法是有效的.
关键词 : 蚁群算法 ;二维链表结构 ;集装箱装载 ;布局 ;多目标优化
第 6 期
庄凤庭等 :基于蚁群算法的集装箱装载问题
797
1) 空间利用率函数
m
∑ V () =
( VBi )
i =1
×100
(1)
VC
式中 :V Bi 为第 i 个布入盒子的体积 ;V C 为集装箱体 积 ; m 为布入的盒子数.
2) 质量考察函数
M () =
m
∑ ( MBi ) ∑ i = 1
2 蚁群算法解决集装箱装载问题
2. 1 编码 编码是把 1 个问题的可行解从其解空间转换
到蚁群算法所能处理的搜索空间操作 ,它是蚁群算 法应用成功与否的关键. 文中把待装物品的编号按 装载顺序编成串作为一个解的编码 ,即
P = { P1 , P2 …Pn} i = 1 , 2 …n 式中 : n 为待布物的个数 ; Pi 为整数 , 其值代表盒子 的编号. 通过信息素对其进行操作实际上就是改变 待布物的排放顺序 ,从而产生不同的解序列. 2. 2 译码
Abstract :In t his paper , t he Ant Colo ny Optimizatio n for co mplex co ntainer2loading p ro blem is st udied. The A nt Colo ny Op timizatio n is used to search t he solutio n space , wit h t he means of t wo2dimensio n link st ruct ure , alt ho ugh p ro gressive deco mpo sitio n of t he packing space to loading many kinds of rectangular packing o bject s ,and t he effective co ding and decoding met ho d is given. The experimental data demo nst rates t hat t he colo ny optimizatio n is an effective app roach to solve a co mplex co ntainer loading p ro blem. Key words : ant colo ny op timizatio n ; t wo2dimensio n link st ruct ure ; co ntainer loading ; packing ; multi2o bject op timizatio n
步骤 2 将各蚂蚁的初始出发点置于当前解集
中 ;对于每只蚂蚁 k ( k = 1 ,2 …m) , 由式 (6) 的概率
ρk ij
移至下一结点 ;将结点
j
置于当前解集
, 最后得出
一组编码.
步骤 3 对编码进行译码 , 计算各蚂蚁走完完
i =1
HC
×100
(3)
式中 : HC 为集装箱高度 ; M Hi 为第 i 个盒子的重心 高度 ,通常取盒子高度的一半 ; MBi 为第 i 个盒子的 质量. 该函数主要考察码放的稳定性和搬运的难易 程度 ,若重物都在下面 ,则码放稳定 ,且易搬运.
因此 ,根据惩罚函数法和处理多目标优化的加 权系数法 ,定义适宜度函数为
集装箱装载是一个具有复杂约束条件的组合 优化问题 ,在理论上属 N P 完全问题[1] ,其求解已极 为困难 ,而在实际应用中的约束条件复杂 ,所以具
有多约束条件的集装箱配装问题的求解更加困难. 集装箱装载问题的描述是 :将一批不同尺寸的
待布物品 (长方体) 装入有一定容量的长方体容器
收稿日期 :2007 - 05 - 28 ; 修订日期 :2007 - 07 - 10. 基金项目 : 江苏省计算机信息处理技术重点实验室开放课题项目 ( KJ S0601) ;江苏省“青蓝工程”资助. 作者简介 : 庄凤庭 (1981 - ) ,男 ,福建泉州人 ,计算机软件与理论专业硕士研究生. 3 通讯联系人 : 高尚 (1972 - ) ,男 ,江苏镇江人 ,副教授 ,硕士生导师 ,工学博士. 主要从事人工智能的研究.
(1. School of Elect ro nics and Informatio n , Jiangsu U niversity of Science and Technology , Zhenjiang 212003 ,China ; 2. Provincial Key Laborato ry of Comp uter Informatio n Processing Technology , Soochow U niversity , Suzhou 215006 , China)
各条路径上信息量决定转移方向 , 表示第 k 只蚂蚁
在 i 结点时选择下一结点 j 的概率ρikj 为
m- 1
∑ ρk ij
= τij / (
,τis )
(6)
s = 1 , s ≠i
2. 5 蚁群算法的基本步骤
步骤 1 nc ω0 , nc 为迭代步骤或搜索次数 ,τij
初始化 ,将 m 只蚂蚁置于 n 个结点上.
1 蚁群算法理论
蚁群算法是一种新型的模拟进化算法 ,由意大 利学者 Colorni A 、Do rigo M 和 Maniezzo V 于 1992 年首先提出来 ,用蚁群在搜索食物源的过程中体现 出的寻优能力解决一些离散系统优化中的问题[17] . 作为与遗传算法同属一类的通用型随机优化方法 , 蚁群算法不需要任何先验知识 ,最初只是随机地选 择搜索路径 ,随着对解空间的“了解”,搜索变得有 规律 ,并逐渐逼近直至最终达到全局最优解.
A () = k1 V () + k2 M () + k3 S ()
(4)
式中 : k1 , k2 和 k3 为权重 , 均大于零 , 根据需要进行
选择.
初始时刻 , 各路径上的信息量相等 , 设 τij =
C( C 为常数) . 设第 k 只蚂蚁走完一次完整路径后 ,
各路径上信息量根据下式进行调整 :
图 1 空间分解示意图 Fig. 1 Space decomposition
这样 , 数字串 P 就转化为布局图 , 通过空间重 组减少了空间浪费情况. 由此可见 , 二维链表结构 对于求解复杂集装箱布局的空间分解问题有着明 显的优势. 2. 3 信息量
蚁群觅食时 ,信息量越多的路径距目标越近 , 而集装箱算法对一个解的好坏用适宜度函数[10] 的 大小评价 ,适宜度的值越大 ,解的质量越好 ,故本算 法用适宜度值作为蚂蚁在路径上留下的信息素. 在 讨论蚁群算法的实现之前 ,应先定义适宜度函数. 评价一个解的好坏需要考虑以下 3 个方面 :
Edition)
Vol. 6
Dec.
No . 6 2007
文章编号 :1671 - 7147 (2007) 06 - 0795 - 05
基于蚁群算法的集装箱装载问题
庄凤庭1 , 张 磊1 , 张春鲜1 , 高 尚 3 1 ,2
(1. 江苏科技大学 电子信息学院 , 江苏 镇江 212003 ;2. 苏州大学 江苏省计算机信息处理技术重点 实验室 ,江苏 苏州 215006)
蚁群算法对搜索空间的“了解”机制主要包括 3 个方面 : (1) 蚂蚁的记忆 :一只蚂蚁搜索过的路径在 下次搜索时就不会再被选择 ,由此可在蚁群算法中 建立禁忌列表进行模拟 ; (2) 蚂蚁利用信息素进行 相互通信 :蚂蚁在所选择的路径上会释放一种称之 为信息素的物质 ,当同伴进行路径选择时 ,会根据 路径上的信息素进行选择 ,这样信息素就成为蚂蚁 间进行通信的媒介 ; (3) 蚂蚁的集群活动 :通过一只 蚂蚁的运动很难找到食物源 ,但整个蚁群进行搜索则 完全不同. 当某些路径上通过的蚂蚁越来越多时 ,在 路径上留下的信息素数量也越来越多 ,导致信息强度 增大 ,蚂蚁选择该路径的概率随之增加 ,从而进一步 增加该路径的信息强度 ;而某些路径上通过的蚂蚁较 少时 ,路径上的信息素就会随时间的推移而蒸发. 因 此 ,模拟这种现象即可利用群体智能建立路径选择机 制 ,使蚁群算法的搜索向最优解推进.
m
×100 MBi ≤ MC
MC
i =1
(2)
m
0
∑MBi > MC
i =1
式中 : MBi 为第 i 个布入盒子的质量 ; MC 为集装箱最
大承载质量 ,超过最大承载质量 ,惩罚 M () 为 0.
3) 重心考察函数
S () =
HC ×1. 5 -
m
∑MBi ×M Hi
i =1 m
∑MBi
Email : zft311 @163. co m
796
江 南 大 学 学 报 (自 然 科 学 版) 第 6 卷
中 ,目标是使容器空间利用率和质量利用率达到最 高. 同时 ,要考虑的约束有 :不允许超过最大承载质 量 ;箱体搬运的难易性 ;重心与几何形心偏差不应 太大 ;货物码放的稳定性等条件. 集装箱配装问题 从 20 世纪 60 年代开始受到了学术界和工程界的重 视 ,求解 极 为 困 难 , 近 期 研 究 大 多 采 用 启 发 式 方 法[229 ] 和遗传算法方法解决集装箱配装问题[10216] . 然而启发式方法只能给出问题的局部最优解 ,缺乏 全局寻优能力 ;遗传算法具有大范围快速全局搜索 能力 ,但对系统中的反馈信息利用不够 ,当求解到 一定范围时往往做大量无用的冗余迭代 ,求精确解 效率低. 蚁群算法是一种正反馈机制 ,具有全局搜 索能力 ,能够跳出局部最优的“陷阱”. 文中将蚁群 算法和二维链表结构的摆放策略运用于集装箱配 装问题 ,取得了很好的效果.
中图分类号 : TN 919. 8
文献标识码 : A
Research on Solution to Container Loading Problem Based on Ant Colony Optimization
ZHU AN G Feng2ting1 , ZHAN G L ei1 , ZHAN G Chun2xian1 , GAO Shang 3 1 ,2
1节中数字串p的先后顺序从可选布局物体中选择一个待布局物体在二维链表中找一块可装下该物体的空间并在二维链表中删去该空间将待布物体定位于当前布局空间后部的左下角如图1位置所示并将布入的物体编号从p中删除
第20067卷年第126月期
Journal
江 南 大 学 学 报 (自 然 科 学 版) of Jiangnan University( Natural Science
τk ij
= ρτij
+λA ()
(5)
式中 ,
i ≠ j ;τikj 为第 k 只蚂蚁走过路径上的信息量 ;ρ可取
范围是 0. 5 ~ 0. 9 ;λ可根据经验选取.
2. 4 路径选择概率
在运动过程中 , 第 k ( k = 1 ,2 …m) 只蚂蚁根据
摘 要 :探讨了蚁群算法在复杂集装箱装载问题中的应用. 利用蚁群算法对解空间的搜索能力 ,结合
二维链表结构的方法 ,对布局空间依次分割完成不同大小的三维矩形物体的装载 ,并给出了有效的编
码形式和解码算法. 通过对文献中提供的数据进行测试和比较说明本算法是有效的.
关键词 : 蚁群算法 ;二维链表结构 ;集装箱装载 ;布局 ;多目标优化
第 6 期
庄凤庭等 :基于蚁群算法的集装箱装载问题
797
1) 空间利用率函数
m
∑ V () =
( VBi )
i =1
×100
(1)
VC
式中 :V Bi 为第 i 个布入盒子的体积 ;V C 为集装箱体 积 ; m 为布入的盒子数.
2) 质量考察函数
M () =
m
∑ ( MBi ) ∑ i = 1
2 蚁群算法解决集装箱装载问题
2. 1 编码 编码是把 1 个问题的可行解从其解空间转换
到蚁群算法所能处理的搜索空间操作 ,它是蚁群算 法应用成功与否的关键. 文中把待装物品的编号按 装载顺序编成串作为一个解的编码 ,即
P = { P1 , P2 …Pn} i = 1 , 2 …n 式中 : n 为待布物的个数 ; Pi 为整数 , 其值代表盒子 的编号. 通过信息素对其进行操作实际上就是改变 待布物的排放顺序 ,从而产生不同的解序列. 2. 2 译码
Abstract :In t his paper , t he Ant Colo ny Optimizatio n for co mplex co ntainer2loading p ro blem is st udied. The A nt Colo ny Op timizatio n is used to search t he solutio n space , wit h t he means of t wo2dimensio n link st ruct ure , alt ho ugh p ro gressive deco mpo sitio n of t he packing space to loading many kinds of rectangular packing o bject s ,and t he effective co ding and decoding met ho d is given. The experimental data demo nst rates t hat t he colo ny optimizatio n is an effective app roach to solve a co mplex co ntainer loading p ro blem. Key words : ant colo ny op timizatio n ; t wo2dimensio n link st ruct ure ; co ntainer loading ; packing ; multi2o bject op timizatio n
步骤 2 将各蚂蚁的初始出发点置于当前解集
中 ;对于每只蚂蚁 k ( k = 1 ,2 …m) , 由式 (6) 的概率
ρk ij
移至下一结点 ;将结点
j
置于当前解集
, 最后得出
一组编码.
步骤 3 对编码进行译码 , 计算各蚂蚁走完完
i =1
HC
×100
(3)
式中 : HC 为集装箱高度 ; M Hi 为第 i 个盒子的重心 高度 ,通常取盒子高度的一半 ; MBi 为第 i 个盒子的 质量. 该函数主要考察码放的稳定性和搬运的难易 程度 ,若重物都在下面 ,则码放稳定 ,且易搬运.
因此 ,根据惩罚函数法和处理多目标优化的加 权系数法 ,定义适宜度函数为
集装箱装载是一个具有复杂约束条件的组合 优化问题 ,在理论上属 N P 完全问题[1] ,其求解已极 为困难 ,而在实际应用中的约束条件复杂 ,所以具
有多约束条件的集装箱配装问题的求解更加困难. 集装箱装载问题的描述是 :将一批不同尺寸的
待布物品 (长方体) 装入有一定容量的长方体容器
收稿日期 :2007 - 05 - 28 ; 修订日期 :2007 - 07 - 10. 基金项目 : 江苏省计算机信息处理技术重点实验室开放课题项目 ( KJ S0601) ;江苏省“青蓝工程”资助. 作者简介 : 庄凤庭 (1981 - ) ,男 ,福建泉州人 ,计算机软件与理论专业硕士研究生. 3 通讯联系人 : 高尚 (1972 - ) ,男 ,江苏镇江人 ,副教授 ,硕士生导师 ,工学博士. 主要从事人工智能的研究.
(1. School of Elect ro nics and Informatio n , Jiangsu U niversity of Science and Technology , Zhenjiang 212003 ,China ; 2. Provincial Key Laborato ry of Comp uter Informatio n Processing Technology , Soochow U niversity , Suzhou 215006 , China)
各条路径上信息量决定转移方向 , 表示第 k 只蚂蚁
在 i 结点时选择下一结点 j 的概率ρikj 为
m- 1
∑ ρk ij
= τij / (
,τis )
(6)
s = 1 , s ≠i
2. 5 蚁群算法的基本步骤
步骤 1 nc ω0 , nc 为迭代步骤或搜索次数 ,τij
初始化 ,将 m 只蚂蚁置于 n 个结点上.
1 蚁群算法理论
蚁群算法是一种新型的模拟进化算法 ,由意大 利学者 Colorni A 、Do rigo M 和 Maniezzo V 于 1992 年首先提出来 ,用蚁群在搜索食物源的过程中体现 出的寻优能力解决一些离散系统优化中的问题[17] . 作为与遗传算法同属一类的通用型随机优化方法 , 蚁群算法不需要任何先验知识 ,最初只是随机地选 择搜索路径 ,随着对解空间的“了解”,搜索变得有 规律 ,并逐渐逼近直至最终达到全局最优解.
A () = k1 V () + k2 M () + k3 S ()
(4)
式中 : k1 , k2 和 k3 为权重 , 均大于零 , 根据需要进行
选择.
初始时刻 , 各路径上的信息量相等 , 设 τij =
C( C 为常数) . 设第 k 只蚂蚁走完一次完整路径后 ,
各路径上信息量根据下式进行调整 :
图 1 空间分解示意图 Fig. 1 Space decomposition
这样 , 数字串 P 就转化为布局图 , 通过空间重 组减少了空间浪费情况. 由此可见 , 二维链表结构 对于求解复杂集装箱布局的空间分解问题有着明 显的优势. 2. 3 信息量
蚁群觅食时 ,信息量越多的路径距目标越近 , 而集装箱算法对一个解的好坏用适宜度函数[10] 的 大小评价 ,适宜度的值越大 ,解的质量越好 ,故本算 法用适宜度值作为蚂蚁在路径上留下的信息素. 在 讨论蚁群算法的实现之前 ,应先定义适宜度函数. 评价一个解的好坏需要考虑以下 3 个方面 :