[发明专利]一种改良的帝国竞争算法解决柔性作业车间调度问题的方法有效
申请号: | 201710867375.1 | 申请日: | 2017-09-22 |
公开(公告)号: | CN107479522B | 公开(公告)日: | 2018-08-24 |
发明(设计)人: | 张国辉;陈洪根;王国东;刘航;薛丽;佀庆民;王永成;刘星;高广章 | 申请(专利权)人: | 郑州航空工业管理学院 |
主分类号: | G05B19/418 | 分类号: | G05B19/418 |
代理公司: | 北京挺立专利事务所(普通合伙) 11265 | 代理人: | 李鑫 |
地址: | 450015 河*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种改良的帝国竞争算法解决柔性作业车间调度问题的方法,解决现有的帝国竞争算法在离散型的柔性作业车间调度问题中的应用不足。每个国家个体采用两段式的整数编码来表达其中的一种方案,该编码方式能够适应多种柔性作业车间调度问题,减少算法的计算复杂度。三种初始化方法相混合产生初始国家群体的方法提高了群体整体解的质量,提高了算法运行效率,更快得到最优解。帝国内部的同化操作进行了改进,将殖民地国家与帝国主义国家之间通过优良信息进行交换的方式使得优良信息得以共享,从而使殖民地国家靠近帝国主义国家。帝国内部的革命操作操作,依据帝国竞争算法的迭代次数进行概率变化,增加国家个体的多样性,防止算法过早收敛。 | ||
搜索关键词: | 一种 改良 帝国 竞争 算法 解决 柔性 作业 车间 调度 问题 方法 | ||
【主权项】:
1.一种改良的帝国竞争算法解决柔性作业车间调度问题的方法,其特征在于,包括以下步骤:步骤1:参数设置,设置帝国竞争算法求解柔性作业车间调度问题的相关参数,包括:国家数量Npop、帝国主义国家数量Nimp、殖民地国家数量Ncol、迭代次数Niter,帝国内部同化概率Pcimp,帝国内部革命概率Pmimp,殖民地国家影响因子α,帝国竞争算法的终止条件为:若在还未达到迭代次数Niter就只剩一个帝国时,算法终止,否则,运行到迭代次数为止;步骤2:初始化国家个体,每一个国家代表一组柔性作业车间调度问题的可行方案,传统帝国竞争算法解决连续型优化问题,编码方式不适合离散型柔性作业车间调度问题,结合柔性作业车间调度问题特点设计两段式实数编码方式进行国家个体的编辑,总长度为2L,L为所有工件的所有工序和,Ji表示工件i的工序数,左侧一段为加工机器,多个工件按照工件1、工件2、工件3……工件n的工序顺序进行排列,每个数字表示对应工序加工机器集中的顺序号,而不是机器号;右侧一段为加工工序,每个数字代表工件号,出现的次数等于该工件的工序数,在转换为工序的顺序时,从左到右依次读取每个数字,同一个数字的出现顺序即为该工序的加工顺序;并分别提出全领域搜索、局部领域搜索和随机搜索的初始化方法来产生Npop个国家,具体是,1)全领域搜索:在所有工件的工序的加工机器选择中,保证最短加工机器先被选到而且保证加工机器上的工作负荷平衡,具体执行步骤为:a)设置一个长度为机器总台数的向量,向量上的每个位置记录对应机器上的总负荷初始值为0,称为负荷向量;b)随机选择某个工件的第一道工序;c)将该工序可选机器集中每个机器的加工时间和负荷向量中记录的对应机器的加工时间相加,从中选择最小的那台机器作为该工序的加工机器,并将当前机器的加工时间记录到负荷向量中;d)选择当前工件的下一道工序,执行步骤c),直到当前工件的所有工序的加工机器选择完毕;e)从工件集中删除该工件,然后执行步骤b)到d),直到全部工件被执行完毕;2)局部领域搜索:保证一个工件的工序中优先加工时间最短或者说选择机器负荷最小的加工机器进行加工,具体执行步骤为:a)设置一个长度为机器总台数的向量,向量上的每个位置记录对应机器上的总负荷初始值为0,称为负荷向量;b)随机选择某个工件的第一道工序;c)将该工序可选机器集中每个机器的加工时间和负荷向量中记录的对应机器的加工时间相加,从中选择最小的那台机器作为该工序的加工机器,并将当前机器的加工时间记录到负荷向量中;d)选择当前工件的下一道工序,执行步骤c),直到当前工件的所有工序的加工机器选择完毕;g)将负荷向量中的所有值重置为0;h)从工件集中删除该工件,然后执行步骤b)到g),直到全部工件被执行完毕;3)随机搜索:为保证初始种群的多样性,使初始种群分散于解空间,一部分国家个体中的工序加工机器在工序可选机器集中随机选择,具体执行步骤如下:a)随机选择一个工件的第一道工序,从该工序的加工机器集中随机选择一个机器;b)在当前工件下一道工序的加工机器集中随机选择一台;c)重复执行b),直到所有工序执行完毕;d)从工件集中删除当前工件,然后重复执行a)到c),直到所有工件执行完毕;步骤3:通过成本函数,计算每个国家的成本值;步骤4:产生帝国主义国家和殖民地国家,按照每个国家的成本值计算每个国家的势力大小,依据之前设定的帝国主义国家数量,将殖民地国家随机分配给帝国主义国家,形成Nimp个帝国;步骤5:帝国内部进行同化操作,帝国内部的殖民地国家与帝国主义国家之间进行同化操作,使得殖民地国家不断向帝国主义国家移动;步骤6:帝国内部进行革命操作,帝国内部的殖民地国家为防止同化作用造成过早收敛,需要进行革命操作;步骤7:帝国内部判断是否更换帝国主义国家,对各个帝国内部的国家进行成本计算,将成本最小的殖民地与其所属的帝国主义国家进行比较,如果比帝国的成本还低,就替换该帝国主义国家,而成为统治者;步骤8:帝国之间的竞争操作,势力最强的帝国占有势力最弱的帝国中的殖民地,使得强大的帝国更加强大,弱小的帝国更加弱小;步骤9:弱势帝国的灭亡,删除掉没有殖民地的帝国,该帝国灭亡;步骤10:计算每个国家成本;步骤11:判断算法是否终止,依据参数中对算法停止条件的设定,判断算法是否终止,若算法终止,则输出运行结果;反之,算法还没有终止,则回到步骤5继续执行。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州航空工业管理学院,未经郑州航空工业管理学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710867375.1/,转载请声明来源钻瓜专利网。