CN117148796A - 一种求解多目标柔性作业车间调度问题的优化方法 - Google Patents
一种求解多目标柔性作业车间调度问题的优化方法 Download PDFInfo
- Publication number
- CN117148796A CN117148796A CN202311055975.XA CN202311055975A CN117148796A CN 117148796 A CN117148796 A CN 117148796A CN 202311055975 A CN202311055975 A CN 202311055975A CN 117148796 A CN117148796 A CN 117148796A
- Authority
- CN
- China
- Prior art keywords
- machine
- workpiece
- population
- individuals
- machines
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 245
- 238000005457 optimization Methods 0.000 title claims abstract description 38
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 52
- 230000008569 process Effects 0.000 claims description 139
- 239000013598 vector Substances 0.000 claims description 74
- 210000000349 chromosome Anatomy 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 15
- 230000035772 mutation Effects 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000007423 decrease Effects 0.000 claims description 3
- 238000009826 distribution Methods 0.000 claims description 3
- 238000003754 machining Methods 0.000 claims description 3
- 238000004321 preservation Methods 0.000 claims description 3
- 108090000623 proteins and genes Proteins 0.000 claims description 3
- 238000010187 selection method Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 12
- 238000002474 experimental method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000002028 premature Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000002068 genetic effect Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 241000899793 Hypsophrys nicaraguensis Species 0.000 description 2
- 230000035800 maturation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 235000009508 confectionery Nutrition 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000011089 mechanical engineering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000005070 ripening Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008719 thickening Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41865—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32252—Scheduling production, machining, job shop
-
- 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
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Factory Administration (AREA)
Abstract
本发明公开了一种求解多目标柔性作业车间调度问题的优化方法,包括以下步骤:建立柔性作业车间调度问题FJSP的两个子问题;建立目标函数;确定调度的约束条件;进行第一阶段:初始化种群,采用迭代次数为T的NSGA‑II算法得到初始种群N;进行第二阶段:使用具有Gen迭代次数的NSGA‑II算法来获得Pareto最优解;选出精英子代,作业执行完毕,调度结束。本发明能够快速有效地得到较优的调度方案,最小化最大完工时间、最大负荷机器的工作量和所有机器的总工作量。
Description
技术领域
本发明涉及一种求解多目标柔性作业车间调度问题的优化方法。
背景技术
作为生产调度和组合优化问题的一部分,作业车间调度问题(job-shopscheduling problem,JSP)在近几十年来吸引了越来越多的各行各业(如机械工程、数学和计算机软件工程)的研究人员。柔性作业车间调度问题Flexible job-shop schedulingproblem(FJSP)继承了JSP的特点,其中每个工序允许由给定集合中的任何机器而不是指定的机器处理,并且已经证明FJSP是强NP-难。FJSP由两个子问题组成:一个是路由子问题,每个工序分配给一组机器中的一个机器,另一个是调度问题,即通过在所有机器上对分配的工序进行排序来获得一个可用的调度。因此,FJSP比经典JSP更难解决,因为它需要确定相关机器中的工序分配。
FJSP(SO-FJSP)的单目标优化已得到广泛研究,通常会最小化完成所有工件所需的时间。然而,许多行业(例如,飞机、半导体制造和电子产品)在其调度问题中存在权衡,在这些问题中需要考虑多个目标以优化系统的整体性能。因此,MO-FJSP可能更接近现实的生产环境,需要进一步研究。近年来,MO-FJSP引起了越来越多领域研究人员的兴趣,并提出了许多算法。与SO-FJSP相比,MO-FJSP有两个问题需要处理:目标之间的不可通约性和目标之间的矛盾(即优化单个目标通常会导致另一个目标的恶化)。
对上述研究表明,NSGAII算法以其优化复杂问题的效率高和能够获得广泛的Pareto最优解等优点,已被广泛用于求解MO-FJSP。而具有两阶段优化方案的算法也被广泛研究以解决MOFJSP,因为它可以充分挖掘各种元启发式算法的优化潜力。但是,NSGA-II算法存在早熟收敛到本地解的缺点,并且该算法采用两阶段优化方案存在无法在第一阶段获得稳定优质的初始种群的缺点。
发明内容
为了解决上述技术问题,本发明提供一种算法简单、快速有效的求解多目标柔性作业车间调度问题的优化方法。
本发明解决上述问题的技术方案是:一种求解多目标柔性作业车间调度问题的优化方法,包括以下步骤:
步骤1:建立柔性作业车间调度问题的两个子问题;一个是路由子问题,将一组可用机器中的每个工序分配给一台机器;另一个是调度子问题,将所有机器上分配的工序排序,以获得优化某个目标函数的可行调度;
步骤2:建立目标函数,用于最小化三个目标,三个目标分别为机器的最大完成时间、负载最大的机器的工作负载、所有机器的总工作量;
步骤3:确定调度的约束条件;
步骤4:进行第一阶段:初始化种群,采用迭代次数为T的NSGA-II算法得到初始种群N;初始种群由三部分组成,随迭代次数变化;
步骤5:进行第二阶段:使用具有Gen迭代次数的NSGA-II算法来获得Pareto最优解;
步骤6:选出精英子代,作业执行完毕,调度结束。
上述求解多目标柔性作业车间调度问题的优化方法,所述步骤1中,FJSP定义如下,有一组n个工件和一组m台机器,i表示第i个工件,i∈{1,2,…,n},k表示第k台机器,k∈{1,2,…,m},Oij表示工件i的第j道工序,j∈{1,2,…,ni},ni是工件i的工序总数,Mij表示工序Oij的可选机器,Pijk表示工序Oij在机器k上的处理时间,tijk表示工序Oij在机器上k的开始时间,Cij表示工序Oij的完成时间;FJSP由两个子问题组成:分配的路由子问题,将每个工序分配给一组可用机器中的一台机器;调度子问题,将分配的工序在所有机器上排序,以获得优化某个目标函数的可行调度。
上述求解多目标柔性作业车间调度问题的优化方法,所述步骤2中,建立的目标函数为:
其中Ck表示机器k的完成时间,Wk表示机器k的工作负载。
上述求解多目标柔性作业车间调度问题的优化方法,所述步骤3中,每个工序在处理过程中不能被中断、每台机器在任何时候最多只能处理一道工序、一道工序不能由多台机器同时处理、工序之间的移动时间和机器的设置时间忽略不计、机器彼此独立、工件是相互独立的;
约束函数为:不等式(2)保证了运算优先约束,xijk为一变量;
不等式(3)确保每台机器每次只处理一道工序作;等式(4)表明可从可用的机器中选择一台机器来进行操作;
[(Chg-Cij-thgk)xhgkxijk≥0]
根据是否选择机器k加工步骤Oij,使用等式(5)确定xijk的值;
上述求解多目标柔性作业车间调度问题的优化方法,所述步骤4的具体步骤为:
Step1:在第一阶段中,采用基于工序的表示方法,由工件编号组成;种群中每个初始个体的工序作序列向量是按照随机编码原理生成的,随机生成N个个体作为初始种群,设当前迭代次数t=1;
Step2:根据目标1、目标2、目标3计算个体的适应度值;然后分别选出适应度最好的个体分别作为女王1、女王2、女王3;如果t>1,比较父代蜂王和子代蜂王的适应度值,相应地选出最好的作为新的蜂王;
Step3:使用轮盘赌方法根据目标1、目标2和目标3的适合度值选择P个体;
Step4:随机生成R个体,并将这些个体分别与Step3生成的P个体组合;α为迭代次数比;
Step5:计算自适应交叉、变异概率;工序序列向量采用随机选择单点交叉SPX或多点交叉MPX算子;机器分配向量采用两点交叉TPX作为交叉算子;以概率Pm随机选择一个交换变异或反向变异算子作为工序序列向量,并为机器分配向量选择多点变异MPM算子;步骤Step2选出的新蜂王与步骤Step4产生的其他相应个体进行交叉变异,分别产生子代种群1、子代种群2和子代种群3;
Step6:将三个子代种群组合成一个组合种群;
Step7:快速非支配排序和拥塞计算;
Step8:选择最好的N′个体作为后代种群;
Step9:令t=t+1;如果t>T,继续下一步;否则返回第Step2步,种群由选定的个体代替。
上述求解多目标柔性作业车间调度问题的优化方法,所述步骤5的具体步骤为:
Step10:在第二阶段中,选择S杰出个体作为精英个体,S杰出个体来自N的个人;
x′+S+0.5N≥N (7)
Step11:计算自适应交叉、变异概率;工序序列向量采用优先工序交叉POX或基于工件的交叉JBX,机器分配向量采用两点交叉TPX;使用二元锦标赛选择方法从后代种群中选择交叉个体,即选择的N个体;公式(8)中,D(i,j)表示的是一个差度函数,用于计算将要交叉的两条染色体,即染色体i与染色体j之间的相似性,其中L为染色体的长度,ail为染色体i中的第l段基因;使用优先工序交叉;否则,使用基于工件的交叉;公式(9)中,u表示的是一个设置为0.7的参数。随着u的减少,染色体倾向于选择多点保存交叉;
D(i,j)≤u,Precedenceoperation crossover
D(i,j)>u,Job-based crosspover (9)
Step12:如果个体处于Pareto最前沿,则选择交换变异;否则为工序序列向量选择二次结合变异TBM或反向变异;机器分配向量也选择MPM算子,当概率Pm<=0.1的情况下,当后代等级=1时,则选择交换变异;若后代等级≠1时,选择两次结合变异或反向变异;当概率Pm>0.1的情况下,种群不会发生变异;
Step13:随机产生新的R′个体;α′为新的迭代次数比;
Step14:组合从Step10、Step12和Step13获得的三部分个体;
Step15:用Step7处理结合种群产生后代种群;
Step16:如果t>GEN,输出结果;否则,t=t+1,返回Step10。
上述求解多目标柔性作业车间调度问题的优化方法,在染色体编码与解码阶段,对于工序顺序向量方面,采用基于工序的表示方法,由工件编号组成,表示使用了一个从1到n的不间断整数数组,每个整数出现Oni次,其中Oni是工件i的工序总数;因此,初始工序序列种群的长度等于通过从左到右扫描工序顺序,工件号的第j次出现表示该工件的第j次工序;种群中每个初始个体的工序序列向量是按照随机编码原理生成的,通过使用这些表示特征,将工序序列向量的任何排列解码为可行的解决方案;
机器分配向量表示所选的机器,这些机器被分配给所有工件的相应工序;它包含n部分,第i部分的长度是Oni,因此这个向量的长度也等于这个向量的第i部分表示第i个工件的机器分配集;假设一个机器集Sih={mih1,mih2,…,mihCih}被选中来处理工件i的第h道工序,mihCih表示第Cih个机器加工工件i的第h道工序;一个生成集{gi1,gi2,…gih,……,giCni}表示机器分配向量的第i部分,gih是1到Cih之间的整数,giCni表示机器分配向量的第Cni部分,这意味着工件i的第h道工序由来自Sih的第gih机器mihgih处理,通过对每个工件的每个工序随机选择可用的机器,生成种群中每个初始个体的机器分配向量。
上述求解多目标柔性作业车间调度问题的优化方法,当染色体表示被解码时,每道工序都将按照优先级和机器约束进行可能的工序;使用这种解码方法生成的调度保证是活动调度;解码过程如下实现:
1)根据机器分配向量识别所有工序的机器;
2)确定用于处理每个工件的机器集;
3)确定每台机器的工序集合;
4)确定工序的允许启动时间;ASij=Ci(j-1),其中ASij表示工序Oij的允许开始时间,而Ci(j-1)是相同工件的工序Oij的完成时间;
5)计算工序Oij在机器上的空闲时间,并得到空闲区域[t_start,t_end],其中t_start是这段空闲区域的开始时间,t_end是这段空闲区域的结束时间;从左到右扫描这些区域,如果max(ASij,t_start)+tijk≤t_end,则最早开始时间为Sij=t_start;否则Sij=max(ASij,Ci(j-1));
6)计算每道工序的完成时间:Cij=Sij+tijk;
7)为每个工件的每个工序生成开始时间和完成时间的集合;
通过上述过程,得到了一个FJSP计划。
上述求解多目标柔性作业车间调度问题的优化方法,所述步骤Step5中,工序序列向量采用随机选择单点交叉SPX或多点交叉MPX算子;机器分配向量采用两点交叉TPX作为交叉算子;
SPX的过程描述如下,O1和O2用来表示两个后代;
1-1)生成满足不等式0<b<G的随机参数b,确定交叉位置;
1-2)G1中从1到b的元素在相同位置上复制到O1;G2中从1到b的元素在相同位置上复制到O2;
1-3)计算每个元素的总数;
1-4)G2中的元素从左到右被追加到O1中剩余的空位置上,直到O1中每个元素的总数等于O1中每个元素的总数;G1中的元素从左到右被附加到O2中剩余的空位置上,直到O2中的每个元素的总数等于P2中的每个元素的总数;
MPX的过程描述如下,G1和G2用来表示两个父母:
2-1)生成满足不等式0<b1<b2<P以及b1≠b2的两个随机参数b1和b2来确定交叉的位置;
2-2)P1中b1到b2的元素被加到O1最左边的位置上;G2中b1到b2的元素被加到O2最左边的位置上;
2-3)计算每个元素的总数;
2-4)G2中的元素从左到右被追加到O1中剩余的空位置,直到O1中的每个元素的总数等于G1中的每个元素的总数;G1中的元素从左到右被附加到O2中剩余的空位置,直到O2中每个元素的总数等于G2中的每个元素的总数;
TPX的过程描述如下:
3-1)生成满足不等式0<b1<b2<P以及b1≠b2的两个随机参数b1和b2来确定交叉的位置;
3-2)将G2中b1到b2位置之间的元素附加到O1中相同的位置上,将G1中b1和b2位置之后的元素附加到O1中相同的位置上,用同样的方法生成O2;
交换变异算子的过程描述如下:
4-1)在G1中随机选择两个位置;
4-2)交换选中位置的元素,生成O1;
反向变异算子的过程描述如下:
5-1)在G1中随机选择两个位置;
5-2)反转所选两个位置之间的数字以生成O1;
MPM算子的过程描述如下:
6-1)随机选择G1中l'位置,l'等于机器分配向量长度的一半;
6-2)根据选择的可选机器组来改变这些选择的位置的值,以处理相应的操作。
10.根据权利要求9所述的求解多目标柔性作业车间调度问题的优化方法,其特征在于,所述步骤Step11中,POX的过程描述如下:
7-1)工件集合被随机分为两个子集:Jobset1和Jobset2;
7-2)将G1中属于Jobset1的元素被附加到O1中相同的位置并在G1中删除;G2中属于Jobset2的元素被附加到O2中相同的位置并在G2中删除;
7-3)将G1中剩余的元素从左到右追加到O2中剩余的空位置;并将G2中剩余的元素从左到右追加到O1中剩余的空位置;
JBX的过程描述如下:
8-1)工件集合被随机分为两个子集:Jobset1和Jobset2;
8-2)将G1中属于Jobset1的元素追加到O1中相同的位置;并且在G2中属于Jobset2的元素被附加到O2中的相同位置;
8-3)G2中属于Jobset2的元素从左到右被附加到O1中剩余的空位置上;G1中属于Jobset1的元素从左到右被附加到O2中剩余的空位置;
步骤Step12中,TBM的过程描述如下:
9-1)在G1中生成一个随机参数a,a<工序序列向量的长度减去3;
9-2)将G1中的元素a换成a+3,将a+1换成a+2,得到O1。
本发明的有益效果在于:
1、本发明包括两个阶段:第一阶段中使用具有T迭代次数NSGA-II算法来获得初始种群,并提出了一种进化引导方案来更广泛地利用解空间;第二阶段中再次使用具有Gen迭代次数的NSGA-II算法来获得Pareto最优解,为了增强算法的搜索能力,避免早熟收敛,在该阶段引入了更新机制;最后通过将实验结果与已有的一些知名算法的结果进行比较,验证了该算法的有效性;本发明能够快速有效地得到较优的调度方案,最小化最大完工时间、最大负荷机器的工作量和所有机器的总工作量。
2、本发明提出的算法BEG-NSGA-II可以在MO-FJSP的大多数基准测试中获得更多不同的Pareto最优解,而且时间更短。因此,它可以提供更多的方案供生产经理在进行调度决策时进行选择。所提出的计算智能方法(BEG-NSGA-II)可广泛应用于柔性作业车间调度问题,尤其是调度领域的多目标优化问题。
附图说明
图1为本发明的流程图。
图2为本发明的一个FJSP算例图。
图3一个4×5FJSP染色体的编解码例子图,其中(a)为染色体,(b)为解码甘特图。
图4为SPX交叉示意图。
图5为MPX交叉示意图。
图6为TPX交叉示意图。
图7为POX交叉示意图。
图8为JBX交叉示意图。
图9为交换变异算子示意图。
图10为反向变异算子示意图。
图11为TBM突变算子示意图。
图12为机器分配向量的MPM运算符示意图。
图13为实验1中问题4×5的新Pareto解甘特图。
图14为实验2中问题18a的解决方案的甘特图。
图15为实验3中MK08问题解的甘特图。
图16为实验4中问题seti5xyz的甘特图。
具体实施方式
下面结合附图和实施例对本发明作进一步的说明。
如图1所示,一种求解多目标柔性作业车间调度问题的优化方法,包括以下步骤:
步骤1:建立柔性作业车间调度问题FJSP的两个子问题;一个是路由子问题,将一组可用机器中的每个工序分配给一台机器;另一个是调度子问题,将所有机器上分配的工序排序,以获得优化某个目标函数的可行调度。
FJSP定义如下,有一组n个工件和一组m台机器,i表示第i个工件,i∈{1,2,…,n},k表示第k台机器,k∈{1,2,…,m},Oij表示工件i的第j道工序,j∈{1,2,…,ni},ni是工件i的工序总数,Mij表示工序Oij的可选机器,Pijk表示工序Oij在机器k上的处理时间,tijk表示工序Oij在机器上k的开始时间,Cij表示工序Oij的完成时间;FJSP由两个子问题组成:分配的路由子问题,将每个工序分配给一组可用机器中的一台机器;调度子问题,将分配的工序在所有机器上排序,以获得优化某个目标函数的可行调度。
如图2所示,建立一个4×5的FJSP算例图。
步骤2:建立目标函数,用于最小化三个目标,三个目标为机器的最大完成时间、负载最大的机器的工作负载、所有机器的总工作量。
建立的目标函数为:
其中Ck表示机器k的最大完成时间,Wk表示机器k的工作负载。
非支配排序遗传算法Ⅱ(NSGA-Ⅱ)是一种基于种群的多目标进化算法,广泛应用于多目标问题的优化。NSGA-II的核心程序可以简要表述如下:
首先,使用Pt和Ut分别表示当前的父代和子代种群。Pt和Ut的大小都是N,那么Pt和Ut合并形成一个新的总体Rt=Pt∪Ut(大小为2N)。此外,还执行一个称为非主导排序的工序符,它将Rt定义为不同的非主导级别(rank1、rank2等),选择最优的n个成员作为下一代的新种群Pt+1。NSGA-II采用特殊算子计算拥挤距离,然后选取拥挤距离值较大的解。
在本发明中,针对FJSP提出了一种具有两阶段优化方案的蜜蜂进化引导非支配排序遗传算法II(BEG-NSGA-II),其中提出了一种蜜蜂进化引导方案,重点是解决方案空间的开发,并使用一些机制来增强搜索能力并避免早熟收敛。
步骤3:确定调度的约束条件。
每个工序在处理过程中不能被中断、每台机器在任何时候最多只能处理一道工序、一道工序不能由多台机器同时处理、工序之间的移动时间和机器的设置时间忽略不计、机器彼此独立、工件是相互独立的。
约束函数为:不等式(2)保证了运算优先约束,xijk为一变量;
不等式(3)确保每台机器每次只处理一道工序作;等式(4)表明可从可用的机器中选择一台机器来进行操作;
[(Chg-Cij-thgk)xhgkxijk≥0]
根据是否选择机器k加工步骤Oij,使用等式(5)确定xijk的值;
步骤4:进行第一阶段:初始化种群,采用迭代次数为T的NSGA-II算法得到初始种群N;初始种群由三部分组成,随迭代次数变化。为了广泛地开发解决方案空间,在这个阶段发明了一种有效的局部搜索算子以广泛利用解决方案空间。
步骤4的具体步骤为:
Step1:在第一阶段中,采用基于工序的表示方法,由工件编号组成;种群中每个初始个体的工序作序列向量是按照随机编码原理生成的,随机生成N个个体作为初始种群,设当前迭代次数t=1;
Step2:根据目标1、目标2、目标3计算个体的适应度值;然后分别选出适应度最好的个体分别作为女王1、女王2、女王3;如果t>1,比较父代蜂王和子代蜂王的适应度值,相应地选出最好的作为新的蜂王;
Step3:使用轮盘赌方法根据目标1、目标2和目标3的适合度值选择P个体;
Step4:随机生成R个体,并将这些个体分别与Step3生成的P个体组合;α为迭代次数比;
Step5:计算自适应交叉、变异概率;工序序列向量采用随机选择单点交叉SPX或多点交叉MPX算子;机器分配向量采用两点交叉TPX作为交叉算子;以概率Pm随机选择一个交换变异或反向变异算子作为工序序列向量,并为机器分配向量选择多点变异MPM算子;步骤Step2选出的新蜂王与步骤Step4产生的其他相应个体进行交叉变异,分别产生子代种群1、子代种群2和子代种群3;
Step6:将三个子代种群组合成一个组合种群;
Step7:快速非支配排序和拥塞计算;
Step8:选择最高的N′个体作为后代种群;
Step9:令t=t+1;如果t>T,继续下一步;否则返回第Step2步,种群由选定的个体代替。
步骤5:进行第二阶段:使用具有Gen迭代次数的NSGA-II算法来获得Pareto最优解。其中采用了更新机制和一些有用的遗传算子来增强这些搜索能力并避免过早的成熟收敛。
步骤5的具体步骤为:
Step10:在第二阶段中,选择S杰出个体作为精英个体,S杰出个体来自N的个人;
x′+S+0.5N≥N (7)
方程(7)保证了后续子代中有足够数量的个体可供选择,S的值设置为0.3×N;
Step11:计算自适应交叉、变异概率;工序序列向量采用优先工序交叉POX或基于工件的交叉JBX,机器分配向量采用两点交叉TPX;使用二元锦标赛选择方法从后代种群中选择交叉个体,即选择的N个体;公式(8)中,D(i,j)表示的是一个差度函数,用于计算染色体与染色体j(将要交叉的两条染色体)之间的相似性,其中L为染色体的长度,ail为染色体i中的第l段基因。使用优先工序交叉;否则,使用基于工件的交叉;公式(9)中,u表示的是一个设置为0.7的参数。随着u的减少,染色体倾向于选择多点保存交叉。
D(i,j)≤u,Precedenceoperation crossover
D(i,h)>u,Job-based crossover (9)
Step12:如果个体处于Pareto最前沿,则选择交换变异;否则为工序序列向量选择二次结合变异TBM或反向变异;机器分配向量也选择MPM算子,当概率Pm<=0.1的情况下,当后代等级=1时,则选择交换变异;若后代等级≠1时,选择两次结合变异或反向变异;当概率Pm>0.1的情况下,种群不会发生变异;
Step13:随机产生新的R′个体;α′为新的迭代次数比;
Step14:组合从Step10、Step12和Step13获得的三部分个体;
Step15:用Step7处理结合种群产生后代种群;
Step16:如果t>GEN,输出结果;否则,t=t+1,返回Step10。
上述求解多目标柔性作业车间调度问题的优化方法,在染色体编码与解码阶段,对于工序顺序向量方面,采用基于工序的表示方法,由工件编号组成,表示使用了一个从1到n的不间断整数数组,每个整数出现Oni次,其中Oni是工件i的工序总数;因此,初始工序序列种群的长度等于通过从左到右扫描工序顺序,工件号的第j次出现表示该工件的第j次工序;种群中每个初始个体的工序序列向量是按照随机编码原理生成的,通过使用这些表示特征,将工序序列向量的任何排列解码为可行的解决方案;
机器分配向量表示所选的机器,这些机器被分配给所有工件的相应工序;它包含n部分,第i部分的长度是Oni,因此这个向量的长度也等于这个向量的第i部分表示第i个工件的机器分配集;假设一个机器集Sih={mih1,mih2,…,mihCih}被选中来处理工件i的第h道工序,mihCih表示第Cih个机器加工工件i的第h道工序;一个生成集{gi1,gi2,…gih,……,giCni}表示机器分配向量的第i部分,gih是1到Cih之间的整数,giCni表示机器分配向量的第Cni部分,这意味着工件i的第h道工序由来自Sih的第gih机器mihgih处理,通过对每个工件的每个工序随机选择可用的机器,生成种群中每个初始个体的机器分配向量。
如图3(a)所示,其中工序和机器顺序如下:
(O31,M1),(O11,M4),(O21,M2),(O32,M1),(O12,M3),(O22,M4),(O41,M2),(O33,M3),(O42,M5),(O13,M5),(O34,M4),(O23,M5);可以参考表1得到工作目标的值。
表一
当染色体表示被解码时,每道工序都将按照优先级和机器约束进行可能的工序;使用这种解码方法生成的调度保证是活动调度;解码过程如下实现:
1)根据机器分配向量识别所有工序的机器;
2)确定用于处理每个工件的机器集;
3)确定每台机器的工序集合;
4)确定工序的允许启动时间;ASij=Ci(j-1),其中ASij表示工序Oij的允许开始时间,而Ci(j-1)是相同工件的工序Oij的完成时间;
5)计算工序Oij在机器上的空闲时间,并得到空闲区域[t_start,t_end],其中t_start是这段空闲区域的开始时间,t_end是这段空闲区域的结束时间;从左到右扫描这些区域,如果max(ASij,t_start)+tijk≤t_end,则最早开始时间为Sij=t_start;否则Sij=max(ASij,Ci(j-1));
6)计算每道工序的完成时间:Cij=Sij+tijk;
7)为每个工件的每个工序生成开始时间和完成时间的集合。
通过上述过程,得到了一个FJSP计划。
图3显示了编码和解码方法的示例,工件的处理时间和机器日期可以从表1中看到。此示例包含4个工件台机器。Job 1和Job 2都有3道工序;Job 3和Job 4分别包含4和2道工序。图3(a)显示了一个包含两部分的染色体:工序序列向量和机器符号向量。工序序列向量是工件号重复的未分区排列。它包含3个1、3个2、4个3和2个4,因为有4个工件:job 1包含3道工序,job 2包含3道工序,job3包含4道工序,job 4包含2道工序。它的长度是12。由于有4个工件,机器分配向量由4个部分组成。它的长度也是12。每个部分都展示了为工件的相应工序所选择的机器。例如,第一部分包含3个数字,分别是4、3和5。编号4表示选择机器4执行工件1的工序1,编号3表示选择机器3执行工件1的工序2,编号5表示选择机器5执行工件1的工序3。图3(b)显示了图3(a)中基于染色体的时间表甘特图。
所述步骤Step5中,工序序列向量采用随机选择单点交叉SPX或多点交叉MPX算子;机器分配向量采用两点交叉TPX作为交叉算子。
SPX的过程描述如下,O1和O2用来表示两个后代;
1-1)生成满足不等式0<b<G的随机参数b,确定交叉位置;;
1-2)G1中从1到b的元素在相同位置上复制到O1;G2中从1到b的元素在相同位置上复制到O2;
1-3)计算每个元素的总数;
1-4)G2中的元素从左到右被追加到O1中剩余的空位置上,直到O1中每个元素的总数等于O1中每个元素的总数;G1中的元素从左到右被附加到O2中剩余的空位置上,直到O2中的每个元素的总数等于P2中的每个元素的总数;
MPX的过程描述如下,G1和G2用来表示两个父母:
2-1)生成满足不等式0<b1<b2<P以及b1≠b2的两个随机参数b1和b2来确定交叉的位置;
2-2)G1中b1到b2的元素被加到O1最左边的位置上;G2中b1到b2的元素被加到O2最左边的位置上;
2-3)计算每个元素的总数;
2-4)G2中的元素从左到右被追加到O1中剩余的空位置,直到O1中的每个元素的总数等于G1中的每个元素的总数;G1中的元素从左到右被附加到O2中剩余的空位置,直到O2中每个元素的总数等于G2中的每个元素的总数;
TPX的过程描述如下:
3-1)生成满足不等式0<b1<b2<P以及b1≠b2的两个随机参数b1和b2来确定交叉的位置;
3-2)将G2中b1到b2位置之间的元素附加到O1中相同的位置上,将G1中b1和b2位置之后的元素附加到O1中相同的位置上,用同样的方法生成O2;
交换变异算子的过程描述如下:
4-1)在G1中随机选择两个位置;
4-2)交换选中位置的元素,生成O1;
反向变异算子的过程描述如下:
5-1)在G1中随机选择两个位置;
5-2)反转所选两个位置之间的数字以生成O1;
MPM算子的过程描述如下:
6-1)随机选择G1中l'位置,l'等于机器分配向量长度的一半;
6-2)根据选择的可选机器组来改变这些选择的位置的值,以处理相应的操作。
上述求解多目标柔性作业车间调度问题的优化方法,所述步骤Step11中,POX的过程描述如下:
7-1)工件集合被随机分为两个子集:Jobset1和Jobset2;
7-2)将G1中属于Jobset1的元素被附加到O1中相同的位置并在G1中删除;G2中属于Jobset2的元素被附加到O2中相同的位置并在G2中删除;
7-3)将G1中剩余的元素从左到右追加到O2中剩余的空位置;并将G2中剩余的元素从左到右追加到O1中剩余的空位置;
JBX的过程描述如下:
8-1)工件集合被随机分为两个子集:Jobset1和Jobset2;
8-2)将G1中属于Jobset1的元素追加到O1中相同的位置;并且在G2中属于Jobset2的元素被附加到O2中的相同位置;
8-3)G2中属于Jobset2的元素从左到右被附加到O1中剩余的空位置上;G1中属于Jobset1的元素从左到右被附加到O2中剩余的空位置;
步骤Step12中,TBM的过程描述如下:
9-1)在G1中生成一个随机参数a,a<工序序列向量的长度减去3;
9-2)将G1中的元素a换成a+3,将a+1换成a+2,得到O1。
步骤6:选出精英子代,作业执行完毕,调度结束。
交换变异算子、反向变异算子、TBM算子和MPM算子的例子分别如图9、10、11和12所示。
本发明所提出的BEG-NSGA-II算法在MATLAB R2014a中编码,并在配置有IntelCore i3 CPU、2.67GHz频率和4GB RAM的计算机上实现。选择了包括53个FJSP开放问题的四个著名基准来估计所提出的算法。为了说明所提出算法的性能,将BEG-NSGA-II算法与其他最先进的算法进行了比较,还比较了用于解决这些基准的计算时间,以显示所提出方法的良好效率。由于计算时间和实现性能不仅受算法本身的影响,还受到计算机硬件、实现软件和编码技能的影响,因此还附加硬件和软件信息,以及原始计算时间和相应的算法。对于这些基准测试的每个问题,所有实验模拟分别运行20次。BEG-NSGA-II采用的参数如表2所示。
表2
实验1。实验1包含4个代表性实例(问4×5、problem 8×8、problem10×10和problem15×10)。实验结果及与其他知名算法的比较如表3所示(n×m表示该问题包含n个工件和m台机器;f1、f2、f3分别为最大完工时间(makespan)、MW、TW的优化目标。Tc表示在这些基准测试的每个问题上花费的独立于计算机的平均CPU时间;符号“-”表示论文中没有给出时间)。bege-nsga-ii表示提出的算法。加粗的结果是在算法中发现的新的帕累托最优解。
表3
a没有列出计算配置。
b没有列出计算配置
c c++环境下2ghz、2gb内存PC的CPU时间。
d在c++环境下,2ghz CPU和2gb RAM内存的个人计算机的CPU时间。
e Delphi中3.0GHz Pentium上的CPU时间。
f在Java中,Intel Core i5,2.67GHz处理器,4GB RAM内存上的CPU时间。
g在MATLAB R2014a中,IntelCorei3,2.67GHz处理器,4GB RAM上的CPU时间。
对于4×5问题,所提出的bege-nsga-ii算法不仅得到了这些比较算法中的所有最优解,而且得到了另一个新的pareto最优解(f1=13,f2=7,f3=33)。这个新的帕累托解的甘特图如图13所示。对于问题8×8,10×10,和15×10,所提算法得到的帕累托最优解比hPSO多,虽然得到的结果与hPSO相同,但计算时间似乎比hPSO少。
实验2。它包含18个问题。实验结果及与其他知名算法的比较如表4所示(n×m表示问题包含n个工件和m台机器,f1、f2和f3表示makespan、MW和TW、resp的优化目标。T表示在这些基准测试的每个问题上花费的独立于计算机的平均CPU时间(以分钟为单位)。bege-nsga-ii表示提出的算法。结果是在我们的算法中发现的新的帕累托最优解。从表4中,除了问题01a,可以看到本发明的算法可以得到一些新的帕累托最优解,这些解对目标f2或f3更好,或两者都更好,但对目标f1稍差。对于问题01a,本发明的算法得到了与MOGA相同的解。对于所有问题,本发明的算法消耗的计算时间都比MOGA少。图14展示了问题18a的甘特图(f1=2,634,f2=2,156,f3=21,005)。
表4
实验3。它包含10个问题。实验结果及与其他常用算法的比较,如表5所示(n×m表示问题包括n个工件和m台机器,f1、f2和f3表示makespan、MW和TW的优化目标。T表示在这些基准测试的每个问题上花费的与计算机无关的平均CPU时间(以分钟为单位)。bege-nsga-ii表示提出的算法。加粗的结果是在本发明的算法中发现的新的帕累托最优解。从表5可以看出,与SM和MOGA相比,本发明的算法在MK01、MK04、MK05、MK08和MK10问题中可以获得一些新的pareto最优解,在MK2、MK3、MK6、MK7和MK9问题中可以获得与MOGA相同的解。对于所有问题,本发明的算法消耗的计算时间都比MOGA少。图15展示了问题MK08(F1=541,F2=533,F3=2,516)的甘特图。
表5
/>
实验4。实验4的数据它包含21个问题。实验结果及与其他知名算法的比较如表6所示(n×m表示问题包含n个工件和m台机器,f1、f2和f3表示makespan、MW和TW、resp的优化目标。T表示在这些基准测试的每个问题上花费的独立于计算机的平均CPU时间(以分钟为单位)。bege-nsga-ii表示提出的算法。而在最新的文献中还没有针对这些问题的其他多目标优化算法进行比较。加粗的结果是在本发明的算法中发现的新的多目标优化解。从表6中可以看出,本发明的算法可以用很少的差目标f1来解决这些问题,同时用较少的计算时间得到另外两个目标f2和f3。图16展示了seti5xyz问题(f1=1270,f2=835,f3=11472)的甘特图。
表6
从测试示例1-3的仿真结果可以看出,提出的BEG-NSGA-II可以用更少的计算时间为大多数MFJSP基准获得相同或更多不同的Pareto最优解。随迭代次数变化的三个部分。在此阶段,发明了一种有效的局部搜索算子以广泛利用解决方案空间。在第二阶段,使用具有GEN迭代次数的NSGAII算法来获得Pareto最优解,其中采用了更新机制和一些有用的遗传算子来增强这些搜索能力并避免过早的成熟收敛。从仿真结果中,可以得出结论,提出的算法BEG-NSGA-II可以在MO-FJSP的大多数基准测试中获得更多不同的Pareto最优解,而且时间更短。因此,它可以提供更多的方案供生产经理在进行调度决策时进行选择。所提出的计算智能方法(BEG-NSGA-II)可广泛应用于柔性工件车间调度问题,尤其是调度领域的多目标优化问题。从测试实例4的仿真结果可以看出,提出的BEG-NSGA-II算法在多目标优化和单目标优化方面都表现得更好。
Claims (10)
1.一种求解多目标柔性作业车间调度问题的优化方法,其特征在于,包括以下步骤:
步骤1:建立柔性作业车间调度问题的两个子问题;一个是路由子问题,将一组可用机器中的每个工序分配给一台机器;另一个是调度子问题,将所有机器上分配的工序排序,以获得优化某个目标函数的可行调度;
步骤2:建立目标函数,用于最小化三个目标,三个目标分别为机器的最大完成时间、负载最大的机器的工作负载、所有机器的总工作量;
步骤3:确定调度的约束条件;
步骤4:进行第一阶段:初始化种群,采用迭代次数为T的NSGA-II算法得到初始种群N;初始种群由三部分组成,随迭代次数变化;
步骤5:进行第二阶段:使用具有Gen迭代次数的NSGA-II算法来获得Pareto最优解;
步骤6:选出精英子代,作业执行完毕,调度结束。
2.根据权利要求1所述的求解多目标柔性作业车间调度问题的优化方法,其特征在于,所述步骤1中,FJSP定义如下,有一组n个工件和一组m台机器,i表示第i个工件,i∈{1,2,…,n},k表示第k台机器,k∈{1,2,…,m},Oij表示工件i的第j道工序,j∈{1,2,…,ni},ni是工件i的工序总数,Mij表示工序Oij的可选机器,Pijk表示工序Oij在机器k上的处理时间,tijk表示工序Oij在机器上k的开始时间,Cij表示工序Oij的完成时间;FJSP由两个子问题组成:分配的路由子问题,将每个工序分配给一组可用机器中的一台机器;调度子问题,将分配的工序在所有机器上排序,以获得优化某个目标函数的可行调度。
3.根据权利要求1所述的求解多目标柔性作业车间调度问题的优化方法,其特征在于,所述步骤2中,建立的目标函数为:
其中Ck表示机器k的完成时间,Wk表示机器k的工作负载。
4.根据权利要求2所述的求解多目标柔性作业车间调度问题的优化方法,其特征在于,所述步骤3中,每个工序在处理过程中不能被中断、每台机器在任何时候最多只能处理一道工序、一道工序不能由多台机器同时处理、工序之间的移动时间和机器的设置时间忽略不计、机器彼此独立、工件是相互独立的;
约束函数为:不等式(2)保证了运算优先约束,xijk为一变量;
不等式(3)确保每台机器每次只处理一道工序作;等式(4)表明可从可用的机器中选择一台机器来进行操作;
根据是否选择机器k加工步骤Oij,使用等式(5)确定xijk的值;
5.根据权利要求2所述的求解多目标柔性作业车间调度问题的优化方法,其特征在于,所述步骤4的具体步骤为:
Step1:在第一阶段中,采用基于工序的表示方法,由工件编号组成;种群中每个初始个体的工序作序列向量是按照随机编码原理生成的,随机生成N个个体作为初始种群,设当前迭代次数t=1;
Step2:根据目标1、目标2、目标3计算个体的适应度值;然后分别选出适应度最好的个体分别作为女王1、女王2、女王3;如果t>1,比较父代蜂王和子代蜂王的适应度值,相应地选出最好的作为新的蜂王;
Step3:使用轮盘赌方法根据目标1、目标2和目标3的适合度值选择P个体;
Step4:随机生成R个体,并将这些个体分别与Step3生成的P个体组合;α为迭代次数比;
Step5:计算自适应交叉、变异概率;工序序列向量采用随机选择单点交叉SPX或多点交叉MPX算子;机器分配向量采用两点交叉TPX作为交叉算子;以概率Pm随机选择一个交换变异或反向变异算子作为工序序列向量,并为机器分配向量选择多点变异MPM算子;步骤Step2选出的新蜂王与步骤Step4产生的其他相应个体进行交叉变异,分别产生子代种群1、子代种群2和子代种群3;
Step6:将三个子代种群组合成一个组合种群;
Step7:快速非支配排序和拥塞计算;
Step8:选择最好的N′个体作为后代种群;
Step9:令t=t+1;如果t>T,继续下一步;否则返回第Step2步,种群由选定的个体代替。
6.根据权利要求2所述的求解多目标柔性作业车间调度问题的优化方法,其特征在于,所述步骤5的具体步骤为:
Step10:在第二阶段中,选择S杰出个体作为精英个体,S杰出个体来自N的个人;
x′+S+0.5N≥N (7)
Step11:计算自适应交叉、变异概率;工序序列向量采用优先工序交叉POX或基于工件的交叉JBX,机器分配向量采用两点交叉TPX;使用二元锦标赛选择方法从后代种群中选择交叉个体,即选择的N个体;公式(8)中,D(i,j)表示的是一个差度函数,用于计算将要交叉的两条染色体,即染色体i与染色体j之间的相似性,其中L为染色体的长度,ail为染色体i中的第l段基因;使用优先工序交叉;否则,使用基于工件的交叉;公式(9)中,u表示的是一个设置为0.7的参数。随着u的减少,染色体倾向于选择多点保存交叉;
D(i,j)≤u,Precedenceoperationcrossover
D(i,j)>u,Job-based crossover (9)
Step12:如果个体处于Pareto最前沿,则选择交换变异;否则为工序序列向量选择二次结合变异TBM或反向变异;机器分配向量也选择MPM算子,当概率Pm<=0.1的情况下,当后代等级=1时,则选择交换变异;若后代等级≠1时,选择两次结合变异或反向变异;当概率Pm>0.1的情况下,种群不会发生变异;
Step13:随机产生新的R′个体;α′为新的迭代次数比;
Step14:组合从Step10、Step12和Step13获得的三部分个体;
Step15:用Step7处理结合种群产生后代种群;
Step16:如果t>GEN,输出结果;否则,t=t+1,返回Step10。
7.根据权利要求6所述的求解多目标柔性作业车间调度问题的优化方法,在染色体编码与解码阶段,对于工序顺序向量方面,采用基于工序的表示方法,由工件编号组成,表示使用了一个从1到n的不间断整数数组,每个整数出现Oni次,其中Oni是工件i的工序总数;因此,初始工序序列种群的长度等于通过从左到右扫描工序顺序,工件号的第j次出现表示该工件的第j次工序;种群中每个初始个体的工序序列向量是按照随机编码原理生成的,通过使用这些表示特征,将工序序列向量的任何排列解码为可行的解决方案;
机器分配向量表示所选的机器,这些机器被分配给所有工件的相应工序;它包含n部分,第i部分的长度是Oni,因此这个向量的长度也等于这个向量的第i部分表示第i个工件的机器分配集;假设一个机器集Sih={mih1,mih2,…,mihCih}被选中来处理工件i的第h道工序,mihCih表示第Cih个机器加工工件i的第h道工序;一个生成集{gi1,gi2,…gih,……,giCni}表示机器分配向量的第i部分,gih是1到Cih之间的整数,giCni表示机器分配向量的第Cni部分,这意味着工件i的第h道工序由来自Sih的第gih机器mihgih处理,通过对每个工件的每个工序随机选择可用的机器,生成种群中每个初始个体的机器分配向量。
8.根据权利要求7所述的求解多目标柔性作业车间调度问题的优化方法,其特征在于,当染色体表示被解码时,每道工序都将按照优先级和机器约束进行可能的工序;使用这种解码方法生成的调度保证是活动调度;解码过程如下实现:
1)根据机器分配向量识别所有工序的机器;
2)确定用于处理每个工件的机器集;
3)确定每台机器的工序集合;
4)确定工序的允许启动时间;ASij=Ci(j-1),其中ASij表示工序Oij的允许开始时间,而Ci(j-1)是相同工件的工序Oij的完成时间;
5)计算工序Oij在机器上的空闲时间,并得到空闲区域[t_start,t_end],其中t_start是这段空闲区域的开始时间,t_end是这段空闲区域的结束时间;从左到右扫描这些区域,如果max(ASij,t_start)+tijk≤t_end,则最早开始时间为Sij=t_start;否则Sij=max(ASij,Ci(j-1));
6)计算每道工序的完成时间:Cij=Sij+tijk;
7)为每个工件的每个工序生成开始时间和完成时间的集合;
通过上述过程,得到了一个FJSP计划。
9.根据权利要求6所述的求解多目标柔性作业车间调度问题的优化方法,其特征在于,所述步骤Step5中,工序序列向量采用随机选择单点交叉SPX或多点交叉MPX算子;机器分配向量采用两点交叉TPX作为交叉算子;
SPX的过程描述如下,O1和O2用来表示两个后代;
1-1)生成满足不等式0<b<G的随机参数b,确定交叉位置;
1-2)G1中从1到b的元素在相同位置上复制到O1;G2中从1到b的元素在相同位置上复制到O2;
1-3)计算每个元素的总数;
1-4)G2中的元素从左到右被追加到O1中剩余的空位置上,直到O1中每个元素的总数等于O1中每个元素的总数;G1中的元素从左到右被附加到O2中剩余的空位置上,直到O2中的每个元素的总数等于P2中的每个元素的总数;
MPX的过程描述如下,G1和G2用来表示两个父母:
2-1)生成满足不等式0<b1<b2<P以及b1≠b2的两个随机参数b1和b2来确定交叉的位置;
2-2)P1中b1到b2的元素被加到O1最左边的位置上;G2中b1到b2的元素被加到O2最左边的位置上;
2-3)计算每个元素的总数;
2-4)G2中的元素从左到右被追加到O1中剩余的空位置,直到O1中的每个元素的总数等于G1中的每个元素的总数;G1中的元素从左到右被附加到O2中剩余的空位置,直到O2中每个元素的总数等于G2中的每个元素的总数;
TPX的过程描述如下:
3-1)生成满足不等式0<b1<b2<P以及b1≠b2的两个随机参数b1和b2来确定交叉的位置;
3-2)将G2中b1到b2位置之间的元素附加到O1中相同的位置上,将G1中b1和b2位置之后的元素附加到O1中相同的位置上,用同样的方法生成O2;
交换变异算子的过程描述如下:
4-1)在G1中随机选择两个位置;
4-2)交换选中位置的元素,生成O1;
反向变异算子的过程描述如下:
5-1)在G1中随机选择两个位置;
5-2)反转所选两个位置之间的数字以生成O1;
MPM算子的过程描述如下:
6-1)随机选择G1中l'位置,l'等于机器分配向量长度的一半;
6-2)根据选择的可选机器组来改变这些选择的位置的值,以处理相应的操作。
10.根据权利要求9所述的求解多目标柔性作业车间调度问题的优化方法,其特征在于,所述步骤Step11中,POX的过程描述如下:
7-1)工件集合被随机分为两个子集:Jobset1和Jobset2;
7-2)将G1中属于Jobset1的元素被附加到O1中相同的位置并在G1中删除;G2中属于Jobset2的元素被附加到O2中相同的位置并在G2中删除;
7-3)将G1中剩余的元素从左到右追加到O2中剩余的空位置;并将G2中剩余的元素从左到右追加到O1中剩余的空位置;
JBX的过程描述如下:
8-1)工件集合被随机分为两个子集:Jobset1和Jobset2;
8-2)将G1中属于Jobset1的元素追加到O1中相同的位置;并且在G2中属于Jobset2的元素被附加到O2中的相同位置;
8-3)G2中属于Jobset2的元素从左到右被附加到O1中剩余的空位置上;G1中属于Jobset1的元素从左到右被附加到O2中剩余的空位置;
步骤Step12中,TBM的过程描述如下:
9-1)在G1中生成一个随机参数a,a<工序序列向量的长度减去3;
9-2)将G1中的元素a换成a+3,将a+1换成a+2,得到O1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311055975.XA CN117148796A (zh) | 2023-08-21 | 2023-08-21 | 一种求解多目标柔性作业车间调度问题的优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311055975.XA CN117148796A (zh) | 2023-08-21 | 2023-08-21 | 一种求解多目标柔性作业车间调度问题的优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117148796A true CN117148796A (zh) | 2023-12-01 |
Family
ID=88905377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311055975.XA Pending CN117148796A (zh) | 2023-08-21 | 2023-08-21 | 一种求解多目标柔性作业车间调度问题的优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117148796A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117555305A (zh) * | 2024-01-11 | 2024-02-13 | 吉林大学 | 一种基于nsgaii的多目标可变子批柔性车间作业调度方法 |
-
2023
- 2023-08-21 CN CN202311055975.XA patent/CN117148796A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117555305A (zh) * | 2024-01-11 | 2024-02-13 | 吉林大学 | 一种基于nsgaii的多目标可变子批柔性车间作业调度方法 |
CN117555305B (zh) * | 2024-01-11 | 2024-03-29 | 吉林大学 | 一种基于nsgaii的多目标可变子批柔性车间作业调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Asefi et al. | A hybrid NSGA-II and VNS for solving a bi-objective no-wait flexible flowshop scheduling problem | |
Zhang et al. | An efficient multiobjective genetic algorithm for mixed-model assembly line balancing problem considering demand ratio-based cycle time | |
Zolfaghari et al. | Comparative study of simulated annealing, genetic algorithms and tabu search for solving binary and comprehensive machine-grouping problems | |
CN114186749B (zh) | 基于强化学习及遗传算法的柔性车间调度方法及模型 | |
Goh et al. | A surrogate-assisted memetic co-evolutionary algorithm for expensive constrained optimization problems | |
CN113792924A (zh) | 一种基于Deep Q-network深度强化学习的单件作业车间调度方法 | |
Wang et al. | Energy-time tradeoffs for remanufacturing system scheduling using an invasive weed optimization algorithm | |
Genova et al. | A survey of solving approaches for multiple objective flexible job shop scheduling problems | |
CN117148796A (zh) | 一种求解多目标柔性作业车间调度问题的优化方法 | |
CN115145235B (zh) | 一种铸造全流程的多目标智能调度方法 | |
Zhang et al. | A decomposition-based multi-objective evolutionary algorithm for hybrid flowshop rescheduling problem with consistent sublots | |
CN117075545A (zh) | 一种多目标柔性作业车间调度方法、电子设备、介质 | |
Li et al. | Scheduling of continuous annealing with a multi-objective differential evolution algorithm based on deep reinforcement learning | |
Tan et al. | Two-agent scheduling on a single batch processing machine with non-identical job sizes | |
Zhang et al. | Individualized requirement-driven multi-task scheduling in cloud manufacturing using an extended multifactorial evolutionary algorithm | |
Iklassov et al. | On the study of curriculum learning for inferring dispatching policies on the job shop scheduling | |
CN114021934A (zh) | 基于改进spea2求解车间节能调度问题的方法 | |
Zhang et al. | Improved vector evaluated genetic algorithm with archive for solving multiobjective pps problem | |
Che et al. | Integrated methodology for supplier selection: the case of a sphygmomanometer manufacturer in Taiwan | |
Chaudhry | Job shop scheduling problem with alternative machines using genetic algorithms | |
Zheng et al. | Solving multi-objective two-sided assembly line balancing problems by harmony search algorithm based on pareto entropy | |
CN116822217A (zh) | 一种考虑工时不确定性的人机双资源约束多目标生产调度方法 | |
CN113723695B (zh) | 一种基于场景的再制造调度优化方法 | |
CN113792494B (zh) | 基于迁徙鸟群算法和交叉融合的多目标柔性作业车间调度方法 | |
Laoraksakiat et al. | Bi-objective hybrid flow shop scheduling with family setup times using hybrid genetic and migrating birds optimization algorithms |
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 |