首页 / 专利库 / 人工智能 / 进化算法 / 一种复杂生产过程闭环调度优化方法

一种复杂生产过程闭环调度优化方法

阅读:43发布:2020-05-12

专利汇可以提供一种复杂生产过程闭环调度优化方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种复杂生产过程闭环调度优化方法,首先采用有向无环图描述带合作加工约束与设备整定时间约束的job-shop问题;其次,提取共生进化 算法 种群状态关键特征,离线训练用于自适应调节共生 进化算法 参数的参数整定模型,利用种群 迭代 状态信息获取当前种群最优参数,指导算法寻优;最后,结合种群实际迭代情况的反馈信息,在线更新参数整定模型,保持其鲁棒性,实现获取高 质量 机器分配与工序排序同步优化的目的。利用本发明能够获取解质量良好的调度方案。,下面是一种复杂生产过程闭环调度优化方法专利的具体信息内容。

1.一种复杂生产过程闭环调度方法,其特征在于:该方法的实现过程如下,步骤1,设计复杂生产过程调度方案编解码方案;
对于生产线上的若干工件和m台加工设备,采用有向无环图来描述工序间复杂的先后约束;有向无环图的节点表示工件的各工序;有向线条表示工序间的先后约束关系,前置工序指向后序工序,线条上的数字则表示各工序间的整定时间,设如图1中的工件1的工序1与工件1的工序2不在同一设备上进行加工,则工件1的工序2最早可以在工件1的工序1完工4分钟后开始加工;对于需要合作加工的两个或多个工序,则采用有向无环图中的同一个节点来描述;采用二段式编码,设有向线条的有向无环图中总共有N个节点,则编码长度为2N;
前半段编码长度为N,表示机器分配方案,各编码的值为1到M的整数,表示该工序被分配的机器号;后半段编码长度为n,编码值是1到N的随机不重复整数,表示工序排序方案,数字越小表示该工序优先级越高;
步骤2,基于SARSA(λ)算法离线训练共生进化算法参数模型;
步骤2.1,构建描述共生进化算法种群迭代情况的状态;采用4维向量s=[Dt/D0 Et/E0 Rt t/T]表示,式中,t为当前种群迭代次数,T为预设最大迭代次数,D0和E0分别为初始种群的多样性和集中性因子;Dt、Et和Rt分别为第t次迭代时种群的多样性、集中性和进化率因子,按照如下方式计算:
式中,Dt描述第t次迭代中候选的生产调度方案的离散程度, 和 分别为第t次迭代中第p和h个个体,N是种群规模, 和 分别为个体 和 的适应度函数值;
式中,Et描述第t次迭代中候选的生产调度方案的集中程度, 是第t次迭代中的最佳个体,|| ||为求二范数;
式中,Rt描述第t代迭代中候选的生产调度方案的改进程度;此外,为了能够应用SARSA(λ)算法,需要对状态进行离散化;考虑到Dt/D0、Et/E0和Rt处于区间[0,+∞)内,t/T处于区间[0,1]内,将其分别划分为ND、NE、NR和NT个子区间,这样,整个状态被划分为ND×NE×NR×NT个子区间;
步骤2.2,设计适用于参数动态自适应整定的动作集合A=[a1,a2,···,au,···,aU];式中,U为动作总个数,u为动作索引号,a1,a2和au分别为第1,2和u个动作;因此,对需控制的共生进化算法参数,即步长控制因子H进行如下方式的线性离散化;
式中,Hmax和Hmin分别为参数H的上下限;
步骤2.3,定义以平衡算法全局和局部搜索为目的的回报函数r(s,a);为此,算法种群需保持一个期望的有益变异率,即子代种群比父代种群中适应度函数值更优的个体所占的比例;为保证算法搜索能,设定有益变异率为1/5,定义回报函数如下:
式中,s为状态,a为采取的动作, 为个体xh在执行动作a后的个体,f(*)为适应度函数,sign(*)为符号函数,如果v>0,sign(v)=1;否则,sign(v)=0;
步骤2.4,根据步骤1中定义的状态、动作和回报函数,基于SARSA(λ)算法离线训练参数模型,即Q值矩阵;对于每一次探索,创建一个与Q值矩阵相同维度的空矩阵E,按照ε-贪心算法在动作集合中选取一个动作来执行,即按照均匀分布产生一个在区间(0,1)内的随机数,如果该值大于ε,则选取当前Q值矩阵中的最优动作,否则,在动作集合中随机选取一个动作并更新矩阵E:
E(s,a)←E(s,a)+1                               (6)
在执行该动作后,根据(5)计算出相应的回报函数值,并按照下式更新Q值矩阵和矩阵E:
Q(s,a)←Q(s,a)+βδE(s,a)
E(s,a)←γλE(s,a)                              (7)
式中,β为学习速率,γ和λ为折扣因子,δ按照如下方式计算:
δ=r(s,a)+γQ(s',a')-Q(s,a)                   (8)
其中s'为状态s执行动作a后的状态,a'为按照ε-贪心算法选取的动作;如此迭代,直到达到预设的最大迭代次数则结束本次探索;重复若干次探索过程,即可得到各个状态下最优的参数整定Q值矩阵;
步骤3,共生演化计算操作;该算法每代需执行以下三个阶段操作:互惠、共栖和寄生;
步骤4,根据反馈信息在线更新参数整定模型;为保持离线训练的参数整定模型的有效性,需对其进行在线更新。
2.根据权利要求1所述的一种复杂生产过程闭环调度方法,其特征在于:步骤3.1,互惠阶段;记 为第t代种群中适应度函数值最小的个体,即最佳个体,首先按照下式得到中间个体
式中, 和 分别为随机选取的第t代种群中第i个与第j个个体, 为两个体
之间的交互向量,H为步长控制因子,C~U(1,2)是收益系数,为在区间(1,2)内的服从均匀分布的随机数;
步骤3.2,共栖阶段;根据中间个体 生成子代个体
式中,V~U(0,1)是接收率因子,为在区间(1,2)内的服从均匀分布的随机数;
步骤3.3,寄生阶段;比较个体 与 的适应度函数值 与 若
则用子代个体 替换种群中父代个体
3.根据权利要求1所述的一种复杂生产过程闭环调度方法,其特征在于:步骤4.1按照下式的方式获取回报函数值:
步骤4.2按照下式的方式更新Q值矩阵
Q(s,a)←αQ(s,a)+(1-α)[r+γmaxQ(s',a')-Q(s,a)]          (12)
式中,a为实际迭代采用的动作,α为较大的学习速率,s'为当前种群的状态,maxQ(s',a')为当前种群状态对应的最大Q值。

