一种基于改进遗传算法的多目标动态调度优化
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一种基于改进遗传算法的多目标动态调度优化
连坤雷,张超勇,高 亮,张朝阳
(华中科技大学数字制造装备与技术国家重点实验室,湖北武汉 430074)
摘要:静态调度问题一般是NP-hard 问题,而动态调度问题的性能指标比静态调度的更为复杂,并且以多目标综合性能指标居多。
在系统地研究了多目标动态作业车间调度问题的基础上,运用滚动窗口技术和改进的遗传算法来解决动态调度问题。
滚动窗口技术将调度过程分成连续静态调度区间,在每个区间内用多目标遗传算法进行调度优化。
最后开发了面向应用的动态调度原型系统,并对改进的Job-shop 基准实例进行仿真试验,证明了提出策略的可行性和有效性。
关键词:作业车间调度;动态调度;遗传算法;滚动窗口
中图分类号:TP301 文献标识码:A 文章编号:1672-1616(2010)03-0013-05 传统的静态调度模型不能适应实际生产调度环境的动态性、随机性、多目标等特点,Jackson 在1957年最早给出了动态调度的概念。
动态调度问题的提出主要是因为存在新订单到达、零件报废或返工、交货期变更以及机器故障、原材料延迟到达等一系列随机干扰因素,迫使原定的生产计划被打乱。
为了保证生产过程的顺利进行,就需要根据系统中工件的状况不断地进行重新调度。
对于动态调度,很难用传统的整数规划法来解决实际问题。
随着计算机技术的迅速发展,人工智能、仿真方法、滚动窗口再调度方法和元启发式算法等为动态调度的研究开辟了新思路,也为生产调度的实用化奠定了基础。
人工智能和专家系统方法能够根据系统的当前状态和给定优化目标,对知识库进行搜索,选择最优的调度策略。
但这种方法对新环境的适应性差、开发周期长、成本高。
离散系统仿真方法通过建立仿真模型来模拟实际的生产环境,但是由于仿真本身具有实验的特点,很难从特定的试验中提炼出一般规律。
滚动窗口再调度(rolling horizon rescheduling )是Nelson 等在1977年最早提出的,它的基本思想是把动态调度过程分成多个连续的调度区间,然后对各个调度区间进行在线优化,达到每个区间内最优,从而使得调度方案能适应复杂多变的动态环境。
正是基于这些优点,滚动窗口再调度得到了较广泛的关注和应用
[1,2]。
在元启发式算法中,遗传算法具有操作简单、高效性、鲁棒性、通用性强和仅根据个体的适应度值进行搜索等特点,在动态调度研究中得到广泛应用。
本节结合实际生产情况,将多目标遗传算法和滚动窗口再调度技术结合,设计了一种动态调度优化策略,研究了原材料延期到达、工序加工时间延误和装配延误等突发事件的发生,以及紧急工件加入或计划工件不断到达等动态事件的处理。
其他许多类型问题的处理均可借鉴于此。
1 动态调度问题的描述
在静态调度问题中,n 个工件在m 台机器上加工,当各工件在每台机器上的加工顺序确定后,所有工件的调度方案就被确定。
然而在实际的制造系统中可能发生新订单到达、机器故障、原料延迟到达等意外事件,需要对加工顺序重新调度。
动态调度是把车间生产看成一个动态过程,工件依次进入待加工状态,各种工件不断进入系统接受加工,同时完成加工的工件又不断离开。
引起车间调度环境变化,从而需要进行动态调度的事件称为动态事件。
动态事件的种类有多种,主要可分成以下4类。
a.与工件相关的事件:包括工件随机到达、工件加工时间不确定、交货期变化、动态优先级和订单变化。
b.与机器相关的事件:包括机器损坏、负载有
收稿日期:2009-07-30
基金项目:国家高技术研究发展计划(863)项目(2007AA04Z107,2007AA04Z190,2006AA04Z131);湖北省教育厅中青年项目资助(Q20092303)作者简介:连坤雷(1987-),男,河南开封人,华中科技大学硕士研究生,主要研究方向为车间调度。
13
#企业管理与信息化# 连坤雷 张超勇 高 亮等 一种基于改进遗传算法的多目标动,,
限、机器阻塞/死锁和生产能力冲突。
c.与工序相关的事件:包括工序延误、质量否决和产量不稳定。
d.其他事件:如操作人员不在场、原材料延期到达或有缺陷、动态加工路线等。
在经典的Job-shop 静态调度问题中,所有工件的释放时间(或到达时间)r i 均在零时刻,性能指标通常采用最大完工时间C m a x 最小,即min{max C i ,i =1,,,n},其中C i 是工件J i 的完工时间。
然而,在实际动态生产环境中工件是依次进入待加工状态,它们的释放时间r i 是不可预期的和不同的。
由于工件只能在释放时间之后开始加工,动态模式中最大完工时间由最新加入工件的释放时间支配。
因此,在动态调度问题中通用性能指标一般采用工件的平均流经时间 F (mean flow -time of jobs)最小替代最大完工时间最小。
本文考虑动态生产环境中常遇到的2种性能指标:一种是最具代表性的平均流经时间 F 最小,即m in (1
n @E n
i =1
C i -r i ),其中r i 和C i 分别为工件
J i 的释放时间和完工时间。
另一种是最大完工时间(C max )与总拖期时间最小的多目标综合性能指标,这种多目标综合性能指标相当于处理实际生产加工中有急件任务插入问题,急件任务具有较高的优先权,并且要求在交货期前完工,其余工件则要求尽早完工。
对于n 个工件在m 台机器上加工的调度问题,最大完工时间与总拖期时间最小的性能
指标函数为: min max C i +A @
E max (0,C j -
D j )
(i I S J 1,j I S J 2)
(1)
式中:A 为惩罚项加权系数;S J 1为正在加工工件的工件集;S J 2为急件工件的工件集;C i 为每个工件i(i I S J 1)的完工时间;D j 为每个急件工件j (j I S J 2)的交货期时间;C j 为完工时间。
2 滚动调度策略
由于有不可预期的现象或随机扰动发生,实际的制造系统调度是一个不确定性问题。
Raman 等[3]
和方剑等[2]
应用滚动窗口解决这种不确定性调度问题,把不确定性调度问题分解成一系列动态但确定的调度问题。
对照连续系统预测控制取代最优控制并在工业过程中得到广泛应用的成功经验,它将调度过程分成连续静态调度区间,然后逐
个优化每个区间。
该滚动调度策略既克服了动态加工时的不确定因素的影响,又可以把系统状态的变化反映到调度方案中。
滚动调度的核心就是滚动优化。
滚动窗口调度技术将已完工的工件从工件窗口中移出,再加入一批待加工工件到工件窗口中,重新对工件窗口内的工件进行静态调度,重复以上过程,直到所有工件都完成加工。
再调度周期和窗口工件的选择规则是工件窗口中的2个关键要素,它们直接影响着调度优化的整体效率。
采用滚动窗口技术首先要定义一个滚动窗口,该滚动窗口包含了类工件集合:已完成工件集、正在加工工件集(包括再调度时刻正在加工的工件)、未加工工件集(包括已调度但还没有开始加工的工件)、待加工工件集(包括准备加入等待调度的工件)。
在每次滚动调度中,从工件窗口中移去已完成工件集,加入待加工工件集,然后对该窗口中的工件进行静态优化调度。
两次调度之间的时间间隔称为再调度周期,通常再调度时间点是均匀分布的,其缺点是没有考虑实际生产车间的负荷情况,因此更加合理的调度方案是使再调度频次与生产车间的负荷成正比。
窗口中要优化工件的数量受到两方面的限制:一方面要提高机床设备的利用率,就要选取较多的工件加入窗口;而要对突发事件的响应时间较短,就要求选取较少的工件。
具体选择多少工件要根据实际情况而定。
滚动再调度分为3种:事件驱动再调度、周期性再调度以及它们的混合再调度。
事件驱动再调
度是指当出现一个使系统状态发生变化的事件时进行的再调度。
这些事件如原材料延期到达、工序延误、机床设备故障等。
周期性再调度是按时间间隔周期进行的再调度。
时间间隔选取需要根据计划层下达的计划任务量、车间生产的负荷等具体实际情况加以确定。
前2种调度都有自身的缺点,事件驱动再调度对未来事件缺乏预见能力,没有整体的概念,周期性再调度无法处理突发事件[2]。
基于周期与事件驱动的调度策略在组合了这2种调度策略的基础上扬长避短,既能较好地响应实际的动态环境,又能保持一定的稳定性。
本文采用基于周期和事件驱动的再调度策略,在一般情况下按周期性再调度的周期时间进行再调度,当原材料延期到达、机床发生故障、工件交货期改变和急件任务到达等突发事件发生时采用事件驱动再调度。
14
2010年2月 中国制造业信息化 第39卷 第3期
3 动态调度策略研究
基于周期和事件驱动的再调度策略,本文设计了一种基于滚动窗口的改进遗传算法,运用改进遗传算法对滚动窗口的工件进行调度优化,得到优化调度方案后就可下达生产线执行。
下面对改进遗传算法求解动态调度问题的主要组成部分进行介绍。
3.1 动态调度问题的编码
本节采用基于工序的编码方式,即每个工件的加工顺序以相应的工件序号表示,同一个工序号第k 次时,表示这是该工件的第k 道工序。
3.2 动态调度问题的解码
调度的解码可认为是根据染色体和工艺路线与定额计算每台机器上所有工序的开始加工时间。
对任意工序i,设它的开始加工时间为t i ,加工时间为p i ,那么工序i 的完工时间为(t i +p i );工序i 的工件前任工序为JP [i],机器前任工序为MP [i ](如果它们存在)。
在动态调度问题中,对于正在加工工件和未加工工件集的非第一道工序的开始加工时间可根据公式(2)计算:t i =max (t JP [i ]+p JP [i ],t M P [i]+p MP [i ])(2)
正在加工工件和未加工工件第一道工序的开
始加工时间t i 计算公式为:
t i =m ax (max (t 0,t JP [i ]+p JP [i ]),t MP [i ]+p MP [i ])
(3)
对于待加工工件,在解码过程中每个工件第一道工序i 的开始时间t i 计算公式为:
t i =max (r i ,t MP [i ]+p MP [i ])(4)
本文采用一种插入式贪婪解码算法,能够保证
染色体经过解码后生成主动调度。
3.3 交叉和变异操作
目前已提出的遗传算法的交叉算子有很多,譬如PPX [4]、SPX [5]、POX [6]等,其中POX 交叉算子较好地继承了父代优良特征。
该交叉操作图如图1所示。
变异时随机选择某个基因插入到染色体中另一个随机的位置,以产生对个体的微小扰动。
3.4 选择操作
选择操作是根据个体适应度值的优劣程度决定它在下一代是淘汰还是遗传。
这里适应度函数直接采用性能指标函数,具体参见第1节。
遗传算法的选择操作采用最佳个体保存(El-i
tist model)和锦标选择(Tournament selection)2种
方式。
最佳个体保存方法就是把群体中适应度高的1%的个体不经配对交叉而直接复制到下一代。
锦标选择是从种群中随机选择2个个体,如果随机值r (在0~1之间随机产生)小于给定概率值k(k 是一个固定参数,设置为0.8),则选择优的一个,否则就选择另一个。
被选择的个体放回到种群,可以重新作为父代染色体参与选择。
图1 基于工序编码的POX 交叉操作
3.5 改进遗传算法的设计
传统遗传算法求解调度问题并不很成功,遗传算法中父代交叉产生的两子代总是被接受,即使它们的适应度远低于父代的适应度,这可能造成优良解被丢失或破坏,这种问题对于求解多目标的动态调度问题显得尤为突出。
本文设计了一种子代产生模式的改进遗传算法,在这种遗传算法中两父代交叉n 次生成2n 个后代,从2n 个后代中选择最优的2个染色体作为下一代(2个染色体适应度不同)。
这与人类繁殖类似,可使下一代更好地继承父代的优良特征。
试验测试表明,与传统的遗传算法相比,改进的遗传算法在收敛速度和解的质量方面都有较大提高,如应用改进遗传算法求解著名的FT10基准实例,得到该实例的最优解930。
改进遗传算法的步骤如下。
步骤1:初始化随机产生P 个染色体个体,评价个体适应度值。
步骤2:判断是否达到终止条件,若满足,则输出最优解,结束算法;否则转步骤3。
步骤3:按选择策略选取下一代种群。
步骤4:(1)按交叉概率P c ,对两父代个体交叉n 次,从2n 个后代中选择最优不同的两染色体作为下一代。
(2)按变异概率P m 选择个体,变异操作生成新个体。
步骤5:生成新一代的种群,返回到步骤2。
4 实例仿真与分析
最后,基于上述研究开发出的动态调度原型系
15
#企业管理与信息化# 连坤雷 张超勇 高 亮等 一种基于改进遗传算法的多目标动,,
统,对具体实例进行仿真验证。
由于动态调度问题没有标准算例,测试数据来源于著名的FT20基准实例,并依据实际动态调度的要求适当地增添部分动态数据,然后基于这些测试数据仿真当突发事件发生及急件任务到达时动态加工环境中的调度优化。
在仿真过程中,对于发生的突发事件,性能指标采用最普遍的平均流经时间最小;对于急件任务的插入,性能指标采用多目标的最大完工时间与总拖期时间最小。
改进遗传算法的运行参数为:种群规模P =200,交叉概率P c =0.8,交叉次数n =10次,变异概率P m =0.01,终止代数为100。
对于20个工件在5台机器上加工的FT 20基准实例,图2显示了获得的初始调度优化方案,该初始方案为FT20
实例的最优解,最大完工时间是1165。
设在时刻600前发生以下一系列随机事件:由于机器故障、误工或其他原因,机器2上工序(J 10,1)的加工时间延误了30时间单位;由于人员旷休等原因,机器3上的工序(J 1,3)与工序(J 20,3)发生交换;由于原材料延期到达,机器3上的工序(J 8,1)推迟了60时间单位开工;由于运输小车或装配延误等原因,机器5上的工序(J 11,4)推迟了40时间单位开始加工,对这些不确定事件进行手工调整,调度方案的最大完工时间推迟到1219。
设在时刻600需要立即进行再调度,应用改进遗传算法对再调度时刻600后的窗口工件进行调度优化,图3显示了获得的事件驱动再调度的优化方案,最大完工时间缩短为1202。
图2
初始调度优化方案
图3 事件驱动再调度优化方案
为了进一步深入研究滚动优化策略,设在时刻600除了发生上述3个随机事件外,又有急件任务插入。
急件任务包括加工3个工件,即工件21,22和23,它们要求在给定的交货期前完工。
表1给出
了这3个紧急工件的加工机器、加工时间、释放时间和交货期(交货期是通过将3个工件的平均加工时间乘以1.8,加上再调度时刻600设定)。
然而,原来已调度的工件要求尽早完工,新加入的紧急工件则
162010年2月 中国制造业信息化 第39卷 第3期
要求在交货期前完工,这就需要考虑最大完工时间与总拖期时间最小的多目标动态调度问题。
根据多目标性能指标,运用改进遗传算法对再调度时刻600后的窗口工件和加入的急件任务进行调度优化,图4显示了获得的再调度优化方案。
从图4可以看出,新加入的3个紧急工件都在时刻900前完工,完成所有工件的最大完工时间为1338。
表1 急件任务中每个工件的加工机器、加工时间和释放时间
工序工件加工机器(加工时间)12
3
4
5
释放时间交货期工件211(29)
2(9)3(49)4(12)5(26)
650900工件223(18)2(22)1(36)4(21)5(72)600900工件23
2(46)1(28)3(32)5(40)4(30)
680
900
图4 急件任务插入后多目标动态调度优化方案
按照上述策略可用改进遗传算法不断在线优
化各个滚动窗口的工件。
从仿真实例可以看出,采用滚动窗口技术,把一个大而复杂的动态调度问题分成多个连续调度区间,采用静态调度算法在线优化每个滚动区间,就能够适应连续加工过程中复杂多变环境的要求,使突发事件和急件任务得到及时处理。
同时,该策略具有很强的扩展性,可以扩展到其他动态调度问题。
5 结束语
本文将静态调度问题的研究成果扩展至动态调度问题,较系统深入地研究了动态环境中多目标作业车间调度问题。
针对突发事件发生、急件任务加入或计划工件不断到达等不确定因素,提出了一
种基于滚动窗口的改进遗传算法求解动态调度问题的策略,该策略运用改进遗传算法在线优化各个滚动窗口的工件,使得调度方案能适应复杂动态环境变化的要求。
最后,基于提出的滚动调度优化策
略开发出动态调度原型系统,并通过对具体的实例进行仿真,验证了该策略的可行性和有效性。
参考文献:
[1] Bierw irth C,M attfeld D C.Production scheduling and reschedu-l
i ng w ith genetic algori thm [J ].Evol utionary Computati on,1999,7(1):1-17.
[2] 方 剑,席裕庚.基于遗传算法的滚动调度策略[J].控制理
论与应用,1997,14(4):589-594.
[3] Raman N,Talbot F.T he j ob shop tardiness problem:a decom -positi on approach [J ].European Journal of Operational Re -search,1993,69(22):187-199.
[4] Cheng R,Gen M ,T suji mura Y.A tutorial s urvey of job shop
scheduling problems using genetic algorithms,part Ò:hybrid genetic search strategies [J ].Computers and Indus trial Eng-i n eering,1999,36(2):343-364.
[5] Wang L,Zheng D Z.An effective hybrid opti m i zation strategy
for job -shop scheduling problems [J ].Computers &Opera -tions Research ,2001,28(6):585-596.
[6] 张超勇,饶运清,李培根,等.求解Job-Shop 调度问题的一种改
进遗传算法[J].计算机集成制造系统,2004,10(8):966-970.
An Improved Genetic Algorithm for Multi -objective Dynamic Scheduling Optimization
LIAN Kun-lei,ZHANG Chao-yong,GAO Liang,ZHANG Chao-yang (Huazhong University of Science and T echnolog y,Hubei Wuhan,430074,China)
Abstract:Dynamic scheduling problem is a more complex NP-hard problem compared w ith static scheduling
(下转第21页)
17#企业管理与信息化# 连坤雷 张超勇 高 亮等 一种基于改进遗传算法的多目标动,,
图3 相关仓库参数对供应成本影响
5 结 论
本文针对基于年龄更换策略的多-单库存控
制系统,在考虑横向调度的情况下建立了系统数学模型,并设计了迭代求解算法,得出系统最优的年龄更换策略和库存控制策略。
算例仿真验证了基于年龄更换策略的多-单库存控制模型的有效性,寿命分布服从失效率连续严格单调增的部件,采用年龄更换策略,可以在维修策略和库存控制之间达到总成本最小;预防性更换周期影响着供应仓库的选择;单件储存费对供应成本的影响较大;供应成本受到供应仓库额定库存量的约束,对控制参数等
于其额定库存量的供应仓库进行扩建可以有效降低系统成本。
参考文献:
[1] 曹晋华,程 侃.可靠性数学研究(修订版)[M ].北京:高等
教育出版社,2006:322-325.
[2] Hua Z S,Zhang B,Yang J.A new approach of forecasting inter -mittent demand for spare parts inventories in th e proces s indus -tries[J].Journal of the Operational Research Society,2007,58(1):52-61.
[3] Timothy S Vaughan.Failure replacement and preventive mainte -nance spare parts ordering policy[J].European Journal of Opera -tional Research,2005(11):183-190.
[4] Thomas L C,Osak i S.An optimal ordering policy for a spare un i t
w ith lead ti m e[J].European Journal of Operati onal Research,1978(6):409-419.
[5] 陈晓慧,盛天文,易树平.等周期预防维修下多部件系统的备
件订货策略[J ].华南理工大学学报(自然科学版),2009,37(4):95-99.
[6] 司书宾,贾大鹏,孙树栋,等.服务水平约束下的多-单维修
备件协同库存控制模型及其仿真研究[J ].中国机械工程,2007,18(23):322-325.
[7] Kukreja A,Schmidt C P.A model for lumpy demand parts in a
multi-locati on inventory system w ith transshipments[J].Com -puters &Operations Research ,2005,32(8):2059-2075.[8] 王 瑛,孙林岩.基于合作需求预测的多级库存优化模型
[J].系统工程理论方法应用,2004,13(3):208-213.[9] 白少布,薛恒新.随机需求下树形供应链网络库存控制策略
研究[J ].中国机械工程,2006,17(22):2338-2341.
Multi -Single Inventory C ontrol Model and
Optimization of Spare Parts Based on Age Replacement Policy
LI Shu-min,SU N Shu-dong,SI Shu-bin,DU I Hong-yan (Northw estern Polytechnical University ,Shaanxi Xi .an,710072,China)
Abstract:Maintenance policy has influence on the dem and of spare part.Based on age replacement policy,it consideres the multi-single inventory problem of spare part,proposes a mathematical model and algorithm.T he simulation show s that the control model and algorithm are effective.And the preventive replace interval has influence on depots selection and the total cost.Also,enlarging the capability of depots w hich is not e -nough and reduces the holding cost per spare part can decrease the total cost of system.Key words:Inventory;Age Replacement Policy ;Spare Part
(上接第17页)
problem and in most cases it has multi-objective performance criteria.Based on study of the multi-objective dynamic scheduling problem,it emploies the rolling-horizon procedure and an im proved genetic algoritihm.In the rolling-horizon procedure,dynamic scheduling problem is decomposed into a series of continual and static scheduling problems,multi-objective genetic algorithm is applied to each of these problems.In order to adapt to the complex m anufacturing env ironment and sustain the stability of production,a human-com -pute collaborative scheduling procedure is presented for the implementation of the scheduling process.A scheduling prototype system is developed and tested on the improved job-shop benchmark instance,the sim -ulation results validate the effectiveness of the proposed strateg ies.
Key words:Job Shop Scheduling Problem;Dynamic Scheduling ;Genetic Algorithm;Rolling Horizon
21
#企业管理与信息化# 李淑敏 孙树栋 司书宾等 基于年龄更换策略的多-单维修备,,。