基于改进遗传算法的柔性作业车间调度

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
为下面几类: 启发式方法、人工智能方法、最优化 方法和近似最优法[ 2] . 近年来, 对于这类具有高度 并行性和复杂性的问题, 学者们提出了一些非经 典、非线性的求解方法, 获得了很好的效果[ 3] , 如神
经网络算法、模拟退火算法、遗传算法等. 其中, 由 于遗传算法 (GAs)良好的全局搜索性能、内在的并 行处理能力及其在解决 TSP 一类组合优化问题方 面的成功应用, 引起了 JSSP 研究人员的重视, Gen and Cheng[ 4] 提供了一个很好的关于 GAs应用于
在计算机上对算法进行了 50次运算, 均收敛
在 Cmax = 17, 这优于文献 [ 6] 中的 Cm ax = 18. 表 2和式 ( 4) 分别是按基因算法调度得到的作业路
线和工序顺序. 图 2 是对应的甘特图, 其中 i - j -
k 代表工序 Oij在机器 k上处理.
Abstr act: A novel genet ic algorithm for solving flexib le job shop scheduling prob lem is elaborated. An intui2 t ive gene cod ing method, called two- substring gene cod ing, and a spec ial cross operator aswell as a mutation method are proposed. By doing tha,t the repa iring process to va lida te the schedu le gene is successfully can2 ce lled. The computer simu lations are carried out and the results are worked ou t to show the effectiveness of the proposed a lgorithm. K ey w ord s: flexib le job shop; genet ic algorithm; job shop schedu ling
重要的遗传算子有 3种: 选择、交叉和变异.
选择是指从当前种群中根据适应度的高低将个体
直接复制到下一代种群的过程. 交叉是遗传算法
中最重要的步骤, 它对遗传算法的性能和收敛影
响很大, 通过交叉, 种群中的优良基因得到保存与
传播. 变异发生的概率一般很小, 变异操作的目的
是为了保持基因的多样性.
为了确保在遗传操作中由基因串 ( 2)所代表
收稿日期: 2005- 04- 29. 作者简介: 席卫东 ( 1967) ), 男, 博士研究生;
朱剑英 ( 1937) ), 男, 教授 博士生导师.
需要确定所有工序在所有机器上的安排, 而且还 要确定每一台机器上工序的序列.
JSSP 已被证明为 NP - hard问题 [ 1] . 由于它的 高度并行性和重要的实际意义, 学者们对其进行了 广泛的研究, 并提出了许多算法. 这些算法可以分
码方法. 其中, 一个子串用于表示调度的路径, 另
一个子串用于表示调度的序列.
对于上述的柔性作业车间调度问题, 基因编
码设计如下:
k11, k12, , , k1n1, k21, k22, , , k2n 2, , , kn1, kn2,
, , knnn Seq.
( 2)
其中: kij I Mij 表示处理工序 Oij 的机器, Seq是一
关键词: 柔性作业车间; 遗传 算法; 作业车间调度
中图分类号: TP18; TP 273
文献标识码: A
文章编号: 0367- 6234( 2007) 07- 1151- 03
A genetic a lgor ithm for flexib le job shop schedu ling based on two2sub str ing gene cod ing m ethod
# 每台机器每次只能处 理一个作业, 同一作 业的两道工序不能同时加工, 且工序一经开始就 不能中断;
# 机器的调整与设置时间和作业的运输时间 独立于工序顺序, 且忽略不记;
# 不考虑作业的取消、机器 的崩溃和其他随 机性因素.
作业车间调度的主要任务是寻找到一个基于
某种指标意义的最优或次优调度 I. 最常用的指标 是最大流程时间 Cmax 的最小化, 即完成所有工序 的时间最短.
n
E 且 S = ni. J s ( is jsks ) 表示作业 J is 的工序 Oisjs 在 i= 1
机器 ks 上加工. 为了评估以上调度, 应计算其最大流程时间,
首先, 在调度 ( 1) 中, 各工序的完成时间为 c( J 1 ( i1 j1 k1 ) ) = t( i1 j1 k1 ), c( J s ( is jsks ) ) =
在古典作业车间调度中约定, 任一工序只能 由指定的某台设备加工, 而在柔性作业车间调度 ( F JSSP: F lexible JSSP )中, 则允 许工序由一个机 床集合中的任意一台加工, 这更符合实际的生产 状况, 调度的目的是将工序分配给各机床, 并对各 机床上的工序进行排序以使完成所有工序的时间 最小化. F JSSP比 JSSP 更为复杂, 因为 F JSSP不但
作业车间调度问题 ( JSSP: Job Shop Schedu2 ling P rob lem )通 常出现在工业 制造环境中, 为了 完成一个作业, 必须按顺序在若干台机器上处理 一系列不同工序, 并且同时有若干个作业需要完 成, 管理人员必须根据作业的生产方式和工艺要 求设计一个调度表, 以获得某种生产指标的最优 化, 如加工周期最短、设备利用率最高等.
令作业集 合 J = {J1, J2, , , Jn }, 机器集 合 M = {1, 2, , , m }, 柔性作业车间调 度问题可以 描述为:
# 作业 Ji 包含 ni 道工序, 且工序的顺序预先 给定, 即 J i = {Oi1, Oi2, , Oin i };
# 完成工序 O ij 的机器Mijk 及加工时间 tijk 事先 是知道的, 且 Mijk I M, j = 1, 2, , , ni;
m ax max( c( J1 ( is j1 k1 ) ), , , c(Js- 1 ( is jk) ) ) + max( c( J1 ( i1 j1 ks ) ), , , c(Js- 1 ( ijks ) ) )
ts ( ijk). 在这里, 规定如果 工序 Oij 不在 机器 k 上处
理, 则 c(J ( ijk) ) = 0. 调度 ( 1) 的最大流程时间 Cmax 为
摘 要: 应用遗传算法解决柔性作业车间调度问题, 针对柔性 作业车 间问题 的特点 提出了一 种新颖 直观的
双子串基因编码方法, 并设计了独特的交叉和变异算子, 从而取消了运用遗传算法求解作业车间问题时为使
基因合法化而进行的 基因修复和重建过程, 仿真结果表明用该遗传算法解 决柔性作业车间调度是有效的.
个表示包含所有作业组合的工序序列的子串.
S eq = com (J 1, , , J1, , , Jn, , , Jn ). ( 3)
n1
nn
其中 com (* ) 表示 (* ) 的组合. 在子串 S eq中
有 ni 个 J i, 每一个表示作业 J i的一个工序. ni个 Ji 中 J i的出现次序是作业 Ji的工序序列. 212 遗传算子
JSSP 研究的综述并提出了若干 JSSP 遗传算法, 但 是对于应用 GA s解决 FJSSP 却未做研究. 基于上述 分析, 本文试图采用遗传算法来解决 F JSSP.
# 1152#
哈尔 滨工业大学学报
第 39卷
1 FJSSP模型
在工业制造环境中, 作业车间调度问题一般 可以描述为: 有 n个不同的作业需要在 m台不同 的机器上完成, 每个作业为一个包含多道工序组 成的有序工序集合, 这些工序分别在多台不同的 机器上处理, 每道工序用它所要求的机器和加工 时间来表示, 调度的任务是在满足一定约束的前 提下, 将工序安排在到机器上并确定机器上工序 的顺序使完成所有作业的时间最小.
的调度的可行性, 规定交叉操作只发生在基因串
( 2)的第一个子串上, 如图. 1所示, 显然以这种方
式交叉将不会产生无效基因 (调度 ).
图 1 交叉操作
而变异操作将以不同的概率发生在基因 ( 2) 的两个部分. 在第一个子串中, 变异意味着机器集 合中另一台机器将代替当前机器处理该基因位对 应的工序, 对于 ( 2)中第二个子串, 本算法通过随 机交换 Seq的两位从而产生一个变异, 采用这种 变异方式, 调度的可行性将得到保持, 因此不需要 对基因串进行修补和重建, 而基因串的修补和重
Cmax = m ax( c(J s ( is jsks ) ) ), s = 1, , S.
2 求解 FJSSP的遗传算法
211 基因编码 遗传算法 [ 5 ] 作用在被称作遗 传基因的 参数
编码上, 编码被优化而不是参数本身被优化. 应用
遗传算法解决作业车间调度, 关键在于对调度进
行编码, 本研究中设计了一种双子串复合基因编
第 39卷 第 7期 2 0 0 7年 7 月
哈尔滨工业大学学报 JOURNAL OF HARBIN INSTITUTE OF TECHNOLOGY
Vo l1 39 N o1 7 Ju.l 2007
基于改进遗传算法的柔性作业车间调度
席卫东 1, 2, 乔 兵 1, 朱剑英 1
( 1. 南京航空航天大学 民航学院, 南京 210016, E2m ai:l xwdn@j 163. com; 2. 远 东控股集团, 江苏 宜兴 214257)
6
O11
2
3
4-
-
-
J1
O12
-
3-
2
4
-
O13
1
4
5-
-
-
O21
3-
5-
2
-
J2
O22
4
3-
-
6
-
O23
-
-
4-
7 11
O31
5
6-
-
-
-
J3
O32
-
4-
3
5
-
O33
-
-
13 -
9 12
O41
9-
7
9-
-
J4
O42
-
6-
4-
5
O43
1-
3-
-
3
用于遗传算法的参数设置为: 交叉概率为
P c = 0185; 变 异 概 率 为 Pm1 = 01012, P m2 = 0105; 种群大小为 40.
XIW e i2dong1, 2, Q IAO B ing1, ZHU Jian2ying1
( 1. The College of C ivil Aviation, N an jing University of Aeronautics and Astronautics, Nanjing 210016, Ch ina, E2m a i:l xwdn@j 163. com; 2. F ar EastH olding Group Co. , LTD, Y ixing, 214257 China)
上述柔性作业车间调度可以形式化地描述为 如下模型:
I = {J 1 ( i1 j1k1 ), , , J s ( isjsks ), , , J s ( iS jS kS ) }. ( 1) 其中 is I { 1, , , n }, js I { 1, , , ni s }, ks I Misj s, 并
F = 1 /Cm ax 根据以上的基因表示, 设计相应的遗传操作 并定义适应度函数, 遗传算法容易得以实现.
3 计算机仿真结果
对 4个作业 6台机器的柔性作业车间调度问 题的实施进行了仿真, 参数由表 1给出 [ 6] .
表 1 4个作业 6台机器的柔性作业车间调度问题
可选机器
作业 操作
1
ຫໍສະໝຸດ Baidu
2
3
45
第 7期
席卫东, 等: 基于改进遗传算法的柔性作业车 间调度
# 1153#
建在其他求解 JSSP 的遗传算法中往往是必不可 少的一个步骤. 213 适应度函数
为了引导遗传搜索, 应定义一个适应度函数. 作 业 车间 调 度问 题的 目 的是 将 最大 流 程时 间 (Cmax ) 最小化, 即 Cmax越低, 调度越好. 然而, 遗传 算法则是努力将基因的适应度函数最大化, 基于 该原因, 适应度函数定义如下:
相关文档
最新文档