CN101320441A - 面向装箱问题的组合优化方法 - Google Patents
面向装箱问题的组合优化方法 Download PDFInfo
- Publication number
- CN101320441A CN101320441A CNA2008101200781A CN200810120078A CN101320441A CN 101320441 A CN101320441 A CN 101320441A CN A2008101200781 A CNA2008101200781 A CN A2008101200781A CN 200810120078 A CN200810120078 A CN 200810120078A CN 101320441 A CN101320441 A CN 101320441A
- Authority
- CN
- China
- Prior art keywords
- chromosome
- value
- population
- article
- chest
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000012856 packing Methods 0.000 title claims description 26
- 210000000349 chromosome Anatomy 0.000 claims abstract description 81
- 238000005457 optimization Methods 0.000 claims abstract description 19
- 230000035772 mutation Effects 0.000 claims abstract description 5
- 230000002759 chromosomal effect Effects 0.000 claims description 18
- 230000002068 genetic effect Effects 0.000 abstract description 15
- 238000013461 design Methods 0.000 abstract description 7
- 238000009776 industrial production Methods 0.000 abstract 1
- 210000000038 chest Anatomy 0.000 description 34
- 230000006978 adaptation Effects 0.000 description 8
- 108090000623 proteins and genes Proteins 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 208000026686 chromosomal inheritance Diseases 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种面向装箱问题的组合优化方法。它针对工业生产中的组合优化和作业调度问题,采用了以组为对象的适合组合问题结构的编码方式,使得遗传算法可以通过染色体遗传与问题相关的信息。将染色体分为物品部分和组部分,生成不定长的染色体;运用根据组合问题特点设计的变异算子和逆序算子,经过算法的多次迭代,得到问题的近似最佳组合解。本发明针对装箱问题难以得到精确的全局最优解的特点,采用以组为对象的组合优化方法,有效地实现了装箱问题的优化设计,解决了快速装箱的设计问题,提高了设计效率。
Description
技术领域
本发明涉及组合优化问题的求解领域,尤其涉及一种面向装箱问题的组合优化方法。
背景技术
装箱问题广泛存在于工业生产,例如服装行业的面料裁剪、运输行业的集装箱装载、加工行业的板材型下料、印刷行业的排样和现实生活中包装、整理物件等。在计算机科学中也有广泛的应用,如多处理器任务调度、资源分配、文件分配、内存管理等底层操作均是装箱问题的实际应用。
从计算复杂度来讲,装箱问题是一个NP难题,很难求出精确的全局最优解。求解这类问题的近似算法有启发式算法和搜索算法。启发式算法的思想是寻找一种能产生可行解的启发式规则,以此找到问题的一个最优解或近似最优解。该方法的求解效率较高,但对不同的问题需要找出其特有的启发式规则,这个启发式规则一般无通用性,不适合用于其它问题。对于装箱问题,启发式算法有首次适应(FF)算法和最佳适应(BF)算法等。而搜索算法是指在解空间内进行搜索,以找到问题的最优解或者近似最优解。该方法不能保证得到问题的最优解,但若适当地利用一些启发式知识,就可在近似解的质量和效率上达到较好的平衡。
遗传算法是一种新型的、模拟生物进化过程的随机化搜索、优化方法,在组合优化领域得到了相当广泛的研究和应用,并已在解决诸多典型组合优化问题中显示了良好的性能和效果。求解装箱问题的遗传算法有标准遗传算法和顺序遗传算法。标准遗传算法的染色体对箱子的进行编码并使用标准遗传算子,即两点交叉和单点变异。顺序遗传算法的染色体对待装箱物品进行编码,使用顺序遗传算子,如PMX交叉和单点变异。这两种方法的编码方式都有冗余度高的缺点,更重要的是它们都忽略了组合问题的结构,因此会使遗传搜索的效果减弱。
组合优化算法是一种为了适合组合问题的结构而经过重大修改的遗传算法,它与经典优化算法有两个方面显著不同:第一,使用了一种特殊的编码模式,以组合问题中的分组为编码对象。第二,考虑到编码方式的特殊,使用了特别设计的遗传算子。
发明内容
本发明的目的是克服现有技术的不足,提供一种面向装箱问题的组合优化方法。
包括如下步骤:
1)使用组合优化方法的染色体编码方法编码装箱问题的解,将组合优化方法的染色体编码分为物品部分和组部分,对于有m个物品的装箱问题,物品分别从0到m编号,
012345...m,
该装箱问题的一个染色体可以写成
ADBCEB...X:A...X,
表示物品0装在名字为A的箱子中,1装在D,2和5装在B,3在C,4在E,m在X,物品部分列出了该染色体使用的箱子名字;
2)建立适应度函数:
N是箱子数,Fi是箱子i中物品的大小之和,C是箱子的容量,k是一个常数(k>1),表示对装满的箱子的重视程度,在此设定k为2;
3)设定进化代数值、种群规模值、交叉概率值、变异概率值和逆序概率值;
4)采用首次适应下降算法产生初始种群,其中种群规模为步骤3)中设定的值;
5)根据步骤2)建立的适应度函数对种群进行评估,计算染色体的适应度值;
6)使用轮盘法对种群进行选择操作,产生新种群,规模为步骤3)中设定的值;
7)将新种群的染色体两两配对形成父染色体对,根据步骤3)中设定的交叉概率值进行两点交叉操作,使用首次适应下降算法对新染色体进行调整,对换两个父染色体的位置产生另一个新染色体,用两个新染色体替换两个父染色体;
8)对新种群中的染色体进行变异操作,根据步骤3)中设定的变异概率值进行变异,形成新的染色体,替换原染色体;
9)根据步骤3)中设定的逆序概率值对新种群中的染色体进行逆序操作,形成新的染色体,替换原染色体;
10)重复步骤5)到步骤9),直到进化代数值达到步骤3)中的设定值,得到最终的种群,将种群中适应度值最大的染色体解码,得到此次计算的最佳组合解。
本发明是通过组合优化算法,研究合理装箱的问题。它针对工业生产中的组合优化和作业调度问题,采用了以组为对象的适合组合问题结构的编码方式,使得遗传算法可以通过染色体遗传与问题相关的信息。将染色体分为物品部分和组部分,生成不定长的染色体;运用根据组合问题特点设计的变异算子和逆序算子,经过算法的多次迭代,得到问题的近似最优解。本发明针对装箱问题难以得到精确的全局最优解的特点,采用以组为对象的组合优化算法,有效地实现了装箱问题的优化设计,解决了快速装箱的设计问题,提高了设计效率。
附图说明
附图是本发明中第二个染色体的物品分布情况。
具体实施方式
实施例
面向装箱问题的组合优化方法包括如下步骤:
1)考虑有8个物品的一维装箱问题,箱子的大小是(0,1)之间的随机数,箱子大小为1。一个箱子可以装一个物品,也可以装多个物品,但所装物品总大小不能超过箱子大小。使用组合遗传算法的染色体编码方法编码该装箱问题的解,组合遗传算法的染色体编码分为物品部分和组部分,对于有8个物品的一维装箱问题,物品分别从0到7编号,
01234567,
那么该装箱问题的一个染色体可以写成
ADBCEBAB:ADBCE,
表示物品0和6装在名字为A的箱子中,1装在D,2、5和7装在B,3在C,4在E,物品部分列出了该染色体使用的箱子名字;
2)建立适应度函数:
N是箱子数,Fi是箱子i中物品的大小之和,C是箱子的容量,k是一个常数(k>1),表示对装满的箱子的重视程度,在此设定k为2,对于1)中的染色体,
ADBCEBAB:ADBCE,
假定物品大小分别为0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8,则该染色体的适应度值为
3)设定进化代数值为100,即进行100次迭代计算,种群规模值为1000,即产生1000个染色体,交叉概率值为0.4,变异概率值为0.05,逆序概率值为0.1;
4)将物品按大小降序排列,把物品逐个放到符合条件的第一个箱子中,若找不到则产生一个新的箱子,采用首次适应下降算法产生在初始种群,种群规模为步骤3)中设定的值;
5)根据步骤2)建立的适应度函数对种群进行评估,计算染色体的适应度值;
6)使用轮盘法对种群进行选择操作:
计算种群所有染色体的适应度总和F,
算出每个染色体的相对适应度及其相对适应度区间,其中第i个染色体相对适应度为:
其相对适应度区间为
产生[0,1)之间随机数,根据随机数所在区间选择进入新种群的染色体,重复选择操作直到新种群规模达到步骤3)中设定的值,例如,对于有5个染色体的种群,染色体适应度值分别为1、2、3、4和5,则F的值为15,每个染色体的相对适应度值为0.07、0.13、0.2、0.27、0.33,那么每个染色体对应的相对适应度区间为[0,0.07),[0.07,0.20),[0.20,0.40),[0.40,0.67),[0.67,1),如果产生的随机数为0.88,则选中第5个染色体;
7)将新种群的染色体两两配对形成父染色体对,进行交叉操作,为每对父染色体产生一个随机数,比较随机数与步骤3)中设定的交叉概率值的大小确定是否进行交叉;若大于步骤3)中的交叉概率值,不执行交叉转到步骤8),否则执行交叉转到步骤(a);
(a)限定交叉区域:在染色体物品部分随机选择两对交叉点,分别为两个父代染色体限定交叉区域;
(b)插入交叉区域基因:把第二个父代染色体的交叉区域的基因插入到第一个父代染色体的第一个交叉点;
(c)删除重复物品所在箱子,使物品旧的组合给插入的新组合让位;
(d)调整产生的新染色体,用首次适应下降算法将在步骤6)中被删除的物品重新装到箱子中;
(e)对换两个父代染色体的角色,重复步骤b)到步骤d)来产生第二个后代,用两个新染色体替换两个父染色体,
例如,给定两个父代染色体AABCC:ACB和abcbc:cab,我们要将第一个染色体的交叉区域插入到第二个染色体中:
限定交叉区域。假设产生的交叉区域分别为:
AABCC:|A|CB和abcbc:c|ab|,
此时,第二个染色体的物品分布情况如图1所示;
图中1虚线部分中的物品组成第一个染色体中的箱子A,而A正是将要插入到第二个染色体中的箱子,显然,除了箱子c外,第二个染色体中的其它箱子都会被删除,
插入交叉区域基因,把第一个染色体的箱子A插入到第二个染色体的箱子a之前,产生:
abcbc:cAab
重复物品所对应的箱子,除第二个染色体物品部分中,物品0和1对应的基因,可得
调整产生的新染色体,对于装箱问题,需要重新安排被删除的物品,即处理集合Q中的物品,假设采用FFD算法,首先对Q中物品按从小到大排列,依次对每个物品使用FF算法为其寻找一个容纳它的箱子,假设对于物品3,找到箱子c,那么最后产生的染色体为:
AAccc:cA
8)对新种群进行变异操作,对每个染色体产生一个随机数,比较随机数与步骤3)中设定的变异概率的大小确定是否进行变异;若大于步骤3)中的变异概率值,不执行变异转到步骤9);否则执行变异,随机删除染色体组部分的一个箱子,使用首次适应下降算法为该箱子中的物品重新安排箱子,形成新的染色体,用新染色体替换原染色体;
9)对新种群中的染色体进行逆序操作,为每个染色体产生一个随机数,比较随机数与步骤3)中设定的逆序概率的大小确定是否进行逆序;若大于步骤3)中的逆序概率值,不执行变异转到步骤10);否则执行变异,在组部分随机选择一对逆序点,为染色体限定逆序区域,将变异区域的组基因逆序,形成新的染色体,用新染色体替换原染色体,例如,对染色体ADBCEB:BECDA的组部分BEC逆序可得
ADBCEB:CEBDA;
10)重复步骤5)到步骤9),直到进化代数达到步骤3)中的设定值,得到最终的种群,将种群中适应度值最大的染色体解码,得到此次计算的最佳组合解。例如,最后得到的染色体为ADBCEBAB:ADBCE,那么对物品部分解码可以得到装箱问题的一个解,总共用了5个箱子,物品0和6装在名字为A的箱子中,1装在D,2、5和7装在B,3在C,4在E。
Claims (1)
1.一种面向装箱问题的组合优化方法,其特征在于包括如下步骤:
1)使用组合优化方法的染色体编码方法编码装箱问题的解,将组合优化算法的染色体编码分为物品部分和组部分,对于有m个物品的装箱问题,物品分别从0到m编号,
0 1 2 3 4 5 ... m,
该装箱问题的一个染色体可以写成
A D B C E B...X:A...X,
表示物品0装在名字为A的箱子中,1装在D,2和5装在B,3在C,4在E,m在X,物品部分列出了该染色体使用的箱子名字;
2)建立适应度函数:
其中N是箱子数,Fi是箱子i中物品的大小之和,C是箱子的容量,k是一个常数,k>1,表示对装满的箱子的重视程度,在此设定k为2;
3)设定进化代数值、种群规模值、交叉概率值、变异概率值和逆序概率值;
4)采用首次适应下降算法产生初始种群,其中种群规模为步骤3)中设定的值;
5)根据步骤2)建立的适应度函数对种群进行评估,计算染色体的适应度值;
6)使用轮盘法对种群进行选择操作,产生新种群,规模为步骤3)中设定的值;
7)将新种群的染色体两两配对形成父染色体对,根据步骤3)中设定的交叉概率值进行两点交叉操作,使用首次适应下降算法对新染色体进行调整,对换两个父染色体的位置产生另一个新染色体,用两个新染色体替换两个父染色体;
8)对新种群中的染色体进行变异操作,根据步骤3)中设定的变异概率值进行变异,形成新的染色体,替换原染色体;
9)根据步骤3)中设定的逆序概率值对新种群中的染色体进行逆序操作,形成新的染色体,替换原染色体;
10)重复步骤5)到步骤9),直到进化代数值达到步骤3)中的设定值,得到最终的种群,将种群中适应度值最大的染色体解码,得到此次计算的最佳组合解。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101200781A CN101320441B (zh) | 2008-07-18 | 2008-07-18 | 面向装箱问题的组合优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101200781A CN101320441B (zh) | 2008-07-18 | 2008-07-18 | 面向装箱问题的组合优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101320441A true CN101320441A (zh) | 2008-12-10 |
CN101320441B CN101320441B (zh) | 2010-07-28 |
Family
ID=40180479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101200781A Expired - Fee Related CN101320441B (zh) | 2008-07-18 | 2008-07-18 | 面向装箱问题的组合优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101320441B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104504468A (zh) * | 2014-12-19 | 2015-04-08 | 西安电子科技大学 | 基于三维移动模式序列与密母算法的三维装箱方法 |
CN104636813A (zh) * | 2013-11-12 | 2015-05-20 | 中国科学院沈阳计算技术研究所有限公司 | 一种求解车间作业调度问题的混合遗传模拟退火算法 |
CN108846480A (zh) * | 2018-06-15 | 2018-11-20 | 广东工业大学 | 一种基于遗传算法的多规格一维套料方法及装置 |
CN109447311A (zh) * | 2018-09-13 | 2019-03-08 | 深圳市递四方信息科技有限公司 | 基于遗传算法的适配装箱方法、装置、设备和存储介质 |
CN110443549A (zh) * | 2019-07-26 | 2019-11-12 | 清华大学 | 一种物流仓库中物品的装箱方案生成方法及系统 |
CN110490371A (zh) * | 2019-07-26 | 2019-11-22 | 西安理工大学 | 基于遗传算法的装箱方法 |
CN110494873A (zh) * | 2017-09-04 | 2019-11-22 | 帕诺特克科学研究室 | 用于优化物品在至少一个盒子中的定位的方法和系统 |
CN110889552A (zh) * | 2019-11-26 | 2020-03-17 | 中国计量大学 | 一种基于最优参数遗传算法的苹果自动装箱路径优化方法 |
CN112101650A (zh) * | 2020-09-07 | 2020-12-18 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 一种基于组合优化的二维装箱算法的预处理方法及系统 |
-
2008
- 2008-07-18 CN CN2008101200781A patent/CN101320441B/zh not_active Expired - Fee Related
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104636813A (zh) * | 2013-11-12 | 2015-05-20 | 中国科学院沈阳计算技术研究所有限公司 | 一种求解车间作业调度问题的混合遗传模拟退火算法 |
CN104636813B (zh) * | 2013-11-12 | 2018-02-06 | 中国科学院沈阳计算技术研究所有限公司 | 一种求解车间作业调度问题的混合遗传模拟退火算法 |
CN104504468B (zh) * | 2014-12-19 | 2018-03-13 | 西安电子科技大学 | 基于三维移动模式序列与密母算法的三维装箱方法 |
CN104504468A (zh) * | 2014-12-19 | 2015-04-08 | 西安电子科技大学 | 基于三维移动模式序列与密母算法的三维装箱方法 |
CN110494873A (zh) * | 2017-09-04 | 2019-11-22 | 帕诺特克科学研究室 | 用于优化物品在至少一个盒子中的定位的方法和系统 |
CN110494873B (zh) * | 2017-09-04 | 2023-11-21 | 帕诺特克科学研究室 | 用于优化物品在至少一个盒子中的定位的方法和系统 |
CN108846480A (zh) * | 2018-06-15 | 2018-11-20 | 广东工业大学 | 一种基于遗传算法的多规格一维套料方法及装置 |
CN109447311A (zh) * | 2018-09-13 | 2019-03-08 | 深圳市递四方信息科技有限公司 | 基于遗传算法的适配装箱方法、装置、设备和存储介质 |
CN110443549A (zh) * | 2019-07-26 | 2019-11-12 | 清华大学 | 一种物流仓库中物品的装箱方案生成方法及系统 |
CN110443549B (zh) * | 2019-07-26 | 2021-11-23 | 清华大学 | 一种物流仓库中物品的装箱方案生成方法及系统 |
CN110490371A (zh) * | 2019-07-26 | 2019-11-22 | 西安理工大学 | 基于遗传算法的装箱方法 |
CN110889552A (zh) * | 2019-11-26 | 2020-03-17 | 中国计量大学 | 一种基于最优参数遗传算法的苹果自动装箱路径优化方法 |
CN110889552B (zh) * | 2019-11-26 | 2023-05-23 | 中国计量大学 | 一种基于最优参数遗传算法的苹果自动装箱路径优化方法 |
CN112101650A (zh) * | 2020-09-07 | 2020-12-18 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 一种基于组合优化的二维装箱算法的预处理方法及系统 |
CN112101650B (zh) * | 2020-09-07 | 2024-04-09 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 一种基于组合优化的二维装箱算法的预处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101320441B (zh) | 2010-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101320441B (zh) | 面向装箱问题的组合优化方法 | |
Snyder et al. | A random-key genetic algorithm for the generalized traveling salesman problem | |
Dokeroglu et al. | Optimization of one-dimensional bin packing problem with island parallel grouping genetic algorithms | |
Hopper et al. | A genetic algorithm for a 2D industrial packing problem | |
Schiex et al. | Cartagene: Constructing and joining maximum likelihood genetic maps | |
Lotfi et al. | A genetic algorithm using priority-based encoding with new operators for fixed charge transportation problems | |
Boulif | Genetic algorithm encoding representations for graph partitioning problems | |
CN103246829B (zh) | 宏基因组序列的组装 | |
CN115935616A (zh) | 一种一致批次的序列依赖流水车间组调度多目标优化方法 | |
Goswami et al. | Variants of genetic algorithms and their applications | |
Mahmoodi Darani et al. | Solving the capacitated clustering problem by a combined meta-heuristic algorithm | |
Garzon et al. | In search of optimal codes for DNA computing | |
Alden | MARLEDA: effective distribution estimation through Markov random fields | |
Montemanni | Combinatorial optimization algorithms for the design of codes: a survey | |
Ozcan et al. | A brief review of memetic algorithms for solving Euclidean 2D traveling salesrep problem | |
Pal et al. | Soft computing data mining | |
Choudhary et al. | Part selection and operation-machine assignment in a flexible manufacturing system environment: a genetic algorithm with chromosome differentiation-based methodology | |
JPWO2004068398A1 (ja) | Dnaコンピュータ及びそれを用いた計算方法 | |
Ghamari et al. | A Genetic Algorithm for Order Picking in Automated Storage and Retrieval Systems with Multiple Stock Locations | |
Ramteke et al. | Multi-objective genetic algorithm and simulated annealing with the jumping gene adaptations | |
Yang et al. | Solving large-scale TSP using adaptive clustering method | |
Wang et al. | DNA codewords design using the improved NSGA-II algorithms | |
Thapatsuwan et al. | Modifying particle swarm optimisation and genetic algorithm for solving multiple container packing problems | |
Imahori et al. | Practical algorithms for two-dimensional packing | |
Ao et al. | Learning to Solve Grouped 2D Bin Packing Problems in the Manufacturing Industry |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100728 Termination date: 20110718 |