CN104392298A - 一种采用粒子群算法进行生产调度的方法 - Google Patents

一种采用粒子群算法进行生产调度的方法 Download PDF

Info

Publication number
CN104392298A
CN104392298A CN201410591760.4A CN201410591760A CN104392298A CN 104392298 A CN104392298 A CN 104392298A CN 201410591760 A CN201410591760 A CN 201410591760A CN 104392298 A CN104392298 A CN 104392298A
Authority
CN
China
Prior art keywords
particle
solution
algorithm
optimal solution
calculate
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.)
Pending
Application number
CN201410591760.4A
Other languages
English (en)
Inventor
宋晓宇
曹阳
王守金
赵明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenyang Jianzhu University
Original Assignee
Shenyang Jianzhu University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenyang Jianzhu University filed Critical Shenyang Jianzhu University
Priority to CN201410591760.4A priority Critical patent/CN104392298A/zh
Publication of CN104392298A publication Critical patent/CN104392298A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations

Abstract

本发明提供一种采用粒子群算法进行生产调度的方法,用于车间生产的排产与调度管理。该方法将车间所有工件的加工序列作为可行解,每一可行解作为一个粒子,全部可行解的集合构成粒子群,通过统计迭代过程中自身和群体发现的最优位置修正自身的寻优方向,从而求得最优解。其步骤为:(1)设定粒子群算法参数;(2)采用Giffler&Thompson算法产生初始解;(3)判断终止条件是否满足,如果满足则输出全局最优解,否则继续;(4)对各个粒子进行变异操作;(5)使用直接重构方法消解死锁解;(6)更新局部最优解和全局最优解,返回步骤(3)。该方法与已有方法相比,初始解具有更好的随机性,方法参数少,计算速度快,通用性好。

Description

