面向装箱问题的组合优化方法

文档序号:6464896阅读:1033来源:国知局
专利名称:面向装箱问题的组合优化方法
技术领域
本发明涉及组合优化问题的求解领域,尤其涉及一种面向装箱问题的组合 优化方法。
背景技术
装箱问题广泛存在于工业生产,例如服装行业的面料裁剪、运输行业的集 装箱装载、加工行业的板材型下料、印刷行业的排样和现实生活中包装、整理 物件等。在计算机科学中也有广泛的应用,如多处理器任务调度、资源分配、 文件分配、内存管理等底层操作均是装箱问题的实际应用。
从计算复杂度来讲,装箱问题是一个NP难题,很难求出精确的全局最优解。 求解这类问题的近似算法有启发式算法和搜索算法。启发式算法的思想是寻找 一种能产生可行解的启发式规则,以此找到问题的一个最优解或近似最优解。 该方法的求解效率较高,但对不同的问题需要找出其特有的启发式规则,这个 启发式规则一般无通用性,不适合用于其它问题。对于装箱问题,启发式算法 有首次适应(FF)算法和最佳适应(BF)算法等。而搜索算法是指在解空间内 进行搜索,以找到问题的最优解或者近似最优解。该方法不能保证得到问题的 最优解,但若适当地利用一些启发式知识,就可在近似解的质量和效率上达到 较好的平衡。
遗传算法是一种新型的、模拟生物进化过程的随机化搜索、优化方法,在 组合优化领域得到了相当广泛的研究和应用,并已在解决诸多典型组合优化问 题中显示了良好的性能和效果。求解装箱问题的遗传算法有标准遗传算法和顺 序遗传算法。标准遗传算法的染色体对箱子的进行编码并使用标准遗传算子, 即两点交叉和单点变异。顺序遗传算法的染色体对待装箱物品进行编码,使用 顺序遗传算子,如PMX交叉和单点变异。这两种方法的编码方式都有冗余度高 的缺点,更重要的是它们都忽略了组合问题的结构,因此会使遗传搜索的效果 减弱。
组合优化算法是一种为了适合组合问题的结构而经过重大修改的遗传算 法,它与经典优化算法有两个方面显著不同第一,使用了一种特殊的编码模 式,以组合问题中的分组为编码对象。第二,考虑到编码方式的特殊,使用了 特别设计的遗传算子。 发明内容本发明的目的是克服现有技术的不足,提供一种面向装箱问题的组合优化 方法。
包括如下步骤
1) 使用组合优化方法的染色体编码方法编码装箱问题的解,将组合优化方
法的染色体编码分为物品部分和组部分,对于有m个物品的装箱问题,物品分 别从0到m编号,
0 1 2345…m, 该装箱问题的一个染色体可以写成
ADBCEB ...X:A...X,
表示物品0装在名字为A的箱子中,1装在D, 2和5装在B, 3在C, 4在E, m在X,物品部分列出了该染色体使用的箱子名字;
2) 建立适应度函数
^--ir-
N是箱子数,巧是箱子i中物品的大小之和,C是箱子的容量,k是一个常
数(k>l),表示对装满的箱子的重视程度,在此设定k为2;
3) 设定进化代数值、种群规模值、交叉概率值、变异概率值和逆序概率值;
4) 采用首次适应下降算法产生初始种群,其中种群规模为步骤3)中设定 的值;
5) 根据步骤2)建立的适应度函数对种群进行评估,计算染色体的适应度
值;
6) 使用轮盘法对种群进行选择操作,产生新种群,规模为步骤3)中设定 的值;
7) 将新种群的染色体两两配对形成父染色体对,根据步骤3)中设定的交 叉概率值进行两点交叉操作,使用首次适应下降算法对新染色体进行调整,对 换两个父染色体的位置产生另一个新染色体,用两个新染色体替换两个父染色 体;
8) 对新种群中的染色体进行变异操作,根据步骤3)中设定的变异概率值 进行变异,形成新的染色体,替换原染色体;
9) 根据步骤3)中设定的逆序概率值对新种群中的染色体进行逆序操作,形成新的染色体,替换原染色体;
10)重复步骤5)到步骤9),直到进化代数值达到步骤3)中的设定值,得 到最终的种群,将种群中适应度值最大的染色体解码,得到此次计算的最佳组 合解。
本发明是通过组合优化算法,研究合理装箱的问题。它针对工业生产中的 组合优化和作业调度问题,采用了以组为对象的适合组合问题结构的编码方式, 使得遗传算法可以通过染色体遗传与问题相关的信息。将染色体分为物品部分 和组部分,生成不定长的染色体;运用根据组合问题特点设计的变异算子和逆 序算子,经过算法的多次迭代,得到问题的近似最优解。本发明针对装箱问题 难以得到精确的全局最优解的特点,采用以组为对象的组合优化算法,有效地 实现了装箱问题的优化设计,解决了快速装箱的设计问题,提高了设计效率。


