首页 > 专利 > 南京信息工程大学 > 一种基于分解多目标进化算法的柔性车间鲁棒调度方法专利详情

一种基于分解多目标进化算法的柔性车间鲁棒调度方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2016-04-29
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2016-10-05
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2018-07-24
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2036-04-29
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN201610281979.3 申请日 2016-04-29
公开/公告号 CN105929690B 公开/公告日 2018-07-24
授权日 2018-07-24 预估到期日 2036-04-29
申请年 2016年 公开/公告年 2018年
缴费截止日
分类号 G05B13/04 主分类号 G05B13/04
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 5
权利要求数量 6 非专利引证数量 1
引用专利数量 5 被引证专利数量 0
非专利引证 1、全文. J Alonso et al..On MaintainingDiversity in MOEA/D: Application to aBiobjective Combinatorial FJSP. 《Conference on Genetic & EvolutionaryComputation》.2015,第719-726页. 王晓娟.多目标柔性作业车间调度方法研究《.中国博士学位论文全文数据库 信息科技辑》.2011,(第10期),摘要,第2-3章.;
引用专利 CN104636813A、CN104281917A、CN105488568A、CN104268722A、CN104880949A 被引证专利
专利权维持 4 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 南京信息工程大学 当前专利权人 南京信息工程大学
发明人 申晓宁、韩莹、张敏、付景枝、陈逸菲、赵丽玲、林屹 第一发明人 申晓宁
地址 江苏省南京市建邺区奥体大街69号 邮编 210000
申请人数量 1 发明人数量 7
申请人所在省 江苏省 申请人所在市 江苏省南京市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
南京经纬专利商标代理有限公司 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
朱小兵、朱桢荣
摘要
本发明公开了一种基于分解多目标进化算法的柔性车间鲁棒调度方法,(1)读取柔性作业车间的作业和机器属性等输入信息;定义优化目标,设定约束条件;(2)初始化算法的参数;(3)确定每个子问题的邻域,产生初始父代群体,从初始群体中确定出所有的Pareto非支配解构成外部存储器;(4)生成子代群体。进行交配选择,采用自适应变异算子和基于修复的交叉算子繁殖子代个体,并更新外部存储器;(5)利用生成的子代群体对各子问题的当前最优个体进行更新,构成新的父代群体;(6)判断个体目标评价次数若达到最大,则输出外部存储器,即一组Pareto非支配的柔性作业车间调度解;未达到则跳转至(4)。本发明快速高效地实现柔性作业车间中的调度任务。
  • 摘要附图
    一种基于分解多目标进化算法的柔性车间鲁棒调度方法
  • 说明书附图:图1
    一种基于分解多目标进化算法的柔性车间鲁棒调度方法
  • 说明书附图:图2
    一种基于分解多目标进化算法的柔性车间鲁棒调度方法
  • 说明书附图:图3
    一种基于分解多目标进化算法的柔性车间鲁棒调度方法
  • 说明书附图:图4
    一种基于分解多目标进化算法的柔性车间鲁棒调度方法
  • 说明书附图:图5
    一种基于分解多目标进化算法的柔性车间鲁棒调度方法
  • 说明书附图:图6
    一种基于分解多目标进化算法的柔性车间鲁棒调度方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2020-10-20 专利权人的姓名或者名称、地址的变更 专利权人由南京信息工程大学变更为南京信息工程大学 地址由210000 江苏省南京市建邺区奥体大街69号变更为211800 江苏省南京市浦口区江浦街道浦滨路320号科创总部大厦C座420室