说明书全文

一种复杂生产过程闭环调度优化方法

技术领域

[0001] 本发明属于复杂生产过程调度与控制技术领域,涉及一种带合作加工约束和设备整定时间约束的job-shop问题中设备闭环调度方法。

背景技术

[0002] 近年来由于随着制造平的不断提高,工序间的先后约束越发复杂,难以用线性先后关系直接描述。合作加工工序约束普遍存在于半导体、印刷、船舶等行业的各环节,同时由于工艺复杂,消耗时间长,常常成为制约整个系统性能的瓶颈工序。因此,实际生产中有效而快速地给出调度决策方案,将会提升系统性能并扩大产能。为合理描述带合作加工约束与整定时间约束这两类存在于job-shop问题中的复杂约束,采用有向无环图技术,以节点与带权有向线条的形式进行描述。为了提高共生进化算法搜索能,采用强化学习技术构建算法参数整定系统,这样离线训练在线优化的方式,促进了进化算法质量决策调度方案在实际生产中的应用。
[0003] 进化算法对参数敏感,传统参数整定方式往往依赖于先验经验。本发明跳出传统思路,利用强化学习中的SARSA(λ)算法,从揭示算法种群本质结构的度出发,通过与环境交互,自动化、系统化地构建共生进化算法参数整定策略,实现参数整定策略自主涌现,进而提高算法搜索能力。
[0004] 运用进化算法获取复杂过程最优调度方案中存在如下问题:(1)进化算法对参数敏感,其求解质量的好快与参数的选取是否合适有较大的关系;(2)由于进化算法严重依赖于随机过程,其每次求解的效果参差不一,且与全局最优解的差距难以估计。本发明重点在于通过强化学习技术实现进化算法参数自适应整定,构建算法闭环控制系统,实现平衡其全局搜索与局部搜索的目的。

发明内容