附图是本发明中第二个染色体的物品分布情况。
具体实施方式
实施例
面向装箱问题的组合优化方法包括如下步骤-
1) 考虑有8个物品的一维装箱问题,箱子的大小是(O, l)之间的随机数,箱 子大小为l。 一个箱子可以装一个物品,也可以装多个物品,但所装物品总大小 不能超过箱子大小。使用组合遗传算法的染色体编码方法编码该装箱问题的解, 组合遗传算法的染色体编码分为物品部分和组部分,对于有8个物品的一维装 箱问题,物品分别从0到7编号,
0 1234567, 那么该装箱问题的一个染色体可以写成
ADBCEBAB : ADBCE, 表示物品0和6装在名字为A的箱子中,1装在D, 2、 5和7装在B, 3在C, 4在E,物品部分列出了该染色体使用的箱子名字;
2) 建立适应度函数<formula>formula see original document page 5</formula>
N是箱子数,巧是箱子i中物品的大小之和,C是箱子的容量,k是一个常 数(k>l),表示对装满的箱子的重视程度,在此设定k为2,对于l)中的染色体,
ADBCEBAB : ADBCE, 假定物品大小分别为O.l、 0.2、 0.3、 0.4、 0.5、 0.6、 0.7、 0.8,则该染色体的适 应度值为
(0.1 + fl.6)2 + (0.2)2 + 〔0,3十0,6十fl,8F + (0,4〕2 + (0,5)s = ^ = 3.83
3) 设定进化代数值为100,即进行100次迭代计算,种群规模值为1000, 即产生1000个染色体,交叉概率值为0.4,变异概率值为0.05,逆序概率值为
0.1;
4) 将物品按大小降序排列,把物品逐个放到符合条件的第一个箱子中,若 找不到则产生一个新的箱子,采用首次适应下降算法产生在初始种群,种群规 模为步骤3)中设定的值;
5) 根据步骤2)建立的适应度函数对种群进行评估,计算染色体的适应度
值;
6) 使用轮盘法对种群进行选择操作-计算种群所有染色体的适应度总和F,
算出每个染色体的相对适应度及其相对适应度区间,其中第z'个染色体相对 适应度为-
尸,
其相对适应度区间为!S^。fi^ ,sir丄莊fe+賦〗j -i,-.-,,7^0=0, 产生[o, i)之间随机数,根据随机数所在区间选择进入新种群的染色体,重
复选择操作直到新种群规模达到步骤3)中设定的值,例如,对于有5个染色体 的种群,染色体适应度值分别为l、 2、 3、 4和5,则F的值为15,每个染色体 的相对适应度值为0.07、 0.13、 0.2、 0.27、 0.33,那么每个染色体对应的相对适 应度区间为[O, 0.07),
]></math></maths>其中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)中的设定值,得到最终的种群,将种群中适应度值最大的染色体解码,得到此次计算的最佳组合解。
全文摘要
本发明公开了一种面向装箱问题的组合优化方法。它针对工业生产中的组合优化和作业调度问题,采用了以组为对象的适合组合问题结构的编码方式,使得遗传算法可以通过染色体遗传与问题相关的信息。将染色体分为物品部分和组部分,生成不定长的染色体;运用根据组合问题特点设计的变异算子和逆序算子,经过算法的多次迭代,得到问题的近似最佳组合解。本发明针对装箱问题难以得到精确的全局最优解的特点,采用以组为对象的组合优化方法,有效地实现了装箱问题的优化设计,解决了快速装箱的设计问题,提高了设计效率。
文档编号G06Q10/00GK101320441SQ200810120078
公开日2008年12月10日 申请日期2008年7月18日 优先权日2008年7月18日
发明者卜满钊, 应放天, 张劲松, 颖 杨, 罗仕鉴 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1