CN110738365A - 一种基于粒子群算法的柔性作业车间生产调度方法 - Google Patents
一种基于粒子群算法的柔性作业车间生产调度方法 Download PDFInfo
- Publication number
- CN110738365A CN110738365A CN201910953134.8A CN201910953134A CN110738365A CN 110738365 A CN110738365 A CN 110738365A CN 201910953134 A CN201910953134 A CN 201910953134A CN 110738365 A CN110738365 A CN 110738365A
- Authority
- CN
- China
- Prior art keywords
- particles
- particle
- machine
- population
- pbest
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 172
- 239000002245 particle Substances 0.000 title claims abstract description 150
- 238000005457 optimization Methods 0.000 title claims abstract description 26
- 238000004519 manufacturing process Methods 0.000 title claims abstract description 11
- 239000013598 vector Substances 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 238000011156 evaluation Methods 0.000 claims description 3
- 238000003754 machining Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/04—Manufacturing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Development Economics (AREA)
- Quality & Reliability (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Data Mining & Analysis (AREA)
- Manufacturing & Machinery (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Primary Health Care (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Educational Administration (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明一种基于粒子群优化算法的柔性作业车间生产调度方法,其特征在于:包括如下步骤:步骤一,基于FJSP的基本参数,产生粒子的初始种群,种群中的粒子产生初始空间位置;步骤二,对初始种群中的粒子的空间位置进行编码;步骤三,对所有粒子的空间位置进行解码,计算出目标值;步骤四,计算各粒子的适应度;步骤五,重新赋予了粒子的移动和速度的意义;步骤六,粒子个体历史最优解更新;步骤七,设置全局最优解;步骤八,种群粒子移动一步;步骤九,判断是否达到最大迭代次数。本发明解决了运用现有方法所得的调度方案目标值较差,效率低下的问题。
Description
技术领域
本发明涉及柔性作业车间的调度技术领域,尤其涉及多个目标优化的柔性作业车间的调度方法。
背景技术
伴随顾客需求的提高和生产系统的发展,调度问题吸引了研究者的持续关注。柔性作业车间调度问题(Flexible Job Scheduling Problem)属于现代生产系统中广泛研究的问题之一。FJSP可以分解为两个子问题:排序子问题与分配子问题。排序子问题是安排某台机器上所有工序的加工顺序问题;分配子问题是从若干台机器中选择一台进行某工序加工。FJSP属于典型的NP难题,传统的精确算法,如整数规划法、朗格拉日松弛法,分支定界法等,无法求解这类问题。研究者普遍使用启发式方法进行求解,如遗传算法、粒子群算法群体智能算法等。近年来,粒子群优化算法获得了广泛运用。PSO算法的原理是受到鸟类群体行为的启发,具有简便,客观,易操作的特点。
然而,传统粒子群优化算法是基于连续空间的搜索,适用于连续问题的搜索。而FJSP属于组合优化问题,是离散空间的搜索,因此传统粒子群优化算法不能直接求解FJSP。
在实际生产中,调度方案往往要同时考虑一个以上目标的优化。这些目标在多数情况下是互相制约、互相冲突的。即某个目标的优化往往导致其它目标的劣化。然而,大多数的研究者考虑多目标优化问题时采用目标偏好方式或者目标权重和的方式,将多目标优化问题转化成单目标优化问题。这两种方式都只产生单个解,本质是一个目标以上的简单组合,很难搜索到最优解。
发明内容
本发明的目的在于提供一种柔性作业车间的生产调度方法,解决运用现有方法所得的调度方案目标值较差,效率低下的问题。
为达到上述目的,本发明采用的技术方案为:
一种基于粒子群算法的柔性作业车间生产调度方法,包括如下步骤:
步骤一,基于FJSP的基本参数,产生粒子的初始种群,种群中的粒子产生初始空间位置,FJSP问题可以描述为:安排n个工件在m台机器上加工,工件Ji(1≤i≤n)包含nj个顺序执行的工序,工序Oij在机器k(1≤k≤m)上的加工时间记为Pijk,m台机器中可以执行工序Oij的机器集合记为Mij;FJSP问题是分配所有的工序到合适的机器上,并确定工序的开始时间和完成时间。
步骤二,对初始种群中的粒子的空间位置进行编码,由于FJSP问题可行解包含两个部分:工序排列与机器分配;因此粒子的空间位置编码由两个向量组成:工序排列向量与机器分配向量,两个向量都是I维向量,I是FJSP中所有工序之和。
步骤三,对所有粒子的空间位置进行解码,计算出目标值,解码步骤为:
设Lk为机器K(Mk)的当前最后工序的完成时间,从左至右在工序排列向量中依次取出工序Oij,重复以下过程以确定工序Oij开始时间Sij和完成时间Cij;
Step1:根据工序Oij在机器分配向量中找出其分配的机器K(Mk),由此获得加工时间Pijk;
Step2:确定工序Oij的上一个工序的完工时间Cij-1,如果工序Oij是第一个工序,设Cij-1=0;
Step3:计算开始时间Sij和完成时间Cij;
(1)如果机器Mk第一次安排工序,则令工序Oij的开始时间Sij等于上一个工序的完工时间Cij-1,即Sij=Cij-1,而完成时间Cij等于开始时间与加工时间之和,即Cij=Sij+Pijk,同时设置Lk=Cij;
(2)如果机器Mk已经安排了其它工序,则遍历机器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安排在机器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;
然后计算如下:
Step1:计算Zn速度So,
首先分别计算出Sop(Zn与Zpbest之间的速度):
Sop=Hop/I
与Sog(Zn与Zgbest速度):
Sog=Hog/I
则Zn速度So:
So=(Sop+Sog)/2
其中Hop表示Zn与Zpbest之间的海明距离,Hog表示Zn与Zgbest之间的海明距离,I是所有工序数之和;
Step2:基于速度So从Zn选择要删除的工序,并将余下的工序拷贝至Zn+1;遍历Zn中的每个工序,产生一个随机数0<R<1,如果R<So,则删除相应工序,否则保持不变;
Step3:从左至右分别遍历Zgbest与Zpbest,找出从Zn拷贝至Zn+1的工序(1,2,1,3),并删除;
Step4:从左至右分别遍历Zgbest与Zpbest,依次找出余下的工序并拷贝至Zn+1的空白位置,同时,在Zgbest与Zpbest中删除相应工序,如首先在Zpbest找出工序3,然后拷贝至Zn+1的最左空白位置,并在Zgbest找出工序3,最后删除Zpbest与Zgbest已找出的工序3,重复上述过程,直至Zgbest与Zpbest中所有工序为空;
其中,机器分配的计算过程如下:
Step1:运用下列公式计算速度Sm:
Smp=Hmp/I
Smg=Hmg/I
Sm=(Smp+Smg)/2
Step2:基于速度Sm从当前位置Zn选择要删除的机器,并将余下的机器拷贝至粒子移动后位置Zn+1;
Step3:接下来要填充Zn+1中的空白机器,从Zpbest与Zgbest中选择机器进行填充,具体操作描述为,从Zgbest与Zpbest中查找可以进行相应工序加工的机器,若查找到的机器相同,则将该机器填充至Zn+1,若查找到的机器不相同,则随机选择一个机器填充至Zn+1。
步骤六,粒子个体历史最优解更新,种群中的粒子从当前位置Zn移动后即产生一个新解Zn+1,而新解Zn+1与粒子历史最优位置Zpbest的支配关系决定了历史最优解是否更新。
步骤七,设置全局最优解,根据粒子适应度以概率在阶层较高的粒子中随机选取最优解;这表明粒子的帕累托阶层越高,选择为全局最优解的可能性也越大,粒子的帕累托阶层越低,选择为全局最优解的可能性也越小。
步骤八,种群粒子移动一步。
步骤九,判断是否达到最大迭代次数。
本发明有益效果:
本发明解决了运用现有方法所得的调度方案目标值较差,效率低下的问题。本发明提出了一种粒子群优化算法的变体应用于离散问题,重新定义了粒子的移动,用新的策略保存在算法迭代过程中的所有非支配解。在本发明中,利用粒子的个体历史最优来保存,而不是外部档案集。通过基准算例验证,与文献中的其它算法对比,证实了本发明的性能。
附图说明
图1为本发明整体实施过程图;
图2为工序排列向量图;
图3为机器分配向量图;
图4为工序排列粒子移动图;
图5为粒子当前位置Zn示意图;
图6为二维目标空间优化图;
图7为Kacem 8×8问题solution c排产甘特图,图中CM=16,WM=11,WT=77;
图8为Kacem 10×10问题solution b排产甘特图,图中CM=7,WM=6,WT=42;
图9为Kacem 15×10问题solution b排产甘特图,图中CM=12,WM=10,WT=93;
图10为Kacem 15×10问题solution c排产甘特图,图中CM=11,WM=10,WT=95;
具体实施方式
本发明的实施过程如图1所示,包括以下步骤:
步骤一,基于FJSP的基本参数,产生粒子的初始种群,种群中的粒子产生初始空间位置。
FJSP问题可以描述为:安排n个工件在m台机器上加工。工件Ji(1≤i≤n)包含nj个顺序执行的工序。工序Oij在机器k(1≤k≤m)上的加工时间记为Pijk。m台机器中可以执行工序Oij的机器集合记为Mij。FJSP问题是分配所有的工序到合适的机器上,并确定工序的开始时间和完成时间。表1是一个FJSP例子,描述了3个工件在3台机器上加工时间,“—”表示某工序不能在相应的机器上加工。
表1 FJSP问题示例
通常FJSP问题作如下假设:
(1)所有机器在时刻0都可用;
(2)所有工件在时刻0释放;
(3)一台机器只能同时执行一个工序;
(4)一个工序在执行时不能被中断;
以下面三个目标值为例进行优化:
(1)CM:工件的完成时间;
(2)WM:最大机器负荷;
(3)WT:机器总负荷;
步骤二,对初始种群中的粒子的空间位置进行编码。
FJSP问题可行解包含两个部分:工序排列与机器分配。因此粒子的空间位置编码由两个向量组成:工序排列向量与机器分配向量。两个向量都是I维向量,I是FJSP中所有工序之和。表1FJSP问题共有9个工序,因此空间位置编码是9维向量。粒子的空间初始位置编码是随机产生的,但要满足相应的参数约束。下面以表1FJSP问题为例描述一个粒子的空间位置编码。
1)工序排列向量(312132313)
工序排列向量描述了工序执行的先后顺序,如图2所示。图2中的数字表示工件,数字出现的次序是随机产生的,数字出现的次数必须与该工件的工序数一致。如数字3出现了4次,表示工件3有4个工序。从左至右分别为O31、O32、O33、O34。
2)机器分配向量(311233232)
机器分配向量与工序排列向量长度相同,均等于总工序数,如图3所示。向量中的数字表示机器。例如O11安排至机器3加工,O12安排至机器1加工,O31安排至机器3加工。向量中的数字必须是工序可以选择加工的机器号,采用随机选择的方式。如不满足这一约束,则可能产生无意义向量。例如若O22位置出现数字2,则表示O22分配机器2加工,而从表1可以看出,O22不能在机器2加工,因此是一个无意义向量。
步骤三,对所有粒子的空间位置进行解码,计算出目标值。
在粒子群优化算法中,粒子在搜索空间的位置即对应所求问题的解。在粒子进行空间位置编码后,就可解码求解出相应的目标值。解码过程如下:
设Lk为机器K(Mk)的当前最后工序的完成时间。从左至右在工序排列向量中依次取出工序Oij,重复以下过程以确定工序Oij开始时间Sij和完成时间Cij。
Step1:根据工序Oij在机器分配向量中找出其分配的机器K(Mk),由此获得加工时间Pijk。
Step2:确定工序Oij的上一个工序的完工时间Cij-1。如果工序Oij是第一个工序,设Cij-1=0。
Step3:计算开始时间Sij和完成时间Cij。
(1)如果机器Mk第一次安排工序,则令工序Oij的开始时间Sij等于上一个工序的完工时间Cij-1,即Sij=Cij-1。而完成时间Cij等于开始时间与加工时间之和,即Cij=Sij+Pijk。同时设置Lk=Cij。
(2)如果机器Mk已经安排了其它工序,则遍历机器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安排在机器Mk最后。即:Sij=Max{Cij-1,Lk},Cij=Sij+Pijk,同时设置Lk=Cij。
解码完成后,即可计算出以下目标值。
(1)CM:工件的完成时间;
(2)WM:最大机器负荷;
(3)WT:机器总负荷;
步骤四,计算各粒子的适应度。
种群在搜索过程中必须对粒子进行评价,以指导粒子的飞行。粒子的评价涉及帕累托阶层和拥挤距离,两者生成适应度来评价粒子。
1)帕累托阶层
帕累托阶层由非支配解和多目标优化概念衍生而来。首先找出种群中的帕累托集合,并将这些粒子阶层设置为1。然后在种群余下的粒子中,再找出帕累托集合,并将阶层设置为2。这个过程反复持续,直到找出阶层最低的个体。显然,阶层为1的个体组成了种群的帕累托集合。而阶层高个体优于阶层低个体。
2)拥挤距离
拥挤距离表征两个粒子在目标空间的距离,是衡量粒子的拥挤程度的重要指标。在本发明中,粒子的拥挤距离在同一阶层内考虑,根据以下公式计算:
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组合排列优化问题的求解。
由于FJSP是组合排列问题,属于离散问题。而传统粒子群优化算法是基于连续空间搜索,不能直接应用于FJSP。因此,本发明提出了离散粒子群优化算法。
在粒子群优化算法的核心设计中,粒子的个体历史最优位置和种群的全局最优位置很大程度上影响了粒子的下一步移动。在本发明中,重新赋予了粒子移动和速度的意义,以适应FJSP组合排列优化问题的求解。粒子的速度被重新定义为基于海明距离的相似度。海明距离是两个位置之间不同元素的数量。为了演示本发明粒子在离散空间的移动过程,以表1所示的FJSP问题为例进行说明。粒子的移动包括两个部分:工序排列与机器分配。
1)工序排列
种群中某个粒子的当前位置为Zn,个体历史最优位置为Zpbest,种群的全局最优位置为Zgbest,该粒子移动后位置为Zn+1,工序排列粒子移动如图4所示。具体过程如下:
Step1:计算Zn速度So。
首先分别计算出Sop(Zn与Zpbest之间的速度):
Sop=Hop/I
与Sog(Zn与Zgbest速度):
Sog=Hog/I
则Zn速度So:
So=(Sop+Sog)/2
其中Hop表示Zn与Zpbest之间的海明距离,Hog表示Zn与Zgbest之间的海明距离。I是所有工序数之和。以图5为例可以计算粒子当前位置Zn的相关数据:Hop=4t,Hog=4,I=9,Sop=0.44,Sog=0.44,So=0.44。即表明粒子当前位置Zn向个体历史最优位置为Zpbest与种群的全局最优位置为Zgbest靠近的可能性为44%。
Step2:基于速度So从Zn选择要删除的工序,并将余下的工序拷贝至Zn+1。遍历Zn中的每个工序,产生一个随机数0<R<1,如果R<So,则删除相应工序;否则保持不变。图4中灰色背景的工序表示被随机选中的工序,也就是要删除的工序(2,3,3,1,3)。而余下的工序是保持不变的(1,2,1,3),并将这些工序直接拷贝至Zn+1的相同位置。
Step3:从左至右分别遍历Zgbest与Zpbest,找出从Zn拷贝至Zn+1的工序(1,2,1,3),并删除。
Step4:从左至右分别遍历Zgbest与Zpbest,依次找出余下的工序并拷贝至Zn+1的空白位置。同时,在Zgbest与Zpbest中删除相应工序。如首先在Zpbest找出工序3,然后拷贝至Zn+1的最左空白位置,并在Zgbest找出工序3,最后删除Zpbest与Zgbest已找出的工序3。重复上述过程,直至Zgbest与Zpbest中所有工序为空。
从以上粒子在工序排列空间的移动过程可以看出,本发明确保了粒子移动后的工序排列满足工序数约束,意味着移动后产生的工序排列是一个可行的工序排列,避免了非法解产生,从而提高了算法的效率。
2)机器分配
种群中某个粒子的当前位置为Zn,个体历史最优位置为Zpbest,种群的全局最优位置为Zgbest,该粒子移动后位置为Zn+1,机器分配粒子移动如图5所示。具体过程如下:
Step1:运用下列公式计算速度Sm:
Smp=Hmp/I
Smg=Hmg/I
Sm=(Smp+Smg)/2
由图5可以计算得出:Hmp=6,Hmg=4,I=9,Smp=0.66,Smg=0.44,Sm=0.55。具体过程参考工序排列移动。
Step2:基于速度Sm从当前位置Zn选择要删除的机器,并将余下的机器拷贝至粒子移动后位置Zn+1。具体过程参考工序排列移动。
Step3:接下来要填充Zn+1中的空白机器,从Zpbest与Zgbest中选择机器进行填充。具体操作描述为,从Zgbest与Zpbest中查找可以进行相应工序加工的机器。若查找到的机器相同,则将该机器填充至Zn+1。若查找到的机器不相同,则随机选择一个机器填充至Zn+1。
步骤六,粒子个体历史最优解更新。
多目标进化算法(multi-objective evolutionary algorithm,MOEA)在进化搜索过程中需要保存当前已搜索到的最优解。为此,设置外部档案集来保存这些解,如PAES(Pareto archived evolutionary strategy)算法。不同于上述方法,本发明提出了一种新的存储方法,利用粒子的个体历史最优解替代外部档案集。粒子个体历史最优解的更新过程如下:种群中的粒子从当前位置Zn移动后即产生一个新解Zn+1,而新解Zn+1与粒子历史最优位置Zpbest的支配关系决定了历史最优解是否更新。依据支配的定义,新解Zn+1与粒子历史最优位置Zpbest存在以下三种支配关系:
(1)Zn+1支配Zpbest,表明产生了优解,Zpbest必须更新,令Zpbest=Zn+1。
(2)Zpbest支配Zn+1,表明没有产生优解,Zpbest不必更新,保持不变。
(3)互不支配。这种情况下必须确定两者的帕累托阶层。下面以如图6所示的二维目标空间优化问题为例进行说明。图6中粒子A与粒子B移动后Zn+1与Zpbest均属于互不支配关系。粒子A移动后位置处于高帕累托阶层,说明移动后产生了优解。而粒子B移动后处于低帕累托阶层,说明移动后产生了劣解。因此,对于粒子A,更新历史最优解,令Zpbest=Zn+1。而对于粒子B,Zpbest保持不变。
从以上可以看出,本发明利用粒子群优化算法的粒子个体历史最优解的自然更新代替外部档案集的额外维护,提高了算法的效率。
步骤七,设置全局最优解。
全局最优解对粒子的移动有重大影响,每个粒子在移动前必须设置Zgbest。对于多目标优化问题,粒子群算法通常采用将当前最优解集作为种群粒子的全局最优解。运用这种方式可以使算法在早期较快的收敛到局部最优解,存在后期搜索停滞的缺陷,很难搜索到全局最优解,必须增加粒子运动方向的多样性。因此本发明根据粒子适应度以概率在阶层较高的粒子中随机选取最优解。这表明粒子的帕累托阶层越高,选择为全局最优解的可能性也越大。粒子的帕累托阶层越低,选择为全局最优解的可能性也越小。不难看出,本发明全局最优解设置不再局限当前最优解集,而是扩展至整个种群。因此,既扩大了粒子搜索的多样性,避免算法过早收敛,不易陷入局部最优,又避免了粒子的无序搜索,增强了算法的稳定性。
步骤八,种群粒子移动一步。
步骤九,判断是否达到最大迭代次数。
案例分析与方法验证
为了验证本发明的有效性,本发明在Kacem基准问题上进行了5次运算,根据经验设置参数为:种群规模300,迭代次数800。Kacem基准问题包括以下三个不同规模的FJSP问题:
(1)Kacem 8×8求解8个工件在8台机器上的调度,涉及27个工序的调度;
(2)Kacem 10×10求解10个工件在10台机器上的调度,涉及30个工序的调度;
(3)Kacem 15×10求解15个工件在10台机器上的调度,涉及56个工序的调度。
本发明与AL+CGA算法、PSO+SA算法、hGA算法、SM算法、PSO+TS算法、AIA算法等算法进行了对比验证,对比结果如表2所示。
表2本发明与其它算法在Kacem基准问题测试性能比较
(1)Kacem 8×8
本发明求解出的帕累托解集如下:
Solution a:CM=14,WM=12,WT=77;
Solution b:CM=15,WM=12,WT=75;
Solution c:CM=16,WM=11,WT=77;
Solution d:CM=16,WM=13,WT=73;
从表2可以看出,本发明找出了Kacem 8×8的帕累托解集包括4个最优解,其它算法均没有全部找到这4个解。鉴于Solution c较难搜索到,这里展示其调度甘特图如图7所示。
(2)Kacem 10×10
本发明求解出的帕累托解集如下:
Solution a:CM=7,WM=5,WT=43;
Solution b:CM=7,WM=6,WT=42;
Solution c:CM=8,WM=5,WT=42;
Solution d:CM=8,WM=7,WT=41;
从表2可以看出,本发明找出了Kacem 10×10的帕累托解集包括4个最优解。其它算法均没有全部找到这4个解。鉴于Solution b较难搜索到,这里展示其调度甘特图如图8所示:
(3)Kacem 15×10
本发明求解出的帕累托解集如下:
Solution a:CM=11,WM=11,WT=91;
Solution b:CM=12,WM=10,WT=93;
Solution c:CM=11,WM=10,WT=95;
从表2可以看出,本发明找出了Kacem 15×10的帕累托解集包括3个最优解。其中Solution b与Solution c只有本发明搜索得出,其它算法均没有搜索出。Solution b与Solution c调度甘特图如图9,10所示。
在本发明中,非支配解集存储在粒子的个体最优解中,这一点与大多数方法设置外部存储集不同,简化了流程,提高了效率。同时,为了适应离散问题的求解,基于相识度的概念重新定义了粒子的移动。基准问题测试表明,以上改进有效的提高了本发明的搜索性能。
Claims (1)
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)如果机器Mk第一次安排工序,则令工序Oij的开始时间Sij等于上一个工序的完工时间Cij-1,即Sij=Cij-1,而完成时间Cij等于开始时间与加工时间之和,即Cij=Sij+Pijk,同时设置Lk=Cij;
(2)如果机器Mk已经安排了其它工序,则遍历机器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安排在机器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(Zn与Zpbest之间的速度):
Sop=Hop/I
与Sog(Zn与Zgbest速度):
Sog=Hog/I
则Zn速度So:
So=(Sop+Sog)/2
其中Hop表示Zn与Zpbest之间的海明距离,Hog表示Zn与Zgbest之间的海明距离,I是所有工序数之和;
Step 2:基于速度So从Zn选择要删除的工序,并将余下的工序拷贝至Zn+1;遍历Zn中的每个工序,产生一个随机数0<R<1,如果R<So,则删除相应工序,否则保持不变;
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)/2
Step 2:基于速度Sm从当前位置Zn选择要删除的机器,并将余下的机器拷贝至粒子移动后位置Zn+1;
Step 3:接下来要填充Zn+1中的空白机器,从Zpbest与Zgbest中选择机器进行填充,具体操作描述为,从Zgbest与Zpbest中查找可以进行相应工序加工的机器,若查找到的机器相同,则将该机器填充至Zn+1,若查找到的机器不相同,则随机选择一个机器填充至Zn+1;
步骤六,粒子个体历史最优解更新,种群中的粒子从当前位置Zn移动后即产生一个新解Zn+1,而新解Zn+1与粒子历史最优位置Zpbest的支配关系决定了历史最优解是否更新;
步骤七,设置全局最优解,根据粒子适应度以概率在阶层较高的粒子中随机选取最优解;这表明粒子的帕累托阶层越高,选择为全局最优解的可能性也越大,粒子的帕累托阶层越低,选择为全局最优解的可能性也越小;
步骤八,种群粒子移动一步;
步骤九,判断是否达到最大迭代次数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910953134.8A CN110738365B (zh) | 2019-10-09 | 2019-10-09 | 一种基于粒子群算法的柔性作业车间生产调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910953134.8A CN110738365B (zh) | 2019-10-09 | 2019-10-09 | 一种基于粒子群算法的柔性作业车间生产调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110738365A true CN110738365A (zh) | 2020-01-31 |
CN110738365B CN110738365B (zh) | 2022-07-19 |
Family
ID=69269849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910953134.8A Active CN110738365B (zh) | 2019-10-09 | 2019-10-09 | 一种基于粒子群算法的柔性作业车间生产调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110738365B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111582428A (zh) * | 2020-04-01 | 2020-08-25 | 长江大学 | 一种基于灰色预测演化算法的多模态多目标优化方法 |
CN111667091A (zh) * | 2020-04-17 | 2020-09-15 | 浙江优智物联科技有限公司 | 一种基于粒子群算法的输送系统智能控制方法 |
CN112561381A (zh) * | 2020-12-24 | 2021-03-26 | 哈尔滨工业大学(深圳) | 一种可重入作业车间调度解码方法 |
CN112651482A (zh) * | 2020-12-19 | 2021-04-13 | 湖北工业大学 | 基于混合粒子群算法的混流装配线排序方法及系统 |
CN112783172A (zh) * | 2020-12-31 | 2021-05-11 | 重庆大学 | 基于离散鲸鱼优化算法的agv与机器集成调度方法 |
CN115564146A (zh) * | 2022-11-18 | 2023-01-03 | 吉林大学 | 一种以改进的粒子群算法为内核的分组车间作业调度方法 |
CN115826541A (zh) * | 2023-02-16 | 2023-03-21 | 一夫科技股份有限公司 | 一种β型建筑石膏粉的生产控制方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104880949A (zh) * | 2015-05-27 | 2015-09-02 | 江南大学 | 基于改进鸡群算法获得工件加工最优调度的方法 |
CN106610655A (zh) * | 2016-03-02 | 2017-05-03 | 四川用联信息技术有限公司 | 一种改进的粒子群算法求解作业车间调度问题 |
CN106611220A (zh) * | 2016-02-27 | 2017-05-03 | 四川用联信息技术有限公司 | 一种新的混合算法求解柔性作业车间调度问题 |
CN106611379A (zh) * | 2016-02-22 | 2017-05-03 | 四川用联信息技术有限公司 | 一种改进文化基因算法求解多目标柔性作业车间调度问题 |
US20180329741A1 (en) * | 2017-05-10 | 2018-11-15 | King Abdulaziz University | Task scheduling in a green data center |
CN108830372A (zh) * | 2018-06-08 | 2018-11-16 | 湖北工业大学 | 一种解决旅行商问题的自适应粒子群优化方法 |
CN109270904A (zh) * | 2018-10-22 | 2019-01-25 | 中车青岛四方机车车辆股份有限公司 | 一种柔性作业车间批量动态调度优化方法 |
-
2019
- 2019-10-09 CN CN201910953134.8A patent/CN110738365B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104880949A (zh) * | 2015-05-27 | 2015-09-02 | 江南大学 | 基于改进鸡群算法获得工件加工最优调度的方法 |
CN106611379A (zh) * | 2016-02-22 | 2017-05-03 | 四川用联信息技术有限公司 | 一种改进文化基因算法求解多目标柔性作业车间调度问题 |
CN106611220A (zh) * | 2016-02-27 | 2017-05-03 | 四川用联信息技术有限公司 | 一种新的混合算法求解柔性作业车间调度问题 |
CN106610655A (zh) * | 2016-03-02 | 2017-05-03 | 四川用联信息技术有限公司 | 一种改进的粒子群算法求解作业车间调度问题 |
US20180329741A1 (en) * | 2017-05-10 | 2018-11-15 | King Abdulaziz University | Task scheduling in a green data center |
CN108830372A (zh) * | 2018-06-08 | 2018-11-16 | 湖北工业大学 | 一种解决旅行商问题的自适应粒子群优化方法 |
CN109270904A (zh) * | 2018-10-22 | 2019-01-25 | 中车青岛四方机车车辆股份有限公司 | 一种柔性作业车间批量动态调度优化方法 |
Non-Patent Citations (5)
Title |
---|
LIUWEIQI等: "Hybrid particle swarm optimization for multi-objective sequencing problem in mixed model assembly line", 《COMPUTER INTEGRATED MANUFACTURING SYSTEMS》 * |
RUI WU等: "An Efficient Meta-Heuristic for Multi-Objective Flexible Job Shop Inverse Scheduling Problem", 《IEEE ACCESS》 * |
S. N. MHASAWADE等: "A survey of hybrid metaheuristics to minimize makespan of job shop scheduling problem", 《2017 INTERNATIONAL CONFERENCE ON ENERGY, COMMUNICATION, DATA ANALYTICS AND SOFT COMPUTING (ICECDS)》 * |
刘爱军: "离散制造车间多生产模式下作业调度研究", 《中国优秀博硕士学位论文全文数据库(博士)工程科技Ⅱ辑》 * |
朱传军等: "多目标柔性作业车间稳健性动态调度研究", 《中国机械工程》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111582428A (zh) * | 2020-04-01 | 2020-08-25 | 长江大学 | 一种基于灰色预测演化算法的多模态多目标优化方法 |
CN111582428B (zh) * | 2020-04-01 | 2024-01-05 | 长江大学 | 一种基于灰色预测演化算法的多模态多目标优化方法 |
CN111667091A (zh) * | 2020-04-17 | 2020-09-15 | 浙江优智物联科技有限公司 | 一种基于粒子群算法的输送系统智能控制方法 |
CN111667091B (zh) * | 2020-04-17 | 2024-04-30 | 浙江优智物联科技有限公司 | 一种基于粒子群算法的输送系统智能控制方法 |
CN112651482A (zh) * | 2020-12-19 | 2021-04-13 | 湖北工业大学 | 基于混合粒子群算法的混流装配线排序方法及系统 |
CN112651482B (zh) * | 2020-12-19 | 2024-01-23 | 湖北工业大学 | 基于混合粒子群算法的混流装配线排序方法及系统 |
CN112561381A (zh) * | 2020-12-24 | 2021-03-26 | 哈尔滨工业大学(深圳) | 一种可重入作业车间调度解码方法 |
CN112561381B (zh) * | 2020-12-24 | 2023-09-01 | 哈尔滨工业大学(深圳) | 一种可重入作业车间调度解码方法 |
CN112783172A (zh) * | 2020-12-31 | 2021-05-11 | 重庆大学 | 基于离散鲸鱼优化算法的agv与机器集成调度方法 |
CN115564146A (zh) * | 2022-11-18 | 2023-01-03 | 吉林大学 | 一种以改进的粒子群算法为内核的分组车间作业调度方法 |
CN115826541A (zh) * | 2023-02-16 | 2023-03-21 | 一夫科技股份有限公司 | 一种β型建筑石膏粉的生产控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110738365B (zh) | 2022-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110738365A (zh) | 一种基于粒子群算法的柔性作业车间生产调度方法 | |
CN107590603B (zh) | 基于改进变邻域搜索和差分进化算法的调度方法及系统 | |
CN104268722B (zh) | 基于多目标进化算法的动态柔性作业车间调度方法 | |
CN110796355B (zh) | 一种基于动态解码机制的柔性作业车间调度方法 | |
CN110543151A (zh) | 基于改进nsga-ⅱ求解车间节能调度问题的方法 | |
CN103309316A (zh) | 带有批处理机的多阶段变异混合流水车间调度方法 | |
CN105629927A (zh) | 一种基于混合遗传算法的mes生产计划排产方法 | |
CN108460463B (zh) | 基于改进遗传算法的高端装备流水线生产调度方法 | |
CN113379087A (zh) | 一种基于改进遗传算法的生产制造排产优化方法 | |
CN106611230A (zh) | 结合关键工序的遗传局部搜索算法求解柔性作业车间调度 | |
CN109917754B (zh) | 一种基于多种群分布估计算法的机器人装配单元多目标布局优化方法 | |
Guschinskaya et al. | Metaheuristic approaches for the design of machining lines | |
CN111401693B (zh) | 一种带机器人运输的柔性车间调度优化方法及系统 | |
CN114519455A (zh) | 一种带运输过程的分布式柔性车间调度方法及系统 | |
CN117852825B (zh) | 基于深度学习的含中心资源柔性制造系统的无死锁调度方法 | |
CN113988396A (zh) | 一种基于nsga-iii算法的工序排序多目标优化方法 | |
CN114819355A (zh) | 基于改进灰狼算法的多目标柔性作业车间节能调度方法 | |
CN115130789A (zh) | 一种基于改进灰狼优化算法的分布式制造智能调度方法 | |
CN115719133A (zh) | 一种基于改进多目标灰狼优化算法解决rhfs调度问题 | |
CN117875587A (zh) | 基于历史解信息与多目标优化的生产线调度方法 | |
CN116822217A (zh) | 一种考虑工时不确定性的人机双资源约束多目标生产调度方法 | |
CN117745026A (zh) | 改进遗传算法满足单任务完成时间约束的车间调度方法 | |
CN117217487A (zh) | 基于改进多邻域局部增强搜索算法的资源调度方法 | |
CN117170318A (zh) | 基于改进堆优化算法解决模糊生产调度问题的方法 | |
CN114254721B (zh) | 具有区间灰色处理时间的柔性作业车间调度方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |