CN109829535B - 基于量子候鸟优化算法求解无等待流水调度问题的方法 - Google Patents
基于量子候鸟优化算法求解无等待流水调度问题的方法 Download PDFInfo
- Publication number
- CN109829535B CN109829535B CN201811655018.XA CN201811655018A CN109829535B CN 109829535 B CN109829535 B CN 109829535B CN 201811655018 A CN201811655018 A CN 201811655018A CN 109829535 B CN109829535 B CN 109829535B
- Authority
- CN
- China
- Prior art keywords
- sequence
- quantum
- bird
- max
- solution
- 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.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了基于量子候鸟优化算法求解无等待流水调度问题的方法,包括如下步骤:S1、分析无等待流水调度问题;S2、运用量子候鸟协同优化算法在无等待流水调度的约束条件下求解;S3、得出各规模工件的生产次序及对应的最大完工时间。本发明设计了一种量子候鸟协同优化算法求解无等待流水调度问题的方法,采用量子双链编码方式及量子旋转门操作改进了候鸟优化算法得出的工件加工序列及最大完工时间,最后将量子计算融入候鸟优化算法中得出最优加工序列及最大完工时间。本发明能够有效节约调度管理所需付出的人力物力资源、降低企业调度成本、提高设备利用率及生产效率。
Description
技术领域
本发明涉及优化算法中求解无等待流水调度领域,融入量子候鸟协同优化算法,属于智能优化算法的求解调度问题方法领域。
背景技术
在当今经济飞速发展的时代,制造业是整个国民经济的基石,它的持续发展离不开科学管理与生产调度。生产调度,即对生产过程中进行计划与调度,位于计算机集成与制造系统五个层次之间,是整个制造系统实现运筹、优化、管理、自动化与计算机一体化的核心技术。生产调度问题是指为完成若干项任务而将所需资源进行最优分配的过程,是近年来管理科学与自动化领域的专家学者研究热点之一。其中安排流水调度问题中生产作业的调度,使得效率最大化是目前所研究的热点与难点。
智能优化算法由于能在多项式时间内寻找较高质量的次优解已经成为解决调度问题最有效算法之一。常见的算法有遗传算法(Genetic algorithm,GA)、蚁群优化(Antclolny optimization algoriithm,ACO)、粒子群优化(Particle swarm optimizationalgoriithm,PSO)、模拟退火(Simulated annealing algoriithm,SA)、人工神经网络(Artificial neural network algoriithm,ANN)和差分进化(Differential evolutionalgoriithm,DE)。近几年新兴的蛙跳算法(Shuffled frog leading algorithm,SFLA)、人工蜂群算法(Artificial bee colony algorithm,ABC)、布谷鸟搜索算法(Cuckoo search,CS)、萤火虫算法(Firefly algorithm,FA)及候鸟优化算法(Migrating birdsoptimization,MBO)等算法统称为进化算法。此类算法基于“适者生存”的进化理论,随着种群的不断进化,算法最终可收敛问题的最优或次优解。
量子候鸟协同优化算法结合了量子机制和候鸟优化(Migrating birdsoptimization,MBO)算法,MBO算法是Duman等人为了模拟候鸟在长距离迁徙飞行过程中队列次序的变化而提出的一种基于邻域搜索技术的新型仿生智能优化算法。
发明内容
本发明提出了一种新颖的量子候鸟优化算法,目的在于克服现有算法在求解无等待流水调度问题上的劣势。通过量子计算与候鸟算法融合的方法求出无等待流水调度问题中较优工件加工序列及目标值。
为了实现上述目的,本发明采用的技术方案为:基于量子候鸟优化算法求解无等待流水调度问题的方法,包括如下步骤:
S1、分析无等待流水调度问题;
S2、运用量子候鸟协同优化算法在无等待流水调度的约束条件下求解;
S3、得出各规模工件的生产次序及对应的最大完工时间。
步骤S1中分析无等待流水调度问题的方法为:
S11、n个工件在m台机器上加工,所有工件在各机器上的加工路线均相同;
S12、某一时刻一个工件只能在一台机器上加工,一台机器在某一时刻只能加工一个工件,同一工件在相邻两道工序之间没有等待时间,每个工件在每道工序的加工时间已知;
S13、安排各工件的生产次序,使得调度指标最小,所述调度指标是指最大完工时间。
步骤S13中调度指标计算方法为:
S131、设工件数为{1,2,…,n}和机器数为{1,2,…,m},Pu,v为工件u在机器v上的加工时间,u∈{1,2,…,n},v∈{1,2,…,m};
S132、Ck,i为机器i上第k个工件的完工时间,k∈{2,…,n};
S134、开工时间差的计算公式为:
最大完工时间计算公式为:
量子候鸟协同优化算法求解包括如下步骤:
S21、初始化参数:种群大小ps,最大迭代次数Umax,邻域解个数Cnum,候鸟群体左翼数组Lp[m1],候鸟群体右翼数组Rp[m2],巡回次数K,分享邻域解个数Snum;
S22、初始化种群,随机生成ps个个体{x1,x2,…,xps};
S23、对初始化的种群中的ps个个体执行量子双链编码种群,并引入量子旋转门,然后对量子候鸟编码采用LOV规则生成ps个序列π={π1,π2,…,πn},π为工件按照一定加工次序形成的序列;
S24、对调度序列π执行变异的FL算法进行优化并对优化后的ps个序列进行目标值排序,将目标值最小的序列作为初始解π′;
S25、令U=1,2,…,Umax开始进入迭代循环操作;
S26、令巡回次数V=1,2,…,K开始进入巡回循环操作;
S27、令π′为领飞鸟的解,用IG算法对初始解π′对应的序列进行处理生成:领飞鸟的邻域解集合LBc,LBc={N1,N2,…NCnum}。领飞鸟的Cnum个邻域解中Nbest的目标值最小,记为Min{N1,N2,…NCnum},其中邻域解对应的是各个工件的序列;
S28、将领飞鸟的Cnum个邻域解中的最小目标值Nbest:Min{N1,N2,…NCnum}与初始解π′:{π1,π2,…,πn}比较目标值,若小于初始解的目标值则将初始解π′替换成Nbest;
S29、将集合LBc中未被使用的邻域解按照目标值由小到大排序,按由小到大顺序依次取2Snum个邻域解随机填入左集合Sn_L[]和右集合Sn_R[]中,使得两个集合都包含Snum个邻域解;
S30、令m1=1,2,…,(ps-1)/2,依次循环进入S31步骤循环,生成数组Lp;
S31、随机使用交换函数Swap和插入函数Insert的方法生成候鸟左翼数组Lp[m1]的Cnum–Snum个邻域解,然后和左集合Sn_L合并构成Lp[m1]的邻域解集合FBc[m1];将邻域解集合FBc[]里最大完工时间最小的序列赋值给Nbest,即Nbest=Min(Cmax(FBc[]));若加工序列Nbest对应的最大完工时间小于左翼数组Lp[m1]序列的最大完工时间,即Cmax(Nbest)<Cmax(Lp[m1]),则使Nbest赋值给Lp[m1],并将FBc[m1]中未被使用邻域解按最大完工时间从小到大排序,将较小的Snum个邻域解填入Sn_L[]中;
S32、令m2=1,2,…,(ps-1)/2,依次循环进入S33步骤循环,生成数组Rp;
S33、随机使用交换函数Swap和插入函数Insert的方法生成候鸟右翼数组Rp[m2]的Cnum–Snum个邻域解,然后和Sn_R[]合并构成Rp[m2]的邻域解集合FBc[m2];将邻域解集合FBc[m2]里最大完工时间最小的序列赋值给Nbest,即Nbest=Min(Cmax(FBc[]));若加工序列Nbest对应的最大完工时间小于右翼数组Rp[m2]序列的最大完工时间,即Cmax(Nbest)<Cmax(Rp[m2]),则使Nbest赋值给Rp[m2],并将FBc[m2]中未被使用邻域解按最大完工时间从小到大排序,将较小的Snum个邻域解填入Sn_R[]中;
S34、判断V是否循环至K,若是,则执行下一步,否则进入S26步骤进行迭代;
S35、分别求数组Lp和Rp的最大完工时间Cmax,将其对应最大完工时间Cmax最小的Lp[A],Rp[B]分别赋值给左右两翼数组的首个解Lp[1],Rp[1]。比较左右两翼的首个解Lp[1]和Rp[1]的最大完工时间Cmax,将较小者作为领飞鸟,旧的领飞鸟自动回至所在翼的尾部;
S36、输出领飞鸟的解作为工件加工序列,求出加工序列对应的最大完工时间;
S37、判断U是否循环至Umax,若是,则量子候鸟优化算法结束,否则进入S25步骤进行迭代。
步骤S23中量子双链编码包括如下步骤:
因此,量子比特可以由圆上的一点P(cos(θ),sin(θ))描述。长度为n的量子个体即种群个体q由n个量子位组成,q可描述为:
群体初始化时,量子角θj(1≤j≤n)在[0,2π]内随机生成。
步骤S23中采用量子旋转门包括如下步骤:
S232、量子旋转门是根据当前最优解变化自适应调整旋转角Δθ,使算法的进化方向趋于当前最优解方向,避免算法提前收敛。量子候鸟优化算法中用于更新量子比特相位的量子旋转门为:
更新过程即为:
在S231步骤中由n个量子位组成的种群个体q可描述为:
每个种群个体q代表一种加工序列。
步骤S23中,采用LOV规则包括如下步骤:
S233、对于候鸟种群中的每个个体xi(1≤i≤ps)即代表S231步骤中的q,由量子编码过程后得出的量子种群数组,得出的一系列值进行降序排列;
S234、对排序后的序列依次搜索每个序号对应其排序前的量子种群位置,将初始作业顺序{j1,j2,…,jn}按顺序插入,即得出解码为调度序列{π1,π2,…,πn}。
步骤S24中,采用FL算法包括如下步骤:
S241、对于j∈{1,2,3,…,ps},计算各种群的Cmax值,取最小的种群个体的初始排列π0={π0(1),π0(2),…π0(n)};
S242、取出π0的前两个工件π0(1)和π0(2),将其排序得到两个部分调度{π0(1),π0(2)}和{π0(2),π0(1)},分别评价这两个部分调度的Cmax值,将较好的部分排列作为当前调度,记为π=(π(1),π(2)),令k=3;
S243、取出π0的第k个工件π0(k),将其分别插入到π的所有位置l,1≤l≤k,共得到k个部分排列,评价所得部分排列,并将Cmax最小的部分排列作为当前调度π;
S244、令i=1,2,…,k-1和i′=i+1,i+2,…,k,分别交换当前调度π的π(i)和π(i′),共得到k×(k-1)/2个邻域解,评价这些邻域解,令具有最小目标值的邻域解为π″,如果Cmax(π″)<Cmax(π),则令π=π″;
S245、令k=k+1,如果k≤n,则转至S243步骤;否则输出π,算法结束。
步骤S24中,对优化后的序列进行目标值排序解释如下:
S246、对使用FL算法处理后的ps个序列求Cmax值,并按照其值进行排序,将最小的值对应的π′作为初始解。
步骤S27中,运用IG算法包括如下步骤:
S271、首先参考相关实验数据,根据分析结果设定一个合适的参数值d,作为序列工件删减的个数;
S272、对当前的领飞鸟序列πled={π1,π2,…,πn},随机删减序列πled中的d个工件,并将被删减的这d个工件依次存入序列πd中,πled删减d个工件之后的序列记为π″′={π1,π2,…,πn-d};
S273、将πd中的第一个工件插入π″′中的所有空位,分别评估计算插入工件后序列的最大完工时间,保留最大完工时间最短的序列作为新的π″′;
S274、然后再按照S273步骤中相同的操作依次插入πd中剩下的工件,直至把πd中所有的工件都插入序列,将最大完工时间最短的序列作为领飞鸟序列πled的一个邻域解;
S275、若生成的邻域解个数小于Cnum,重复S272,S273,S274操作,否则操作停止;
S276、完成上述操作后,即可生成领飞鸟的邻域解集合LBc[]。
步骤S31中,调用交换函数Swap和插入函数Insert方法如下:
执行交换方法:在序列长度的范围内随机生成两个不相等的随机数x,y,将跟飞鸟序列πfellow={π1,π2,...,πn}中x和y位上的πx和πy进行交换,从而产生新的序列;
执行插入方法:在序列长度的范围内随机生成两个不相等的随机数x,y,x是被选择作为插入工件的位置,y是插入的位置,将跟飞鸟序列πfellow={π1,π2,...,πn}中x位上的πx插入到y位上,从而产生新的序列。
步骤S31中,对Cmax(FBc[])和Min(Cmax(FBc[]))解释如下:
Cmax(FBc[])是指对FBc数组里的各组序列求Cmax值,Min(Cmax(FBc[]))指各Cmax值中的最小值。
步骤S35中,对A,B的解释如下:
A,B为常数,取值范围分别为:A∈{1,2,...(ps-1)/2},B∈{1,2,...(ps-1)/2}。
步骤S232中,旋转角Δθ的取值范围如下:
旋转角Δθ应大于0小于180°,即0<d<180°。
步骤S271中,参数值d的取值范围如下:
d应大于0小于工件数n,即0<d<n。
本发明的优点在于:
(1)本发明采用新颖群智能优化算法中的候鸟算法,具有参数少、结构简单、收敛速度快、较优鲁棒性等优点;
(2)本发明将量子进化与候鸟算法相结合应用于无等待流水调度问题的研究,有利于充分发挥各自算法的优势,进一步提高优化效率并降低调度成本;
(3)本发明采用量子双链编码方式及量子旋转门操作对候鸟算法进行改进,加快了寻优速度,具有较强的全局搜索能力。
附图说明
下面对本发明说明书各幅附图表达的内容及图中的标记作简要说明:
图1为本发明求解无等待流水调度问题流程图;
图2为3个工件在3台机器上的无等待流水调度甘特图;
图3为量子候鸟协同优化算法(CQMB)的流程示意图;
图4量子比特在单位圆中示意图;
图5旋转角更新示意图
图6LOV规则示意图;
图7为量子候鸟协同优化算法执行“插入”方式生成邻域解示意图;
图8为量子候鸟协同优化算法执行“交换”方式生成邻域解示意图。
具体实施方式
下面对照附图,通过对最优实施例的描述,对本发明具体实施方式作进一步详细的说明。
如图1所示,基于量子候鸟优化算法求解无等待流水调度问题的方法,包括如下步骤:
步骤S1、分析无等待流水调度问题;
步骤S2、运用量子候鸟协同优化算法在无等待流水调度的约束条件下求解;
步骤S3、得出各规模工件的生产次序及对应的最大完工时间。
在求各规模工件的生产次序及对应的最大完工时间前,需要了解无等待流水调度问题的甘特图,如图2所示的是3个工件在3台机器上的无等待流水调度。Dπ1,π2表示的是工件π1和π2的开工时间差,Cmax表示最大完工时间。
分析无等待流水调度问题的方法为:
S11、n个工件在m台机器上加工,所有工件在各机器上的加工路线均相同;
S12、某一时刻一个工件只能在一台机器上加工,一台机器在某一时刻只能加工一个工件,同一工件在相邻两道工序之间没有等待时间,每个工件在每道工序的加工时间已知;
S13、安排各工件的生产次序,使得调度指标最小,所述调度指标是指最大完工时间。
步骤S13中调度指标计算方法为:
S131、设工件数为{1,2,…,n}和机器数为{1,2,…,m},Pu,v为工件u在机器v上的加工时间,u∈{1,2,…,n},v∈{1,2,…,m};
S132、Ck,i为机器i上第k个工件的完工时间,k∈{2,…,n};
S134、开工时间差的计算公式为:
最大完工时间计算公式为:
如图3所示,为量子候鸟协同优化算法的流程图,通过量子候鸟协同优化算法求解无等待流水调度问题包括如下步骤:
S21、初始化参数:种群大小ps,最大迭代次数Umax,邻域解个数Cnum,候鸟群体左翼数组Lp[m1],候鸟群体右翼数组Rp[m2],巡回次数K,分享邻域解个数Snum;
S22、初始化种群,随机生成ps个个体{x1,x2,…,xps};
S23、对初始化的种群中的ps个个体执行量子双链编码种群,并引入量子旋转门,然后对量子候鸟编码采用LOV规则生成ps个序列π={π1,π2,…,πn},π为工件按照一定加工次序形成的序列;
S24、对调度序列π执行变异的FL算法进行优化并对优化后的ps个序列进行目标值排序,将目标值最小的序列作为初始解π′;
S25、令U=1,2,…,Umax开始进入迭代循环操作;
S26、令巡回次数V=1,2,…,K开始进入巡回循环操作;
S27、令π′为领飞鸟的解,用IG算法对初始解π′对应的序列进行处理生成:领飞鸟的邻域解集合LBc,LBc={N1,N2,…NCnum}。领飞鸟的Cnum个邻域解中Nbest的目标值最小,记为Min{N1,N2,…NCnum},其中邻域解对应的是各个工件的序列;
S28、将领飞鸟的Cnum个邻域解中的最小目标值Nbest:Min{N1,N2,…NCnum}与初始解π′:{π1,π2,…,πn}比较目标值,若小于初始解的目标值则将初始解π′替换成Nbest;
S29、将集合LBc中未被使用的邻域解按照目标值由小到大排序,按由小到大顺序依次取2Snum个邻域解随机填入左集合Sn_L[]和右集合Sn_R[]中,使得两个集合都包含Snum个邻域解;
S30、令m1=1,2,…,(ps-1)/2,依次循环进入S31步骤循环,生成数组Lp;
S31、随机使用交换函数Swap和插入函数Insert的方法生成候鸟左翼数组Lp[m1]的Cnum–Snum个邻域解,然后和左集合Sn_L合并构成Lp[m1]的邻域解集合FBc[m1];将邻域解集合FBc[]里最大完工时间最小的序列赋值给Nbest,即Nbest=Min(Cmax(FBc[]));若加工序列Nbest对应的最大完工时间小于左翼数组Lp[m1]序列的最大完工时间,即Cmax(Nbest)<Cmax(Lp[m1]),则使Nbest赋值给Lp[m1],并将FBc[m1]中未被使用邻域解按最大完工时间从小到大排序,将较小的Snum个邻域解填入Sn_L[]中;
S32、令m2=1,2,…,(ps-1)/2,依次循环进入S33步骤循环,生成数组Rp;
S33、随机使用交换函数Swap和插入函数Insert的方法生成候鸟右翼数组Rp[m2]的Cnum–Snum个邻域解,然后和Sn_R[]合并构成Rp[m2]的邻域解集合FBc[m2];将邻域解集合FBc[m2]里最大完工时间最小的序列赋值给Nbest,即Nbest=Min(Cmax(FBc[]));若加工序列Nbest对应的最大完工时间小于右翼数组Rp[m2]序列的最大完工时间,即Cmax(Nbest)<Cmax(Rp[m2]),则使Nbest赋值给Rp[m2],并将FBc[m2]中未被使用邻域解按最大完工时间从小到大排序,将较小的Snum个邻域解填入Sn_R[]中;
S34、判断V是否循环至K,若是,则执行下一步,否则进入S26步骤进行迭代;
S35、分别求数组Lp和Rp的最大完工时间Cmax,将其对应最大完工时间Cmax最小的Lp[A],Rp[B]分别赋值给左右两翼数组的首个解Lp[1],Rp[1]。比较左右两翼的首个解Lp[1]和Rp[1]的最大完工时间Cmax,将较小者作为领飞鸟,旧的领飞鸟自动回至所在翼的尾部;
S36、输出领飞鸟的解作为工件加工序列,求出加工序列对应的最大完工时间;
S37、判断U是否循环至Umax,若是,则量子候鸟优化算法结束,否则进入S25步骤进行迭代。
如图4所示,S23中量子双链编码包括如下步骤:
因此,量子比特可以由圆上的一点P(cos(θ),sin(θ))描述。长度为n的量子个体即种群个体q由n个量子位组成,q可描述为:
群体初始化时,量子角θj(1≤j≤n)在[0,2π]内随机生成。
如图5所示,S23中,采用量子旋转门包括如下步骤:
S232、量子旋转门是根据当前最优解变化自适应调整旋转角Δθ,使算法的进化方向趋于当前最优解方向,避免算法提前收敛。量子候鸟优化算法中用于更新量子比特相位的量子旋转门为:
更新过程即为:
在S231步骤中由n个量子位组成的种群个体q可描述为:
每个种群个体q代表一种加工序列。
采用LOV规则生成工件加工序列对q进行降序排序,排序后的值依次进行编号,对应搜索排序后每个值在排序前的位置,以排序前位置重新将编号排序得到新的位置序列{π1,π2,…,πn}其中πn工件的加工序列号。这里举例说明,如采用量子双链量子编码方式及量子旋转门操作后得到的种群编码为:0.56、0.28、0.37、0.09、0.96、0.55,则采用LOV规则生成工件加工序列的步骤为:先对数值进行降序排列:先对数值进行降序排列:0.96、0.56、0.55、0.37、0.28、0.09,对排序后的每个值对应一个序号,搜索每个值在排序前序列中的位置,按排序前的位置将每个值对应的序号重新排列,如排序后的序列对应的序号为1、2、3、4、5、6,则以这些序号对应的值在排序前的位置重新排列为2、5、4、6、1、3,则序号2、5、4、6、1、3即为路径序列,即为工件的加工顺序。
S23中,采用LOV规则如图6所示包括如下步骤:
S233、对于候鸟种群中的每个个体xi(1≤i≤ps)即代表S231步骤中的q,由量子编码过程后得出的量子种群数组,得出的一系列值进行降序排列;
S234、对排序后的序列依次搜索每个序号对应其排序前的量子种群位置,将初始作业顺序{j1,j2,…,jn}按顺序插入,即得出解码为调度序列{π1,π2,…,πn}。
S24中,采用FL算法包括如下步骤:
S241、对于j∈{1,2,3,…,ps},计算各种群的Cmax值,取最小的种群个体的初始排列π0={π0(1),π0(2),…π0(n)};
S242、取出π0的前两个工件π0(1)和π0(2),将其排序得到两个部分调度{π0(1),π0(2)}和{π0(2),π0(1)},分别评价这两个部分调度的Cmax值,将较好的部分排列作为当前调度,记为π=(π(1),π(2)),令k=3;
S243、取出π0的第k个工件π0(k),将其分别插入到π的所有位置l,1≤l≤k,共得到k个部分排列,评价所得部分排列,并将Cmax最小的部分排列作为当前调度π;
S244、令i=1,2,…,k-1和i′=i+1,i+2,…,k,分别交换当前调度π的π(i)和π(i′),共得到k×(k-1)/2个邻域解,评价这些邻域解,令具有最小目标值的邻域解为π″,如果Cmax(π″)<Cmax(π),则令π=π″;
S245、令k=k+1,如果k≤n,则转至S243步骤;否则输出π,算法结束。
S24中,对优化后的序列进行目标值排序解释如下:
S246、对使用FL算法处理后的ps个序列求Cmax值,并按照其值进行排序,将最小的值对应的π′作为初始解。
S27中,运用IG算法包括如下步骤:
S271、首先参考相关实验数据,根据分析结果设定一个合适的参数值d,作为序列工件删减的个数;
S272、对当前的领飞鸟序列πled={π1,π2,…,πn},随机删减序列πled中的d个工件,并将被删减的这d个工件依次存入序列πd中,πled删减d个工件之后的序列记为π″′={π1,π2,…,πn-d};
S273、将πd中的第一个工件插入π″′中的所有空位,分别评估计算插入工件后序列的最大完工时间,保留最大完工时间最短的序列作为新的π″′;
S274、然后再按照S273步骤中相同的操作依次插入πd中剩下的工件,直至把πd中所有的工件都插入序列,将最大完工时间最短的序列作为领飞鸟序列πled的一个邻域解;
S275、若生成的邻域解个数小于Cnum,重复S272,S273,S274操作,否则操作停止;
S276、完成上述操作后,即可生成领飞鸟的邻域解集合LBc[]。
S31中调用Swap和Insert函数如图7和图8所示包括如下方法:
执行交换方法,在序列长度的范围内随机生成两个随机数x,y(x≠y),将跟飞鸟序列πfellow={π1,π2,...,πn}中x和y位上的πx和πy进行交换,从而产生新的序列。例如,序列{2,4,6,3,1,5}中第3位和第5位上的6和1执行交换操作产生新的序列{2,4,1,3,6,5};
执行插入方法,在序列长度的范围内随机生成两个随机数x,y(x≠y),x是被选择作为插入工件的位置,y是插入的位置,将跟飞鸟序列πfellow={π1,π2,...,πn}中x位上的πx插入到y位上,从而产生新的序列。例如,序列{2,4,6,3,1,5}中第3位上的6插入到第5位,产生新的序列{2,4,3,1,6,5}。
S31中,对Cmax(FBc[])和Min(Cmax(FBc[]))解释如下:
Cmax(FBc[])是指对FBc数组里的各组序列求Cmax值,Min(Cmax(FBc[]))指各Cmax值中的最小值。
S35中,对A,B的解释如下:
A,B为常数,取值范围分别为:A∈{1,2,...(ps-1)/2},B∈{1,2,...(ps-1)/2}。
S232中,旋转角Δθ的取值范围如下:
旋转角Δθ应大于0小于180°,即0<d<180°。
S271中,参数值d的取值范围如下:
d应大于0小于工件数n,即0<d<n。
显然本发明具体实现并不受上述方式的限制,只要采用了本发明的方法构思和技术方案进行的各种非实质性的改进,均在本发明的保护范围之内。
Claims (7)
1.基于量子候鸟优化算法求解无等待流水调度问题的方法,其特征在于:包括如下步骤:
S1、分析无等待流水调度问题;
S2、运用量子候鸟协同优化算法在无等待流水调度的约束条件下求解;
S3、得出各规模工件的生产次序及对应的最大完工时间;
在步骤S1中分析无等待流水调度问题的方法为:
S11、n个工件在m台机器上加工,所有工件在各机器上的加工路线均相同;
S12、某一时刻一个工件只能在一台机器上加工,一台机器在某一时刻只能加工一个工件,同一工件在相邻两道工序之间没有等待时间,每个工件在每道工序的加工时间已知;
S13、安排各工件的生产次序,使得调度指标最小,所述调度指标是指最大完工时间;
步骤S13中调度指标计算方法为:
S131、设工件数为{1,2,…,n}和机器数为{1,2,…,m},Pu,v为工件u在机器v上的加工时间,u∈{1,2,…,n},v∈{1,2,…,m};
S132、Ck,i为机器i上第k个工件的完工时间,k∈{2,…,n};
S133、π为工件按照一定加工次序形成的序列,记为{π1,π2,…πk};由于受到工件加工过程无等待的约束,相邻的工件πk-1和πk之间存在一个开工时间差,记为Cmax(π)为序列π的最大完工时间;
S134、开工时间差的计算公式为:
最大完工时间计算公式为:
通过求得各工件之间的开工时间差并运用Cmax(π)公式即可求出目标值最大完工时间;
量子候鸟协同优化算法求解方法包括如下步骤:
S21、初始化参数:种群大小ps,最大迭代次数Umax,邻域解个数Cnum,候鸟群体左翼数组Lp[m1],候鸟群体右翼数组Rp[m2],巡回次数K,分享邻域解个数Snum;
S22、初始化种群,随机生成ps个个体{x1,x2,…,xps};
S23、对初始化的种群中的ps个个体执行量子双链编码种群,并引入量子旋转门,然后对量子候鸟编码采用LOV规则生成ps个序列π={π1,π2,…,πn},π为工件按照一定加工次序形成的序列;
S24、对调度序列π执行变异的FL算法进行优化并对优化后的ps个序列进行目标值排序,将目标值最小的序列作为初始解π′;
S25、令U=1,2,…,Umax开始进入迭代循环操作;
S26、令巡回次数V=1,2,…,K开始进入巡回循环操作;
S27、令π′为领飞鸟的解,用IG算法对初始解π′对应的序列进行处理生成:领飞鸟的邻域解集合LBc,LBc={N1,N2,…NCnum};领飞鸟的Cnum个邻域解中Nbest的目标值最小,记为Min{N1,N2,…NCnum},其中邻域解对应的是各个工件的序列;
S28、将领飞鸟的Cnum个邻域解中的最小目标值Nbest:Min{N1,N2,…NCnum}与初始解π′:{π1,π2,…,πn}比较目标值,若小于初始解的目标值则将初始解π′替换成Nbest;
S29、将集合LBc中未被使用的邻域解按照目标值由小到大排序,按由小到大顺序依次取2Snum个邻域解随机填入左集合Sn_L[]和右集合Sn_R[]中,使得两个集合都包含Snum个邻域解;
S30、令m1=1,2,…,(ps-1)/2,依次循环进入S31步骤循环,生成数组Lp;
S31、随机使用交换函数Swap和插入函数Insert的方法生成候鸟左翼数组Lp[m1]的Cnum–Snum个邻域解,然后和左集合Sn_L合并构成Lp[m1]的邻域解集合FBc[m1];将邻域解集合FBc[]里最大完工时间最小的序列赋值给Nbest,即Nbest=Min(Cmax(FBc[]));若加工序列Nbest对应的最大完工时间小于左翼数组Lp[m1]序列的最大完工时间,即Cmax(Nbest)<Cmax(Lp[m1]),则使Nbest赋值给Lp[m1],并将FBc[m1]中未被使用邻域解按最大完工时间从小到大排序,将较小的Snum个邻域解填入Sn_L[]中;
S32、令m2=1,2,…,(ps-1)/2,依次循环进入S33步骤循环,生成数组Rp;
S33、随机使用交换函数Swap和插入函数Insert的方法生成候鸟右翼数组Rp[m2]的Cnum–Snum个邻域解,然后和Sn_R[]合并构成Rp[m2]的邻域解集合FBc[m2];将邻域解集合FBc[m2]里最大完工时间最小的序列赋值给Nbest,即Nbest=Min(Cmax(FBc[]));若加工序列Nbest对应的最大完工时间小于右翼数组Rp[m2]序列的最大完工时间,即Cmax(Nbest)<Cmax(Rp[m2]),则使Nbest赋值给Rp[m2],并将FBc[m2]中未被使用邻域解按最大完工时间从小到大排序,将较小的Snum个邻域解填入Sn_R[]中;
S34、判断V是否循环至K,若是执行下一步,否则进入S26步骤进行迭代;
S35、分别求数组Lp和Rp的最大完工时间Cmax,将其对应最大完工时间Cmax最小的Lp[A],Rp[B]分别赋值给左右两翼数组的首个解Lp[1],Rp[1];比较左右两翼的首个解Lp[1]和Rp[1]的最大完工时间Cmax,将较小者作为领飞鸟,旧的领飞鸟自动回至所在翼的尾部;
S36、输出领飞鸟的解作为工件加工序列,求出加工序列对应的最大完工时间;
S37、判断U是否循环至Umax,若是,则量子候鸟协同优化算法结束,否则进入S25步骤进行迭代。
2.如权利要求1所述的基于量子候鸟优化算法求解无等待流水调度问题的方法,其特征在于:S23中量子双链编码包括如下步骤:
S231、流水调度问题中的解为所有可能形式的作业排列,量子个体中的每个量子位可代表一个作业,且的概率符用量子角的形式表示,即
因此,量子比特可以由圆上的一点P(cos(θ),sin(θ))描述;长度为n的量子个体即种群个体q由n个量子位组成,q可描述为:
群体初始化时,量子角θj(1≤j≤n)在[0,2π]内随机生成。
3.如权利要求1所述的基于量子候鸟优化算法求解无等待流水调度问题的方法,其特征在于:在步骤S23中,采用量子旋转门包括如下步骤:
S232、量子旋转门是根据当前最优解变化自适应调整旋转角Δθ,使算法的进化方向趋于当前最优解方向,避免算法提前收敛;量子候鸟优化算法中用于更新量子比特相位的量子旋转门为:
更新过程即为:
在S231步骤中由n个量子位组成的种群个体q可描述为:
每个种群个体q即代表一种加工序列。
4.如权利要求1所述的基于量子候鸟优化算法求解无等待流水调度问题的方法,其特征在于:在步骤S23中,采用LOV规则包括如下步骤:
S233、对于候鸟种群中的每个个体xi(1≤i≤ps)即代表S231步骤中的q,由量子编码过程后得出的量子种群数组,得出的一系列值进行降序排列;
S234、对排序后的序列依次搜索每个序号对应其排序前的量子种群位置,将初始作业顺序{j1,j2,…,jn}按顺序插入,即得出解码为调度序列{π1,π2,…,πn}。
5.如权利要求1所述的基于量子候鸟优化算法求解无等待流水调度问题的方法,其特征在于:在步骤S24中,采用FL算法包括如下步骤:
S241、对于j∈{1,2,3,…,ps},计算各种群的Cmax值,取最小的种群个体的初始排列π0={π0(1),π0(2),…π0(n)};
S242、取出π0的前两个工件π0(1)和π0(2),将其排序得到两个部分调度{π0(1),π0(2)}和{π0(2),π0(1)},分别评价这两个部分调度的Cmax值,将较好的部分排列作为当前调度,记为π=(π(1),π(2)),令k=3;
S243、取出π0的第k个工件π0(k),将其分别插入到π的所有位置l,1≤l≤k,共得到k个部分排列,评价所得部分排列,并将Cmax最小的部分排列作为当前调度π;
S244、令i=1,2,…,k-1和i′=i+1,i+2,…,k,分别交换当前调度π的π(i)和π(i′),共得到k×(k-1)/2个邻域解,评价这些邻域解,令具有最小目标值的邻域解为π″,如果Cmax(π″)<Cmax(π),则令π=π″;
S245、令k=k+1,如果k≤n,则转至S243步骤;否则输出π,算法结束。
6.如权利要求1所述的基于量子候鸟优化算法求解无等待流水调度问题的方法,其特征在于:在步骤S24中,对优化后的序列进行目标值排序解释如下:
S246、对使用FL算法处理后的ps个序列求Cmax值,并按照其值进行排序,将最小的值对应的π′作为初始解。
7.如权利要求1所述的基于量子候鸟优化算法求解无等待流水调度问题的方法,其特征在于:在步骤S27中,运用IG算法包括如下步骤:
S271、首先参考相关实验数据,根据分析结果设定一个合适的参数值d,作为序列工件删减的个数;
S272、对当前的领飞鸟序列πled={π1,π2,…,πn},随机删减序列πled中的d个工件,并将被删减的这d个工件依次存入序列πd中,πled删减d个工件之后的序列记为π″′={π1,π2,…,πn-d};
S273、将πd中的第一个工件插入π″′中的所有空位,分别评估计算插入工件后序列的最大完工时间,保留最大完工时间最短的序列作为新的π″′;
S274、然后再按照S273步骤中相同的操作依次插入πd中剩下的工件,直至把πd中所有的工件都插入序列,将最大完工时间最短的序列作为领飞鸟序列πled的一个邻域解;
S275、若生成的邻域解个数小于Cnum,重复S272,S273,S274操作,否则操作停止;
S276、完成上述操作后,即可生成领飞鸟的邻域解集合LBc[]。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811655018.XA CN109829535B (zh) | 2018-12-30 | 2018-12-30 | 基于量子候鸟优化算法求解无等待流水调度问题的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811655018.XA CN109829535B (zh) | 2018-12-30 | 2018-12-30 | 基于量子候鸟优化算法求解无等待流水调度问题的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109829535A CN109829535A (zh) | 2019-05-31 |
CN109829535B true CN109829535B (zh) | 2023-04-07 |
Family
ID=66860098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811655018.XA Active CN109829535B (zh) | 2018-12-30 | 2018-12-30 | 基于量子候鸟优化算法求解无等待流水调度问题的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109829535B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110261735B (zh) * | 2019-06-18 | 2021-07-20 | 西华大学 | 基于改进量子布谷鸟算法的配电网故障定位方法 |
CN115333720B (zh) * | 2022-10-14 | 2023-03-10 | 江苏启灏医疗科技有限公司 | 一种呼叫中心数据传输方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09282359A (ja) * | 1996-04-09 | 1997-10-31 | Nippon Telegr & Teleph Corp <Ntt> | ジョブショップスケジューリング装置 |
CN108287531A (zh) * | 2018-01-10 | 2018-07-17 | 华中科技大学 | 一种用于混合流水车间调度问题的改进候鸟优化方法 |
CN109002017A (zh) * | 2018-07-06 | 2018-12-14 | 昆明理工大学 | 一种多样式空心玻璃杯制造的优化调度方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107102552B (zh) * | 2017-06-12 | 2018-03-09 | 合肥工业大学 | 基于混合集合蛙跳与变邻域算法的平行机调度方法及系统 |
-
2018
- 2018-12-30 CN CN201811655018.XA patent/CN109829535B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09282359A (ja) * | 1996-04-09 | 1997-10-31 | Nippon Telegr & Teleph Corp <Ntt> | ジョブショップスケジューリング装置 |
CN108287531A (zh) * | 2018-01-10 | 2018-07-17 | 华中科技大学 | 一种用于混合流水车间调度问题的改进候鸟优化方法 |
CN109002017A (zh) * | 2018-07-06 | 2018-12-14 | 昆明理工大学 | 一种多样式空心玻璃杯制造的优化调度方法 |
Non-Patent Citations (2)
Title |
---|
基于离散候鸟迁徙优化算法的置换流水车间调度问题;张素君等;《华东理工大学学报(自然科学版)》;20160630(第03期);全文 * |
混合候鸟迁徙优化算法求解柔性作业车间调度问题;姚妮;《华中师范大学学报(自然科学版)》;20160215(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109829535A (zh) | 2019-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Meng et al. | A hybrid artificial bee colony algorithm for a flexible job shop scheduling problem with overlapping in operations | |
Karthikeyan et al. | A hybrid discrete firefly algorithm for solving multi-objective flexible job shop scheduling problems | |
Mattfeld | Evolutionary search and the job shop: investigations on genetic algorithms for production scheduling | |
CN107783831A (zh) | 一种任务调度方法及装置 | |
CN109829535B (zh) | 基于量子候鸟优化算法求解无等待流水调度问题的方法 | |
Lei | Multi-objective artificial bee colony for interval job shop scheduling with flexible maintenance | |
CN108287531B (zh) | 一种用于混合流水车间调度问题的改进候鸟优化方法 | |
CN111047272A (zh) | 一种用于多语言协同开发的项目调度方法及装置 | |
FINDIK | Bull optimization algorithm based on genetic operators for continuous optimization problems. | |
Abello et al. | Multiobjective resource-constrained project scheduling with a time-varying number of tasks | |
CN116070761A (zh) | 一种基于基因表达式编程的项目调度规则挖掘方法及系统 | |
Marichelvam et al. | Solving flexible job shop scheduling problems using a hybrid lion optimisation algorithm | |
CN106970840A (zh) | 一种结合任务调度的软硬件划分方法 | |
CN113554231B (zh) | 一种带有作业族的作业车间调度方法及装置 | |
Karoum et al. | Discrete cuckoo search algorithm for solving the cell formation problem | |
Han et al. | A deep reinforcement learning based multiple meta-heuristic methods approach for resource constrained multi-project scheduling problem | |
Wang et al. | Discrete Fruit Fly Optimization Algorithm for Disassembly Line Balancing Problems by Considering Human Worker’s Learning Effect | |
Ping et al. | Improved migratory birds optimisation algorithm to solve low-carbon hybrid lot-streaming flowshop scheduling problem | |
Yao et al. | An improved UKPK-PSO algorithm inspired from block chain technology for flexible job shop scheduling problem | |
Ahmed et al. | On multiobjective evolution model | |
CN106611215A (zh) | 一种新的布谷鸟搜索算法解决作业车间调度问题 | |
CN106383863A (zh) | 一种同构子图查询优化方法 | |
Chen et al. | A novel artificial bee colony algorithm with integration of extremal optimization for numerical optimization problems | |
Xing et al. | An overview of cuckoo-inspired intelligent algorithms and their applications | |
Cao et al. | An Adaptive Multi-population Artificial Bee Colony Algorithm for Multi-objective Flexible Job Shop Scheduling Problem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |