CN105929690B - 一种基于分解多目标进化算法的柔性车间鲁棒调度方法 - Google Patents
一种基于分解多目标进化算法的柔性车间鲁棒调度方法 Download PDFInfo
- Publication number
- CN105929690B CN105929690B CN201610281979.3A CN201610281979A CN105929690B CN 105929690 B CN105929690 B CN 105929690B CN 201610281979 A CN201610281979 A CN 201610281979A CN 105929690 B CN105929690 B CN 105929690B
- Authority
- CN
- China
- Prior art keywords
- vector
- machine
- index
- target
- individual
- 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
- 238000000034 method Methods 0.000 title claims abstract description 178
- 238000000354 decomposition reaction Methods 0.000 title claims description 23
- 238000005457 optimization Methods 0.000 claims abstract description 35
- 230000035772 mutation Effects 0.000 claims abstract description 21
- 230000003044 adaptive effect Effects 0.000 claims abstract description 14
- 238000011156 evaluation Methods 0.000 claims abstract description 8
- 230000013011 mating Effects 0.000 claims abstract description 4
- 239000013598 vector Substances 0.000 claims description 130
- 230000008569 process Effects 0.000 claims description 86
- 238000012545 processing Methods 0.000 claims description 34
- 238000005070 sampling Methods 0.000 claims description 10
- 238000012360 testing method Methods 0.000 claims description 9
- 230000008439 repair process Effects 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 5
- 230000035945 sensitivity Effects 0.000 claims description 5
- 238000004088 simulation Methods 0.000 claims description 5
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 230000014759 maintenance of location Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 230000001902 propagating effect Effects 0.000 claims description 3
- 238000007514 turning Methods 0.000 claims description 3
- 230000009471 action Effects 0.000 claims description 2
- 230000015572 biosynthetic process Effects 0.000 claims 1
- 238000003786 synthesis reaction Methods 0.000 claims 1
- 238000004519 manufacturing process Methods 0.000 description 16
- 238000003754 machining Methods 0.000 description 13
- 238000009826 distribution Methods 0.000 description 9
- 238000000585 Mann–Whitney U test Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 239000002131 composite material Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000009395 breeding Methods 0.000 description 1
- 230000001488 breeding effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000010429 evolutionary process Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000000528 statistical test Methods 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
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/04—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于分解多目标进化算法的柔性车间鲁棒调度方法,(1)读取柔性作业车间的作业和机器属性等输入信息;定义优化目标,设定约束条件;(2)初始化算法的参数;(3)确定每个子问题的邻域,产生初始父代群体,从初始群体中确定出所有的Pareto非支配解构成外部存储器;(4)生成子代群体。进行交配选择,采用自适应变异算子和基于修复的交叉算子繁殖子代个体,并更新外部存储器;(5)利用生成的子代群体对各子问题的当前最优个体进行更新,构成新的父代群体;(6)判断个体目标评价次数若达到最大,则输出外部存储器,即一组Pareto非支配的柔性作业车间调度解;未达到则跳转至(4)。本发明快速高效地实现柔性作业车间中的调度任务。
Description
技术领域
本发明涉及柔性作业车间调度控制技术领域,特别是一种基于分解多目标进化算法的柔性车间鲁棒调度方法。
背景技术
柔性作业车间调度问题是对经典车间调度问题的一般化,它是一类NP难问题。在柔性作业车间调度问题中,允许一道工序被多台机器加工,因此,需为每项作业的每道工序分配适当的机器,并确定各机器上工序的加工顺序,以在满足各种约束条件的前提下,实现作业的完工时间最短、各机器的负载均衡等优化目标。
实际柔性作业车间的生产环境中存在着很多不确定因素,如由于对作业规格要求的改变导致部分工序加工时间发生改变;由于转包商的运输延迟,导致作业的投放时间推迟等。当面临这些扰动时,根据初始数据产生的最优调度方案的性能可能大大降低,因此亟需研究一种能够处理不确定因素的新型柔性作业车间鲁棒调度方法,以在保证完工时间较短、各机器的负载较为均衡等性能的同时,增强车间调度方案对不确定性的抗干扰能力,降低调度性能对扰动的敏感程度。柔性作业车间的鲁棒调度技术对实际生产***的成功实施具有重要意义。
进化算法是模拟生物在自然环境中的进化过程而形成的一类自适应全局优化概率搜索算法。进化算法可以处理传统优化方法难以解决的复杂优化问题,例如非连续、多模态等问题,它对整个群体实施选择、交叉、变异等操作,可以在算法的一次运行中并行搜索到多个解,加之它具有较强的环境自适应能力,因此,进化算法特别适用于求解柔性作业车间调度这类同时存在多个Pareto非支配解的多目标鲁棒优化问题。基于分解的多目标进化算法(MOEA/D)是由张青富教授和李辉博士在2007年首次提出的。该算法给出了一种新颖且通用的多目标处理框架。它将多目标优化问题分解为一组单目标子问题,并采用基于群体的进化算法协同求解这些子问题。由于它的高效性,近年来,MOEA/D已经成为国际学术界的研究热点之一,并且已有学者将MOEA/D成功应用于实际优化问题的求解中。
目前已有的柔性作业车间调度方法存在以下不足:
(1)大多仅考虑了静态的生产环境。它们假设柔性作业车间中的所有信息都是预先可知且确定不变的,显然,当实际生产环境存在不确定因素时,依据静态方法产生的调度方案不再适用。
(2)对多个优化目标的处理方式比较单一。大多已有方法采用加权求和法将多个目标转换为一个目标,这种方法将会引入较多的参数,并且需要事先对各个目标进行归一化处理。由于柔性作业车间调度问题的多个目标之间往往是相互矛盾的,因此更好的方式是采用多目标进化算法对多个目标并行处理,从而为生产管理者提供一组反映目标间不同折中程度的调度方案,为其做出最终的决策提供参考。
(3)局部搜索能力较弱,易于陷入局部最优,调度效率低下。
发明内容
本发明所要解决的技术问题是克服现有技术的不足而提供一种基于分解多目标进化算法的柔性车间鲁棒调度方法,以在实际的车间生产环境中,在优化作业的完工时间、促使各机器负载均衡的同时,尽可能地降低不确定性对调度方案性能的负面影响,并提高调度方法的局部搜索能力,避免陷入局部最优,实现快速高效的车间调度。
本发明为解决上述技术问题采用以下技术方案:
根据本发明提出的一种基于分解多目标进化算法的柔性车间鲁棒调度方法,包括以下步骤:
步骤(1)、读取柔性作业车间的输入信息,定义优化目标,设定约束条件:
车间的输入信息包括每项作业的工序数、每项作业中每道工序可分配的机器集合、各工序在相应机器上的加工时间、正常工作的机器数目;优化目标包括作业完工时间、机器的最大负载、调度性能的鲁棒性;约束条件包括工序优先级约束和禁止抢先占有的约束;
步骤(2)、初始化基于分解的多目标进化算法的参数:
设置迭代次数NmbEvl、群体规模N即为子问题的个数、产生N个均匀分布的目标权向量λ1,…,λN、子问题的邻域规模T,繁殖算子中的父代个体从邻域里选取的概率δ、邻域个体允许被每个子代个体替换的最大数目nr,评价鲁棒性时采样的不确定场景个数Q,以及交叉概率CR;
步骤(3)、确定每个子问题的邻域,产生初始父代群体:
(3.1)、对第i个子问题,i=1,…,N,确定邻域B(i)={i1,…,iT};分别计算第i个子问题的权向量λi和其它(N-1)个子问题权向量间的欧拉距离,将T个距离λi最近的权向量所对应的子群体序号{i1,…,iT}构成B(i);
(3.2)、随机产生初始父代群体{x1,…,xN},其中,个体xi为第i个子群体的当前解;群体中的每个个体包括工序序列向量和机器分配向量;随机采样一组不确定性场景θq,q=1,2,...,Q;计算初始父代群体中每个个体的目标值f1=makespanI、f2=workloadI和f3=robustness;makespanI和workloadI分别表示初始景象下的作业完工时间和机器最大负载,robustness表示调度性能的鲁棒性;从初始父代群体中确定出所有的Pareto非支配解构成外部存储器Arc;设置目标评价次数计数变量ct=N;归一化各目标值,将每个个体xi的第j个目标值fj(xi)映射到区间[0,1]之间,产生xi在第j个目标上的归一化值fnoj(xi),即:
其中,和分别表示当前父代群体中的所有个体在第j个目标上的最大值和最小值,j=1,2,3;
(3.3)、设置进化代数t=0;
步骤(4)、生成子代群体:
随机采样一组不确定性场景θq;设置子代群体令i=1;
(4.1)、交配选择;
产生一个均匀分布的随机数rand1∈[0,1];设置第i个子问题的更新邻域P(i):
基于以下规则产生3个不同的父代个体和
(4.2)、繁殖;
采用基于微分进化算法的繁殖算子,由和xi生成子代个体ui;
(4.3)、更新外部存储器;
评价ui的目标值,并归一化各目标值;令ct=ct+1;将ui加入外部存储器Arc;并删除当前Arc中所有重复解和Pareto支配解;设Chipop=Chipop∪ui;如果i<N,则令i=i+1,转至(4.1),否则执行步骤(5);
步骤(5)、解的更新:
设混合群体Mixpop={x1,…,xN}∪Chipop,令i=1,
(5.1)、令计数器c=0;
(5.2)、从第i个子问题的更新邻域P(i)中随机选取一个子群体的序号k,k∈P(i);
(5.3)、对于第k个子问题,从Mixpop中确定最佳解;
设标记变量mark=0;给定第k个子问题的权向量 为第j个目标的权值, 和参考向量 为第j个目标的参考点,j=1,2,3,采用切比雪夫法求得任意一个个体x在第k个子问题的合成目标函数为:
由于采用归一化目标值,设置参考向量z*=(0,0,0);对于Mixpop中的每个个体xyl和第k个子问题的当前解xk,如果下述3个条件中有一个满足:(i)gte(xyl|λk,z*)<gte(xk|λk,z*);(ii)gte(xyl|λk,z*)=gte(xk|λk,z*)且xyl Pareto支配xk;(iii)gte(xyl|λk,z*)=gte(xk|λk,z*)且xyl在鲁棒性能f3=robustness上的目标值小于xk,则令xk=xyl,FVk=F(xyl),Fnok=Fno(xyl),且mark=1;其中,FVk表示xk的目标向量,即FVk=F(xk)=[f1(xk),f2(xk),f3(xk)],F(xyl)表示xyl的目标向量,即F(xyl)=[f1(xyl),f2(xyl),f3(xyl)],Fnok表示xk经归一化后的目标向量,即Fnok=[fno1(xk),fno2(xk),fno3(xk)],Fno(xyl)表示xyl经归一化后的目标向量,即Fno(xyl)=[fno1(xyl),fno2(xyl),fno3(xyl)];
(5.4)、如果mark=1,则令c=c+1;
(5.5)、从P(i)中删除序号k;如果c<nr且P(i)非空集,则转至(5.2);否则,如果i<N,则令i=i+1,转至(5.1),否则转至步骤(6);
步骤(6)、终止准则判断:
如果ct>NmbEvl,则终止迭代,输出外部存储器Arc,即一组Pareto非支配的柔性作业车间调度解;否则,令t=t+1,转至步骤(4)。
作为本发明所述的一种基于分解多目标进化算法的柔性车间鲁棒调度方法进一步优化方案,步骤(1)中所述优化目标中的作业完工时间表示完成柔性作业车间中的所有作业所花费的时间开销,定义为:
其中,Cv和Sv分别表示在第v项作业中,最后一道工序的加工完成时间和第一道工序的加工开始时间,v=1,2,…,n,n为柔性作业车间中所有作业的总数;I表示初始景象,即针对不确定属性,设它的值为某一预估值确定不变,在此情况下计算作业完工时间;
步骤(1)所述优化目标中的机器最大负载表示各台机器加工时间的最大值,定义为:
其中,m是柔性作业车间内机器的总台数;是根据调度方案,在第s台机器上按第r个顺序进行加工的工序Osr的加工时间;ws是分配到第s台机器上的工序个数;
步骤(1)所述优化目标中,调度性能的鲁棒性是衡量调度方案的作业完工时间和机器的最大负载对不确定因素的敏感程度,定义为:
鲁棒性采用基于景象的方法定义,将一个调度方案在不确定属性的多种采样值{θq|q=1,2,…,Q}下进行仿真,以比较作业完工时间和机器最大负载的实际值与初始预估值之间的差值;其中,makespanq和workloadq分别是θq下相应的作业完工时间和机器最大负载目标值;
步骤(1)所述的工序优先级约束是指每项作业的各道工序是按事先确定的顺序进行加工的;在柔性作业车间问题中,每道工序可以在它允许的机器集合中任一台上进行加工;
步骤(1)所述的禁止抢先占有的约束包括:(i)每道工序的加工,只能在同一作业中排在它之前的所有工序都完成之后才能开始进行;(ii)如果将一道工序分配给了某台机器,只有在这台机器完成之前调度的所有工序之后,才能开始该道工序的加工。
作为本发明所述的一种基于分解多目标进化算法的柔性车间鲁棒调度方法进一步优化方案,步骤(3.2)所述的随机产生初始群体是指,每个个体中的工序序列向量通过随机排列所有作业中的所有工序生成;对于机器分配向量,将每道作业工序随机分配到它机器集合中的任一台上进行加工。
作为本发明所述的一种基于分解多目标进化算法的柔性车间鲁棒调度方法进一步优化方案,步骤(4.3)和步骤(5.3)所述的Pareto支配是指:设x1和x2为多目标优化问题的两个解,问题的目标个数为m1,假设所有目标均需最小化,称x1Pareto支配x2当且仅当
且
其中,g和h分别表示目标的某一个序号,fg(x1)和fg(x2)分别表示x1和x2在第g个目标fg上的目标值,fh(x1)和fh(x2)分别表示x1和x2在第h个目标fh上的目标值。
作为本发明所述的一种基于分解多目标进化算法的柔性车间鲁棒调度方法进一步优化方案,步骤(3)和步骤(6)所述的Pareto非支配解是指,如果在某一集合中不存在任何其它解x'Pareto支配解x,则称x为该集合中的Pareto非支配解。
作为本发明所述的一种基于分解多目标进化算法的柔性车间鲁棒调度方法进一步优化方案,步骤(4.2)所述的繁殖算子是指,基于微分进化算法中的变异算子和交叉算子,设计一种改进的自适应变异算子和基于修复的交叉算子,由父代个体和第i个子问题的当前个体xi,生成子代个体ui;其中,改进的自适应变异算子的实施方法如下:
β=e-0.015t,
其中,F1,F2和F3是变异因子,它们的值分别从[0.5,1]中均匀随机生成;是当前外部存储器Arc中,距离xi最近的解,参数β的值随着进化代数t的取值而变化;yi是由改进的自适应变异算子生成的个体;
对于个体的工序序列向量和机器分配向量,分别实施上述所述改进的自适应变异算子;对于生成的yi中的工序序列向量ysi,将它的各个元素按从小到大的顺序进行排列,得到ysi的排序向量tysi,并将排序后的每个元素在原向量ysi中的位置索引记录在索引向量Ii中;将xi的工序序列向量xsi中各个元素按从小到大的顺序进行排列,得到xsi的排序向量txsi,并令ysi(Ii)=txsi,ysi(Ii)表示ysi中所有在Ii记录的位置上的元素;对于生成的yi中的机器分配向量ymi,针对每个元素,搜索其对应工序的机器集合,从中确定出与该元素值最接近的机器,并将该机器替代此元素;如果有两台以上机器同时满足此条件,则从中随机选择一台机器替换对应元素;更新后的工序序列向量ysi和机器分配向量ymi构成新个体yi;
所述基于修复的交叉算子的实施方法如下:
(a)、将由改进的自适应变异算子生成的个体yi与xi组合,构成子代个体ui:
其中,分别是ui,yi,xi的第ll个元素,L是个体xi的长度,CR∈[0,1]是交叉概率,是从[0,1]中均匀随机产生的一个数,Irandi是从集合{1,2,…,L}中随机选择的一个整数;
在机器分配向量的表示方法中,yi的机器分配向量ymi与xi的机器分配向量xmi在相同位置上的机器对应于同一道工序;上述交叉算子直接作用于ymi和xmi,交叉得到的结果即为子代个体ui的机器分配向量umi;
针对yi的工序序列向量ysi与xi的工序序列向量xsi,进一步实施以下步骤:
(b)、将步骤(a)求得的ui的工序序列向量usi中,将来自于xsi的元素位置索引记录在1号索引向量index1中,将来自于ysi的元素位置索引记录在2号索引向量index2中;令usi=xsi,临时索引向量tempindex2=index2,测试向量test=usi(index1),usi(index1)表示usi中所有在index1记录的位置上的元素,索引删除向量donor_delete=[],[]表示空集合;
(c)、对test中的每个元素ue,确定在ysi(index1)中是否存在一些元素等于ue;如果存在,则从中均匀随机地选择一个元素,将选中的元素在ysi中的位置索引加入donor_delete,并将该索引从index1中删除;否则,找出在ysi(index2)中等于ue的元素,从中均匀随机地选取一个,将它在ysi中的位置索引加入donor_delete,并将该索引从index2中删除;其中,ysi(index1)表示ysi中所有在index1记录的位置上的元素,ysi(index2)表示ysi中所有在index2记录的位置上的元素;
(d)、将donor_delete中的元素从集合{1,2,…,L}中移除,即令索引保留向量donar_reserve={1,2,…,L}\donar_delete,且usi(tempindex2)=ysi(donar_reserve);其中,\表示去除,usi(tempindex2)表示usi中所有在tempindex2记录的位置上的元素,ysi(donar_reserve)表示ysi中所有在donar_reserve记录的位置上的元素。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
1)本发明能够处理柔性作业车间生产环境中存在的不确定因素,在保证完工时间较短、机器负载较为均衡等性能的同时,增强车间调度方案对不确定性的抗干扰能力,降低调度性能对扰动的敏感程度;它能够同时处理工序排序和机器分配这两种调度策略,因此,与现有技术相比,本发明更适合处理现实世界中存在不确定因素的柔性作业车间调度问题。本发明提出的鲁棒调度技术对实际生产***的成功实施具有重要意义;
2)本发明同时优化了柔性作业车间的效率指标(完工时间、机器最大负载)和鲁棒性,并采用基于分解的多目标进化算法对多个目标并行处理,从而能够为生产管理者提供一组反映目标间不同折中程度的调度方案,为其做出最终的决策提供有力的参考;
3)本发明设计了一种新型的,能够有效利用全局信息的子问题更新策略;设置外部存储器保存Pareto非支配个体,并让这些精英个体有机会参与到子代个体的生成中;采用一种改进的自适应变异算子和基于修复的交叉算子进行繁殖操作,以助于更好地维护算法在“探索”和“利用”之间的平衡;这些机制能够有效地提高本发明的局部搜索能力,避免陷入局部最优,快速高效地实现柔性作业车间中的调度任务。
附图说明
图1是本发明的主体流程图。
图2为个体的表示方法示例图。
图3为调度方案解Solutiona在初始景象下的甘特图。
图4为调度方案解Solutiona在扰动情况下的甘特图。
图5为调度方案解Solutionb在初始景象下的甘特图。
图6为调度方案解Solutionb在扰动情况下的甘特图。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
一个柔性作业车间中,有5台机器,4项待加工的作业。每项作业的每道工序均可以在5台机器上分别加工。这些工序中,有部分工序的加工时间存在不确定性。4项作业包含的工序个数、每道工序在各台允许加工机器上的初始预估加工时间如表1所示。
表1
O11 | O12 | O13 | O21 | |
预估加工时间 | 2,5,4,1,2 | 5,4,5,7,5 | 4,5,5,4,5 | 2,5,4,7,8 |
O22 | O23 | O31 | O32 | |
预估加工时间 | 5,6,9,8,5 | 4,5,4,54,5 | 9,8,6,7,9 | 6,1,2,5,4 |
O33 | O34 | O41 | O42 | |
预估加工时间 | 2,5,4,2,4 | 4,5,2,1,5 | 1,5,2,4,12 | 5,1,2,1,2 |
使用本发明提出的基于分解多目标进化算法的柔性作业车间鲁棒调度方法求解该柔性作业车间实施例的调度方案,主体流程图如图1所示,具体步骤如下:
(1)初始化。读取柔性作业车间的输入信息,包括每项作业的工序数、每项作业中每道工序可分配的机器集合、各工序在相应机器上的初始预估加工时间(见表1);定义优化目标,设定约束条件:
优化目标中的“作业完工时间”表示完成柔性作业车间中的所有作业所花费的时间开销,它定义为:
其中,Cv和Sv分别表示第v项作业Jv中,最后一道工序的加工完成时间和第一道工序的加工开始时间,v=1,2,…,n;n为柔性作业车间中所有作业的总数,本实例中,n=4;I表示初始景象,本实例中,针对加工时间这一不确定属性,假设它的值为初始预估值确定不变,在此情况下计算初始景象下的作业完工时间;
优化目标中的“机器最大负载”表示各台机器总的加工时间的最大值,它定义为:
其中,m是柔性作业车间内机器的总台数,本实例中,m=5;是根据当前调度方案,在第s台机器上按第r个顺序进行加工的工序Osr的加工时间;ws是分配到第s台机器上的工序个数;I表示初始景象;
优化目标中“调度性能的鲁棒性”衡量调度方案的作业完工时间和机器的最大负载对不确定因素的敏感程度,它定义为:
鲁棒性采用基于景象的方法定义,将一个调度方案在不确定工序加工时间的多种采样值{θq|q=1,2,…,Q}下进行仿真,以比较作业完工时间和机器最大负载的实际值与初始预估值之间的差值;其中,θq是不确定工序加工时间的第q个采样值,Q是样本个数;makespanq和workloadq分别是采样值θq下相应的作业完工时间和机器最大负载目标值;
工序优先级约束是指每项作业的各道工序是按事先确定的顺序进行加工的;在柔性作业车间问题中,每道工序可以在它允许的机器集合中任一台上进行加工;
禁止抢先占有的约束包括:(i)每道工序的加工,只能在同一作业中排在它之前的所有工序都完成之后才能开始进行;(ii)如果将一道工序分配给了某台机器,只有在这台机器完成之前调度的所有工序之后,才能开始该道工序的加工;
(2)初始化基于分解的多目标进化算法的参数:
设置目标评价次数NmbEvl为15000、群体规模(即子问题的个数)N为500、产生N个均匀分布的目标权向量λ1,…,λN、子问题的邻域规模T为50,繁殖算子中的父代个体从邻域里选取的概率δ为0.7、邻域个体允许被每个子代个体替换的最大数目nr为5,评价鲁棒性时采样的不确定场景个数Q为30,交叉概率CR为0.3;
(3)确定每个子问题的邻域,产生初始父代群体:
(3.1)对第i个子问题,i=1,…,N,确定邻域B(i)={i1,…,iT}。分别计算第i个子问题的权向量λi和其它(N-1)个子问题权向量间的欧拉距离,将T个距离λi最近的权向量所对应的子群体序号{i1,…,iT}构成B(i);
(3.2)随机产生初始父代群体{x1,…,xN},其中个体xi为第i个子群体的当前解;群体中的每个个体包括工序序列向量和机器分配向量;随机采样一组不确定性场景θq,q=1,2,...,Q;计算初始父代群体中每个个体的目标值f1=makespanI、f2=workloadI和f3=robustness;从初始父代群体中确定出所有的Pareto非支配解构成外部存储器Arc;设置目标评价次数计数变量ct=N;归一化各目标值,将每个个体xi的第j个目标值fj(xi)映射到区间[0,1]之间,产生xi在第j个目标上的归一化值fnoj(xi),即:
其中,和分别表示当前父代群体中的所有个体在第j个目标上的最大值和最小值,j=1,2,3。
(3.3)设置进化代数t=0;
初始父代群体由N个随机生成的个体组成。本发明中,一个个体包括两个向量:(i)工序序列向量;(ii)机器分配向量。图2给出了个体表示方法的示例。对于工序序列向量,采用基于作业的表示方法,同一作业的工序均用该作业号表示。例如,图2中,工序O11、O12、O13均用作业号1表示。每道工序依据它在工序序列向量中出现的顺序进行转换。例如,工序序列向量中第一个出现的数字3代表工序O31,第二个出现的3代表O32,依此类推。因此,可将图2中的工序序列向量解释为:
其中,表示将工序a首先加入它所分配机器的等待队列,然后再调度工序b。
机器分配向量表示给每道工序分配的机器。它的分配顺序是:从当前序号最小作业的第一道工序到序号最大作业的最后一道工序。例如,在图2的机器分配向量中,第一个元素2表示将作业1的第一道工序O11分配给机器2,第二个元素3表示将作业1的第二道工序O12分配给机器3,依此类推,机器分配向量可解释为:
O11→机器2,O12→机器3,O13→机器5,O21→机器4,
O31→机器5,O32→机器3,O41→机器1,O42→机器2
其中,→表示将工序分配给相应的机器。
随机产生初始群体是指,每个个体中的工序序列向量通过随机排列所有作业中的所有工序生成;对于机器分配向量,将每道作业工序随机分配到它机器集合中的任一台上进行加工;
Pareto支配是指:设x1和x2为多目标优化问题的两个解,问题的目标个数为m1,假设所有目标均需最小化,称x1Pareto支配x2当且仅当
其中,g和h分别表示目标的某一个序号,fg(x1)和fg(x2)分别表示x1和x2在第g个目标fg上的目标值,fh(x1)和fh(x2)分别表示x1和x2在第h个目标fh上的目标值。
Pareto非支配解是指,如果在某一集合中不存在任何其它解x'Pareto支配x,则称x为该集合中的Pareto非支配解(简称非支配解)。提高Pareto非支配解在任何一个目标上的性能,都必然会导致它在剩余的至少一个目标上的性能降低;
(4)生成子代群体:
随机采样一组不确定性场景θq;设置子代群体令i=1;
(4.1)交配选择;
产生一个均匀分布的随机数rand1∈[0,1];设置第i个子问题的更新邻域P(i):
基于以下规则产生3个不同的父代个体和
(4.2)繁殖;
采用基于微分进化算法的繁殖算子,由和xi生成子代个体ui;
(4.3)更新外部存储器;
评价ui的目标值,并归一化各目标值;令ct=ct+1;将ui加入外部存储器Arc;并删除当前Arc中所有重复解和Pareto支配解;设Chipop=Chipop∪ui;如果i<N,则令i=i+1,转至(4.1),否则执行步骤(5);
步骤(4.2)所述的繁殖算子是指,基于微分进化算法中的变异算子和交叉算子,设计一种改进的自适应变异算子和基于修复的交叉算子,由父代个体和第i个子问题的当前个体xi,生成子代个体ui;其中,改进的自适应变异算子的实施方法如下:
β=e-0.015t,
其中,F1,F2和F3是变异因子,它们的值分别从[0.5,1]中均匀随机生成;是当前外部存储器Arc中,距离xi最近的解,参数β的值随着进化代数t的取值而变化;yi是由改进的自适应变异算子生成的个体;
对于个体的工序序列向量和机器分配向量,分别实施上述所述改进的自适应变异算子;在实施完成后,生成向量中的部分元素可能为非整数,即不可行值。为了解决该问题,对于生成的yi中的工序序列向量ysi,将它的各个元素按从小到大的顺序进行排列,得到ysi的排序向量tysi,并将排序后的每个元素在原向量ysi中的位置索引记录在索引向量Ii中;将xi的工序序列向量xsi中各个元素按从小到大的顺序进行排列,得到xsi的排序向量txsi,并令ysi(Ii)=txsi(ysi(Ii)表示ysi中所有在Ii记录的位置上的元素);对于生成的yi中的机器分配向量ymi,针对每个元素,搜索其对应工序的机器集合,从中确定出与该元素值最接近的机器,并将该机器替代此元素;如果有两台以上机器同时满足此条件,则从中随机选择一台机器替换对应元素;更新后的工序序列向量ysi和机器分配向量ymi构成个体yi;
所述基于修复的交叉算子的实施方法如下:
(a)将由改进的自适应变异算子生成的个体yi与xi组合,构成子代个体ui:
其中,分别是ui,yi,xi的第ll个元素,L是个体xi的长度,CR∈[0,1]是交叉概率,是从[0,1]中均匀随机产生的一个数,Irandi是从集合{1,2,…,L}中随机选择的一个整数;
在本发明机器分配向量的表示方法中,yi的机器分配向量ymi与xi的机器分配向量xmi在相同位置上的机器对应于同一道工序。因此,上述交叉算子可以直接作用于ymi和xmi,交叉得到的结果即为子代个体ui的机器分配向量umi。
对于工序序列向量,上述交叉算子的实施可能产生不可行结果,即在交叉后的工序序列向量中,出现冗余的作业工序,而丢失了另外一些工序。为了解决该问题,本发明针对yi的工序序列向量ysi与xi的工序序列向量xsi,需进一步实施以下步骤:
(b)将步骤(a)求得的ui的工序序列向量usi中,来自于xsi的元素位置索引记录在1号索引向量index1中,将来自于ysi的元素位置索引记录在2号索引向量index2中;令usi=xsi,临时索引向量tempindex2=index2,测试向量test=usi(index1)(usi(index1)表示usi中所有在index1记录的位置上的元素),索引删除向量donor_delete=[],[]表示空集合;
(c)对test中的每个元素ue,确定在ysi(index1)(ysi(index1)表示ysi中所有在index1记录的位置上的元素)中是否存在一些元素等于ue;如果存在,则从中均匀随机地选择一个元素,将选中的元素在ysi中的位置索引加入donor_delete,并将该索引从index1中删除;否则,找出在ysi(index2)(ysi(index2)表示ysi中所有在index2记录的位置上的元素)中等于ue的元素,从中均匀随机地选取一个,将它在ysi中的位置索引加入donor_delete,并将该索引从index2中删除;
(d)将donor_delete中的元素从集合{1,2,…,L}中移除,即令索引保留向量donar_reserve={1,2,…,L}\donar_delete(\表示去除),且usi(tempindex2)=ysi(donar_reserve)(usi(tempindex2)表示usi中所有在tempindex2记录的位置上的元素,ysi(donar_reserve)表示ysi中所有在donar_reserve记录的位置上的元素)。
(5)解的更新:
设混合群体Mixpop={x1,…,xN}∪Chipop,令i=1,
(5.1)令计数器c=0;
(5.2)从第i个子问题的更新邻域P(i)中随机选取一个子群体的序号k,k∈P(i);
(5.3)对于第k个子问题,从Mixpop中确定最佳解;
设标记变量mark=0;给定第k个子问题的权向量(为第j个目标的权值,)和参考向量 为第j个目标的参考点,采用切比雪夫法求得任意一个个体x在第k个子问题的合成目标函数为:
由于采用归一化目标值,设置参考向量z*=(0,0,0);对于Mixpop中的每个个体xyl和第k个子问题的当前解xk,如果下述3个条件中有一个满足:(i)gte(xyl|λk,z*)<gte(xk|λk,z*);(ii)gte(xyl|λk,z*)=gte(xk|λk,z*)且xyl Pareto支配xk;(iii)gte(xyl|λk,z*)=gte(xk|λk,z*)且xyl在鲁棒性能f3=robustness上的目标值小于xk,则令xk=xyl,FVk=F(xyl),Fnok=Fno(xyl),且mark=1;其中,FVk表示xk的目标向量,即FVk=F(xk)=[f1(xk),f2(xk),f3(xk)],F(xyl)表示xyl的目标向量,即F(xyl)=[f1(xyl),f2(xyl),f3(xyl)],Fnok表示xk经归一化后的目标向量,即Fnok=[fno1(xk),fno2(xk),fno3(xk)],Fno(xyl)表示xyl经归一化后的目标向量,即Fno(xyl)=[fno1(xyl),fno2(xyl),fno3(xyl)];
(5.4)如果mark=1,则令c=c+1;
(5.5)从P(i)中删除序号k;如果c<nr且P(i)非空集,则转至(5.2);否则,如果i<N,则令i=i+1,转至(5.1),否则转至步骤(6);
步骤(6)终止准则判断:
如果ct>NmbEvl,则终止迭代,输出外部存储器Arc,即一组Pareto非支配的柔性作业车间调度解,将这些解提供给生产管理者进行参考,并由他从中挑选出一个符合生产要求的满意解作为调度方案;否则,令t=t+1,转至步骤(4)。
本发明的效果可以通过以下仿真实验进一步说明:
1.实验条件:
在CPU为Intel core Duo 2.2GHz、内存4GB、WINDOWS 7***上使用Matlab 2010进行仿真。
2.实验内容:
本发明针对上述具有5台机器,4项作业的柔性作业车间实施例求解生产调度方案。本实施例中,每项作业的每道工序均可以在5台机器上分别加工。这些工序中,有部分工序的加工时间存在不确定性。4项作业包含的工序个数、每道工序在各台允许加工机器上的初始预估加工时间、以及受扰动后的实际加工时间如表1所示。
3.实验结果
本发明运行一次,可以求得一组Pareto非支配的柔性作业车间调度解。从这组解中挑选2个调度方案解Solutiona和Solutionb,当面临相同的加工时间不确定性时,给出它们在效率性能(作业完工时间、机器最大负载)和鲁棒性能上的比较。每道工序在各台允许加工机器上的初始预估加工时间、以及受扰动后的实际加工时间如表2所示。两个解在初始预估景象下的作业完工时间makespanI、机器最大负载workloadI、受扰动情况下的作业完工时间makespanq、机器最大负载workloadq,以及它们的鲁棒目标值如表3所示。从表3可以看出,为了获取更好的鲁棒性,Solutionb的初始作业完工时间makespanI和机器最大负载workloadI劣于Solutiona。然而,当面临相同的加工时间扰动时,Solutiona的作业完工时间makespanq和机器最大负载workloadq却不仅劣于Solutionb在扰动情况下的相应值,也劣于Solutionb在初始景象中的makespanI和workloadI。由此说明,Solutionb所具有的优良鲁棒性,补偿了它在初始景象中效率性能(makespanI和workloadI)的弱势,使得它具有更强的抗干扰能力,降低了它的效率性能对扰动的敏感程度。图3为调度方案解Solutiona在初始景象中的甘特图,图4为调度方案解Solutiona在扰动情况下的甘特图,图5为调度方案解Solutionb在初始景象中的甘特图,图6为调度方案解Solutionb在扰动情况下的甘特图。从甘特图中可以获取为每道工序分配的加工机器,每道工序的开始加工时间和结束时间、每项作业的开始加工时间和结束时间,以及每台机器上各工序的先后加工顺序。
表2
每个单元格中每行的5个值分别为各工序在各台机器上的预估或扰动加工时间
表3
分别使用本发明方法,以及两个现有的经典多目标进化算法MOEA/D-DE和NSGA-II求解本实施例,将求得的Pareto非支配解集在收敛性能和分布性能上进行比较。收敛性测度采用超体积比率(hypervolume ratio,简称HVR)度量。HVR的值越大,说明算法求得的Pareto非支配解集在目标空间上的收敛性越好,分布越广。分布性能用测度Spread度量,Spread越小,说明算法求得的Pareto非支配解集的分布越宽广且越均匀。将本发明方法和其它两种已有算法分别在本实施例中运行30次,采用显著性水平为0.5的Wilcoxon秩和检验法对3种算法在30次运行中的性能进行统计测试,结果如表4所示。表4中,p值是Wilcoxon秩和检验法的返回值,假设两组样本的分布具有相同的中值,则p值表示样本数据支持该假设的证据,p值越大,证据越强。符号‘+/-/=’分别表示,在算法A vs.算法B中,依据所采用的显著性水平为0.5的Wilcoxon秩和检验法,算法A显著优于B,或算法A显著劣于B,或算法A和B之间没有显著差别。由表4可见,在本实施例中,对于收敛性测度HVR和分布性能用测度Spread,本发明均显著优于MOEA/D-DE和NSGA-II,说明与两种已有的方法相比,本发明能够为生产管理者提供一组分布更宽广,且收敛性更好的Pareto非支配解。
表4
综上,本发明提出的基于分解多目标进化算法的柔性作业车间鲁棒调度方法,由于采用了新型的子问题更新策略,利用外部存储器中的精英个体参与子代个体生成,以及使用改进的自适应变异算子和基于修复的交叉算子进行繁殖,从而可以更好地利用全局信息,并维护算法在“探索”和“利用”之间的平衡,提高了算法的收敛特性和分布性能。这些机制有效地提高了本发明的搜索能力,克服了传统的生产调度方法局部搜索能力较弱、易于陷入局部最优、调度效率低下的缺点,能够快速高效地实现柔性作业车间中的调度任务。此外,通过引入鲁棒性能指标,本发明能够处理柔性作业车间生产环境中存在的不确定因素,在保证完工时间较短、机器负载较为均衡等性能的同时,增强车间调度方案对不确定性的抗干扰能力。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
Claims (6)
1.一种基于分解多目标进化算法的柔性车间鲁棒调度方法,其特征在于,包括以下步骤:
步骤(1)、读取柔性作业车间的输入信息,定义优化目标,设定约束条件:
车间的输入信息包括每项作业的工序数、每项作业中每道工序可分配的机器集合、各工序在相应机器上的加工时间、正常工作的机器数目;优化目标包括作业完工时间、机器的最大负载、调度性能的鲁棒性;约束条件包括工序优先级约束和禁止抢先占有的约束;
步骤(2)、初始化基于分解的多目标进化算法的参数:
设置迭代次数NmbEvl、群体规模N即为子问题的个数、产生N个均匀分布的目标权向量λ1,…,λN、子问题的邻域规模T,繁殖算子中的父代个体从邻域里选取的概率δ、邻域个体允许被每个子代个体替换的最大数目nr,评价鲁棒性时采样的不确定场景个数Q,以及交叉概率CR;
步骤(3)、确定每个子问题的邻域,产生初始父代群体:
(3.1)、对第i个子问题,i=1,…,N,确定邻域B(i)={i1,…,iT};分别计算第i个子问题的权向量λi和其它(N-1)个子问题权向量间的欧拉距离,将T个距离λi最近的权向量所对应的子群体序号{i1,…,iT}构成B(i);
(3.2)、随机产生初始父代群体{x1,…,xN},其中,个体xi为第i个子群体的当前解;群体中的每个个体包括工序序列向量和机器分配向量;随机采样一组不确定性场景θq,q=1,2,...,Q;计算初始父代群体中每个个体的目标值f1=makespanI、f2=workloadI和f3=robustness;makespanI和workloadI分别表示初始景象下的作业完工时间和机器最大负载,robustness表示调度性能的鲁棒性;从初始父代群体中确定出所有的Pareto非支配解构成外部存储器Arc;设置目标评价次数计数变量ct=N;归一化各目标值,将每个个体xi的第j个目标值fj(xi)映射到区间[0,1]之间,产生xi在第j个目标上的归一化值fnoj(xi),即:
其中,和分别表示当前父代群体中的所有个体在第j个目标上的最大值和最小值,j=1,2,3;
(3.3)、设置进化代数t=0;
步骤(4)、生成子代群体:
随机采样一组不确定性场景θq;设置子代群体令i=1;
(4.1)、交配选择;
产生一个均匀分布的随机数rand1∈[0,1];设置第i个子问题的更新邻域P(i):
基于以下规则产生3个不同的父代个体和
(4.2)、繁殖;
采用基于微分进化算法的繁殖算子,由和xi生成子代个体ui;
(4.3)、更新外部存储器;
评价ui的目标值,并归一化各目标值;令ct=ct+1;将ui加入外部存储器Arc;并删除当前Arc中所有重复解和Pareto支配解;设Chipop=Chipop∪ui;如果i<N,则令i=i+1,转至(4.1),否则执行步骤(5);
步骤(5)、解的更新:
设混合群体Mixpop={x1,…,xN}∪Chipop,令i=1,
(5.1)、令计数器c=0;
(5.2)、从第i个子问题的更新邻域P(i)中随机选取一个子群体的序号k,k∈P(i);
(5.3)、对于第k个子问题,从Mixpop中确定最佳解;
设标记变量mark=0;给定第k个子问题的权向量 为第j个目标的权值,和参考向量 为第j个目标的参考点,j=1,2,3,采用切比雪夫法求得任意一个个体x在第k个子问题的合成目标函数为:
由于采用归一化目标值,设置参考向量z*=(0,0,0);对于Mixpop中的每个个体xyl和第k个子问题的当前解xk,如果下述3个条件中有一个满足:(i)gte(xyl|λk,z*)<gte(xk|λk,z*);(ii)gte(xyl|λk,z*)=gte(xk|λk,z*)且xyl Pareto支配xk;(iii)gte(xyl|λk,z*)=gte(xk|λk,z*)且xyl在鲁棒性能f3=robustness上的目标值小于xk,则令xk=xyl,FVk=F(xyl),Fnok=Fno(xyl),且mark=1;其中,FVk表示xk的目标向量,即FVk=F(xk)=[f1(xk),f2(xk),f3(xk)],F(xyl)表示xyl的目标向量,即F(xyl)=[f1(xyl),f2(xyl),f3(xyl)],Fnok表示xk经归一化后的目标向量,即Fnok=[fno1(xk),fno2(xk),fno3(xk)],Fno(xyl)表示xyl经归一化后的目标向量,即Fno(xyl)=[fno1(xyl),fno2(xyl),fno3(xyl)];
(5.4)、如果mark=1,则令c=c+1;
(5.5)、从P(i)中删除序号k;如果c<nr且P(i)非空集,则转至(5.2);否则,如果i<N,则令i=i+1,转至(5.1),否则转至步骤(6);
步骤(6)、终止准则判断:
如果ct>NmbEvl,则终止迭代,输出外部存储器Arc,即一组Pareto非支配的柔性作业车间调度解;否则,令t=t+1,转至步骤(4)。
2.根据权利要求1所述的一种基于分解多目标进化算法的柔性车间鲁棒调度方法,其特征在于,步骤(1)中所述优化目标中的作业完工时间表示完成柔性作业车间中的所有作业所花费的时间开销,定义为:
其中,Cv和Sv分别表示在第v项作业中,最后一道工序的加工完成时间和第一道工序的加工开始时间,v=1,2,…,n,n为柔性作业车间中所有作业的总数;I表示初始景象,即针对不确定属性,设它的值为某一预估值确定不变,在此情况下计算作业完工时间;
步骤(1)所述优化目标中的机器最大负载表示各台机器加工时间的最大值,定义为:
其中,m是柔性作业车间内机器的总台数;是根据调度方案,在第s台机器上按第r个顺序进行加工的工序Osr的加工时间;ws是分配到第s台机器上的工序个数;
步骤(1)所述优化目标中,调度性能的鲁棒性是衡量调度方案的作业完工时间和机器的最大负载对不确定因素的敏感程度,定义为:
鲁棒性采用基于景象的方法定义,将一个调度方案在不确定属性的多种采样值{θq|q=1,2,…,Q}下进行仿真,以比较作业完工时间和机器最大负载的实际值与初始预估值之间的差值;其中,makespanq和workloadq分别是θq下相应的作业完工时间和机器最大负载目标值;
步骤(1)所述的工序优先级约束是指每项作业的各道工序是按事先确定的顺序进行加工的;在柔性作业车间问题中,每道工序可以在它允许的机器集合中任一台上进行加工;
步骤(1)所述的禁止抢先占有的约束包括:(i)每道工序的加工,只能在同一作业中排在它之前的所有工序都完成之后才能开始进行;(ii)如果将一道工序分配给了某台机器,只有在这台机器完成之前调度的所有工序之后,才能开始该道工序的加工。
3.根据权利要求1所述的一种基于分解多目标进化算法的柔性车间鲁棒调度方法,其特征在于,步骤(3.2)所述的随机产生初始群体是指,每个个体中的工序序列向量通过随机排列所有作业中的所有工序生成;对于机器分配向量,将每道作业工序随机分配到它机器集合中的任一台上进行加工。
4.根据权利要求1所述的一种基于分解多目标进化算法的柔性车间鲁棒调度方法,其特征在于,步骤(4.3)和步骤(5.3)所述的Pareto支配是指:设x1和x2为多目标优化问题的两个解,问题的目标个数为m1,假设所有目标均需最小化,称x1Pareto支配x2当且仅当
且
其中,g和h分别表示目标的某一个序号,fg(x1)和fg(x2)分别表示x1和x2在第g个目标fg上的目标值,fh(x1)和fh(x2)分别表示x1和x2在第h个目标fh上的目标值。
5.根据权利要求1所述的一种基于分解多目标进化算法的柔性车间鲁棒调度方法,其特征在于,步骤(3)和步骤(6)所述的Pareto非支配解是指,如果在某一集合中不存在任何其它解x'Pareto支配解x,则称x为该集合中的Pareto非支配解。
6.根据权利要求1所述的一种基于分解多目标进化算法的柔性车间鲁棒调度方法,其特征在于,步骤(4.2)所述的繁殖算子是指,基于微分进化算法中的变异算子和交叉算子,设计一种改进的自适应变异算子和基于修复的交叉算子,由父代个体和第i个子问题的当前个体xi,生成子代个体ui;其中,改进的自适应变异算子的实施方法如下:
β=e-0.015t,
其中,F1,F2和F3是变异因子,它们的值分别从[0.5,1]中均匀随机生成;是当前外部存储器Arc中,距离xi最近的解,参数β的值随着进化代数t的取值而变化;yi是由改进的自适应变异算子生成的个体;
对于个体的工序序列向量和机器分配向量,分别实施上述所述改进的自适应变异算子;对于生成的yi中的工序序列向量ysi,将它的各个元素按从小到大的顺序进行排列,得到ysi的排序向量tysi,并将排序后的每个元素在原向量ysi中的位置索引记录在索引向量Ii中;将xi的工序序列向量xsi中各个元素按从小到大的顺序进行排列,得到xsi的排序向量txsi,并令ysi(Ii)=txsi,ysi(Ii)表示ysi中所有在Ii记录的位置上的元素;对于生成的yi中的机器分配向量ymi,针对每个元素,搜索其对应工序的机器集合,从中确定出与该元素值最接近的机器,并将该机器替代此元素;如果有两台以上机器同时满足此条件,则从中随机选择一台机器替换对应元素;更新后的工序序列向量ysi和机器分配向量ymi构成新个体yi;
所述基于修复的交叉算子的实施方法如下:
(a)、将由改进的自适应变异算子生成的个体yi与xi组合,构成子代个体ui:
其中,分别是ui,yi,xi的第ll个元素,L是个体xi的长度,CR∈[0,1]是交叉概率,是从[0,1]中均匀随机产生的一个数,Irandi是从集合{1,2,…,L}中随机选择的一个整数;
在机器分配向量的表示方法中,yi的机器分配向量ymi与xi的机器分配向量xmi在相同位置上的机器对应于同一道工序;上述交叉算子直接作用于ymi和xmi,交叉得到的结果即为子代个体ui的机器分配向量umi;
针对yi的工序序列向量ysi与xi的工序序列向量xsi,进一步实施以下步骤:
(b)、将步骤(a)求得的ui的工序序列向量usi中,将来自于xsi的元素位置索引记录在1号索引向量index1中,将来自于ysi的元素位置索引记录在2号索引向量index2中;令usi=xsi,临时索引向量tempindex2=index2,测试向量test=usi(index1),usi(index1)表示usi中所有在index1记录的位置上的元素,索引删除向量donor_delete=[],[]表示空集合;
(c)、对test中的每个元素ue,确定在ysi(index1)中是否存在一些元素等于ue;如果存在,则从中均匀随机地选择一个元素,将选中的元素在ysi中的位置索引加入donor_delete,并将该索引从index1中删除;否则,找出在ysi(index2)中等于ue的元素,从中均匀随机地选取一个,将它在ysi中的位置索引加入donor_delete,并将该索引从index2中删除;其中,ysi(index1)表示ysi中所有在index1记录的位置上的元素,ysi(index2)表示ysi中所有在index2记录的位置上的元素;
(d)、将donor_delete中的元素从集合{1,2,…,L}中移除,即令索引保留向量donar_reserve={1,2,…,L}\donar_delete,且usi(tempindex2)=ysi(donar_reserve);其中,\表示去除,usi(tempindex2)表示usi中所有在tempindex2记录的位置上的元素,ysi(donar_reserve)表示ysi中所有在donar_reserve记录的位置上的元素。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610281979.3A CN105929690B (zh) | 2016-04-29 | 2016-04-29 | 一种基于分解多目标进化算法的柔性车间鲁棒调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610281979.3A CN105929690B (zh) | 2016-04-29 | 2016-04-29 | 一种基于分解多目标进化算法的柔性车间鲁棒调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105929690A CN105929690A (zh) | 2016-09-07 |
CN105929690B true CN105929690B (zh) | 2018-07-24 |
Family
ID=56836963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610281979.3A Active CN105929690B (zh) | 2016-04-29 | 2016-04-29 | 一种基于分解多目标进化算法的柔性车间鲁棒调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105929690B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106886467B (zh) * | 2017-02-24 | 2019-02-01 | 电子科技大学 | 基于分组-综合多目标进化的多任务测试优选方法 |
CN107292391B (zh) * | 2017-06-20 | 2021-01-08 | 上海交通大学 | 基于de和l-bfgs-b混合算法的柔性化车间任务调度优化方法 |
CN107464022B (zh) * | 2017-08-11 | 2018-07-10 | 同济大学 | 一种基于分解多目标进化算法的选址优化方法 |
CN109784603B (zh) * | 2018-11-15 | 2024-02-02 | 长安大学 | 一种基于混合鲸鱼群算法求解柔性作业车间调度的方法 |
CN110618668A (zh) * | 2019-09-29 | 2019-12-27 | 西北工业大学 | 柔性生产的绿色动态调度方法 |
CN111210125B (zh) * | 2019-12-27 | 2022-10-11 | 安徽大学 | 一种基于历史信息指导的多目标工件批调度方法及装置 |
CN112381273B (zh) * | 2020-10-30 | 2024-03-05 | 贵州大学 | 一种基于u-nsga-iii算法的多目标作业车间节能优化方法 |
CN114118699B (zh) * | 2021-10-27 | 2024-07-09 | 北京科技大学 | 一种分布式可重入车间调度问题的优化方法及装置 |
CN115796490B (zh) * | 2022-11-12 | 2023-07-18 | 华北电力大学(保定) | 一种考虑随机设备故障的绿色作业车间调度方法 |
CN116663861B (zh) * | 2023-07-27 | 2023-10-13 | 安徽大学绿色产业创新研究院 | 装配式构件生产鲁棒性和资源均衡结合的调度优化方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268722A (zh) * | 2014-10-20 | 2015-01-07 | 南京信息工程大学 | 基于多目标进化算法的动态柔性作业车间调度方法 |
CN104281917A (zh) * | 2014-09-26 | 2015-01-14 | 东华大学 | 基于自适应遗传和克隆选择算法的模糊作业车间调度方法 |
CN104636813A (zh) * | 2013-11-12 | 2015-05-20 | 中国科学院沈阳计算技术研究所有限公司 | 一种求解车间作业调度问题的混合遗传模拟退火算法 |
CN104880949A (zh) * | 2015-05-27 | 2015-09-02 | 江南大学 | 基于改进鸡群算法获得工件加工最优调度的方法 |
JP5803810B2 (ja) * | 2012-05-24 | 2015-11-04 | 新日鐵住金株式会社 | プロセス制御システム、プロセス制御方法、及びコンピュータプログラム |
CN105488568A (zh) * | 2015-11-30 | 2016-04-13 | 清华大学 | 一种基于目标重要性分解的模因演化多目标优化调度方法 |
-
2016
- 2016-04-29 CN CN201610281979.3A patent/CN105929690B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5803810B2 (ja) * | 2012-05-24 | 2015-11-04 | 新日鐵住金株式会社 | プロセス制御システム、プロセス制御方法、及びコンピュータプログラム |
CN104636813A (zh) * | 2013-11-12 | 2015-05-20 | 中国科学院沈阳计算技术研究所有限公司 | 一种求解车间作业调度问题的混合遗传模拟退火算法 |
CN104281917A (zh) * | 2014-09-26 | 2015-01-14 | 东华大学 | 基于自适应遗传和克隆选择算法的模糊作业车间调度方法 |
CN104268722A (zh) * | 2014-10-20 | 2015-01-07 | 南京信息工程大学 | 基于多目标进化算法的动态柔性作业车间调度方法 |
CN104880949A (zh) * | 2015-05-27 | 2015-09-02 | 江南大学 | 基于改进鸡群算法获得工件加工最优调度的方法 |
CN105488568A (zh) * | 2015-11-30 | 2016-04-13 | 清华大学 | 一种基于目标重要性分解的模因演化多目标优化调度方法 |
Non-Patent Citations (2)
Title |
---|
On Maintaining Diversity in MOEA/D: Application to a Biobjective Combinatorial FJSP;J Alonso et al.;《Conference on Genetic & Evolutionary Computation》;20150715;第719-726页 * |
多目标柔性作业车间调度方法研究;王晓娟;《中国博士学位论文全文数据库 信息科技辑》;20111015(第10期);摘要,第2-3章 * |
Also Published As
Publication number | Publication date |
---|---|
CN105929690A (zh) | 2016-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105929690B (zh) | 一种基于分解多目标进化算法的柔性车间鲁棒调度方法 | |
Rifai et al. | Multi-objective adaptive large neighborhood search for distributed reentrant permutation flow shop scheduling | |
He et al. | A discrete multi-objective fireworks algorithm for flowshop scheduling with sequence-dependent setup times | |
Zhu et al. | An efficient evolutionary grey wolf optimizer for multi-objective flexible job shop scheduling problem with hierarchical job precedence constraints | |
Müller | SOCEMO: surrogate optimization of computationally expensive multiobjective problems | |
Bhattacharjee et al. | Shuffled frog leaping algorithm and its application to 0/1 knapsack problem | |
Wang et al. | A bi-population based estimation of distribution algorithm for the flexible job-shop scheduling problem | |
Lu et al. | A chaotic non-dominated sorting genetic algorithm for the multi-objective automatic test task scheduling problem | |
CN106845642B (zh) | 一种带约束云工作流调度的自适应多目标进化方法 | |
Pistolesi et al. | TeMA: A tensorial memetic algorithm for many-objective parallel disassembly sequence planning in product refurbishment | |
CN109271320B (zh) | 一种上位多目标测试用例优先级排序方法 | |
CN103235743B (zh) | 一种基于分解和最优解跟随策略的多目标测试任务调度方法 | |
Calvet Liñán et al. | A statistical learning based approach for parameter fine-tuning of metaheuristics | |
Filatovas et al. | A preference-based multi-objective evolutionary algorithm R-NSGA-II with stochastic local search | |
Xiao et al. | A cooperative coevolution hyper-heuristic framework for workflow scheduling problem | |
Hao et al. | Manufacturing service supply-demand optimization with dual diversities for industrial internet platforms | |
CN112180853A (zh) | 基于多种群策略的柔性作业车间调度混合优化方法 | |
CN108427602B (zh) | 一种分布式计算任务的协同调度方法及装置 | |
CN109298930A (zh) | 一种基于多目标优化的云工作流调度方法及装置 | |
CN113341889A (zh) | 带装配阶段和能耗的分布式阻塞流水车间调度方法及*** | |
CN106599610A (zh) | 预测长链非编码rna和蛋白质联系的方法及*** | |
Arjmand et al. | Solving a multi-mode bi-objective resource investment problem using meta-heuristic algorithms | |
Moghadam et al. | An efficient genetic algorithm for flexible job-shop scheduling problem | |
Wang et al. | A novel memetic algorithm based on decomposition for multiobjective flexible job shop scheduling problem | |
Fontes et al. | On multi-objective evolutionary algorithms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: Room 420, block C, Kechuang headquarters building, No. 320, pubin Road, Jiangpu street, Pukou District, Nanjing, Jiangsu Patentee after: NANJING University OF INFORMATION SCIENCE & TECHNOLOGY Address before: 210000 No. 69 Olympic Sports street, Jianye District, Jiangsu, Nanjing Patentee before: NANJING University OF INFORMATION SCIENCE & TECHNOLOGY |
|
CP02 | Change in the address of a patent holder |