[发明专利]一种基于粒子群算法的柔性作业车间生产调度方法有效
| 申请号: | 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保持不变;
步骤七,设置全局最优解,根据粒子适应度以概率在阶层较高的粒子中随机选取最优解;这表明粒子的帕累托阶层越高,选择为全局最优解的可能性也越大,粒子的帕累托阶层越低,选择为全局最优解的可能性也越小;
步骤八,种群粒子移动一步;
步骤九,判断是否达到最大迭代次数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖北工业大学,未经湖北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910953134.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电动汽车充电导航信息交互平台
- 下一篇:一种室外盲区行为预测方法
- 同类专利
- 专利分类
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理