2 2018-07-24 授权
3 2016-10-05 实质审查的生效 IPC(主分类): G05B 13/04 专利申请号: 201610281979.3 申请日: 2016.04.29
4 2016-09-07 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
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*);
te l k * te k k * l k te l k * te k k
(ii)g (xy|λ,z)=g (x |λ,z)且xy Pareto支配x ;(iii)g (xy |λ,z)=g (x|λ,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经归一化后k k k k l l
的目标向量,即Fno=[fno1(x),fno2(x),fno3(x)],Fno(xy)表示xy 经归一化后的目标向量,即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;其中,改进的自适应变异算子的实施方法如下:
-0.015t
β=e ,
其中,F1,F2和F3是变异因子,它们的值分别从[0.5,1]中均匀随机生成; 是当前外部存储器Arc中,距离xi最近的解, 参数β的值随着进化代数t的取值而变化;yi是由改进的自适应变异算子生成的个体;
对于个体的工序序列向量和机器分配向量,分别实施上述所述改进的自适应变异算子;对于生成的yi中的工序序列向量ysi,将它的各个元素按从小到大的顺序进行排列,得到ysi的排序向量tysi,并将排序后的每个元素在原向量ysi中的位置索引记录在索引向量Ii中;将xi的工序序列向量xsi中各个元素按从小到大的顺序进行排列,得到xsi的排序向量i i i i i i i i i
txs ,并令ys (I)=txs,ys(I)表示ys中所有在I记录的位置上的元素;对于生成的y中的机器分配向量ymi,针对每个元素,搜索其对应工序的机器集合,从中确定出与该元素值最接近的机器,并将该机器替代此元素;如果有两台以上机器同时满足此条件,则从中随机选择一台机器替换对应元素;更新后的工序序列向量ysi和机器分配向量ymi构成新个体yi;
所述基于修复的交叉算子的实施方法如下:
(a)、将由改进的自适应变异算子生成的个体yi与xi组合,构成子代个体ui:
其中, 分别是ui,yi,xi的第ll个元素,L是个体xi的长度,CR∈[0,1]是交叉概i
率, 是从[0,1]中均匀随机产生的一个数,Irand是从集合{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记录的位置上的元素。
说明书

技术领域

[0001] 本发明涉及柔性作业车间调度控制技术领域,特别是一种基于分解多目标进化算法的柔性车间鲁棒调度方法。

背景技术

[0002] 柔性作业车间调度问题是对经典车间调度问题的一般化,它是一类NP难问题。在柔性作业车间调度问题中,允许一道工序被多台机器加工,因此,需为每项作业的每道工序分配适当的机器,并确定各机器上工序的加工顺序,以在满足各种约束条件的前提下,实现作业的完工时间最短、各机器的负载均衡等优化目标。
[0003] 实际柔性作业车间的生产环境中存在着很多不确定因素,如由于对作业规格要求的改变导致部分工序加工时间发生改变;由于转包商的运输延迟,导致作业的投放时间推迟等。当面临这些扰动时,根据初始数据产生的最优调度方案的性能可能大大降低,因此亟需研究一种能够处理不确定因素的新型柔性作业车间鲁棒调度方法,以在保证完工时间较短、各机器的负载较为均衡等性能的同时,增强车间调度方案对不确定性的抗干扰能力,降低调度性能对扰动的敏感程度。柔性作业车间的鲁棒调度技术对实际生产系统的成功实施具有重要意义。
[0004] 进化算法是模拟生物在自然环境中的进化过程而形成的一类自适应全局优化概率搜索算法。进化算法可以处理传统优化方法难以解决的复杂优化问题,例如非连续、多模态等问题,它对整个群体实施选择、交叉、变异等操作,可以在算法的一次运行中并行搜索到多个解,加之它具有较强的环境自适应能力,因此,进化算法特别适用于求解柔性作业车间调度这类同时存在多个Pareto非支配解的多目标鲁棒优化问题。基于分解的多目标进化算法(MOEA/D)是由张青富教授和李辉博士在2007年首次提出的。该算法给出了一种新颖且通用的多目标处理框架。它将多目标优化问题分解为一组单目标子问题,并采用基于群体的进化算法协同求解这些子问题。由于它的高效性,近年来,MOEA/D已经成为国际学术界的研究热点之一,并且已有学者将MOEA/D成功应用于实际优化问题的求解中。
[0005] 目前已有的柔性作业车间调度方法存在以下不足:
[0006] (1)大多仅考虑了静态的生产环境。它们假设柔性作业车间中的所有信息都是预先可知且确定不变的,显然,当实际生产环境存在不确定因素时,依据静态方法产生的调度方案不再适用。
[0007] (2)对多个优化目标的处理方式比较单一。大多已有方法采用加权求和法将多个目标转换为一个目标,这种方法将会引入较多的参数,并且需要事先对各个目标进行归一化处理。由于柔性作业车间调度问题的多个目标之间往往是相互矛盾的,因此更好的方式是采用多目标进化算法对多个目标并行处理,从而为生产管理者提供一组反映目标间不同折中程度的调度方案,为其做出最终的决策提供参考。
[0008] (3)局部搜索能力较弱,易于陷入局部最优,调度效率低下。

发明内容

[0009] 本发明所要解决的技术问题是克服现有技术的不足而提供一种基于分解多目标进化算法的柔性车间鲁棒调度方法,以在实际的车间生产环境中,在优化作业的完工时间、促使各机器负载均衡的同时,尽可能地降低不确定性对调度方案性能的负面影响,并提高调度方法的局部搜索能力,避免陷入局部最优,实现快速高效的车间调度。
[0010] 本发明为解决上述技术问题采用以下技术方案:
[0011] 根据本发明提出的一种基于分解多目标进化算法的柔性车间鲁棒调度方法,包括以下步骤:
[0012] 步骤(1)、读取柔性作业车间的输入信息,定义优化目标,设定约束条件:
[0013] 车间的输入信息包括每项作业的工序数、每项作业中每道工序可分配的机器集合、各工序在相应机器上的加工时间、正常工作的机器数目;优化目标包括作业完工时间、机器的最大负载、调度性能的鲁棒性;约束条件包括工序优先级约束和禁止抢先占有的约束;
[0014] 步骤(2)、初始化基于分解的多目标进化算法的参数:
[0015] 设置迭代次数NmbEvl、群体规模N即为子问题的个数、产生N个均匀分布的目标权向量λ1,…,λN、子问题的邻域规模T,繁殖算子中的父代个体从邻域里选取的概率δ、邻域个体允许被每个子代个体替换的最大数目nr,评价鲁棒性时采样的不确定场景个数Q,以及交叉概率CR;
[0016] 步骤(3)、确定每个子问题的邻域,产生初始父代群体:
[0017] (3.1)、对第i个子问题,i=1,…,N,确定邻域B(i)={i1,…,iT};分别计算第i个子问题的权向量λi和其它(N-1)个子问题权向量间的欧拉距离,将T个距离λi最近的权向量所对应的子群体序号{i1,…,iT}构成B(i);
[0018] (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),即:
[0019]
[0020] 其中, 和 分别表示当前父代群体中的所有个体在第j个目标上的最大值和最小值,j=1,2,3;
[0021] (3.3)、设置进化代数t=0;
[0022] 步骤(4)、生成子代群体:
[0023] 随机采样一组不确定性场景θq;设置子代群体 令i=1;
[0024] (4.1)、交配选择;
[0025] 产生一个均匀分布的随机数rand1∈[0,1];设置第i个子问题的更新邻域P(i):
[0026]
[0027] 基于以下规则产生3个不同的父代个体 和
[0028]
[0029] (4.2)、繁殖;
[0030] 采用基于微分进化算法的繁殖算子,由 和xi生成子代个体ui;
[0031] (4.3)、更新外部存储器;
[0032] 评价ui的目标值,并归一化各目标值;令ct=ct+1;将ui加入外部存储器Arc;并删除当前Arc中所有重复解和Pareto支配解;设Chipop=Chipop∪ui;如果i<N,则令i=i+1,转至(4.1),否则执行步骤(5);
[0033] 步骤(5)、解的更新:
[0034] 设混合群体Mixpop={x1,…,xN}∪Chipop,令i=1,
[0035] (5.1)、令计数器c=0;
[0036] (5.2)、从第i个子问题的更新邻域P(i)中随机选取一个子群体的序号k,k∈P(i);
[0037] (5.3)、对于第k个子问题,从Mixpop中确定最佳解;
[0038] 设标记变量mark=0;给定第k个子问题的权向量 为第j个目标的权值, 和参考向量 为第j个目标的参考点,j
=1,2,3,采用切比雪夫法求得任意一个个体x在第k个子问题的合成目标函数为:
[0039]
[0040] 由于采用归一化目标值,设置参考向量z*=(0,0,0);对于Mixpop中的每个个体xyl和第k个子问题的当前解xk,如果下述3个条件中有一个满足:(i)gte(xyl|λk,z*)<gte(xk|k * te l k * te k k * l k te l k * teλ,z);(ii)g (xy|λ,z)=g (x|λ,z)且xy Pareto支配x ;(iii)g (xy|λ,z)=g(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)];
[0041] (5.4)、如果mark=1,则令c=c+1;
[0042] (5.5)、从P(i)中删除序号k;如果c<nr且P(i)非空集,则转至(5.2);否则,如果i<N,则令i=i+1,转至(5.1),否则转至步骤(6);
[0043] 步骤(6)、终止准则判断:
[0044] 如果ct>NmbEvl,则终止迭代,输出外部存储器Arc,即一组Pareto非支配的柔性作业车间调度解;否则,令t=t+1,转至步骤(4)。
[0045] 作为本发明所述的一种基于分解多目标进化算法的柔性车间鲁棒调度方法进一步优化方案,步骤(1)中所述优化目标中的作业完工时间表示完成柔性作业车间中的所有作业所花费的时间开销,定义为:
[0046]
[0047] 其中,Cv和Sv分别表示在第v项作业中,最后一道工序的加工完成时间和第一道工序的加工开始时间,v=1,2,…,n,n为柔性作业车间中所有作业的总数;I表示初始景象,即针对不确定属性,设它的值为某一预估值确定不变,在此情况下计算作业完工时间;
[0048] 步骤(1)所述优化目标中的机器最大负载表示各台机器加工时间的最大值,定义为:
[0049]
[0050] 其中,m是柔性作业车间内机器的总台数; 是根据调度方案,在第s台机器上按第r个顺序进行加工的工序Osr的加工时间;ws是分配到第s台机器上的工序个数;
[0051] 步骤(1)所述优化目标中,调度性能的鲁棒性是衡量调度方案的作业完工时间和机器的最大负载对不确定因素的敏感程度,定义为:
[0052]
[0053] 鲁棒性采用基于景象的方法定义,将一个调度方案在不确定属性的多种采样值{θq|q=1,2,…,Q}下进行仿真,以比较作业完工时间和机器最大负载的实际值与初始预估值之间的差值;其中,makespanq和workloadq分别是θq下相应的作业完工时间和机器最大负载目标值;
[0054] 步骤(1)所述的工序优先级约束是指每项作业的各道工序是按事先确定的顺序进行加工的;在柔性作业车间问题中,每道工序可以在它允许的机器集合中任一台上进行加工;
[0055] 步骤(1)所述的禁止抢先占有的约束包括:(i)每道工序的加工,只能在同一作业中排在它之前的所有工序都完成之后才能开始进行;(ii)如果将一道工序分配给了某台机器,只有在这台机器完成之前调度的所有工序之后,才能开始该道工序的加工。
[0056] 作为本发明所述的一种基于分解多目标进化算法的柔性车间鲁棒调度方法进一步优化方案,步骤(3.2)所述的随机产生初始群体是指,每个个体中的工序序列向量通过随机排列所有作业中的所有工序生成;对于机器分配向量,将每道作业工序随机分配到它机器集合中的任一台上进行加工。
[0057] 作为本发明所述的一种基于分解多目标进化算法的柔性车间鲁棒调度方法进一步优化方案,步骤(4.3)和步骤(5.3)所述的Pareto支配是指:设x1和x2为多目标优化问题的两个解,问题的目标个数为m1,假设所有目标均需最小化,称x1Pareto支配x2当且仅当[0058]
[0059] 且
[0060] 其中,g和h分别表示目标的某一个序号,fg(x1)和fg(x2)分别表示x1和x2在第g个目标fg上的目标值,fh(x1)和fh(x2)分别表示x1和x2在第h个目标fh上的目标值。
[0061] 作为本发明所述的一种基于分解多目标进化算法的柔性车间鲁棒调度方法进一步优化方案,步骤(3)和步骤(6)所述的Pareto非支配解是指,如果在某一集合中不存在任何其它解x'Pareto支配解x,则称x为该集合中的Pareto非支配解。
[0062] 作为本发明所述的一种基于分解多目标进化算法的柔性车间鲁棒调度方法进一步优化方案,步骤(4.2)所述的繁殖算子是指,基于微分进化算法中的变异算子和交叉算子,设计一种改进的自适应变异算子和基于修复的交叉算子,由父代个体 和第i个子问题的当前个体xi,生成子代个体ui;其中,改进的自适应变异算子的实施方法如下:
[0063] β=e-0.015t,
[0064]
[0065] 其中,F1,F2和F3是变异因子,它们的值分别从[0.5,1]中均匀随机生成; 是当前外部存储器Arc中,距离xi最近的解, 参数β的值随着进化代数t的取值而变化;yi是由改进的自适应变异算子生成的个体;
[0066] 对于个体的工序序列向量和机器分配向量,分别实施上述所述改进的自适应变异算子;对于生成的yi中的工序序列向量ysi,将它的各个元素按从小到大的顺序进行排列,得到ysi的排序向量tysi,并将排序后的每个元素在原向量ysi中的位置索引记录在索引向量i i i iI中;将x的工序序列向量xs中各个元素按从小到大的顺序进行排列,得到xs的排序向量txsi,并令ysi(Ii)=txsi,ysi(Ii)表示ysi中所有在Ii记录的位置上的元素;对于生成的yi中的机器分配向量ymi,针对每个元素,搜索其对应工序的机器集合,从中确定出与该元素值最接近的机器,并将该机器替代此元素;如果有两台以上机器同时满足此条件,则从中随机i i i
选择一台机器替换对应元素;更新后的工序序列向量ys和机器分配向量ym构成新个体y;
[0067] 所述基于修复的交叉算子的实施方法如下:
[0068] (a)、将由改进的自适应变异算子生成的个体yi与xi组合,构成子代个体ui:
[0069]
[0070] 其中, 分别是ui,yi,xi的第ll个元素,L是个体xi的长度,CR∈[0,1]是交叉概率, 是从[0,1]中均匀随机产生的一个数,Irandi是从集合{1,2,…,L}中随机选择的一个整数;
[0071] 在机器分配向量的表示方法中,yi的机器分配向量ymi与xi的机器分配向量xmi在相同位置上的机器对应于同一道工序;上述交叉算子直接作用于ymi和xmi,交叉得到的结果即为子代个体ui的机器分配向量umi;
[0072] 针对yi的工序序列向量ysi与xi的工序序列向量xsi,进一步实施以下步骤:
[0073] (b)、将步骤(a)求得的ui的工序序列向量usi中,将来自于xsi的元素位置索引记录在1号索引向量index1中,将来自于ysi的元素位置索引记录在2号索引向量index2中;令usi=xsi,临时索引向量tempindex2=index2,测试向量test=usi(index1),usi(index1)表示usi中所有在index1记录的位置上的元素,索引删除向量donor_delete=[],[]表示空集合;
[0074] (c)、对test中的每个元素ue,确定在ysi(index1)中是否存在一些元素等于ue;如果存在,则从中均匀随机地选择一个元素,将选中的元素在ysi中的位置索引加入donor_delete,并将该索引从index1中删除;否则,找出在ysi(index2)中等于ue的元素,从中均匀i随机地选取一个,将它在ys中的位置索引加入donor_delete,并将该索引从index2中删除;
其中,ysi(index1)表示ysi中所有在index1记录的位置上的元素,ysi(index2)表示ysi中所有在index2记录的位置上的元素;
[0075] (d)、将donor_delete中的元素从集合{1,2,…,L}中移除,即令索引保留向量i idonar_reserve={1,2,…,L}\donar_delete,且us (tempindex2)=ys (donar_reserve);
其中,\表示去除,usi(tempindex2)表示usi中所有在tempindex2记录的位置上的元素,ysi(donar_reserve)表示ysi中所有在donar_reserve记录的位置上的元素。
[0076] 本发明采用以上技术方案与现有技术相比,具有以下技术效果:
[0077] 1)本发明能够处理柔性作业车间生产环境中存在的不确定因素,在保证完工时间较短、机器负载较为均衡等性能的同时,增强车间调度方案对不确定性的抗干扰能力,降低调度性能对扰动的敏感程度;它能够同时处理工序排序和机器分配这两种调度策略,因此,与现有技术相比,本发明更适合处理现实世界中存在不确定因素的柔性作业车间调度问题。本发明提出的鲁棒调度技术对实际生产系统的成功实施具有重要意义;
[0078] 2)本发明同时优化了柔性作业车间的效率指标(完工时间、机器最大负载)和鲁棒性,并采用基于分解的多目标进化算法对多个目标并行处理,从而能够为生产管理者提供一组反映目标间不同折中程度的调度方案,为其做出最终的决策提供有力的参考;
[0079] 3)本发明设计了一种新型的,能够有效利用全局信息的子问题更新策略;设置外部存储器保存Pareto非支配个体,并让这些精英个体有机会参与到子代个体的生成中;采用一种改进的自适应变异算子和基于修复的交叉算子进行繁殖操作,以助于更好地维护算法在“探索”和“利用”之间的平衡;这些机制能够有效地提高本发明的局部搜索能力,避免陷入局部最优,快速高效地实现柔性作业车间中的调度任务。

实施方案

[0086] 下面结合附图对本发明的技术方案做进一步的详细说明:
[0087] 一个柔性作业车间中,有5台机器,4项待加工的作业。每项作业的每道工序均可以在5台机器上分别加工。这些工序中,有部分工序的加工时间存在不确定性。4项作业包含的工序个数、每道工序在各台允许加工机器上的初始预估加工时间如表1所示。
[0088] 表1
[0089]  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
[0090] 使用本发明提出的基于分解多目标进化算法的柔性作业车间鲁棒调度方法求解该柔性作业车间实施例的调度方案,主体流程图如图1所示,具体步骤如下:
[0091] (1)初始化。读取柔性作业车间的输入信息,包括每项作业的工序数、每项作业中每道工序可分配的机器集合、各工序在相应机器上的初始预估加工时间(见表1);定义优化目标,设定约束条件:
[0092] 优化目标中的“作业完工时间”表示完成柔性作业车间中的所有作业所花费的时间开销,它定义为:
[0093]
[0094] 其中,Cv和Sv分别表示第v项作业Jv中,最后一道工序的加工完成时间和第一道工序的加工开始时间,v=1,2,…,n;n为柔性作业车间中所有作业的总数,本实例中,n=4;I表示初始景象,本实例中,针对加工时间这一不确定属性,假设它的值为初始预估值确定不变,在此情况下计算初始景象下的作业完工时间;
[0095] 优化目标中的“机器最大负载”表示各台机器总的加工时间的最大值,它定义为:
[0096]
[0097] 其中,m是柔性作业车间内机器的总台数,本实例中,m=5; 是根据当前调度方案,在第s台机器上按第r个顺序进行加工的工序Osr的加工时间;ws是分配到第s台机器上的工序个数;I表示初始景象;
[0098] 优化目标中“调度性能的鲁棒性”衡量调度方案的作业完工时间和机器的最大负载对不确定因素的敏感程度,它定义为:
[0099]
[0100] 鲁棒性采用基于景象的方法定义,将一个调度方案在不确定工序加工时间的多种采样值{θq|q=1,2,…,Q}下进行仿真,以比较作业完工时间和机器最大负载的实际值与初始预估值之间的差值;其中,θq是不确定工序加工时间的第q个采样值,Q是样本个数;makespanq和workloadq分别是采样值θq下相应的作业完工时间和机器最大负载目标值;
[0101] 工序优先级约束是指每项作业的各道工序是按事先确定的顺序进行加工的;在柔性作业车间问题中,每道工序可以在它允许的机器集合中任一台上进行加工;
[0102] 禁止抢先占有的约束包括:(i)每道工序的加工,只能在同一作业中排在它之前的所有工序都完成之后才能开始进行;(ii)如果将一道工序分配给了某台机器,只有在这台机器完成之前调度的所有工序之后,才能开始该道工序的加工;
[0103] (2)初始化基于分解的多目标进化算法的参数:
[0104] 设置目标评价次数NmbEvl为15000、群体规模(即子问题的个数)N为500、产生N个1 N
均匀分布的目标权向量λ,…,λ、子问题的邻域规模T为50,繁殖算子中的父代个体从邻域里选取的概率δ为0.7、邻域个体允许被每个子代个体替换的最大数目nr为5,评价鲁棒性时采样的不确定场景个数Q为30,交叉概率CR为0.3;
[0105] (3)确定每个子问题的邻域,产生初始父代群体:
[0106] (3.1)对第i个子问题,i=1,…,N,确定邻域B(i)={i1,…,iT}。分别计算第i个子问题的权向量λi和其它(N-1)个子问题权向量间的欧拉距离,将T个距离λi最近的权向量所对应的子群体序号{i1,…,iT}构成B(i);
[0107] (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)映射到区i i
间[0,1]之间,产生x在第j个目标上的归一化值fnoj(x),即:
[0108]
[0109] 其中, 和 分别表示当前父代群体中的所有个体在第j个目标上的最大值和最小值,j=1,2,3。
[0110] (3.3)设置进化代数t=0;
[0111] 初始父代群体由N个随机生成的个体组成。本发明中,一个个体包括两个向量:(i)工序序列向量;(ii)机器分配向量。图2给出了个体表示方法的示例。对于工序序列向量,采用基于作业的表示方法,同一作业的工序均用该作业号表示。例如,图2中,工序O11、O12、O13均用作业号1表示。每道工序依据它在工序序列向量中出现的顺序进行转换。例如,工序序列向量中第一个出现的数字3代表工序O31,第二个出现的3代表O32,依此类推。因此,可将图2中的工序序列向量解释为:
[0112]
[0113] 其中, 表示将工序a首先加入它所分配机器的等待队列,然后再调度工序b。
[0114] 机器分配向量表示给每道工序分配的机器。它的分配顺序是:从当前序号最小作业的第一道工序到序号最大作业的最后一道工序。例如,在图2的机器分配向量中,第一个元素2表示将作业1的第一道工序O11分配给机器2,第二个元素3表示将作业1的第二道工序O12分配给机器3,依此类推,机器分配向量可解释为:
[0115] O11→机器2,O12→机器3,O13→机器5,O21→机器4,
[0116] O31→机器5,O32→机器3,O41→机器1,O42→机器2
[0117] 其中,→表示将工序分配给相应的机器。
[0118] 随机产生初始群体是指,每个个体中的工序序列向量通过随机排列所有作业中的所有工序生成;对于机器分配向量,将每道作业工序随机分配到它机器集合中的任一台上进行加工;
[0119] Pareto支配是指:设x1和x2为多目标优化问题的两个解,问题的目标个数为m1,假设所有目标均需最小化,称x1Pareto支配x2当且仅当
[0120]
[0121] 其中,g和h分别表示目标的某一个序号,fg(x1)和fg(x2)分别表示x1和x2在第g个目标fg上的目标值,fh(x1)和fh(x2)分别表示x1和x2在第h个目标fh上的目标值。
[0122] Pareto非支配解是指,如果在某一集合中不存在任何其它解x'Pareto支配x,则称x为该集合中的Pareto非支配解(简称非支配解)。提高Pareto非支配解在任何一个目标上的性能,都必然会导致它在剩余的至少一个目标上的性能降低;
[0123] (4)生成子代群体:
[0124] 随机采样一组不确定性场景θq;设置子代群体 令i=1;
[0125] (4.1)交配选择;
[0126] 产生一个均匀分布的随机数rand1∈[0,1];设置第i个子问题的更新邻域P(i):
[0127]
[0128] 基于以下规则产生3个不同的父代个体 和
[0129]
[0130] (4.2)繁殖;
[0131] 采用基于微分进化算法的繁殖算子,由 和xi生成子代个体ui;
[0132] (4.3)更新外部存储器;
[0133] 评价ui的目标值,并归一化各目标值;令ct=ct+1;将ui加入外部存储器Arc;并删除当前Arc中所有重复解和Pareto支配解;设Chipop=Chipop∪ui;如果i<N,则令i=i+1,转至(4.1),否则执行步骤(5);
[0134] 步骤(4.2)所述的繁殖算子是指,基于微分进化算法中的变异算子和交叉算子,设计一种改进的自适应变异算子和基于修复的交叉算子,由父代个体 和第i个子i i
问题的当前个体x,生成子代个体u;其中,改进的自适应变异算子的实施方法如下:
[0135] β=e-0.015t,
[0136]
[0137] 其中,F1,F2和F3是变异因子,它们的值分别从[0.5,1]中均匀随机生成; 是当前外部存储器Arc中,距离xi最近的解, 参数β的值随着进化代数t的取值而变化;yi是由改进的自适应变异算子生成的个体;
[0138] 对于个体的工序序列向量和机器分配向量,分别实施上述所述改进的自适应变异算子;在实施完成后,生成向量中的部分元素可能为非整数,即不可行值。为了解决该问题,对于生成的yi中的工序序列向量ysi,将它的各个元素按从小到大的顺序进行排列,得到ysi的排序向量tysi,并将排序后的每个元素在原向量ysi中的位置索引记录在索引向量Ii中;将xi的工序序列向量xsi中各个元素按从小到大的顺序进行排列,得到xsi的排序向量txsi,并令ysi(Ii)=txsi(ysi(Ii)表示ysi中所有在Ii记录的位置上的元素);对于生成的yi中的机器分配向量ymi,针对每个元素,搜索其对应工序的机器集合,从中确定出与该元素值最接近的机器,并将该机器替代此元素;如果有两台以上机器同时满足此条件,则从中随机选择i i i
一台机器替换对应元素;更新后的工序序列向量ys和机器分配向量ym构成个体y;
[0139] 所述基于修复的交叉算子的实施方法如下:
[0140] (a)将由改进的自适应变异算子生成的个体yi与xi组合,构成子代个体ui:
[0141]
[0142] 其中, 分别是ui,yi,xi的第ll个元素,L是个体xi的长度,CR∈[0,1]是交叉概率, 是从[0,1]中均匀随机产生的一个数,Irandi是从集合{1,2,…,L}中随机选择的一个整数;
[0143] 在本发明机器分配向量的表示方法中,yi的机器分配向量ymi与xi的机器分配向量xmi在相同位置上的机器对应于同一道工序。因此,上述交叉算子可以直接作用于ymi和xmi,交叉得到的结果即为子代个体ui的机器分配向量umi。
[0144] 对于工序序列向量,上述交叉算子的实施可能产生不可行结果,即在交叉后的工序序列向量中,出现冗余的作业工序,而丢失了另外一些工序。为了解决该问题,本发明针对yi的工序序列向量ysi与xi的工序序列向量xsi,需进一步实施以下步骤:
[0145] (b)将步骤(a)求得的ui的工序序列向量usi中,来自于xsi的元素位置索引记录在1号索引向量index1中,将来自于ysi的元素位置索引记录在2号索引向量index2中;令usi=xsi,临时索引向量tempindex2=index2,测试向量test=usi(index1)(usi(index1)表示usi中所有在index1记录的位置上的元素),索引删除向量donor_delete=[],[]表示空集合;
[0146] (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中删除;
[0147] (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记录的位置上的元素)。
[0148] (5)解的更新:
[0149] 设混合群体Mixpop={x1,…,xN}∪Chipop,令i=1,
[0150] (5.1)令计数器c=0;
[0151] (5.2)从第i个子问题的更新邻域P(i)中随机选取一个子群体的序号k,k∈P(i);
[0152] (5.3)对于第k个子问题,从Mixpop中确定最佳解;
[0153] 设标记变量mark=0;给定第k个子问题的权向量 ( 为第j个目标的权值, )和参考向量 为第j个目标的参考
点,采用切比雪夫法求得任意一个个体x在第k个子问题的合成目标函数为:
[0154]
[0155] 由于采用归一化目标值,设置参考向量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)];
[0156] (5.4)如果mark=1,则令c=c+1;
[0157] (5.5)从P(i)中删除序号k;如果c<nr且P(i)非空集,则转至(5.2);否则,如果i<N,则令i=i+1,转至(5.1),否则转至步骤(6);
[0158] 步骤(6)终止准则判断:
[0159] 如果ct>NmbEvl,则终止迭代,输出外部存储器Arc,即一组Pareto非支配的柔性作业车间调度解,将这些解提供给生产管理者进行参考,并由他从中挑选出一个符合生产要求的满意解作为调度方案;否则,令t=t+1,转至步骤(4)。
[0160] 本发明的效果可以通过以下仿真实验进一步说明:
[0161] 1.实验条件:
[0162] 在CPU为Intel core Duo 2.2GHz、内存4GB、WINDOWS 7系统上使用Matlab 2010进行仿真。
[0163] 2.实验内容:
[0164] 本发明针对上述具有5台机器,4项作业的柔性作业车间实施例求解生产调度方案。本实施例中,每项作业的每道工序均可以在5台机器上分别加工。这些工序中,有部分工序的加工时间存在不确定性。4项作业包含的工序个数、每道工序在各台允许加工机器上的初始预估加工时间、以及受扰动后的实际加工时间如表1所示。
[0165] 3.实验结果
[0166] 本发明运行一次,可以求得一组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在扰动情况下的甘特图。从甘特图中可以获取为每道工序分配的加工机器,每道工序的开始加工时间和结束时间、每项作业的开始加工时间和结束时间,以及每台机器上各工序的先后加工顺序。
[0167] 表2
[0168]
[0169]
[0170] 每个单元格中每行的5个值分别为各工序在各台机器上的预估或扰动加工时间[0171] 表3
[0172]
[0173] 分别使用本发明方法,以及两个现有的经典多目标进化算法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非支配解。
[0174] 表4
[0175]
[0176] 综上,本发明提出的基于分解多目标进化算法的柔性作业车间鲁棒调度方法,由于采用了新型的子问题更新策略,利用外部存储器中的精英个体参与子代个体生成,以及使用改进的自适应变异算子和基于修复的交叉算子进行繁殖,从而可以更好地利用全局信息,并维护算法在“探索”和“利用”之间的平衡,提高了算法的收敛特性和分布性能。这些机制有效地提高了本发明的搜索能力,克服了传统的生产调度方法局部搜索能力较弱、易于陷入局部最优、调度效率低下的缺点,能够快速高效地实现柔性作业车间中的调度任务。此外,通过引入鲁棒性能指标,本发明能够处理柔性作业车间生产环境中存在的不确定因素,在保证完工时间较短、机器负载较为均衡等性能的同时,增强车间调度方案对不确定性的抗干扰能力。
[0177] 以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。

附图说明

[0080] 图1是本发明的主体流程图。
[0081] 图2为个体的表示方法示例图。
[0082] 图3为调度方案解Solutiona在初始景象下的甘特图。
[0083] 图4为调度方案解Solutiona在扰动情况下的甘特图。
[0084] 图5为调度方案解Solutionb在初始景象下的甘特图。
[0085] 图6为调度方案解Solutionb在扰动情况下的甘特图。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号