[0005] 本发明采用的技术方案为一种复杂生产过程闭环调度方法,首先,基于SARSA(λ)算法离线训练算法参数模型;其次,采用一种在异构下最早完工时间规则基础上,改进得到的启发式规则生成共生进化算法初始解;再次,采用共生演化算法进行迭代搜索调度优化方案,每次迭代时,需根据当前种群的状态和离线训练的算法参数模型获取适用于本次迭代的最优算法参数;最后,采用反馈的方式,在线更新算法参数模型,保持参数控制系统鲁棒性,实现算法闭环架构。进而在合理时间范围内机器分配与工序排序同步优化的目的。利用本发明能够快速有效地获取解质量良好的调度方案,不仅降低了最大完工时间指标,而且提高了复杂生产过程制造系统的整体性能。
[0006] 为了达到上述目的,本发明采用了以下技术方案。
[0007] 一种用于复杂生产过程的闭环调度方法,其特征在于,该方法包含以下步骤:
[0008] 步骤1设计复杂生产过程调度方案编解码方案;步骤2基于SARSA(λ)算法离线训练共生进化算法参数模型;步骤3共生演化计算操作;步骤4根据反馈信息在线更新参数模型。上述方法中各个步骤的详细操作过程如下:
[0009] 步骤1,设计复杂生产过程调度方案编解码方案。
[0010] 为求解带合作加工约束与设备整定时间约束的job-shop问题,需解决工序分配到各设备和分配到同一设备的工序排序问题。对于生产线上的若干工件和m台加工设备,采用有向无环图来描述工序间复杂的先后约束。如图1所示,有向无环图的节点表示工件的各工序;有向线条表示工序间的先后约束关系,前置工序指向后序工序,线条上的数字则表示各工序间的整定时间,例如,设如图1中的工件1的工序1与工件1的工序2不在同一设备上进行加工,则工件1的工序2最早可以在工件1的工序1完工4分钟后开始加工;对于需要合作加工的两个或多个工序,则采用有向无环图中的同一个节点来描述,例如图1中工件1的工序3和工件2的工序1。采用二段式编码,设有向线条的有向无环图中总共有N个节点,则编码长度为2N。前半段编码长度为N,表示机器分配方案,各编码的值为1到M的整数,表示该工序被分配的机器号,例如,图2中第2个编码值为2,表示在有向无环图中的第2个节点,工件2的工序1被分配到第2台设备上进行加工。后半段编码长度为n,编码值是1到N的随机不重复整数,表示工序排序方案,数字越小表示该工序优先级越高。为避免后序工序的优先级高于前置工序,需先获取当前被加工的所有工序集合,即在有向无环图中,所有指向该工序的工序均已完成加工;再找到可以加工的工序中对应的第二段编码值最小的,作为被实际选取的工序。
[0011] 步骤2,基于SARSA(λ)算法离线训练共生进化算法参数模型。
[0012] 步骤2.1,构建描述共生进化算法种群迭代情况的状态。采用4维向量s=[Dt/D0 Et/E0 Rt t/T]表示,式中,t为当前种群迭代次数,T为预设最大迭代次数,D0和E0分别为初始种群的多样性和集中性因子;Dt、Et和Rt分别为第t次迭代时种群的多样性、集中性和进化率因子,按照如下方式计算:
[0013]
[0014] 式中,Dt描述第t次迭代中候选的生产调度方案的离散程度, 和 分别为第t次迭代中第p和h个个体,N是种群规模, 和 分别为个体 和 的适应度函数值。
[0015]
[0016] 式中,Et描述第t次迭代中候选的生产调度方案的集中程度, 是第t次迭代中的最佳个体,|| ||为求二范数。
[0017]
[0018] 式中,Rt描述第t代迭代中候选的生产调度方案的改进程度。此外,为了能够应用SARSA(λ)算法,需要对状态进行离散化。考虑到Dt/D0、Et/E0和Rt处于区间[0,+∞)内,t/T处于区间[0,1]内,将其分别划分为ND、NE、NR和NT个子区间,这样,整个状态被划分为ND×NE×NR×NT个子区间。
[0019] 步骤2.2,设计适用于参数动态自适应整定的动作集合A=[a1,a2,···,au,···,aU]。式中,U为动作总个数,u为动作索引号,a1,a2和au分别为第1,2和u个动作。因此,对需控制的共生进化算法参数,即步长控制因子H进行如下方式的线性离散化。
[0020]
[0021] 式中,Hmax和Hmin分别为参数H的上下限。
[0022] 步骤2.3,定义以平衡算法全局和局部搜索为目的的回报函数r(s,a)。为此,算法种群需保持一个期望的有益变异率,即子代种群比父代种群中适应度函数值更优的个体所占的比例。为保证算法搜索能力,设定有益变异率为1/5,定义回报函数如下:
[0023]
[0024] 式中,s为状态,a为采取的动作, 为个体xh在执行动作a后的个体,f(*)为适应度函数,sign(*)为符号函数,如果v>0,sign(v)=1;否则,sign(v)=0。
[0025] 步骤2.4,根据步骤1.1-1.3中定义的状态、动作和回报函数,基于SARSA(λ)算法离线训练参数模型,即Q值矩阵。对于每一次探索,创建一个与Q值矩阵相同维度的空矩阵E,按照ε-贪心算法在动作集合中选取一个动作来执行,即按照均匀分布产生一个在区间(0,1)内的随机数,如果该值大于ε,则选取当前Q值矩阵中的最优动作,否则,在动作集合中随机选取一个动作并更新矩阵E:
[0026] E(s,a)←E(s,a)+1  (6)
[0027] 在执行该动作后,可根据(5)计算出相应的回报函数值,并按照下式更新Q值矩阵和矩阵E:
[0028] Q(s,a)←Q(s,a)+βδE(s,a)
[0029] E(s,a)←γλE(s,a)  (7)
[0030] 式中,β为学习速率,γ和λ为折扣因子,δ按照如下方式计算:
[0031] δ=r(s,a)+γQ(s',a')-Q(s,a)  (8)
[0032] 其中s'为状态s执行动作a后的状态,a'为按照ε-贪心算法选取的动作。如此迭代,直到达到预设的最大迭代次数则结束本次探索。重复若干次探索过程,即可得到各个状态下最优的参数整定Q值矩阵。
[0033] 步骤3,共生演化计算操作。该算法每代需执行以下三个阶段操作:互惠、共栖和寄生,具体操作如下:
[0034] 步骤3.1,互惠阶段。记 为第t代种群中适应度函数值最小的个体,即最佳个体,首先按照下式得到中间个体
[0035]
[0036]
[0037] 式中, 和 分别为随机选取的第t代种群中第i个与第j个个体, 为两个体之间的交互向量,H为步长控制因子,C~U(1,2)是收益系数,为在区间(1,2)内的服从均匀分布的随机数。
[0038] 步骤3.2,共栖阶段。根据中间个体 生成子代个体
[0039]
[0040] 式中,V~U(0,1)是接收率因子,为在区间(1,2)内的服从均匀分布的随机数。
[0041] 步骤3.3,寄生阶段。比较个体 与 的适应度函数值 与 若则用子代个体 替换种群中父代个体
[0042] 步骤4,根据反馈信息在线更新参数整定模型。为保持离线训练的参数整定模型的有效性,需对其进行在线更新。
[0043] 步骤4.1按照下式的方式获取回报函数值
[0044]
[0045] 步骤4.2按照下式的方式更新Q值矩阵
[0046] Q(s,a)←αQ(s,a)+(1-α)[r+γmaxQ(s',a')-Q(s,a)] (12)
[0047] 式中,a为实际迭代采用的动作,α为较大的学习速率,s'为当前种群的状态,maxQ(s',a')为当前种群状态对应的最大Q值。
[0048] 与现有技术相比比较,本发明具有如下技术优势:
[0049] 将融合强化学习的共生演化算法与几种常见调度算法进行性能上的对比,发现所提出的算法可以获得性能更好的调度解。基于强化学习的参数控制策略,平衡了共生进化算法的全局搜索与局部搜索,这样对于复杂生产过程,提高了算法的搜索能力。同时配合在线更新策略,形成闭环架构,保证了获取高质量解的可行性和通用性。附图说明
[0050] 图1为有向无环图描述带合作加工约束job-shop问题示意图;
[0051] 图2为离线训练参数整定模型流程图
[0052] 图3为解的编码结构示意图;
[0053] 图4为算法整体方案流程图;
[0054] 图5为算法参数变化过程图。

