[发明专利]一种求解大规模车间作业调度问题的混合分布式进化方法有效
申请号: | 201910683442.3 | 申请日: | 2019-07-26 |
公开(公告)号: | CN110490372B | 公开(公告)日: | 2022-03-01 |
发明(设计)人: | 李小霞;杨洁;朱荣银;李悦川 | 申请(专利权)人: | 华中农业大学 |
主分类号: | G06Q10/04 | 分类号: | G06Q10/04;G06Q10/06;G06Q50/04;G06N3/12 |
代理公司: | 湖北武汉永嘉专利代理有限公司 42102 | 代理人: | 崔友明 |
地址: | 430070 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 求解 大规模 车间 作业 调度 问题 混合 分布式 进化 方法 | ||
1.一种求解大规模车间作业调度问题的混合分布式进化方法,其特征在于,对车间的若干个调度方案,采用混合分布式进化方法进行调度方案的选择,每个调度方案均包括多个工序,该方法采用两层结构,输出最优调度方案,该方法包括以下步骤:
L1基于种群的分布式进化层:采用排序划分方法,将调度方案作为个体组成种群,将种群划分为多个子种群,各子种群采用相同或不同的进化算法分别进化,进化过程中采用间隔性信息交换的方法,实现子种群之间的进化协作;
L2基于维度的分布式进化层:生成贝叶斯网络用于表示调度方案中各维度变量间的关系,根据得到的贝叶斯网络对维度变量进行分组,从而将大规模优化问题划分为多个中小规模子问题分别进化,进化过程中每个子问题中个体的适应度评价,通过选取参考向量的方法实现;
通过将若干个调度方案作为待进化种群,分别从横向和纵向上进行基于种群和基于维度的划分,从而实现混合分布式进化,输出最优调度方案,将最优调度方案交由车间执行;
该方法中采用的排序划分方法为:
步骤1.1、初始化若干调度方案组成待进化种群,将待进化种群中个体按适应度大小进行升序排列;
步骤1.2、设置子种群数量为n,并对子种群进行编号为1,2,3,...,n;
步骤1.3、按照如下公式,建立个体与子种群的对应关系;
个体分配的子种群编号=个体适应度次序%子种群数量
步骤1.4、根据步骤1.3所得的个体与子种群的对应关系,将个体划分至对应子种群中;
该方法中采用的间隔性信息交换方法为:
步骤2.1、初始化信息交换间隔代数Tc、迭代计数Count和总迭代次数Iter;
步骤2.2、各子种群使用相应的进化算法分别实现Tc代进化,更新迭代计数Count;
步骤2.3、通过比较各子种群中个体的适应度,为各子种群选择出相应的最优个体和最差个体,并将选出的最优个体存储于所有子种群均可访问的公共存储空间中;
步骤2.4、为每个子种群,从公共存储空间随机取出一个来自其他子种群的最优个体,并用取出的最优个体替换子种群中的最差个体;
步骤2.5、判断迭代计数值Count是否达到总迭代次数Iter,若是,则结束,否则,转向步骤2.2;
该方法中生成贝叶斯网络的方法为:
步骤3.1、随机生成NB个N×N的矩阵BN,NB1;
其中,N表示待优化调度问题的总工序数,bij∈{0,1}表示问题中工序Oi和工序Oj在贝叶斯网络中是否相关,若bij=1,则在贝叶斯网络中与工序Oi和工序Oj对应的结点间存在有向边Nodei→Nodej;若bij=0,则表示在贝叶斯网络中与工序Oi和工序Oj对应的结点间无有向边;
步骤3.2、采用有向无环图调整方法,对生成的NB个矩阵BN进行调整,得到相应的NB个新矩阵BN’,使每个BN’均能映射为一个有向无环图,从而由调整所得的NB个BN’组成初始贝叶斯网络种群;
步骤3.3、采用基于评分的进化算法优化步骤3.2所得的初始贝叶斯网络种群,得到最优贝叶斯网络,用于表示维度变量间的关系;
步骤3.3中基于评分的进化算法为:
步骤3.3.1、随机生成若干个调度方案个体,选出其中的优秀个体组成初始调度方案种群;
步骤3.3.2、初始化迭代次数T、迭代计数t、变异概率p;
步骤3.3.3、以初始调度方案种群为数据集,使用贝叶斯网络评分公式计算当前贝叶斯网络种群中的每个个体的评分,作为相应贝叶斯网络个体的适应度值;
步骤3.3.4、使用锦标赛机制从当前贝叶斯网络种群中,选取n个贝叶斯网络个体,n≥2;
步骤3.3.5、将选取的贝叶斯网络个体两两交叉,生成新的贝叶斯网络个体;其方法为:
随机生成行号i1、i2,列号j1、j2,交换位置,使i1i2;
将两个贝叶斯网络个体从第i1行第j1列元素开始至第i2行第j2元素,进行交换产生新的贝叶斯网络个体;
步骤3.3.6、为当前贝叶斯网络种群中的每个个体生成相应的随机数r,若rp,则对相应的贝叶斯网络个体执行变异操作;其方法为:
随机生成行号i1、i2,列号j1、j2,交换位置,使i1i2;
对贝叶斯网络个体中从第i1行第j1列至第i2行第j2的相应元素值进行判断,若元素值为0,则变异为1;若元素值为1则变异为0;
步骤3.3.7、对当前贝叶斯网络种群中的所有个体,使用有向无环图调整方法进行调整;
步骤3.3.8、更新迭代计数t=t+1,若当前t≤T,则转向步骤3.3.3,否则,输出当前贝叶斯网络种群中最优的贝叶斯网络个体;
步骤3.3.3中的贝叶斯网络评分公式如下:
BIC(G|D)=BICL(G|D)+BICM(G|D)
其中,BICL(G|D)表示贝叶斯网络在工序加工位置关系上的评分,BICM(G|D)表示贝叶斯网络在工序机器关系上的评分,G代表需要评分的贝叶斯网络,D代表生成的优解方案初始种群,n代表优化调度问题中工序总数,m代表优解方案初始种群大小,Oi表示第i个工序,j表示工序Oi在图中的父节点集取第j个状态,k表示工序Oi取第k个状态,qi表示工序Oi在图中的父节点集的可取状态数,L代表表示工序Oi的可取状态数,BICL(G|D)计算公式中代表工序Oi取位置状态k时其父节点集取位置状态j的样本量,表示工序Oi父节点集取位置状态j的样本量;BICM(G|D)计算公式中代表工序Oi取位置状态k时其父节点集取位置状态j的样本量,表示工序Oi父节点集取位置状态j的样本量;
该方法中的贝叶斯网络个体两两交叉的方法为:
步骤4.1、根据如下互信息计算公式,计算贝叶斯网络中相连变量间的互信息;
I(OA;OB)=IL(OA;OB)+IM(OA;OB)
其中,OA,OB表示两个不同的工序,IL(OA;OB)表示两工序之间的位置互信息,IM(OA;OB)表示两工序之间的机器互信息;p(lA=i,lB=j)表示工序OA选择位置i同时工序OB选择位置j的概率,p(lA=i)表示工序OA选择位置i的概率,p(lB=j)表示工序OB选择位置j的概率;L表示工序的可选位置总数;p(mA=i,mB=j)表示工序OA选择机器i同时工序OB选择机器j的概率,p(mA=i)表示工序OA选择机器i的概率,p(mB=j)表示工序OB选择机器j的概率;MA表示工序OA的可选机器总数,MB表示工序OB的可选机器总数;
步骤4.2、计算所有互信息的标准差和平均值;
步骤4.3、按互信息平均值+2*标准差,平均值+2*标准差互信息平均值+标准差,平均值+标准差互信息平均值,平均值互信息平均值-标准差,平均值-标准差互信息平均值-2*标准差,互信息平均值-2*标准差进行分层,按次序分别记为第1层,第2层...,第6层,将与互信息对应的工序,按其互信息所在分层分别进行存储;
步骤4.4、设置所有工序为未分组工序,设置已分组工序数为0,分组数为0;
步骤4.5、从第1层出发,依次读取当前分层中存储的工序对;若工序对中两个工序均未被分组,则创建新的分组将两个工序加入,同时将工序标为已分组工序,已分组工序数加2,分组数加1,该分组中工序数加2;若一个工序已被分至某组,则另一工序也分至改组,已分组工序数加1,该分组中工序数加1;若两个工序均被分组,则忽略该工序;
步骤4.6、逐层学习直到所有工序均被分组;
步骤4.7、输出分组结果,包括:分组组数、各分组中工序数和各分组中包含的工序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中农业大学,未经华中农业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910683442.3/1.html,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理