一种采用粒子群算法进行生产调度的方法
技术领域
本发明属于车间生产调度领域,具体是一种采用粒子群算法进行生产调度的方法,用于车间生产的排产与调度管理。
背景技术
生产调度是指在一定的约束条件下,合理地分配资源完成一批给定的任务或者作业,达到某些性能指标的最优化。在客户需求日趋多样化和个性化的市场竞争环境下,“按订单”生产已经成为生产方式的主流。但现代工业企业,生产环节多,协作关系复杂,生产连续性强,情况变化快,某些任务或者作业的生产次序以及资源的分配出错,往往会波及整个生产系统的运行。如何对生产作业调度进行优化,有效地提高生产资源的利用率和企业的生产效率,是当前企业生产急需解决的问题。
早在60年代,人们就开始了对车间生产调度问题的研究。Giffler和Thompson在1960年提出了用于车间生产调度的优先分派规则方法。Gere,W.S.在1966年提出了用于车间生产调度问题一组基于优先分派规则的启发式算法。Balas在1969年第一个基于析取图的枚举方法来处理调度问题。由于车间生产调度问题的复杂性和困难性,从问题产生直到今日,为了得到一个理想解决这一问题的方法,许多研究人员对该问题进行大量的研究,从而产生了各种各样的用于求解该问题的方法。
求解车间生产调度问题的早期,主要采用的是最优化求解方法,包括数学规划法、枚举法、分枝定界法、拉格朗日松弛法等。最优化求解方法规则简单,容易实现,但在实际生产调度中存在许多不足,例如:数学规划法只能在可允许的有限时间内解决一些非常简单的问题;枚举法无法保证获得可行解;分支定界法,在解决大规模问题时须耗费巨大的计算时间,同时对初始上下界敏感;拉格朗日松弛法需要对问题再加工,选取或调整相应的算法参数。
粒子群算法是1995年由美国的Kennedy博士和Eberhart博士提出的一种基于群智能优化的近似求解算法。基本思想源于对自然界中生物群体行为的研究发现。根据研究,发现生物通过应用以下两种信息进行决策;一个是自身的经验;另一个是他人的经验。人们的决策过程是一个将自身的经验与他人经验互相融合的过程。粒子群算法作为一种新兴的智能算法,具有良好的全局优化能力、求解时间较短、易于实现。但在实际应用中,仍存在缺陷。首先,粒子群算法在运行初期收敛速度较快,运行后期容易陷入局部最优;其次,在计算过程中,由于粒子在不同机器上所表现出来的工序的位置的移动会出现环或者说会造成不可行解。
发明内容
针对现有技术存在的不足,本发明提供一种采用粒子群算法进行生产调度的方法。
本发明的技术方案是:
一种采用粒子群算法进行生产调度的方法,包括以下步骤:
步骤1:设定粒子群算法参数;
参数包括:加工的工件数量、机器数量、工艺约束、种群大小、进化代数;
步骤2:采用Giffler&Thompson(G&T)算法随机生成一组粒子群的初始解,将其中最好的解设为局部最优解Pid和全局最优解Pgd。其中,每个初始解就是一个粒子;
步骤3:如果满足结束条件,转步骤7;
步骤4:根据每个粒子当前位置Xid,分别计算其下一个位置Xid’,即新解;
步骤4.1:计算Pid和Xid之间的差A,A=Pid←Xid,其中A是一个基本交换序,表示A作用于Xid得到Pid
步骤4.2:计算Pgd和Xid之间的差B,B=Pgd←Xid,其中B也是一基本交换序,表示B作用于Xid得到Pgd
步骤4.3:根据A和B计算Xid’;
步骤5:采用直接重构方法,调整粒子群中每个粒子的新解Xid’,使其成为可行解;
步骤6:计算粒子群中每个粒子的适应度,如果找到一个更好的解,则更新Pid,如果整个群体找到一个更好的解,更新Pgd,转步骤3;
步骤7:输出的全局最优解,算法结束。
有益效果:
(1)采用G&T算法产生初始解,使初始解具有很好的随机性,同时,该算法参数少,计算速度快;
(2)该算法具有很好的通用性,适于基于代价优化的调度问题和基于性能优化的调度问题;
(3)基于工序的编码方式对应的问题解空间中,包含不可行解。本算法提出直接重构方法进行不可行解的消解,提高粒子群算法的求解质量。
附图说明
图1是本发明具体实施方式的采用粒子群算法进行生产调度的方法流程图;
图2是本发明具体实施方式的初始解实例甘特图;
图3是本发明具体实施方式的死锁情况实例甘特图;
图4是本发明具体实施方式的死锁消解后获得的新解实例甘特图。
具体实施方式
下面结合附图对本发明的具体实施方式做详细说明,但本发明的保护范围不受具体实施方式所限制,在不违背本发明技术方案的前提下,对本发明所作的本领域普通技术人员容易实现的任何改动或改变都属于本发明的保护范围。
本实施方式的采用粒子群算法进行生产调度的方法,流程如图1所示,包括以下步骤:
步骤1:设定粒子群算法参数;
参数包括:加工的工件数量、机器数量、工艺约束、种群大小、进化代数;
步骤2:采用Giffler&Thompson(G&T)算法随机生成一组粒子群的初始解,将其中最好的解设为局部最优解Pid和全局最优解Pgd。其中,每个初始解就是一个粒子;
G&T算法生成初始解的具体过程如下:
(1):令Q(1)={oij|i=1,…,n;j=1,…,m}为所有操作的集合;S(1)为所有工件第1道操作的集合。
(2):令t=1。
(3):令o*为满足c(o*)=min{c(oij)|oij∈S(t)}的操作,m*为进行该操作的机器;从集合{oim*∈S(t);r(oim*)<c(o*)}中确定一个操作oim*,该集合被称为冲突集。
(4):生成Q(t+1)=Q(t)\{oim*}。由S(t)除去操作oim*,并添加工件i的下一道工序来生成集合S(t+1)。
(5):若Q(t+1)为非空,则令t=t+1,并转步骤3;否则结束算法。
其中,oij表示工件i在机器j上的操作;pij表示oij的加工时间;S(t)表示第t步的前一道工序的执行时刻的所有未执行的集合;r(oij)表示S(t)中oij对应工件i到达机器j的时间;c(oij)表示S(t)中的oij可完成的最早时间,即c(oij)=r(oij)+pij
步骤3:如果满足结束条件,转步骤7;
结束条件一般设置为达到最大循环数或者最小无改进代数。
步骤4:根据每个粒子当前位置Xid,分别计算其下一个位置Xid’,即新解;
步骤4.1:计算Pid和Xid之间的差A,A=Pid←Xid,其中A是一个基本交换序,表示A作用于Xid得到Pid
步骤4.2:计算Pgd和Xid之间的差B,B=Pgd←Xid,其中B是一基本交换序,表示B作用于Xid得到Pgd
步骤4.3:根据A和B计算Xid’;
根据公式1,计算新解Xid’:
X’id=Xid⊕α(Pid←Xid)⊕β(Pgd←Xid) (1)
其中α,β(α,β∈[0,1])为随机数。α(Pid←Xid)表示基本交换序(Pid←Xid)中的所有交换子以概率α保留;同理,β(Pgd←Xid)表示基本交换序(Pgd←Xid)中的所有交换子以概率β保留.由此可以看出,α的值越大,(Pid←Xid)保留的交换子就越多,Pid的影响就越大;同理,β的值越大,(Pgd←Xid)保留的交换子就越多,Pgd的影响就越大。
Xid、Pid、Pgd都表示一个可行解,这个可行解用一串加工序列表示,解之间的差是一个基本交换序,该交换序列如下示例获得:
假设有两个加工序列X和Y,计算X和Y之间的差S,S=X←Y,其中S是一基本交换序。其中,
X:(123456) Y:(263154)
可以看出,X(1)=Y(4)=1,所以第一个交换于是SO(1,4),Y1=Y+SO(1,4),得到Y1:(163254),X(2)=Y(4)=2,所以第二个交换于是SO(2,4),Y2=Y1+SO(2,4),得到Y2:(123654)。
同理,第三个交换于是SO(4,6),Y3=Y2+SO(4,6)=X。这样,就得到一个基本交换序:
S=X←Y=(SO(1,4),SO(2,4),SO(4,6))。
其中,SO(Oi,Oj)表示交换机器上工序i和工序j的加工顺序。
步骤5:采用直接重构方法,调整粒子群中每个粒子的新解Xid’,使其成为可行解;
直接重构造方法是直接用G&T算法重新建立冲突集。在冲突集中,根据存在死锁的调度中工序的工件号在机器上出现的顺序进行选择,即无需对进化粒子检测死锁而直接重构造新解。
步骤6:计算粒子群中每个粒子的适应度,如果找到一个更好的解,则更新Pid,如果整个群体找到一个更好的解,则更新Pgd,转步骤3;
步骤7:输出的全局最优解,算法结束。
下面举例说明上述方式:
表一
表一给出了一个6×6车间调度问题实例。表中不仅给出了每一项作业在所有机器上的工艺约束,也给出了在每一机器上的加工的时间。例如,对于作业2而言,其在机器上加工顺序为:1→2→3→6→4→5;加工时间为:4,4,3,5,6,7。即P21=4,P26=7。相应地,表一中第2行第3列值为3,表示作业2的第3个工序在机器3上加工。
粒子群算法参数:种群大小设为25,进化代数设为25。种群大小和进化代数设置依据为|O|*70%,其中|O|为工序总数。
下面通过一个粒子的进化过程来说明该方法的实施过程。
采用G&T算法随机生成一个粒子,即初始解:
(1-1,3-1,6-1,4-1,3-2,2-1,1-2,5-1,2-2,5-2,6-2,1-3,2-3,4-2,6-3,3-3,2-4,4-3,4-4,5-3,3-4,5-4,1-4,4-5,2-5,3-5,4-6,3-6,5-5,6-4,6-5,2-6,1-5,6-6,1-6,5-6)
该加工序列就是一个粒子,对6×6车间调度问题,共有36个加工工序。例如,5-1表示第5个工件的第一个工序。采用Gantt图表示该解,如图2所示。在此图中,每一个方框(为方便起见,图2中用i,j表示工序Oij)代表一个工序oij,其左边,也就是横坐标表示此工序的开始时间sij,其水平方向的长度表示此工序的加工时间pij。该解的最大完工时间为44。
假设A=Pid←Xid=(SO(29,31),SO(29,30))
B=Pgd←Xid=(SO(16,32))
X’id=Xid+(SO(29,31),SO(29,30),SO(16,32))
X’id解为:
(1-1,3-1,6-1,4-1,3-2,2-1,1-2,5-1,2-2,5-2,6-2,1-3,2-3,4-2,6-3,2-6,2-4,4-3,4-4,5-3,3-4,5-4,1-4,4-5,2-5,3-5,4-6,3-6,6-4,6-5,5-5,3-3,1-5,6-6,1-6,5-6)
采用Gantt图表示该解,如图3所示。在此图中,机器2和机器3两个机器上的作业队列存在死锁,即工序(3,4)→(2,5)与(2,6)→(3,3)就是一个典型的等待死锁。因为工序(2,5)加工之前必须等待(2,6)的完成,而(3,4)在(2,5)之前等待工序(3,3)的完成,但(3,3)又在(2,6)之后,即调度问题中存在死锁。死锁的出现使得粒子群算法中用G&T算法生成的粒子无法向下一代继续进化。
采用直接重构造方法对新解重构,获得一个可行解:
(1-1,3-1,6-1,4-1,3-2,2-1,1-2,5-1,2-2,5-2,6-2,1-3,2-3,4-2,6-3,3-3,2-4,4-3,4-4,5-3,3-4,5-4,1-4,4-5,2-5,3-5,4-6,3-6,6-4,6-5,5-5,2-6,1-5,6-6,1-6,5-6)
采用Gantt图表示该解,如图4所示。该解的最大完工时间为41,优于其初始解。将该可行解与Pid和Pgd分别进行对比,若更优则替换对应的Pid或Pgd
判断算法是否满足结束条件,若不满足,则重构获得的可行解作为新的初始解重复上述过程。
采用本方法可以实现车间生产的排产与调度管理,在规定时间内,找到满足优化目标的最好可行解。