具体实施方式

[0055] 下面内容结合附图对本发明进行详细阐述。
[0056] 问题模型数据来源某通用测试数据
[0057] 生产线基本信息属性:有向无环图节点数量N;设备数量M。
[0058] 工序特征属性:有向无环图第n个节点(1≤n≤N)在设备m(1≤m≤M)上的加工处理时间Pn,m,有向无环图各节点间的设备整定时间。
[0059] 具体仿真实验中,数据集中YFJS01-YFJS13实例,每个实例包含4-10个工件,7-10台设备,总计24-50个有向无环图节点;YFJS14-YFJS20实例,每个实例包含13-17个工件,26台设备,和约300个有向无环图节点。
[0060] 参数整定模型建立;
[0061] 根据不同问题规模分别建立了多个模型。状态采用非线性方式离散化,具体参数如下:最大探索次数为5000次,每次探索终止条件为共生进化算法迭代3000代,其它参数设置如下:β=0.005,γ=0.5,λ=0.8,Hmax=0.875,Hmin=0.125,U=8,ND=NE=NR=NT=3,ε=0.05,α=0.05。
[0062] 算法对比结果;
[0063] 对比实验方法选取以下几种主流求解算法:启发式算法EST规则,List Scheduling算法
[0064] LSA,布谷算法CS,共生进化算法SOS。
[0065] 实验独立运行10次取平均值,结果如下表所示:
[0066]
[0067]
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