求解作业车间调度问题的一种改进遗传算法
工序顺序柔性的作业车间调度问题的改进遗传算法求解
( 1 . F a c u l t y o f Ma n a g e m e n t a n d E c o n o m i c s ,D a l i a n U n i v e r s i t y f o T e c h n o l o g y ,D a l i a n 1 1 6 0 3 0 ,C h i n a ;2 . K e i o U n i v e r s i t y ,F a c u l t y o fS c i e n c e a n d T e c h n o l o g y 1 0 8 — 8 3 4 5 T o k y o , J a p a n )
ma i s p r o p o s e d i n c o n s i d e r a t i o n o f t he c h a r a c t e r i s t i c o f t h e p r o b l e m.I n t h e s c he m a,c o d i n g me t h o d b a s e d o n s e — qu e nc e f l e x i bi l i t y i s a d de d t o t h e g e n e r a l c o d i n g me t h o d b a s e d 0 n p r o c e d u r e o r de r . Th e c o r r e s p o n d i n g c r o s s o v e r a n d mu t a t i o n o p e r a t o r s a r e d e s i g n e d t o p r e v e n t t he g e ne r a t i o n o f n o n・ f e a s i b l e s o l u t i o ns t o a v o i d c hr o mo s o me r e pa i r i n t h e c o mpu t i ng p r o c e s s a nd e n h a n c e t h e e ic f i e n c y o f t h e a l g o r i t h m . Th i s a l g o r i t h m i s t e s t e d b y s i mu l a t i o n e x — p e r i me n t s o n M ATL AB u s i n g t h e p r a c t i c a l p r o d u c t i o n da t a o f a b e a r i n g c o r p o r a t i o n . Co mp a r e d wi t h t h e r e s u l t s o f s o l v i n g t h e p r o b l e m wi t h o u t c o n s i d e r a t i o n o f t h e p r o c e s s s e q u e nc e le f x i b i l i t y c h a r a c t e r i s t i c u s i n g g e n e t i c a l g o — r i t hm ,t h e f e a s i b i l i t y a nd e f f i c i e n c y o f t h e a l g o r i t h m p r o p o s e d i n t he p a p e r c a n be v e r i f i e d.
求解作业车间调度问题的一种自适应遗传算法
作业车间调度 问题(S ) JP 属于 N 一 P难组合 优 化问题 , 一直是生产管理领域研究的热点之一. 遗
床的加工. i)一个工序 的加工一旦开始 , (i i 不得 中 断. i) 所 有 工 件 在 交 工 期 前 加 工 完 毕. v (v () | =, s 0 即每台机床开工时间都为 0 . 将工件完工时间最小作为 目标 , 等同于期望 最后加工设备的完工时间最小. 目标函数为 其
第l 期
苏子林 , : 等 求解作业车 间调度问题 的一种 自适应遗传算法
3 5
工 序数量 及其 加 工 时 间不 变 , 因此 调 度过 程 就 变
成减少并减小空闲时间的优化组合过程. 定 义空 闲时 间 I 的瓶 颈工 序 PT 由于工 序 I为 i
间的时间约束 形成 II T的工序. 在图 1中要减 小
苏子林 韩晓玲 ,
( 鲁东大学 ,. 1 交通学院,. 2 地理与资源管理学院; 山东 烟台 2 4 2 ) 60 5
摘要 : 针对作业车 间调度问题 , 出了最小 化空 闲时间 的处 理过程及 其变异算 子 , 提 设计 了一种 自适 应遗 传算
法. 该算法根据个体 的特征确定交叉 和变异次数 , 并根据种群特征不断修 正种 群. 经典的调度基准 问题测试表
为 s 加工完 所有工件工序的时 间为 E 作 T T 如下约定 :i ()每个工件包含一个 由多道工序组 成的工序集合 , 工件的工序顺序是预先给定的 ; 不 同工件的工序之间没有先后的约束 , 相同工件的 工序满足先后约束关系. i ( )一台机床仅能 同时 i 加工一个工件的一道工序 , 每个工件需要所有机
2 1 染 色体编 码设 计和适值 函数定义 .
作业车间调度问题的改进混合遗传算法
( 中南大学数 学学 院 , 沙, 1 0 3 长 408 )
摘 要 作业 车间调度是 一类求解 困难 的组合优化 问题 , 文在 考虑遗传算 法早 熟收敛 问题和 禁忌搜 索法 本 自适应优点 的基础上 , 将遗传 算法和禁忌搜 索法相结合, 出了一种基于遗 传和禁忌搜 索的混合算法 , 用实 提 并 例 对该 算法进行 了仿真研 究. 结果表明 , 该算 法有很好 的收敛精度, 是可行的 , 与传统 的算 法相 比较 , 有明显的
c n e g n e a d t e h d a t g so o v r e c n O g t t e a v n a e fTS, i a e r p s d a n w y rd ag rt m a e n Ge e i Th s p p r p o o e e h b i l o i h b s do n t c
2 基 于 遗 传 和 禁 忌 搜 索 的优 化 调 度 算 法
2 1 遗传 算法 .
・ 张鸿雁教授推荐 收 稿 日期 ; 0 6 9月 1 20 年 2日
维普资讯
7 6
数学理论与应用
第2 7卷
美 国 Ccia i gn大学 的 JH. l n []于本 世 纪末 提 出 了一种新 的并行优 化搜索 方法 : h . Hol d 1 a 遗 传算 法 , 它是一 种基 于进 行论 优胜 劣汰 、 自然选 择 、 者 生存 和物种 遗传 思想 的随 机优 化搜索 适
算 法 , 过 群体 的进行 来进 行全 局性 优化搜 索. 通 它将 问 题 的求 解表 示成“ 色体”的适者 生存 染
过 程 , 过“ 通 染色 体” 的一代代 不断进 行 , 括复 制 、 群 包 交叉和变 异等操 作 , 终 收敛到“ 最 最适应 环境” 的个 体 , 从而求得 问题 的最 优解或满 意解. GA 具有并 行搜索 能力 , 从解 空间 中多点 出发
求解Job Shop调度问题的改进遗传算法
一 一
1 JbSo 调 度 问题 的模 型 o hp
作 业车间调度 问题是 许多 实际生产 调度 问题 的简化模 型。 JP研究 n个工件在 m 台机器 上 的加 工。 已知 每个 工( 一, 姒
i =12 … … , ; k=1 2… … , , J ,, , l ,, m。
个机器上 的加工次序 和每个 工件 的各 个 工序 的加工 时间 ,要 求确定与工艺约束条件相 容的各机 器上所 有工件 的加工 开始 时间或完成 时间或加 工次 序 ,使加 工性能 指标达 到最优 。各
因此一个 n m/ / 一 的 JP问题 的数学模型可 以描述如 / GC S
下:
mnm m 】 C ) i 戕[ a( * ] 【
摘 要: 文章在对 JP问题进行描 述的基础 上 , 出了一种新 的改进遗传 算法。该算 法针 对遗 S 提 传 算法的弱点进行 了一 系列 的改进 : 设计一 个新 的选择 策略 来避免早 熟 , 引入 了一个 动态的交叉和 变异概 率以及 兄弟竞争 的策略 来加 快收 敛速度和 全局搜 索能 力。仿 真 计 算表 明 了该算法的 良好收敛性 和有 效性 。 关键词 : 遗传算法( A)JbSo 调度 问题 ; G ;o hp 兄弟竞争策略 中图分类号 :i0 . Tt 16 3 文献标识码 : A 文章编号 :04 49 20 )6 08 3 10 —62 (070 一O9 —0 生产调度是一类满 足任务 配置和顺序 约束要求 的资 源分 配问题 , 是最困难的组合优化问题之一。生产调度是 生产 管理 的核心内容和关键技术 , 科学制定生产调度方案对提高企业生 产效率起着至关 重要 的作用 。因此 ,车间作 业调 度 (o hp JbSo
求解作业车间调度问题的一种改进遗传算法(含基于工序的编码)
第10卷第8期计算机集成制造系统Vol.10No.82004年8月Computer Integrated Manufacturing Systems Aug.2004文章编号:1006-5911(2004)08-0966-05求解作业车间调度问题的一种改进遗传算法张超勇,饶运清,李培根,刘向军收稿日期:2003-07-15;修订日期:2003-12-08。
基金项目:国家自然科学基金资助项目(50105006;50305008)。
作者简介:张超勇(1972-),男,江苏海门人,华中科技大学博士研究生,主要从事智能调度算法、网络化制造、敏捷供应链等研究。
E -mail :superbrave-2002@ 。
(华中科技大学机械科学与工程学院,湖北 武汉 430074) 摘 要:为克服传统遗传算法解决车间作业调度问题的局限性,综合遗传算法和局部搜索的优点,提出一种改进的遗传算法。
为基于工序的编码提出了一种新的POX 交叉算子。
同时,为克服传统遗传算法在求解车间作业调度问题时的早熟收敛,设计了一种子代交替模式的交叉方式,并运用局部搜索改善交叉和变异后得到的调度解,将提出的改进遗传算法应用于Muth and Thompson 基准问题的实验运行,显示了该算法的有效性。
关键词:车间作业调度;遗传算法;交叉算子;局部搜索中图分类号:TP278 文献标识码:A0 引言为适应用户多样化和个性化的要求,现代生产方式也由大批量向中小批量和多品种生产转变,调度在这种生产方式中的作用显得更加重要。
一般典型的Job -Shop 调度问题可描述为:假设n 个工件在m 台机器上加工,由于工件加工工艺的要求,每个工件使用机器的顺序及每道工序所花的时间给定,且①不同工件的工序之间没有顺序约束;②某一工序一旦开始加工就不能中断,每个机器在同一时刻只能加工一个工序;③机器不发生故障。
调度的目标就是确定每个机器上工序的加工顺序和每个工序的开工时间,使完成所有工序所需的时间(makespan )最小。
求解作业车间调度的改进遗传算法
求解作业车间调度问题的改进遗传算法摘要:本论文中,我们提出了一种解决job-shop调度问题的新遗传算,这个提出的方法在建立分区块假设和模式定理基础之上,用基于作业的表示,提出了一种新的交叉方法。
通过筛选排序目标值短,适配高的模式作为遗传算子,此交叉方法可以有效转换父代重要的排序信息从而达到全局优化。
用C++编码产生的基于机器的仿真结果表明我们遗传算子是强有效的而且适合车间作业调度问题。
我们的方法要比之前的以GA为基础的方法要更有效。
关键词:车间作业调度,遗传算法,模式定理,建立分块假设B.1 引言车间作业调度问题是众所周知的最难的排序问题之一,其算法需要大量的计算步骤,其步骤也会随着问题的大小呈指数增长。
该问题通过决定各工件在机器上的加工顺序来使作业时间最小化,该作业时间就是完成所有工件所需要的时间。
尽管JSP调度问题的最优解可以通过统计技术(分支定界法和数学规划法)来得到,这些方法对于即使是中等规模的问题也需要过高的计算量。
Davis L.是第一个提出将遗传算法应用到解决JSP 问题中的,那是在1985年,最近,用遗传算法来求解JSP问题比以前有了进一步的发展,工件的加工顺序由遗传编码来确定,然后用过滤束搜索方法来解决这个问题。
到目前为止,已经有许多研究者提出了基于遗传算法的解决方法。
由于Davis 已经展示了将遗传算法应用到调度问题中,所以有很多研究者在致力于研究这一主题。
他们中的一些人用这种交叉方法设计的有效的作业或操作讨论了流水车间调度问题或者是排序问题像旅行商问题:边缘重组算子和基于位置的交叉。
其他人致力与介绍具体问题的代表性模式,因此提出了比传统遗传算子更为复杂的算子来解决动态计划和机器的JSP调度问题。
不管怎么样,都不可能来公正的比较这些基于遗传算法的方法,因为这些方法都是跟具体问题相匹配的。
1991年,Nakanoetal 将常规遗传算法应用到众所周知的n个工件的JSP调度问题中,他们选择的二进制基因型包含了工件在每台机器上加工顺序信息和传统的二进制交叉和变异,但是需要一个修复机制来纠正遗传操作后的不合法调度。
改进遗传算法求解作业车间调度问题
[] 2 彭丽 , 世民. 刘 防锈铝合金的电火花线切割加工工艺 [ ] J .电加工与
模 具 ,0 3 27 5 . 2 0 ,3 ( )
a , rn切 割时 间每件 节约 :— . = . n i 6 15 45mi。
加 工零件 经检 测 , 称度 可 达到 ≤0 0 m, 的 对 .2 m 槽
peig t stre u cini b o g t ow r o ovn o - h p sh d l gpo lm.Fn l n l lt mea ag t n t s ru h r adfr ligJb s o c e ui rbe n i f o f s n ial a a- y
参
2 o o 7.
考
文
献
[] 1 蒋勇敏 , 续永 刚. 数控机 床 的使 用与维 护 [ . M] 北京. 学 出版社 , 科
间 :8 1 1 x5 2 = . i, 5件 , 进后 每 件 所 ( 十 + ) 1/0 75rn 共 a 改
需时 问 :. / =15 r n 改 进 工 艺 前 1 所 需 时 间 6 7 5 5 . i , a 件
,
,
( ) f a ni e n col X n i t g nv sy X n 0 9 C N (Sl r E g er g ho, i a o i r t i 1 4 , H ;  ̄ ow e n i S a J o n U e i , a 7 0 @ C P hnQn e o u X n70 2 , H N CC ag igP tl m, i 10 1 C N) re a
I p o e n t g rh f rT e J b s o h d l g Pr be m rv d Ge e i Alo i m o h o - h p Sc e ui o lm c t n
求解车间调度问题的改进型自适应遗传算法
求解车间调度问题的改进型自适应遗传算法一、什么是改进型自适应遗传算法改进型自适应遗传算法(Improved Adaptive Genetic Algorithm, IAGA)是一种基于遗传算法,结合自适应性算法的新型算法。
它既具有自适应性算法的鲁棒性和探索性能又具有遗传算法的趋向全局性,在解决复杂问题时具有很好的效果。
因此,改进型自适应遗传算法被广泛用于各种复杂问题的求解,如工业调度问题、优化设计问题、危机管理问题等。
二、求解车间调度问题的改进型自适应遗传算法车间调度问题是一种常见的复杂的优化问题,它的目标是把一定数量的工件加工到一组有限的设备上,使得总的加工时间最小。
依据本质,车间调度问题可以分为三类:单机调度问题,多机调度问题和多机多工调度问题。
改进型自适应遗传算法用于求解车间调度问题的基本思想是:首先,采用模拟退火算法对车间调度问题进行初始化矩阵,然后将初始化矩阵中的数据作为遗传算法的初始参数,采用遗传算法对车间调度问题进行求解,每一次迭代对当前解进行优化,直至满足终止条件,即求得最优解。
此外,改进型自适应遗传算法还采用了变异算子和精英保留策略,可以提高算法的收敛速度和稳定性,更好地求解复杂的车间调度问题。
三、改进型自适应遗传算法的具体实现(1)参数初始化:首先采用模拟退火算法解决车间调度问题,得到初始矩阵,然后利用该矩阵中的数据作为改进型自适应遗传算法的初始参数,并初始化种群,设置种群大小为N,每个个体由m个基因组成。
(2)选择:采用精英保留策略实现选择,其中每次选择出的精英个体数量为N/5,精英个体是按照适应度从高到低排列的,即前N/5个个体为最佳个体,将它们留在下一代种群中。
(3)交叉:采用单点交叉法,随机选择基因上的一个位置作为交叉点,两个个体的基因片段在交叉点处互换,生成新的基因个体,从而实现遗传变异。
(4)变异:采用随机变异算子,在某一点上对基因序列进行随机变异,生成新的基因个体,从而实现遗传变异。
基于改进遗传算法的作业车间调度优化研究
基于改进遗传算法的作业车间调度优化研究随着工业化进程的不断推进,各种生产力工具得到了广泛应用。
作为其中的一个重要工具,作业车间在制造工艺中占据着举足轻重的地位。
而其中最终的合理安排和调度,对于整个工作质量和效率的提升都有着至关重要的作用。
因此,实现作业车间的调度优化,成为了一个重要的科研和应用问题。
目前,作业车间调度问题已被证明是NP困难问题,尤其是在计划决策的影响因素增加的情况下。
针对此类问题,采用遗传算法进行解决已成为一个重要的策略。
但是,传统遗传算法的搜索能力有限,易陷入局部最优解。
因此,在此基础上,发展了各种改进遗传算法,以提高搜索效率和改善搜索质量。
一种经典改进遗传算法是粒子群算法(Particle Swarm Optimization, PSO)。
PSO算法结合了动态搜索和迭代计算的特点,在实现优化目标时具有良好的表现。
同时,遗传算法和模拟退火算法也常常被用来协同搜索解决作业车间调度优化问题。
总体而言,基于改进遗传算法的作业车间调度优化研究,在实践中已取得一些显著的成果,可以应用到不同的生产线和不同类型的作业车间。
但是,仍然存在一些问题和挑战。
首先,对于搜索解的质量,仍然需要进一步优化。
虽然在不同算法的协同下,可以提高解的寻找能力,但是如何更加全面、准确、快速地寻找最优解,是该领域需要解决的一个难题。
其次,对算法的复杂度和普适性的考虑也不能忽视。
作业车间调度问题具有高度复杂性,尤其是在考虑到不同的生产条件和不同的生产流程时,需要设计适合于不同场景的算法,而这往往需要高度的智能化和专业化技术支撑。
综上所述,基于改进遗传算法的作业车间调度优化研究,是一个具有广泛应用前景和深刻理论意义的领域。
通过不断深化相关研究和探索,相信一定有办法解决前述的问题,并取得更好的成果。
作业车间调度双阈值控制结构自适应遗传算法的一种改进
统 自适 应 遗 传 算 法 中概 率 交 叉 后 再 执 行 概 率 变 异
的缺点产生 的原 因, 出一种双 阈值控制结构的改 提
进 的 自适 应 遗 传 算 法 。该 算 法 通 过 一 个 相 似 度 阈
传统遗传算法或 自适 应遗传算法都 是按照交叉后
57 26
科
学
技
术
与
工
程
8卷
第 i 基因, 个 ①是 异 或 运 算 符 。而 遗 传 算 法 解决 车
间调 度 问题 时 , 用 的是 整 数 编码 , 以这 里 对 。 采 所
局收敛 性 。适应 度 阈值 由f =168vrf 确定 , T .1ae() 其
执行过 程 如下 :
运算 进行重 新定 义 , 式 ( ) 示 : 如 2所
似度 阈值实现选择性交叉和变异。在交叉过程 中, 通过适应 度 阈值 , 引进 新 的个体 , 持 种群 的多 保
样性 。 1 1 个体 相似 度 的确 定 .
第一作者 简介 : 李正光 (90 )男 , 18一 , 四川资 阳人 , 大连交通 大学教
为了确定相似度 阈值 , 首先应该确定两个个体
中图法分类 号
' 0.; I 16  ̄
文献 标志码
作 业 车 间 调 度 问题 (o —hpPol 因其 具 JbSo rb m) e
有 典 型 的工 程应 用 背 景 而 得 到人 们 的 大量 研 究 , 其
中利用 适应 度 阈值 有 机 地 提 供 新个 体 , 而保 持 种 从
sa 1 3 t r 9 5@ sn .c r 。 is o n
改进的遗传算法在车间调度问题中的应用
改进的遗传算法在车间调度问题中的应用引言:随着工业发展,车间调度问题日益普遍并具备挑战性。
基于优化的算法被广泛应用于车间调度问题领域,其中遗传算法(GA)是一种经典的优化算法,其通过模拟生物遗传和进化过程来获得最优解。
本文将介绍改进的遗传算法在车间调度问题中的应用以及它的优点。
背景:车间调度问题涉及合理安排不同机器和工人之间的任务的执行顺序和分配。
其中最重要的目标是最小化总工时或最小化任务等待时间。
为了解决这些复杂的问题,许多算法被提出并应用于不同的车间调度问题。
遗传算法是其中一个得到广泛应用的算法,在车间调度问题领域中,它的成功应用使得改进的遗传算法更容易被用于实际问题的解决。
改进的遗传算法:修正的遗传算法可以更好地解决车间调度问题。
首先,从群体中选择一个合适的种群大小是非常重要的。
如果种群过大,它们之间的竞争太激烈,导致搜索效率降低。
但是,如果种群太小,会导致搜索过早发生碰撞,缺乏足够的多样性来获得良好的结果。
其次,为每个个体设计适应性函数非常重要。
在车间调度问题中,适应度函数通常是总工时或任务等待时间。
然而,对于不同的车间调度问题,适应性函数可能需要根据实际情况进行改进和调整。
第三,交叉和变异概率是 GA 中的两个重要参数。
交叉是通过交换两个个体的DNA序列来实现的,可以增加个体的多样性和获得更好的结果。
变异是通过随机更改个体中的特定基因,以维持种群多样性。
但如果交叉和变异概率过大,会导致种群过早收敛,而如果概率过小,种群就会缺乏多样性。
因此,选择适当的变异和交叉概率非常重要。
适应性函数的改进:为了更好地应对车间调度问题的需求,适应性函数可能需要针对不同的问题进行设计。
首先,适应性函数可能需要考虑每个任务的优先级和紧急程度。
其次,在员工和机器之间分配任务时,可以考虑他们之间的配对情况(例如,员工和机器之间可能存在技能差异或缺乏专门的技能)。
最后,适应性函数可以考虑员工的休息时间和机器的维护时间。
基于改进遗传算法的车间调度问题的求解研究
基于改进遗传算法的车间调度问题的求解研究随着工业生产水平的不断提高,越来越多的企业开始意识到车间调度问题的重要性。
实际上,车间调度问题是现代生产中的一个关键环节,能够直接影响到企业的生产效率和经济效益。
为了更好地解决这一问题,许多学者开始尝试应用遗传算法等智能算法进行求解研究。
一、车间调度问题的定义和优化目标车间调度问题是指在限定的时间内,根据生产任务和工艺要求,最优地安排设备和人力资源的具体任务,以实现最佳的生产效率和质量。
在实际应用中,车间调度问题常常是NP难问题,因此求解起来较为困难。
针对车间调度问题的优化目标,主要包括以下几个方面:1. 最大化设备的利用率和生产效率,节约生产成本,提高经济利益。
2. 实现任务分配的均衡,确保各任务得到公平的执行,提高生产品质。
3. 最小化生产周期,缩短生产交货期,满足客户需求。
二、传统车间调度问题的解法及其不足传统的车间调度问题解法多采用确定性算法,如贪心算法、动态规划算法、分支定界算法等。
这类算法求解速度较快,但是无法充分考虑复杂生产环节的变化,无法应对复杂的车间生产调度问题。
同时,这类算法偏向于局部优化,难以满足全局优化的需求。
三、基于遗传算法的车间调度问题求解方法为了更好地解决车间调度问题,学者们开始采用基于遗传算法的智能求解方法。
遗传算法是一种模拟自然进化过程的优化算法,具有强大的全局搜索能力和自适应性,能够在寻找解空间中全局最优解的同时,应对复杂生产环节的多变性。
基于遗传算法的车间调度问题求解方法主要包括以下几个步骤:1. 将车间调度问题抽象成适合遗传算法求解的数学模型,并确定优化目标。
2. 设计适当的交叉、变异和选择算子,根据生产环境和目标的特点定制化选择算子。
3. 建立适当的适应度函数,将车间调度问题的优化目标定量化。
4. 运行遗传算法,直到满足最优解的停止准则。
基于遗传算法的车间调度问题求解方法的优点在于:1. 具有强大的全局搜索能力,能够充分考虑生产环节的多变性,寻找最优解。
改进遗传算法求解柔性作业车间调度问题
・ l 6 7 ・
文献标识码: A
改进 遗 传 算 法 求解 柔 性 作 业 车 间调 度 问题
c r o s s o v e r a n d t h e dy n a mi c c a l c ul a t i o n o f t h e p r o b a b i l i t y o f t h e o p e r a t i o n o f t h e mu t a t i o n t O p r e v e n t p r e ma t u r e c o n v e r ge n c e .Dur i n g t h e e v o l u —
( Ch i n a J i L i a n g Un i v e r s i t y ,H a n g z h o u 3 1 0 0 0 0,Ch i n a )
Ab s t r a c t : To d e a l wi t h t h e f l e x i b l e j o b~ s h o p s c h e d u l i n g p r o b l e m ,a s e l f —a d a p t i v e hy b r i d ge n e t i c a l g o r i t h m i s p r o p o s e d b y c o n s i d e r i n g
d e s i gn e d b a s e d o n t he Ha mmi n g d i s t a n c e.a n d t h e p o p u l a t i o n d i v e r s i t y i s i mp r o v e d by t h e s e l f —a d a p t i v e t hr e s ho l d v a l u e f o r t h e op e r a t i o n o f
基于遗传算法的作业车间调度优化研究
基于遗传算法的作业车间调度优化研究作业车间调度是指针对多个作业和多个机器,通过合理的调度算法,使得作业能够在最短的时间内得到完成的过程。
在实际生产中,作业车间调度对于提高效率、降低成本具有重要意义。
而基于遗传算法的作业车间调度优化研究则是通过遗传算法这一优化方法,对作业车间调度问题进行求解和优化,以实现最佳调度方案的制定。
遗传算法是一种模拟生物进化过程的优化算法,其核心思想是通过模拟自然选择、遗传和突变的过程,从群体中选择出适应度最高的个体,并通过交叉和变异操作产生新的后代个体,逐渐寻找到全局最优解。
在作业车间调度问题中,遗传算法可以应用于寻找最佳作业顺序、最佳机器分配等方面,以提高生产效率和减少生产时间。
在基于遗传算法的作业车间调度优化研究中,首先需要建立数学模型或规则,定义适应度函数。
适应度函数用于评估染色体的优劣程度,通常是根据完成时间、机器利用率、生产延误等因素进行综合评价。
然后,根据问题的具体要求,设计合适的遗传算子,如选择、交叉和变异算子,用于模拟自然选择、遗传和突变的过程,以产生新的个体。
在遗传算法的每一代中,根据适应度函数对个体进行选择、交叉和变异,以逐步优化种群中的染色体。
在基于遗传算法的作业车间调度优化研究中,还需要考虑到实际生产中的约束条件,如作业之间的先后关系、机器之间的可用时间等。
在设计适应度函数和遗传算子时,需要充分考虑这些约束条件,以确保生成的解能够满足实际要求。
此外,为了提高算法的收敛速度和效果,还可以引入其他启发式算法,如局部搜索算法等,以进一步优化调度方案。
基于遗传算法的作业车间调度优化研究可以在很大程度上提高生产效率和降低成本。
通过优化调度方案,可以实现作业的合理分配和机器的充分利用,从而减少生产时间和资源浪费。
此外,遗传算法的适应度函数和遗传操作可以灵活调整,适应不同的调度需求和约束条件,使得算法更加通用和可扩展。
然而,基于遗传算法的作业车间调度优化研究也存在一些挑战和限制。
基于遗传算法求解作业车间调度问题
基于遗传算法求解作业车间调度问题摘要作业车间调度问题(JSP)简单来说就是设备资源优化配置问题。
作业车间调度问题是计算机集成制造系统(CIMS)工程中的一个重要组成部分,它对企业的生产管理和控制系统有着重要的影响。
在当今的竞争环境下,如何利用计算机技术实现生产调度计划优化,快速调整资源配置,统筹安排生产进度,提高设备利用率已成为许多加工企业面临的重大课题。
近年来遗传算法得到了很大的发展,应用遗传算法来解决车间调度问题早有研究。
本文在已有算法基础上详细讨论了染色体编码方法并对其进行了改进。
在研究了作业车间调度问题数学模型和优化算法的基础上,将一种改进的自适应遗传算法应用在作业车间调度中。
该算法是将sigmoid函数的变形函数应用到自适应遗传算法中,并将作业车间调度问题中的完工时间大小作为算法的评价指标,实现了交叉率和变异率随着完工时间的非线性自适应调整,较好地克服了标准遗传算法在解决作业车间调度问题时的“早熟”和稳定性差的缺点,以及传统的线性自适应遗传算法收敛速度慢的缺点。
以改进的自适应遗传算法和混合遗传算法为调度算法,设计并实现了作业车间调度系统,详细介绍了各个模块的功能与操作。
最后根据改进的编码进行遗传算法的设计,本文提出了一种求解车间作业调度问题的改进的遗传算法,并给出仿真算例表明了该算法的有效性。
关键词:作业车间调度;遗传算法;改进染色体编码;生产周期Solving jopshop scheduling problem based ongenetic algorithmAbstractSimply speaking, the job shop scheduling problem(JSP) is the equipment resources optimization question. Job Shop Scheduling Problem as an important part of Computer IntegratedManufacturing System (CIMS) engineering is indispensable, and has vital effect onproduction management and control system. In the competion ecvironment nowadays, how touse the assignments quickly and to plan production with due consideration for all concernedhas become a great subject for many manufactory.In recent years,the genetic algorithms obtained great development it was used to solve the job shop scheduling problem early.This paper discusses the chromosome code method in detail based on the genetic algorithms and make the improvement on it. Through the research on mathematics model of JSP and optimized algorithm, theimproved adaptive genetic algorithm (IAGA) obtained by applying the improved sigmoidfunction to adaptive genetic algorithm is proposed. And in IAGA for JSP, the fitness ofalgorithm is represented by completion time of jobs. Therefore, this algorithm making thecrossover and mutation probability adjusted adaptively and nonlinearly with the completiontime, can avoid such disadvantages as premature convergence, low convergence speed andlow stability. Experimental results demonstrate that the proposed genetic algorithm does notget stuck at a local optimum easily, and it is fast in convergence, simple to be implemented. the job shop scheduling system based on IAGA and GASH is designed andrealized, and the functions and operations of the system modules are introduced detailedly. In the end ,according to the code with improved carries on the genetic algorithms desing, this paper offer one improved genetic algorithms about soloving to the job shop scheduling problem, and the simulated example has indicated that this algorithm is valid. Keywords: jop shop scheduling; genetic algorithm; improvement chromosome code; production cycl目录摘要 ............................................................................................................................................................. Abstract ......................................................................................................................................................... 1绪论.........................................................................................................................................................1.1 课题来源.......................................................................................................................................1.2 作业车间调度问题表述............................................................................................................1.3车间作业调度问题研究的假设条件及数学模型 ..............................................................1.3.1车间作业调度问题研究的假设条件 ..........................................................................1.3.2 车间作业调度问题的数学模型 ...................................................................................1.4 课题研究内容及结构安排 .......................................................................................................2 遗传算法相关理论与实现技术 ..............................................................................................2.1 自然进化与遗传算法 ................................................................................................................2.2 基本遗传算法..............................................................................................................................2.2.1 遗传算法的基本思路......................................................................................................2.2.2遗传算法的模式定理......................................................................................................2.2.3 遗传算法的收敛性分析.................................................................................................2.2.4 基本遗传算法参数说明.................................................................................................2.3 遗传算法的优缺点.....................................................................................................................2.3.1 遗传算法的优点...............................................................................................................2.3.2遗传算法的缺点...............................................................................................................2.4 遗传算法的进展 .........................................................................................................................2.5小结 ................................................................................................................................................ 3用遗传算法对具体问题的解决与探讨...............................................................................3.1 研究过程中的几个关键问题...................................................................................................3.1.1 设备死锁现象 ...................................................................................................................3.1.2 参数编码 ............................................................................................................................3.1.3 初始种群的生成...............................................................................................................3.1.4 个体的适应度函数 ..........................................................................................................3.1.5 算法参数 ............................................................................................................................3.1.6 遗传算子的设计...............................................................................................................3.2遗传算法终止条件.....................................................................................................................3.3 遗传算法解决车间调度问题的改进.....................................................................................3.4 系统仿真.......................................................................................................................................3.5 小结 ................................................................................................................................................ 结论 ............................................................................................................................................................. 致谢 ............................................................................................................................................................. 参考文献 ..................................................................................................................................................... 附录 .............................................................................................................................................................1 绪论1.1 课题来源随着加入WTO,市场竞争越来越激烈,对制造企业来说,为了能够在竞争中立于不败,降低成本是不得不面临的问题,而确保生产车间较高的生产能力和效率,是当务之急。
一种基于改进遗传算法的车间调度问题研究
l
M
J
5
() 2
工件 i 先于工件 在设备 k上加工 :
0 ≥ l 12 … ,,= ,, , ,, nk l2 … m : () 3
1
— — .
I
I
:
_ -_・_・・・_
其 中,/ 0 i = , , , k l23 …, c- ,√ 12 … ,= ,, , m k >
11 8
应不 同的设备 , 已知各个工序的加工时间和各工件在设备上加 长度可以变得更短。 且 工次序的约束条件 , 目标函数是确定 n个工件在每 台设备 上的最 ( ksa ) Maep n 最小作为优化 目标 , 对问题进行假设 : () 1一个工件不能两次被同一设备加工 ; ( ) 同工件的加工工序之 间没有先后约束 ; 2不
l ne i g imi in iaiev yg hr tii tren a h g r e , i o nan aot ge t -a i a crtatie a s r i p c s h hhw; a l g lrh s v w h t -rnc aesc on g ie c n o s w c s m l t
较, 有较 明显 的优越 性 。
关键词 : 遗传算法; 车间调度; 模拟退火 【 btat A o nw o o hd lg r l e fh P cm le o b a r lpia A s c】 s u o jb hps eu n po e io t N -o p t cm i t i t l r y k s c i bm sn o e e n oao m
(K yL b rtr o vy n e n q ime tMiir f d ct n E s C ia io n e aoa y o C n ea c dE up n , ns o u a o , at hn a t g o f a t y E i J o U i ri , a ca g3 0 , hn ) nv sy N nh n 3 0 C ia e t 1 3
求解作业车间调度问题的改进遗传算法
求解作业车间调度问题的改进遗传算法①陈金广, 马玲叶, 马丽丽(西安工程大学 计算机科学学院, 西安 710048)通讯作者: 陈金广摘 要: 使用遗传算法求解作业车间调度问题时, 为了获得最优解, 提高算法的收敛速度, 提出了改进遗传算法. 算法以最小化最大完工时间为优化目标, 初始化时将种群规模扩大为原来的两倍以增加种群多样性; 迭代时使用新的适应度函数让染色体间更易区分; 通过轮盘赌法完成染色体选择; 用POX (Precedence Operation Crossover)交叉算子完成交叉操作; 用互换法完成变异操作; 通过具有自我调节能力的交叉和变异概率不断地调整概率值来提高算法寻优能力和收敛速度. 仿真结果表明, 改进后的遗传算法收敛速度快, 寻优能力强, 获得的最优解优于标准遗传算法, 更适用于作业车间的加工生产.关键词: 遗传算法; 作业车间调度; 改进; 轮盘赌; 自适应概率引用格式: 陈金广,马玲叶,马丽丽.求解作业车间调度问题的改进遗传算法.计算机系统应用,2021,30(5):190–195. /1003-3254/7921.htmlImproved Genetic Algorithm for Job Shop Scheduling ProblemCHEN Jin-Guang, MA Ling-Ye, MA Li-Li(School of Computer Science, Xi’an Polytechnic University, Xi’an 710048, China)Abstract : When a genetic algorithm is used to solve job shop scheduling, in order to obtain the optimal solution and increase the convergence speed of the algorithm, we propose an improved genetic algorithm in this study. The goal of the algorithm is to minimize the maximum completion time. First, the population size is doubled during the initialization to increase the diversity of the population and a new fitness function is adopted to make chromosome distinguishing easier in the iteration. Then, chromosomes are selected via roulette. Furthermore, crossover is completed by Precedence Operation Crossover (POX) and mutation by Reciprocal Exchange Mutation (REM). Finally, the optimization ability and convergence speed of the proposed algorithm are improved by adjusting the crossover and mutation probability with self-regulation. The simulation results show that the improved genetic algorithm has faster convergence, stronger optimization ability, and better optimal solution than the traditional one and thus it is more suitable for the processing and production in job shops.Key words : genetic algorithm; job shop scheduling; optimization; roulette; adaptive probability1 引言作业车间调度问题的求解目标是得到一个科学、合理的调度方案. 一个科学、合理的调度方案能够有效提高生产效率、降低加工成本. 调度方案主要是确定各工件的加工次序和加工机器, 这是典型的NP-hard 问题[1]. 现代企业间的竞争日趋激烈, 合理安排作业车间调度至关重要. 此外, 工业工程中车间生产规模逐渐扩大, 作业车间调度越来越复杂, 作业车间调度的计算机系统应用 ISSN 1003-3254, CODEN CSAOBNE-mail: Computer Systems & Applications,2021,30(5):190−195 [doi: 10.15888/ki.csa.007921] ©中国科学院软件研究所版权所有.Tel: +86-10-62661041① 基金项目: 陕西省教育厅科研计划(18JK0349)Foundation item: Scientific Research Program of Education Bureau, Shaanxi Province (18JK0349)收稿时间: 2020-09-13; 修改时间: 2020-10-09, 2020-10-28; 采用时间: 2020-10-30; csa 在线出版时间: 2021-04-28190组合改进问题已成为当今工业工程领域发展研究的热点问题之一[2]. 作业车间调度(JSP)都是凭借着工人的工作经验来安排工件的加工顺序, 然而这种方法不仅对工人要求较高, 且会出现安排不合理的情况. 启发式研究方法可以很好的解决这类问题, 常用的主流求解方法有粒子群优化算法、遗传算法、神经网络算法、禁忌搜索算法等[3–8]. 其中遗传算法(Genetic Algorithm, GA)作为一种群智能算法, 具有隐式并行性和全局搜索特性, 是求解作业车间调度问题的有力工具, 因此遗传算法被很多学者用来解决作业车间调度问题, 其在柔性作业车间(FJSP)的应用最为广泛. 根据FJSP的特点, 刘琼等[9]提出了一种改进的交叉变异方法并设计了一种初始解产生机制. 张国辉等[10]采用一种随机和优化相结合的初始化种群方法. 赵诗奎等[11]运用均匀设计原对遗传算法中的初始种群及适应度函数进行设计并将其应用到FJSP中. 对于上述3篇文献, 交叉和变异概率均是通过多次试验和前人经验给定, 没有采用自适应的方法确定. Kacem等[12]和Zhang等[13]分别提出了基于时间表和机器时间数组的机器指派法,取得了较好的成效, 然而, 这两种方法都是基于单步优化指派机器, 最终的指派结果没有定量的全局性衡量指标, 不能保证最终机器指派结果的质量. 不同类型的作业车间所需的调度方法不同, 对于JSP, 何斌等研究了自适应交叉与变异概率提高了算法的寻优能力和收敛速度, 但其染色体总数仅根据初始种群数决定, 染色体多样性低[14]. 李春廷等通过改变遗传算法编码研究以及遗传算子的设计证明其算法的有效性, 但其实验时交叉、变异概率难以确定[15].综上所述, 对于作业车间调度问题存在着染色体多样性低, 收敛速度慢, 遗传参数难以确定的问题. 对此本文提出了一种改进后的遗传算法来解决作业车间调度问题. 改进后的遗传算法在初始化时能够适当扩大种群, 在迭代过程中运用更易区分染色体的适应度函数计算染色体的适应度值, 并且运用能够自适应改变交叉和变异概率的算子调整概率值. 实验结果表明改进后的遗传算法更适用于作业车间调度.2 车间调度问题描述在作业车间中有一批待加工工件, 这批待加工工件中有n个不同的工件, 每个工件均包含m道工序, 需要在m台机器上加工. 加工这批工件需要同时满足以下几点约束条件:1) 所有工件的工序之间都有顺序约束, 即同一工件的各工序间有先后顺序, 需按照工序顺序进行加工;2) 不同工件的加工工序之间没有顺序约束;3) 每道工序只能在一台机器上加工;4) 各工件工序的加工时间由对应的加工机器确定;5) 在同一时刻车间中的同一机器只能加工一道工序;6) 一道工序同一时刻只能在一台机器上加工, 且不能中途中断;7) 不同工件之间优先级是相同的;8) 不考虑机器故障等随机性因素.本文求解目标为确定每台机器上工序的加工顺序和每个工序的开工时间, 使得最大完工时间 最小. 优化目标函数如式(1)所示:C max C ik式中, 表示最大完成时间, 表示工件i在机器k上的完工时间.3 改进算法设计3.1 染色体编码遗传算法的基因编码方式有很多种, 如浮点数编码、二进制编码、整数编码、符号编码、矩阵编码等[16].基因编码在算法中起着至关重要的作用, 编码的方式直接影响遗传算法的运行速度以及能否找到全局最优解[17]. 对于作业车间问题, 本文采用基于工序的实数编码来表示染色体[18], 一个编码后的染色体代表一个车间调度问题的调度方案.对于n个不同工件在m台机器上加工的作业车间调度问题, 采用基于工序的编码方式编码后, 每条染色体均含有n×m个基因, 染色体的基因顺序对应所有工件工序的加工顺序, 即一条染色体代表一个车间调度问题的调度方案. 每条染色体的基因表示如下: 每个工件号在染色体中只能出现m次; 从染色体的第一个基因位到最后一个基因位依次遍历, 若同一工件号出现第k次则表示为此工件的第k道工序, 如染色体[3 3 2 1 2 1], 其中第一个3代表3号工件的第一道工序, 第二个3代表3号工件的第二道工序, 以此类推.3.2 种群初始化首先给定种群的初始值p; 然后根据作业车间一道工序只在一台机器上加工的特点, 生成一个有n×m个2021 年 第 30 卷 第 5 期计算机系统应用191基因的染色体; 最后调用randperm函数处理生成的染色体, 使其循环p次, 得到一个初始种群.3.3 染色体适应度值本文的优化目标是最小化最大完成时间, 因此最大完成时间越小的染色体越优良. 染色体的适应度值是用来区分染色体间的优劣程度, 染色体越优良适应度值越大, 被选中的概率越大, 染色体越差适应度值越低, 被选中的概率越低. 为了更好的体现遗传算法优胜劣汰的准则, 本文采用新的计算染色体适应度值的方法, 使染色体间的区分度更加明显, 优良染色体被选中的概率大.假设现有4个工件, 其加工完成时间分别为[20, 21, 22, 23], 利用取最大完成时间倒数方法得到的适应度值分别为[0.05, 0.0476, 0.0454, 0.0425], 改进后的算法得到的适应度值分别为[1,0.6308, 0.2923, 0]. 从这两组适应度值可看出, 这样设定适应度值可以让最大完成时间小的染色体被多次选择, 最大完成时间最大的染色体被少选择或者不被选择, 拉开了染色体间差距,保障了对优良染色体的选择, 比前者获得优良染色体的概率更大.适应度函数如式(2)所示, 最大完工时间的倒数如式(3)所示:式(2)、式(3)中, i为初始种群中的任意一条染色体, Max表示h(i)的最大值, Min表示h(i)的最小值.在确定好各染色体的适应度值后在采用轮盘赌[19]的方法选择初始种群中的染色体.3.4 交叉与变异交叉操作可以增加种群的多样性, 提高算法的搜索能力, 有利于产生优秀的染色体, 即有利于产生优秀的作业车间调度方案. 鉴于优先工序交叉法POX (Precedence Operation Crossover)能够很好地继承父代优良特征并且子代总是可行的这一特点, 本文选择POX进行交叉操作[20], 具体步骤如下所述:步骤1. 按顺序依次选择种群中的一条染色体作为父代1即Parent1, 随机选择种群中的一条染色体作为父代2即Parent2;步骤2. 将工件集{1, 2, 3, …, n}随机划分为两个非空子集j1, j2;j1={2}j1={2}步骤3. 将Parent1和Parent2中包含工件号分别按其在染色体中的位置复制到子代1即Children1和子代2即Children2中, 将Parent1和Parent2中包含工件号分别按其在染色体中的顺序复制到Children2和Children1中; Children1和Children2这两条染色体即为交叉后的染色体. 如Parent1={3, 2, 2, 3, 1, 1}, Parent2={1, 1, 3, 2, 2, 3}, 对工件集{1, 2, 3}随机划分生成j1={2}, j2={3,1}, 经过POX交叉后得到Children1={1, 2, 2, 1, 3, 3}, Children2={3, 3, 1, 2, 2, 1}.变异操作是小概率发生的, 它能够对染色体产生较小的扰动来增加种群的多样性, 从而产生更能满足目标函数要求的调度方案. 交叉后的染色体在进行小概率的变异操作, 可得到新的染色体, 保持种群多样性.为了保证新得到的染色体编码是可调度的, 避免将不可行调度转换成可行调度, 减少代码运行时间, 本文采用互换法(Reciprocal Exchange Mutation, REM)进行变异操作[21]. 对一个染色体随机选择两个基因号, 将两个基因号上对应的工件号进行互换, 循环i次后可得到变异后的染色体.3.5 交叉与变异概率交叉和变异概率影响着交叉操作和变异操作的发生, 当交叉和变异概率大于由rand函数在(0, 1)之间随机产生的值时, 染色体发生交叉、变异.标准遗传算法的交叉和变异概率通常都是固定不变的值, 一般根据前人经验给定或者根据实验结果给定, 当给定的值较小时会使搜索范围变小, 不利于寻找更优解; 而当给定值较大时则可能导致已有的优良染色体在交叉和变异操作后变差; 在实验中容易出现早熟问题, 即未成熟收敛. 本文确定交叉和变异概率值时采用文献[22]提出的自适应改变交叉和变异概率的方法, 该算法能够在种群进化初期提高进化能力, 降低陷入局部最优的风险, 避免早熟问题的出现, 解决了参数难以确定的问题. 自适应交叉概率函数如式(4)所示,自适应变异概率函数如式(5)所示:计算机系统应用2021 年 第 30 卷 第 5 期192g max g avg 式(4)、式(5)中, 表示当前种群中所有染色体的最大适应度值; 表示当前种群中所有染色体的平均适应度值; 为两个交叉染色体中适应度值较大的值;g 表示选中的变异染色体的适应度值. 算法中k 1, k 2, k 3,k 4的值在(0, 1)范围中选择即可.4 仿真实验程序运行平台为MacOS10. 13.6操作系统上的Matlab_R2018a 软件, 用标准遗传算法和改进算法分别对测试用例库中的FT06和LA01这两个用例进行实验. FT06是一个6×6的测试用例, 即共有6个工件, 每个工件都有6个加工工序, FT06的工件工序集J =[3, 1,2, 4, 6, 5; 2, 3, 5, 6, 1, 4; 3, 4, 6, 1, 2, 5; 2, 1, 3, 4, 5, 6; 3,2, 5, 6, 1, 4; 2, 4, 6, 1, 5, 3]; 加工FT06各个工序所需时间集T =[1, 3, 6, 7, 3, 6; 8, 5, 10, 10, 10, 4; 5, 4, 8, 9, 1, 7;5, 5, 5, 3, 8, 9; 9, 3, 5, 4, 3, 1; 3, 3, 9, 10, 4, 1]; LA01是一个10×5的测试用例, 即共有10个工件, 每个工件都有5个加工工序, LA01的工件工序集J =[2, 1, 5, 4, 3; 1,4, 5, 3, 2; 4, 5, 2, 3, 1; 2, 1, 5, 3, 4; 1, 4, 3, 2, 5; 2, 3, 5, 1,4; 4, 5, 2, 3, 1; 3, 1, 2, 4, 5; 4, 2, 5, 1, 3; 5, 4, 3, 2, 1]; 加工LA01各个工序所需时间集T =[21, 53, 95, 55, 34;21, 52, 16, 26, 71; 39, 98, 42, 31, 12; 77, 55, 79, 66, 77;83, 34, 64, 19, 37; 54, 43, 79, 92, 62; 69, 77, 87, 87, 93;38, 60, 41, 24, 83; 17, 49, 25, 44, 98; 77, 79, 43, 75, 96].此次实验涉及到标准遗传算法和对标准遗传算法的种群初始化, 适应度函数, 交叉、变异概率的确定进行优化后得到的遗传算法. 根据多次实验以及前人实验结果, 标准遗传算法的参数设置为: 迭代次数为200,种群总大小为100, 交叉概率为0.9, 变异概率为0.05;改进后的遗传算法参数设置为: 迭代次数为200, 种群总大小为100, 在初始化时将种群总大小扩大为原来的2倍, 以增加染色体的多样性, 并且由于改进算法中交叉和变异概率是自适应调节的, 无需直接指定, 由式(4)和式(5)确定, 优化后的遗传算法参数设置为迭代次数为200, 种群总大小为100, k 1=k 2=0.9, k 3=k 4=0.1. 运行20次后, 图1和图2分别为使用标准遗传算法与改进后的遗传算法求解FT06和LA01得到的最优解值.从图1和图2中可知, 在20次实验中, 改进后的遗传算法得到的最优解都优于标准遗传算法得到的最优解, 证明改进后的遗传算法的寻优能力强于标准遗传算法. 分析总结图1、图2中的数据, 结合每次实验得到的迭代过程图, 得到结果对比表如表1所示.图1 FT06基准案例最优解2468101214161820LA01 实验次数传统遗传算法优化后遗传算法图2 LA01基准案例最优解表1 基准案例(FT06, LA01)结果对比表项目FT06LA01标准算法本文算法标准算法本文算法最优解5955740666最优解个数212114最优解均值61.556.2774.35671.3最优迭代次数310418平均迭代次数11.638.058.476.6从表1可看出, 用FT06基准案例验证时, 标准算法求得的最优解为59, 20次实验中有2次求得59, 所得解均值是61.5, 当求得最优解为59时, 最优迭代次数为3, 平均迭代次数为11.6; 改进算法求得的最优解为55, 20次实验中有12次求得55, 所得解均值为56.2, 当求得最优解为55时, 最优迭代次数为10, 平均迭代次数为38.05; 用LA01基准案例验证时, 标准算法求得的最优解为740, 20次实验中有1次求得740,所得解均值为774.35, 当求得最优解为740时, 最优迭代次数为4, 平均迭代次数为8.4; 改进算法求得的最优解为666, 20次实验中有14次求得最优解, 最优解平均值为671.3, 当求得最优解为666时, 最优迭代次数2021 年 第 30 卷 第 5 期计算机系统应用193为18, 平均迭代次数为76.6.由此可以看出, 改进后的遗传算法得到的最优解优于标准遗传算法, 解决了标准算法的早熟问题; 同时在进行20次实验后, 改进后的算法得到最优解的次数分别为12和14次大于标准算法得到最优解的次数,解决了标准算法的解的稳定性差问题.运用标准遗传算法对不同基准案例进行验证时,可能需要不同的交叉和变异参数来提高算法的收敛速度和搜索能力. 而交叉和变异概率难以确定, 一般由实验经验或者参考前人的参数设计给出, 给定后的值固定不变. 对于标准遗传算法只改进适应度函数后进行实验验证, 给定交叉概率为0. 9, 变异概率为0. 05, 实验结果如表2所示.表2 改进适应度函数后的实验结果表项目基准案例FT06LA01最优解55666最优迭代次数30130对比表1, 表2可知, 表2中迭代次数均大于表1中本文算法对应的迭代次数. 由此可知, 改进算法中的自适应交叉和变异概率提高算法的收敛速度.由参考文献[23]可知, FT06的最优解为55, LA01的最优解为666. 结合结果分析可知, 不论是FT06基准案例还是LA01基准案例, 改进算法均能得到与基准案例最优解相同的解, 并且在20次实验中, 改进算法得到最优解的次数分别为12和14次, 均高于标准算法; 改进算法在得到最优解时, 其迭代次数分别为10和18, 相比于只改进寻优能力后得到的最优解时的迭代次数, 改进算法可以提高收敛速度.用FT06和LA01验证改进后的遗传算法, 生成的遗传代数图和甘特图分别如图3~图6所示. 由图4可知每台机器上的工序顺序, 以及加工完所有工件花费的最少加工时间55, 由图3可知得到此调度方案只迭代了10次; 由图6可知每台机器上的工序顺序, 以及加工完所有工件花费的最少加工时间666, 由图5可知得到此调度方案只迭代了18次. 仿真结果表明改进后的遗传算法比标准遗传算法收敛速度快, 所得解更稳定, 遗传参数较易确定. 相较于文献[14,15], 优化后的遗传算法的收敛速度更优, 交叉和变异概率采用自适应交叉、变异函数确定, 解决了参数难以确定的问题,证实了改进后遗传算法的有效性和可靠性.图3 FT06遗传代数图图4 FT06甘特图图5 LA01遗传代数图图6 LA01甘特图计算机系统应用2021 年 第 30 卷 第 5 期1945 结束语以最小化最大完成时间为优化目标, 对标准遗传算法进行改进, 以求解目标问题的最优解. 在初始化时扩大种群数量以增加种群多样性, 采用的适应度函数可以增加染色体区分度, 使用POX算法完成交叉操作,产生的子代可以很好地继承父代优良特征并且子代总是可行, 交叉和变异概率采用自适应交叉和变异概率,概率可根据染色体适应度值自动调整. 通过对FT06和LA01进行仿真实验, 所得的实验结果表明改进后的遗传算法解决了标准遗传算法中参数难以确定, 早熟收敛, 所得解不稳定的问题, 提高算法的寻优能力和收敛速度, 比标准遗传算法更适用于作业车间生产. 对于柔性作业车间调度问题, 其每道工序可以在多台机床上加工, 并且在不同的机床上加工所需时间不同, 因此本文算法不适用于柔性作业车间的调度问题, 下一步将研究能够处理柔性作业车间的调度问题.参考文献徐华, 程冰. 混合遗传蝙蝠算法求解单目标柔性作业车间调度问题. 小型微型计算机系统, 2018, 39(5): 1010–1015.[doi: 10.3969/j.issn.1000-1220.2018.05.026]1曹磊, 叶春明, 黄霞. 变邻域杂草算法在多目标柔性作业车间调度中的应用. 计算机应用研究, 2018, 35(1): 150–154, 165. [doi: 10.3969/j.issn.1001-3695.2018.01.031]2Ariyasingha IDID, Fernando TGI. A performance study for the multi-objective ant colony optimization algorithms on the job shop scheduling problem. International Journal of Computer Applications, 2015, 132(14): 1–8. [doi: 10.5120/ ijca2015907638]3Florez E, Gomez W, Lola B. An ant colony optimization algorithm for job shop scheduling problems. International Journal of Artificial Intelligence & Applications, 2013, 4(4): 53–66.4Peng B, Lu ZP, Cheng TCE. A tabu search/path relinking algorithm to solve the job shop scheduling problem.Computers & Operations Research, 2015, 53: 154–164.5Spanos AC, Ponis ST, Tatsiopoulos IP, et al. A new hybrid parallel genetic algorithm for the job-shop scheduling problem. International Transactions in Operational Research, 2014, 21(3): 479–499. [doi: 10.1111/itor.12056]6Nasiri MM. A modified ABC algorithm for the stage shop scheduling problem. Applied Soft Computing, 2015, 28: 81–89. [doi: 10.1016/j.asoc.2014.12.001]7Karimi-Nasab M, Modarres M, Seyedhoseini SM. A self-8adaptive PSO for joint lot sizing and job shop scheduling with compressible process times. Applied Soft Computing, 2015, 27: 137–147. [doi: 10.1016/j.asoc.2014.10.015]刘琼, 张超勇, 饶运清, 等. 改进遗传算法解决柔性作业车间调度问题. 工业工程与管理, 2009, 14(2): 59–66. [doi:10.3969/j.issn.1007-5429.2009.02.011]9张国辉, 高亮, 李培根, 等. 改进遗传算法求解柔性作业车间调度问题. 机械工程学报, 2009, 45(7): 145–151.10赵诗奎, 方水良, 顾新建. 柔性车间调度的新型初始机制遗传算法. 浙江大学学报(工学版), 2013, 47(6): 1022–1030. 11Kacem I, Hammadi S, Borne P. Approach by localization and multiobjective evolutionary optimization for flexible job-shop scheduling problems. IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews), 2002, 32(1): 1–13. [doi: 10.1109/TSMCC.2002.1009117]12Zhang GH, Gao L, Shi Y. An effective genetic algorithm for the flexible job-shop scheduling problem. Expert Systems with Applications, 2011, 38(4): 3563–3573. [doi: 10.1016/ j.eswa.2010.08.145]13何斌, 张接信, 张富强. 一种求解作业车间调度问题的改进遗传算法. 制造业自动化, 2018, 40(8): 113–117. [doi: 10.3969/ j.issn.1009-0134.2018.08.029]14李春廷. 基于遗传算法的作业车间调度问题研究[硕士学位论文]. 秦皇岛: 燕山大学, 2007.15张国辉, 吴立辉. 求解柔性作业车间调度的GATOC混合方法. 计算机工程与应用, 2015, 51(23): 266–270. [doi: 10.3778/j.issn.1002-8331.1502-0171]16王雷, 蔡劲草, 李明. 基于正交试验的遗传算法参数优化.工程技术版, 2016, 16(2): 81–85.17玄登影, 王福林, 高敏慧, 等. 一种改进适应度函数的遗传算法. 数学的实践与认识, 2015, 45(16): 232–238.18李兢尧, 黄媛, 王军强, 等. 求解扩展双资源约束作业车间调度的分支种群遗传算法. 西北工业大学学报, 2016, 34(4): 634–640. [doi: 10.3969/j.issn.1000-2758.2016.04.013]19张雪艳, 梁工谦, 董仲慧. 基于改进自适应遗传算法的柔性作业车间调度问题研究. 机械制造, 2016, 54(6): 1–4, 33.[doi: 10.3969/j.issn.1000-4998.2016.06.001]20黄俊生, 广晓平. 关于生产车间作业优化调度效率仿真研究. 制造业自动化, 2017, 39(10): 95–99. [doi: 10.3969/j.issn.1009-0134.2017.10.022]21郑先鹏, 王雷. 面向作业车间调度问题的遗传算法改进. 河北科技大学学报, 2019, 40(6): 496–502. [doi: 10.7535/hbkd.2019yx06006]22王明. 基于改进遗传算法的作业车间调度问题研究[硕士学位论文]. 芜湖: 安徽工程大学, 2019.232021 年 第 30 卷 第 5 期计算机系统应用195。
求解作业车间调度问题的一种改进遗传算法
求解作业车间调度问题的一种改进遗传算法
苏子林
【期刊名称】《计算机工程与应用》
【年(卷),期】2006(042)022
【摘要】为了避免遗传算法的早熟收敛问题,降低算法对初始种群的敏感程度,提高收敛速度,建立了以工件完工时间最小和加工设备利用率最高为目标的数学模型,并提出一种改进遗传算法.在约束条件处理中引入可能解空间概念;设计了适应路径柔性调度问题的基于工序的编码.父代个体和交叉变异得到的个体在选择操作中具有同等选择机会,保证最优个体保留到下一代,又能保持子代的多样性.在遗传过程中引入修正种群,实现多种群杂交,以保持种群的多样性.应用实例分析和工程实践表明,算法稳定可靠,运行效率大大提高.
【总页数】3页(P196-198)
【作者】苏子林
【作者单位】鲁东大学交通学院,山东,烟台,264025
【正文语种】中文
【中图分类】TP301
【相关文献】
1.一种求解多目标柔性作业车间调度问题的改进元胞遗传算法 [J], 陆瞳瞳;陈平;万兴余
2.求解作业车间调度问题的一种改进遗传算法 [J], 张超勇;饶运清;李培根;刘向军
3.一种求解作业车间调度问题的改进遗传算法 [J], 何斌;张接信;张富强
4.改进遗传算法求解多时间约束的柔性作业车间调度问题 [J], 张国辉; 胡一凡; 孙靖贺
5.求解作业车间调度问题的改进遗传算法 [J], 陈金广;马玲叶;马丽丽
因版权原因,仅展示原文概要,查看原文内容请购买。
求解作业车间调度问题的一种自适应遗传算法
求解作业车间调度问题的一种自适应遗传算法
苏子林;韩晓玲
【期刊名称】《鲁东大学学报(自然科学版)》
【年(卷),期】2007(23)1
【摘要】针对作业车间调度问题,提出了最小化空闲时间的处理过程及其变异算子,设计了一种自适应遗传算法.该算法根据个体的特征确定交叉和变异次数,并根据种群特征不断修正种群.经典的调度基准问题测试表明:自适应措施能够有效保持种群的多样性,可以采用非常小的种群规模;最小化空闲时间的变异算子缩小了算法的搜索空间,大大提高了搜索效率.
【总页数】5页(P34-38)
【作者】苏子林;韩晓玲
【作者单位】鲁东大学,交通学院,山东,烟台,246025;鲁东大学,地理与资源管理学院,山东,烟台,264025
【正文语种】中文
【中图分类】TP273
【相关文献】
1.新自适应方式双倍体遗传算法求解作业车间调度问题 [J], 郭琛;黄明;梁旭
2.自适应遗传算法求解模糊作业车间调度问题 [J], 杨建斌;孙树栋;牛刚刚;王萌
3.全自适应遗传算法求解柔性作业车间调度问题 [J], 潘颖;解晓宇;薛冬娟;谢忠东
4.云自适应量子遗传算法求解柔性作业车间调度问题 [J], 张鹏; 闫开濮
5.求解并行JSP作业车间调度问题的一种混合遗传算法 [J], 方霞;俞宏图;熊齐
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第10卷第8期计算机集成制造系统Vol.10No.82004年8月Computer Integrated Manufacturing Systems Aug.2004文章编号:1006-5911(2004)08-0966-05求解作业车间调度问题的一种改进遗传算法张超勇,饶运清,李培根,刘向军收稿日期:2003-07-15;修订日期:2003-12-08。
基金项目:国家自然科学基金资助项目(50105006;50305008)。
作者简介:张超勇(1972-),男,江苏海门人,华中科技大学博士研究生,主要从事智能调度算法、网络化制造、敏捷供应链等研究。
E -mail:s uperbrave_2002@ 。
(华中科技大学机械科学与工程学院,湖北 武汉 430074)摘 要:为克服传统遗传算法解决车间作业调度问题的局限性,综合遗传算法和局部搜索的优点,提出一种改进的遗传算法。
为基于工序的编码提出了一种新的PO X 交叉算子。
同时,为克服传统遗传算法在求解车间作业调度问题时的早熟收敛,设计了一种子代交替模式的交叉方式,并运用局部搜索改善交叉和变异后得到的调度解,将提出的改进遗传算法应用于M uth and T hompson 基准问题的实验运行,显示了该算法的有效性。
关键词:车间作业调度;遗传算法;交叉算子;局部搜索中图分类号:T P278 文献标识码:A0 引言为适应用户多样化和个性化的要求,现代生产方式也由大批量向中小批量和多品种生产转变,调度在这种生产方式中的作用显得更加重要。
一般典型的Job -Shop 调度问题可描述为:假设n 个工件在m 台机器上加工,由于工件加工工艺的要求,每个工件使用机器的顺序及每道工序所花的时间给定,且¹不同工件的工序之间没有顺序约束;º某一工序一旦开始加工就不能中断,每个机器在同一时刻只能加工一个工序;»机器不发生故障。
调度的目标就是确定每个机器上工序的加工顺序和每个工序的开工时间,使完成所有工序所需的时间(makespan)最小。
Job -Shop 调度问题是NP -难组合优化问题[1],其研究的方向有两大类:精确算法和近似算法[2,3]。
精确算法主要包括分支定界法、基于析取图模型的枚举方法、混合整数规划模型和拉格朗日松弛法等。
近似算法包括优先权规则调度算法、瓶颈转移启发式算法、邻域搜索算法和人工智能方法等。
精确算法虽能保证得到全局最优解,但只能解决小规模的调度问题,无法实际应用。
近年来,用邻域搜索算法,如模拟退火算法(simulated anneal-ing)[4]、禁忌搜索算法(tabu search)[5]和遗传算法(Genetic Algorithms,GA)[6]等解决Job -Shop 调度问题,亦倍受关注[7,8]。
遗传算法具有全局搜索能力,但易早熟收敛,而局部搜索善于微调,但常陷于局部最优。
本文提出的改进遗传算法,综合了遗传算法和局部搜索的优点,将遗传算法用于完成全局搜索和跳离局部最优,而将局部搜索用于微调。
遗传算法中交叉算子是最重要的算子,它决定着遗传算法的全局收敛性,本文提出的基于工序编码的POX(precedence operation crossover)交叉,并将它与其他基于工序编码的交叉进行比较,证明该交叉方法的子代能较好地继承父代的优良特征。
笔者在深入分析Job -Shop 问题的基础上,设计了一种子代交替模式的遗传算法,取得了良好的效果,其原理同样适用于其他组合优化问题。
1 改进遗传算法的实现111 调度问题遗传编码本文采用M ITS UO Gen 等人提出的基于工序DOI :10.13196/j.cims.2004.08.97.zhangchy.019的编码方法,它具有解码和置换染色体后总能得到可行调度的优点[9,10],可完全避免不可行解。
这种编码方法中每个工件的工序都用相应的工件序号表示,并根据在染色体中出现的次序加以编译。
对于一个n个工件在m台机器加工的调度问题,其染色体由n@m个基因组成,每个工件序号只能在染色体中出现m次,从左到右扫描染色体,对于第k次出现的工件序号,表示该工件的第k道工序。
表13@3Job-Shop调度问题工件机器顺序加工时间工序1工序2工序3工序1工序2工序3 j1123456j2312564j3231465表23@3Jo b-Shop调度解机器号工件顺序m1123m2132m3213例如,表1为一个3@3Job-Shop问题,设它的一个染色体为[211312332],其中1表示工件j1,2和3意义类似。
染色体中的3个1表示工件j1的3个工序,此染色体对应的机器分配为[31 2231312],每台机器上的工件加工顺序(简称机器码)如表2。
本文解码过程的算法是应用插入式贪婪解码算法[11],此算法是从第1道工序开始,按顺序将每道工序插入到对应机器上最早的空闲时段安排加工,以此方式,直到序列上所有工序都安排在最佳可行的地方。
以上的解码过程能保证生成主动调度。
基于工序编码的染色体与机器码可互相转换[12],虽然工序编码方法置换染色体后总能得到可行调度,但不同染色体可能对应同一机器码,即可能对应相同的调度解。
本文用机器码可以转化对应的一种主动调度染色体,用于交叉和变异。
基于工序编码方法的状态空间容量为(m@n)!/(n!)m。
112遗传交叉算子的设计交叉是遗传算法最关键的操作,决定遗传算法的全局搜索能力。
遗传算法假定一个个体的适应度较好,那么基因链码中的某些相邻关系片段是好的,并且由这些链码所构成的其他个体的适应度也较好。
在表现型(phenoty pe)空间显示的特征在基因型(的研究中发现:如果机床m上加工相邻工件i和j所得到的解的指标比较好,那么包含这一顺序i和j的其他很多解的指标也比较好。
为了在Job-Shop调度问题中成功地应用GA,设计交叉算子时最重要的就是子代对父代优良特征的继承性和子代的可行性。
在其他编码方案中,曾有研究人员提出许多较好的交叉算子,如JOX[13] (the Job-based order crossover)、SXX[14](subse-quence exchange crossover)、PPX[15](precedence preservation crossover)、SPX[10](set-partition crossover)、GT crossover[16]、M ulti-Step Crossover[17]和LOX[18]等,其中基于机器编码的交叉算子JOX能很好地继承父代特征,但其产生的子代可能为不可行调度。
虽然基于工序编码的交叉具有子代都是可行的这一优点,但在Job-Shop问题上的特性是每台机器上工序的次序,而基于工序的编码相邻染色体没有表现出此特性,于是许多文献[9~11]设计的基于工序编码的交叉很难继承父代的特征。
通过研究JOX、SXX、SPX、PPX等交叉算子,本文提出一种运用于基于工序编码的新的交叉算子POX,它能够很好地继承父代优良特征并且子代总是可行的。
在相同条件下,交叉算子POX能够得到比其他基于工序编码交叉算子更好的结果(见实验运行)。
设父代m@n染色体Parent1和Par-ent2,POX产生Children1和Children2,POX交叉的具体流程如下:步骤1随机划分工件集{1,2,3,,,n}为两个非空的子集J1和J2。
步骤2复制Parent1包含在J1的工件到Chil-dren1,Parent2包含在J1的工件到Children2,保留它们的位置。
步骤3复制Parent2包含在J2的工件到Chil-dren1,Parent1包含在J2的工件到Children2,保留它们的顺序。
图1说明了3@3调度问题的两个父代交叉过程。
两个父代Parent1、Parent2交叉生成Children1染色体基因为[122213133],Children2染色体基因为[33122123]。
可以看出经过POX交叉保留了工件2在机器上的位置,使子代继承父代每台机器上的工件次序。
不同于JOX交叉,由于POX 交叉是基于工序编码,生成子代染色体无需运用GT方法将不可行调度强制转化为可行调度。
967第8期张超勇等:求解作业车间调度问题的一种改进遗传算法113 遗传变异算子的设计本文采用一种基于邻域搜索的新型变异算子,它在局部范围内搜索改善子代的性能,具体结构如下[19]:步骤1 设i =0。
步骤2 判断i [popsize @p m 是否成立(popsize 为种群规模,p m 为变异概率),如果成立,转步骤3,否则转步骤6。
步骤3 取变异染色体上K 个不同的基因,生成其排序的所有领域。
步骤4 评价所有领域的调度适应值,取其中的最佳个体。
步骤5 i =i +1。
步骤6 结束。
114 局部邻域搜索局部邻域搜索是对遗传算法中经交叉和变异后的染色体进行微调,以改善解的质量,并将改善的特性传递到下一代中,加快遗传算法的收敛速度。
本文运用的是基于关键路径邻域的局部搜索。
关键路径是指从起点到终点最长的、加工中没有时间空闲的一条路径。
在关键路径上,由从属于同一加工机床的最大数目的贴邻工序组成,且所含工序数不少于两个的工序序列叫工序块。
若关键路径上的工序顺序没有改变,则Job -Shop 调度问题的目标makespan 不会减少,原因是原有关键路径仍然存在[4]。
通过移动搜索缩短关键路径的方法有多种[2~20],本文采用的是基于工序块的快速邻域搜索方式[5],其邻域结构如图2所示。
局部邻域搜索的流程如下:步骤1 确定目前解的关键路径和全部工序块,并设Updated=False 。
步骤2 对于关键路径的首尾工序块,仅交换块中最后(前)的两个工序,对中间块仅交换块中最前和最后的两个工序。
如果移动改善了目标makespan,则交换被接受,并设Updated=True,回步骤3 直到Updated=False 停止,取最好机器码,并将机器码转化为基于工序的编码。
115 Jo b -Shop 调度问题改进遗传算法的设计本文提出的改进遗传算法的流程图如图3所示,改进遗传算法采用子代交替模式的交叉方式,两父代交叉n 次产生2n 个后代,选择父代中最优的一个和所有2n 个后代中最优的两染色体作为下一代,这样既能将最优染色体保留到下一代,又能保证子代的多样性。
实验证明,与传统的遗传算法比较,应用子代交替模式的遗传算法所得到的调度解在收敛速度和质量上都有较大提高,并用局部邻域搜索进一步改善交叉和变异产生的子代解的质量。
求解Job -Shop 调度问题的改进遗传算法流程如下:步骤1 初始化产生P 个可行解,P 为种群规模。