Claims (2)

1.一种采用粒子群算法进行生产调度的方法,其特征在于:包括以下步骤:
步骤1:设定粒子群算法参数;
参数包括:加工的工件数量、机器数量、工艺BOM、种群大小、最大进化代数;
步骤2:采用G&T算法随机生成一组粒子群的初始解,将其中最好的解设为局部最优解Pid和全局最优解Pgd
2.其中,每个初始解就是一个粒子;
步骤3:如果满足结束条件,转步骤7;
步骤4:根据每个粒子当前位置Xid,分别计算其下一个位置Xid’,即新解;
步骤4.1:计算Pid和Xid之间的差A,A = Pid ¬ Xid,其中A是一个基本交换序,表示A作用于Xid得到Pid
步骤4.2:计算Pgd和Xid之间的差B,B = Pgd ¬ Xid,其中B也是一基本交换序,表示B作用于Xid得到Pgd
步骤4.3:根据A和B计算Xid’;
步骤5:采用直接重构方法,调整粒子群中每个粒子的新解Xid’,使其成为可行解;
步骤6:计算粒子群中每个粒子的适应度,如果找到一个更好的解,则更新Pid,如果整个群体找到一个更好的解,更新Pgd,转步骤3;
步骤7:输出的全局最优解,算法结束。
CN201410591760.4A 2014-10-28 2014-10-28 一种采用粒子群算法进行生产调度的方法 Pending CN104392298A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410591760.4A CN104392298A (zh) 2014-10-28 2014-10-28 一种采用粒子群算法进行生产调度的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410591760.4A CN104392298A (zh) 2014-10-28 2014-10-28 一种采用粒子群算法进行生产调度的方法

