基于改进蚁群算法的柔性作业车间调度问题的求解方法
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
部最优解路径上的信息素积累便会减慢,且算法陷入局部收 敛越深,信息素积累越慢甚至可能减少,而其他非局部最优 路径上的信息素积累规则保持不变,这样可以快速有效的减 少局部最优解路径和其他路径上信息素的差距,有利于算法 跳出局部收敛,向全局最优解搜索。
1 柔性 job-shop 调度问题的数学模型
1.1 问题的描述
(College of Software, Zhejiang University of Technology, Hangzhou 310014, China)
Abstract: Aiming at the limit of classical job-shop problem, combining with actual manufacture instance, a rout flexible job-shop model was given, a machine choose rule was advanced, the process of improved ant colony algorithm was given. After all ants crawled, this algorithm could adjust pheromone aiming at whether it got into part convergence, this could help algorithm to get best solution faster. In the end the simulation results show that this algorithm has good performance. Key words: ant colony algorithm; improved ant colony algorithm; flexible job-shop scheduling; production scheduling
所得的概率记为 Prsk :
⎧
τ
α ij
•ηij β
∑ Prs k
=
⎪⎪ ⎨
τ
α ij
⎪ i∈p
•ηij β
if ( pij < pi max )
(7)
⎪⎩0
otherwise
其中, τij 表示节点 r 到节点 s(其中 s 表示第 i 个工件的第 j 道工序)的信息素,ηij 表示节点 r 到节点 s 的可见度, pij 表示第 i 个工件的第 j 道工序, pi max 表示第 i 重系数,可见
加工工件将提高算法解的质量。本文用一种简单有效的方法
即选取完成加工第 i 个工件的第 j 道工序 pij 最早的机器,使 工序 pij 能最早的完成,从而也能减小整批工件的最大完成 时间,机器选择规则如图 1 所示。
假设 M1 ,M 2 ,M 3 为可加工工序 pij 的三台机器,τ 为 工序 pij 的顺序约束,T1 ,T2 ,T3 分别为机器 M1 ,M 2 ,M 3 的机器约束,斜线花纹方框表示工序 pij 分别在三台机器上
向为 CIMS、生产计划与调度、智能自动化等;赵澄(1985-), 男, 硕士生,
熊婧(1984-), 女, 硕士生; 徐新黎(1977-), 女, 博士生。
工时间,使所有工件在系统中的流通时间最短。 下面是针对该调度模型的假设: (1) 每台机床一次只能加工一个工件 (2) 工序一旦进行不能中断 (3) 假定工件之间具备相同的优先级
再用轮盘赌方法从工件集中选择一个节点,并记下这个节点
的起始时间,以便计算等待时间和最后完成所有工件的加工
时间。
(3) 判断是否发生局部收敛 各代所有蚂蚁爬行完毕后对所搜索到的最优解进行判
断,看是否陷入局部收敛,判断方法如下:当连续几代最优
蚂蚁搜索得到的路径相同时,算法即陷入了局部收敛,此时
最优蚂蚁的爬行路径总长度相同,故我们可以认为当连续几
假定一个加工系统有 m 台机器和 n 个待加工工件,每个 工件包含一道或多道工序,工件的工序顺序是预先确定的,每 道工序可以在多台不同的机床上加工,工序的加工时间随机 床的性能不同而变化。调度目标是为每道工序选择最合适的
机器,以及确定每台机器上各工件工序的最佳加工顺序及开
收稿日期:2007-04-13
其中: ∆τ ij = Q0 / L ,L 为路径 l 的长度。 然后更新所有蚂蚁爬行路径上的信息素,同式(9)。
策略②:
当算法陷入局部收敛时,信息素更新策略如下:
首先计算除最优蚂蚁 l 外所有其他蚂蚁经过路径上的信
修回日期:2008-01-10
基金项目:国家 863 计划(2007AA04Z155), 国家自然科学基金(603740
56, 60573123)资助项目。
作者简介:王万良(1957-), 男, 浙江工业大学教授, 博士, 控制理论与控
制工程专业、技术经济及管理专业博士生导师, 软件学院院长, 研究方
M3
T1 τ T3T2 t1 t2 t3
时间
图 1 机器选择甘特图
的可加工最早时间段,由图 1 可知,工序 pij 在三台机器上
加工的最早完成时间分别为: t1 , t2 ,t3 ,且 t1 < t2 < t3 ,因 此选择机器 M1 加工工序 pij 。
(2) 状态转移规则
第 k 只蚂蚁由节点 r 转移到节点 s 的概率按(7)式计算,
策略①:
当算法未陷入局部收敛时,采用采用全局更新和局部更
·4327·
第 20 卷第 16 期 2008 年 8 月
系统仿真学报
Vol. 20 No. 16 Aug., 2008
新结合的策略。
首先按式(9)更新该代最优路径 l 上的信息素:
τ ij = (1 − ρ0 )τ ij + ∆τ ij
(9)
⎧ 1 工件i的第j道工序和工件e的第g道工序
Rijegk
=
⎪ ⎨
在同一台机器k上执行,若工序j先于工序g (1)
⎪ ⎩
0
其他
Xijk = ⎧⎪⎪⎨⎪⎪⎩10
若工件i的第j道工序在机器k上执行
其他
(2)
1.3 柔性 job-shop 调度问题的数学描述
目标函数——使所有工件在系统中的流通时间最短:
Min(MS ) = k=m1,2a,.s..,m(MPk )
导其他蚂蚁尽量远离历史最差解,放弃将最差解的组成部分 组合成其他解的机会,并将算法用于求解作业车间调度问 题;杨阿莉等[3]提出一种混合蚁群算法,将传统蚁群算法与 领域搜索算法结合,并用于求解作业车间调度问题。
对于柔性job-shop调度问题(flexible job-shop scheduling problem, FJSP)由于减少了机器约束,扩大了可行解的搜索 范围,提高了问题的复杂性,所以与传统的job-shop调度问 题相比更加接近实际生产环境的模拟。Chambers等[4]提出了 基于禁忌搜索求解具有柔性路径的JSP的方法。Klaus Jansen 等[5]利用线性时间近似算法求解无优先级的柔性job-shop调 度问题。庞哈利[6]结合遗传算法和启发式规则,从集成化角度 研究了柔性job-shop调度问题。Leng Sheng等[7]主要针对如何
度ηij 由公式(8)来计算。
ηij
=
1 twait + c
(8)
其中,twait 为在加工 pij 前的等待时间[7]。为了避免 twait = 0 而 使可见度趋于无限大,同时分母为 1 时,ηij = 1 ,偏重系数 β 不起作用,故在分母加上常数 c(c>1)以保证可见度对节点选
择的影响,在算法具体实现时取 c = 2 。经过(7)式计算后,
第 20 卷第 16 期 2008 年 8 月
系 统 仿 真 学 报© Journal of System Simulation
Vol. 20 No. 16 Aug., 2008
基于改进蚁群算法的柔性作业车间调度问题的求解方法
王万良,赵 澄,熊 婧,徐新黎
(浙江工业大学软件学院,浙江 杭州 310014)
能开始另一个任务的加工。
Eegk − Eijk ≥ megk
(5)
其中, X ijk = X egk = 1 , Rijegk = 1
式(5)表示任一确定时刻,机器 k 不能同时加工任意两个
不同的工件,也不能同时加工任意两道不同的工序。
③其它约束——任何一道工序的完工时间减去开始时 间不能小于其加工时间。
非常广泛的关注,但大部分研究工作都集中在传统 job-shop 毕后,能够自动的判断当代最优蚂蚁搜索到的解是否陷入局
调度问题,如王常青等[2]提出了一种双向收敛蚁群算法,将 部收敛,并针对是否陷入局部收敛这两种情况动态的选择不
历史最差解看作目前不可接受的解,对其进行惩罚,从而引 同的信息素更新策略。一旦搜索陷入局部收敛,此时陷入局
引 言1
自从 Dorigo 等在 1996 年提出了蚁群算法[1],该算法是 模拟蚂蚁觅食过程的一种仿生算法,问世短短几年来,蚁群 算法在作业车间调度问题等方面获得了成功的应用,受到了
选取并行机和多功能机进行研究,将各可选机器看成各个节 点,利用传统的蚁群状态转移规则进行选择。本文提出了一 种改进蚁群算法求解柔性job-shop调度问题,在机器的选择 策略方面选择能完成工件工序最早的机器,与文献[7]相比更 加简便有效。本算法的另一特点是在当某代所有蚂蚁搜索完
• 4326 •
第 20 卷第 16 期 2008 年 8 月
王万良, 等:基于改进蚁群算法的柔性作业车间调度问题的求解方法
Vol. 20 No. 16 Aug., 2008
(4) 每个工件在固定时刻只能在一台机器上加工
机器
(5) 在零时刻,所有的工件都可被加工
(6) 工序在可选择的若干机器上加工的时间已经确定
(3)
约束条件:
①顺序约束——工艺要求的同一工件相邻工序间的加
工顺序。
Eijk − Ei( j −1)m ≥ mijk
(4)
其中 1 < j < Ji , X ijk = X i( j−1)m = 1
式(4)表示工件 i 的第 j 道工序必须在第 j-1 道工序完成
后才能开始。
②资源约束——同一机器 k 上一个加工任务完成后才
代的最优蚂蚁爬行路径总长度相同时算法陷入了局部最优,
在 job-shop 调度问题中即为连续几代搜索到的最大完工时 间相同时发生局部收敛。
(4) 信息素更新策略 在前一步判断算法是否陷入局部收敛的基础上,本文采
用两种信息素更新策略。这样可以使算法快速跳出局部收
敛,向全局最优解方向搜索。两种更新策略如下:
摘 要:针对经典作业车间调度问题的局限性,结合实际生产情况,给出了具有路径柔性的作业车
间调度模型,提出了机器选择规则,给出了改进蚁群算法的具体实现过程。当所有蚂蚁爬行完毕后,
针对算法是否陷入局部收敛分别对各路径上的信息素进行调整,这样有助于快速的得到全局最优
解。最后通过实例仿真验证了算法的有效性。
关键词:蚁群算法;改进蚁群算法;柔性作业车间调度;生产调度
productionscheduling引言1自从dorigo等在1996年提出了蚁群算法1该算法是模拟蚂蚁觅食过程的一种仿生算法问世短短几年来蚁群算法在作业车间调度问题等方面获得了成功的应用受到了非常广泛的关注但大部分研究工作都集中在传统jobshop调度问题如王常青等2提出了一种双向收敛蚁群算法将历史最差解看作目前不可接受的解对其进行惩罚从而引导其他蚂蚁尽量远离历史最差解放弃将最差解的组成部分组合成其他解的机会并将算法用于求解作业车间调度问题
M1
1.2 描述柔性 job-shop 调度问题的变量
M2
n-工件数量;m-机器数量; Ji -工件 i 所包含的工序数; mijk -工件 i 的第 j 道工序在机器 k 上的加工时间; Sijk -工件 i 的第 j 道工序在机器 k 上的开始时间;Eijk -工件 i 的第 j 道 工序在机器 k 上的完工时间; MPk -所有工件在机器 k 上的 完工时间;MS-所有工件的最后完工时间。
Eijk − Sijk ≥ mijk , ∀J ,其中 X ijk = 1
(6)
2 改进蚁群算法求解柔性 job-shop 调度问题
(1) 机器选择规则 由于本算法要解决的是柔性 job-shop 调度问题,与一般 job-shop 调度问题不同的是增加了机器选择这一环节,待加 工工件的工序可以在多台机器上加工,因此选择最优的机器
中图分类号:TP391.9
文献标识码:A
文章编号:1004-731X (2008) 16-4326-04
Method to Resolve Flexible Job-shop Scheduling Problem Based on Improved Ant Colony Algorithm
WANG Wan-liang, ZHAO Cheng, XIONG Jing, XU Xin-li