一种基于改进遗传算法的多目标动态调度优化

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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期

相关文档
最新文档