Publications (1)

Publication Number Publication Date
CN104392298A true CN104392298A (zh) 2015-03-04

Family

ID=52610197

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410591760.4A Pending CN104392298A (zh) 2014-10-28 2014-10-28 一种采用粒子群算法进行生产调度的方法

Country Status (1)

Country Link
CN (1) CN104392298A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105956689A (zh) * 2016-04-21 2016-09-21 合肥工业大学 一种基于改进粒子群优化的运输和生产协同调度方法
CN107168267A (zh) * 2017-06-29 2017-09-15 山东万腾电子科技有限公司 基于改进粒子群与启发式策略的生产排产方法及系统
CN107506956A (zh) * 2017-06-12 2017-12-22 合肥工业大学 基于改进粒子群算法供应链生产运输协同调度方法及系统
CN107590575A (zh) * 2016-07-07 2018-01-16 盐城华科智造数据科技有限公司 线性映射动态约束空间的粒子群优化算法系统及其方法
CN108876004A (zh) * 2018-05-04 2018-11-23 云南电网有限责任公司 一种基于块坐标下降法的微网群分层分布式经济调度方法
CN113256094A (zh) * 2021-05-17 2021-08-13 安徽帅尔信息科技有限公司 基于改进粒子群算法的业务资源分配方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609805A (zh) * 2012-01-16 2012-07-25 浙江工业大学 一种基于改进遗传算法的解决复杂生产环境下作业车间调度控制方法
CN103870647A (zh) * 2014-03-14 2014-06-18 西安工业大学 一种基于遗传算法的作业车间调度建模的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609805A (zh) * 2012-01-16 2012-07-25 浙江工业大学 一种基于改进遗传算法的解决复杂生产环境下作业车间调度控制方法
CN103870647A (zh) * 2014-03-14 2014-06-18 西安工业大学 一种基于遗传算法的作业车间调度建模的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SONG XIAOYU等: "New particle swarm algorithm for job shop scheduling problems", 《INTELLIGENT CONTROL AND AUTOMATION, 2008. WCICA 2008. 7TH WORLD CONGRESS ON》 *
宋晓宇等: "一种求解 Job Shop 调度问题的混合粒子群优化算法", 《沈阳建筑大学学报(自然科学版)》 *
宋晓宇等: "求解Job Shop调度问题的粒子群算法研究", 《系统工程与电子技术》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105956689A (zh) * 2016-04-21 2016-09-21 合肥工业大学 一种基于改进粒子群优化的运输和生产协同调度方法
CN107590575A (zh) * 2016-07-07 2018-01-16 盐城华科智造数据科技有限公司 线性映射动态约束空间的粒子群优化算法系统及其方法
CN107506956A (zh) * 2017-06-12 2017-12-22 合肥工业大学 基于改进粒子群算法供应链生产运输协同调度方法及系统
CN107506956B (zh) * 2017-06-12 2018-06-15 合肥工业大学 基于改进粒子群算法供应链生产运输协同调度方法及系统
CN107168267A (zh) * 2017-06-29 2017-09-15 山东万腾电子科技有限公司 基于改进粒子群与启发式策略的生产排产方法及系统
CN108876004A (zh) * 2018-05-04 2018-11-23 云南电网有限责任公司 一种基于块坐标下降法的微网群分层分布式经济调度方法
CN113256094A (zh) * 2021-05-17 2021-08-13 安徽帅尔信息科技有限公司 基于改进粒子群算法的业务资源分配方法

