[发明专利]基于改进变邻域搜索和差分进化算法的调度方法及系统有效
申请号: | 201710813160.1 | 申请日: | 2017-09-11 |
公开(公告)号: | CN107590603B | 公开(公告)日: | 2018-11-13 |
发明(设计)人: | 裴军;宋庆儒;刘心报;陆少军;张强;范雯娟 | 申请(专利权)人: | 合肥工业大学 |
主分类号: | G06F17/00 | 分类号: | G06F17/00 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;余罡 |
地址: | 230009 安*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明实施例涉及一种基于改进变邻域搜索和差分进化算法的调度方法及系统,该方法包括:1设定算法的参数;2构建邻域结构;3初始化种群;4确定初始解;5计算适应度值;6局部搜索;7父体选择;8个体倒位变异;9更新种群;10更新初始解;11更新算法搜索的邻域结构;12判断算法执行的终止条件是否满足,若满足则输出算法搜索的全局最优解,否则返回步骤6。本发明实施例能针对基于差异工件的制造商单机情形下的生产与运输协同批调度问题,求得近似最优解,从而使得企业能在最大限度上充分利用其生产资源,降低生产成本,并提高企业服务水平和顾客满意度水平。 | ||
搜索关键词: | 基于 改进 邻域 搜索 进化 算法 调度 方法 系统 | ||
【主权项】:
1.一种基于改进变邻域搜索和差分进化算法的生产批调度方法,其特征在于,包括:S1、初始化算法的输入参数,包括工件数量n,工件尺寸s,工件基本加工时间p,工件到达时间r,加工机器的容量C,工件从制造商运输到客户所需的时间T,加工工件集合记为J={J1,...,Ji,...,Jn},其中Ji表示第i个工件;S2、设定算法的执行参数,所述执行参数包括最大迭代次数Imax,当前迭代次数I=1,种群规模Q,算法初始解Xs,种群优秀个体数量top,全局最优解Xbest=Xs;S3、设定邻域结构NK(X),其中X表示初始解,K表示邻域结构的种类;考虑三种邻域结构,分别为当K=1时,表示变异邻域结构;当K=2时,表示交叉邻域结构;当K=3时,表示插入邻域结构;S4、初始化局部搜索中种群个体集合S;考虑共有Q个个体,其中第I代种群中的第j个个体定义为
1≤I≤Imax,j=1,2,...,Q,d=1,2,...,n,其中
表示在个体
第d个位置上的是工件集中第
个工件;S5、分别用三种启发式算法产生三个初始个体,并把该初始解作为初始种群中的三个个体,初始种群中的剩余个体则随机产生,从初始种群中选出最优个体作为初始解;S6、选定邻域结构,定义邻域结构的初始解
在该邻域结构中对种群中的个体进行局部搜索策略,以提高种群个体的质量;S7、分别计算种群中每个个体的适应度值,从而获得种群中最小适应度值个体Xlocal;S8、更新算法的全局最优解,判断F(Xlocal)<F(Xbest)是否成立,若成立则把Xlocal赋值给Xbest,其中F(X)表示个体X的适应度值;S9、更新初始解,判断F(Xlocal)<F(Xs)是否成立,若成立则把Xlocal赋值给Xs;S10、更新邻域结构初始解,判断
是否成立,若成立则把Xlocal赋值给
S11、将I+1赋值给I,判断I≤Imax是否成立,若成立则执行步骤S12,否则执行步骤S13;S12、判断
是否更新,若更新则返回步骤S6,否则将K+1赋值给K,若K>3则令K=1,并返回步骤S6;S13、算法执行结束并输出全局最优解Xbest的适应度值和工件对应的组批方案;步骤S6中在该邻域结构中对种群中的个体进行局部搜索策略,包括:步骤S61’:定义变量
表示存储种群质量前top的个体,Nother表示种群SI剩余其他个体的数量,
表示存储种群SI剩余其他个体集合,Nc表示变异个体的数量,Nr表示随机个体的数量,
表示存储随机个体集合;步骤S62’:针对种群SI‑1,把该种群中适应度前top的个体赋值给
剩余个体赋值给
步骤S63’:取迭代次数I除以Nother的余数,并把该余数赋值给Nc,若Nc=0,则令Nc=1;步骤S64’:在
中随机选择一个个体,针对该个体,随机产生两个位置rand1和rand2,并且rand1≠rand2,对该个体在这两个位置之间的元素进行对称交换处理;步骤S65’:重复步骤S64’,直至选出Nc个各不相同的个体进行相应的变异操作;步骤S66’:判断当代的邻域结构是否与上一代相同,若相同,则随机生成Nr个个体,并存储于Sr中;否则执行步骤S67’;步骤S67’:随机选择邻域结构初始解
中的两个元素,并对这两个元素进行交换产生一个新个体,重复此操作直至产生Nr个个体,并把这些个体存储于Sr中;步骤S68’:分别将
Sc和Sr中所有的个体都赋值给SI,作为本代更新后的种群;步骤S5中分别用三种启发式算法产生三个初始个体,并把该初始解作为初始种群中的三个个体,初始种群中的剩余个体则随机产生,从初始种群中选出最优个体作为初始解,包括:步骤S51:定义变量j=1;步骤S52:判断变量j的值,若等于1则执行步骤S53;若值等于2则执行步骤S54;若等于3则执行步骤S55;若为其他值则执行步骤S56;步骤S53:将工件集J={J1,...,Ji,...,Jn}中的所有工件按其到达时间非递减进行排序,将经过排序后的工件集合J'作为初始种群中的个体
步骤S54:将工件集J={J1,...,Ji,...,Jn}中的所有工件按其加工处理时间非递减进行排序,将经过排序后的工件集合J'作为初始种群中的个体
步骤S55:将工件集J={J1,...,Ji,...,Jn}中的所有工件按其加工处理时间非递增进行排序,将经过排序后的工件集合J'作为初始种群中的个体
步骤S56:将工件集J={J1,...,Ji,...,Jn}中的所有工件进行随机排序,将经过排序后的工件集合J'作为初始种群中的个体
步骤S57:将j+1赋值给j,判断j≤Q是否成立,若成立,则返回步骤S52;否则种群初始化完毕;步骤S58:根据初始种群,选出其中质量最好的个体,并把该个体赋值给初始解Xs;步骤S7中计算个体适应度值,包括:步骤S71:把个体X的工件序列中第一个未分配的工件放置现存的第一个能容纳该工件的批中,若现存的每个批无法容纳该工件,则创建一个容量为C的新批,并把该工件放置新批中;步骤S72:重复步骤S71,直至个体X中所有的工件都分配到相应的批中,得到一个工件批集合B={B1,...,Bi,...,Bl},l表示批的数量;步骤S73:将步骤S72中所获得的批集合中的工件批按其批的到达时间非递减进行排序,得到一个经过排序后的批集合B'={B′1,...,B′i,...,B′l},其中B′i表示在加工机器中第l个位置上进行加工的工件批;步骤S74:定义变量Cmax=0,表示制造跨度所需时间,循环变量j=1,批集合B'中工件批B′i的加工时间记为PiB',到达时间记为riB';步骤S75:判断当前
是否成立,若成立则把
赋值给Cmax,否则将
赋值给Cmax;步骤S76:将j+1赋值给j,判断j≤l是否成立,若成立则返回步骤S75,否则将将Cmax+T赋值给Cmax;步骤S77:将步骤S76中最终获得的Cmax值作为该个体X适应度值。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥工业大学,未经合肥工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710813160.1/,转载请声明来源钻瓜专利网。
- 上一篇:一种印刷机用匀墨装置
- 下一篇:一种用于印刷版的清洗装置