[发明专利]一种基于粒子群算法的柔性作业车间生产调度方法有效

专利信息
申请号: 201910953134.8 申请日: 2019-10-09
公开(公告)号: CN110738365B 公开(公告)日: 2022-07-19
发明(设计)人: 刘炜琪;胡新宇;游达章;魏琼;严明霞 申请(专利权)人: 湖北工业大学
主分类号: G06Q10/04 分类号: G06Q10/04;G06Q10/06;G06Q50/04;G06N3/00
代理公司: 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 代理人: 姜学德
地址: 430068 湖北*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 粒子 算法 柔性 作业 车间 生产 调度 方法
【权利要求书】:

1.一种基于粒子群算法的柔性作业车间生产调度方法,其特征在于:包括如下步骤:

步骤一,基于FJSP的基本参数,产生粒子的初始种群,种群中的粒子产生初始空间位置;

FJSP问题可以描述为:安排n个工件在m台机器上加工,工件Ji,包含nj个顺序执行的工序,工序Oij在机器k上的加工时间记为Pijk,m台机器中可以执行工序Oij的机器集合记为Mij,其中1≤i≤n,1≤k≤m;FJSP问题是分配所有的工序到合适的机器上,并确定工序的开始时间和完成时间;

步骤二,对初始种群中的粒子的空间位置进行编码;

由于FJSP问题可行解包含两个部分:工序排列与机器分配;因此粒子的空间位置编码由两个向量组成:工序排列向量与机器分配向量,两个向量都是I维向量,I是FJSP中所有工序之和;

步骤三,对所有粒子的空间位置进行解码,计算出目标值;

解码步骤为:设Lk为机器K(Mk)的当前最后工序的完成时间,从左至右在工序排列向量中依次取出工序Oij,重复以下过程以确定工序Oij开始时间Sij和完成时间Cij

Step 1:根据工序Oij在机器分配向量中找出其分配的机器K(Mk),由此获得加工时间Pijk

Step 2:确定工序Oij的上一个工序的完工时间Cij-1,如果工序Oij是第一个工序,设Cij-1=0;

Step 3:计算开始时间Sij和完成时间Cij

(1)如果机器K(Mk)第一次安排工序,则令工序Oij的开始时间Sij等于上一个工序的完工时间Cij-1,即Sij=Cij-1,而完成时间Cij等于开始时间与加工时间之和,即Cij=Sij+Pijk,同时设置Lk=Cij

(2)如果机器K(Mk)已经安排了其它工序,则遍历机器K(Mk)的空闲时间间距,看是否可以插入工序Oij,过程如下:

设Ts为空闲时间间距的开始时间,Te为空闲时间间距的结束时间,则:

a.如果满足Sij=Max{Cij-1,Ts},Cij=Sij+Pijk≤Te,则表明工序Oij可以插入这个空闲时间间距,这种情况下Lk值没有改变;

b.如果不满足Sij=Max{Cij-1,Ts},Cij=Sij+Pijk≤Te,则表明没有空闲时间间距,只能将工序Oij安排在机器K(Mk)最后,即:Sij=Max{Cij-1,Lk},Cij=Sij+Pijk,同时设置Lk=Cij

解码完成后,即可计算出以下目标值:

(1)Cm:工件的完成时间;

(2)Wm:最大机器负荷;

(3)WT:机器总负荷;

步骤四,计算各粒子的适应度,在种群在搜索过程中必须对粒子进行评价,以指导粒子的飞行,粒子的评价涉及帕累托阶层和拥挤距离,两者生成适应度来评价粒子;

首先找出种群中的帕累托集合,并将这些粒子阶层设置为1,然后在种群余下的粒子中,再找出帕累托集合,并将阶层设置为2,这个过程反复持续,直到找出阶层最低的个体;显然,阶层为1的个体组成了种群的帕累托集合,而阶层高个体优于阶层低个体;

粒子的拥挤距离在同一阶层内考虑,根据以下公式计算:

dij=|Cm(i)-Cm(j)|+|Wm(i)+|Wm(j)||+||WT(i)|-|WT(j)||

Cd(i)=Min{di1,di2,…,dik,…,din}(i≠k)

其中:dij表示同一阶层的两个粒子i,j之间的距离,Cd(i)是粒子i的拥挤距离,是粒子i到本阶层其它粒子距离的最小值,Cm、Wm、WT分别为三个目标值;

运用以下公式计算粒子适应度:

式中I是工序总数,rank是帕累托阶层,Cd是拥挤距离;

步骤五,重新赋予了粒子的移动和速度的意义;

为适应FJSP组合排列优化问题的求解,粒子的速度被重新定义为基于海明距离的相似度,海明距离是两个位置之间不同元素的数量;

粒子的移动包括两个部分:工序排列与机器分配,其中,工序排列的计算步骤为:

假设种群中某个粒子的当前位置为Zn,个体历史最优位置为Zpbest,种群的全局最优位置为Zgbest,该粒子移动后位置为Zn+1

然后计算如下:

Step 1:计算Zn速度So

首先分别计算出Sop

Sop=Hop/I

与Sog

Sog=Hog/I

则Zn速度So

So=(Sop+Sog)/2

其中:Sop表示Zn与Zpbest之间的工序排列速度,Sog表示Zn与Zgbest之间的工序排列速度,I是所有工序数之和,Hop表示Zn与Zpbest之间的海明距离,Hog表示Zn与Zgbest之间的海明距离;

Step 2:基于速度So从Zn选择要删除的工序,并将余下的工序拷贝至Zn+1;遍历Zn中的每个工序,产生一个随机数0R1,如果RSo,则删除相应工序,否则保持不变;

Step 3:从左至右分别遍历Zgbest与Zpbest,找出从Zn拷贝至Zn+1的工序(1,2,1,3),并删除;

Step 4:从左至右分别遍历Zgbest与Zpbest,依次找出余下的工序并拷贝至Zn+1的空白位置,同时,在Zgbest与Zpbest中删除相应工序,如首先在Zpbest找出工序3,然后拷贝至Zn+1的最左空白位置,并在Zgbest找出工序3,最后删除Zpbest与Zgbest已找出的工序3,重复上述过程,直至Zgbest与Zpbest中所有工序为空;

其中,机器分配的计算过程如下:

Step 1:运用下列公式计算速度Sm

Smp=Hmp/I

Smg=Hmg/I

Sm=(Smp+Smg)/2Step 2:基于速度Sm从当前位置Zn选择要删除的机器,并将余下的机器拷贝至粒子移动后位置Zn+1

Step 3:接下来要填充Zn+1中的空白机器,从Zpbest与Zgbest中选择机器进行填充,具体操作描述为,从Zgbest与Zpbest中查找可以进行相应工序加工的机器,若查找到的机器相同,则将该机器填充至Zn+1,若查找到的机器不相同,则随机选择一个机器填充至Zn+1

步骤六,粒子个体历史最优解更新,种群中的粒子从当前位置Zn移动后即产生一个新解Zn+1,而新解Zn+1与粒子历史最优位置Zpbest的支配关系决定了历史最优解是否更新,具体为:

(1)Zn+1支配Zpbest,表明产生了优解,Zpbest必须更新,令Zpbest=Zn+1

(2)Zpbest支配Zn+1,表明没有产生优解,Zpbest不必更新,保持不变;

(3)互不支配,当粒子移动后处于高帕累托阶层,说明移动后产生了优解,此时令Zpbest=Zn+1;当粒子移动后处于低帕累托阶层,说明移动后产生了劣解,此时Zpbest保持不变;

步骤七,设置全局最优解,根据粒子适应度以概率在阶层较高的粒子中随机选取最优解;这表明粒子的帕累托阶层越高,选择为全局最优解的可能性也越大,粒子的帕累托阶层越低,选择为全局最优解的可能性也越小;

步骤八,种群粒子移动一步;

步骤九,判断是否达到最大迭代次数。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖北工业大学,未经湖北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910953134.8/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top