Similar Documents

Publication Publication Date Title
CN104392298A (zh) 一种采用粒子群算法进行生产调度的方法
CN107102552A (zh) 基于混合集合蛙跳与变邻域算法的平行机调度方法及系统
CN103473122B (zh) 一种云计算环境中的工作流系统资源调度方法
CN104239144A (zh) 一种多级分布式任务处理系统
CN105629927A (zh) 一种基于混合遗传算法的mes生产计划排产方法
CN101303749A (zh) 面向客户需求的车间作业调度方法
CN104331321A (zh) 基于禁忌搜索和负载均衡的云计算任务调度方法
CN102394903B (zh) 一种主动重构计算体系构建系统
CN109784656A (zh) 一种离散制造协同生产计划排程方法
CN101901426A (zh) 一种基于蚁群算法的动态滚动调度方法
Lang et al. Research on dual-resource multi-objective flexible job shop scheduling under uncertainty
CN105550825B (zh) 云计算环境下的基于MapReduce并行化的柔性工厂作业调度方法
CN103595654A (zh) 基于多核CPU的HQoS实现方法、装置及网络设备
Li et al. Bottleneck identification and alleviation in a blocked serial production line with discrete event simulation: A case study.
CN102801750B (zh) 一种云计算目标系统构建方法
CN104915250B (zh) 一种实现作业内的MapReduce数据本地化的方法
CN111580950A (zh) 一种提升云可靠性的自适应反馈资源调度方法
CN102393687B (zh) 一种解决改机问题的限定分配调度方法
CN107589980A (zh) 一种云计算资源的调度方法
CN104346441A (zh) 一种配电网信息数据动态集成交互方法
CN106598716A (zh) 一种基于多处理器的任务调度方法
CN109448092A (zh) 一种基于动态任务粒度的负载均衡集群渲染方法
CN104572304B (zh) 智能均衡的集群渲染任务维管方法
CN103440533B (zh) 一种云制造模式下作业车间非瓶颈资源能力的界定方法
CN102253861A (zh) 一种分步运算插件的执行方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20150304