一种融合模拟退火的遗传算法在柔性作业车间调度中的应用.docx

一种融合模拟退火的遗传算法在柔性作业车间调度中的应用.docx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

?

?

一种融合模拟退火的遗传算法在柔性作业车间调度中的应用

?

?

王家海吕程

摘要:针对理论上属于NP完全问题的车间离散调度问题,在传统的遗传算法搜索中融入模拟退火算法,同时按照一定的规则生成初始种群。采用机器码和工序码相结合的编码方式,以全局选择、局部选择以及随机生成的方式产生初始种群,同时针对遗传算法局部搜索能力较差、易出现早熟现象的缺点,考虑模拟退火算法提高全局优化概率搜索。仿真结果表明融合了模拟退火算法遗传算法性能具有更快的收敛性和寻优效果。

关键词:车间离散调度;遗传算法;模拟退火

:TP301:A:1007-9416(2019)01-0133-04

1概述

FJSP问题是作业车间调度问题(JSP)的扩展[1],其突出特点是同一个加工任务有多台加工设备可供调度选择。FJSP是典型的组合优化问题,更加接近实际的生产调度环境,但同时问题复杂度相对于JSP也更高,对于此类问题,传统的数学优化方法无法在相对有限的时间内求解,因此采用近年来兴起的智能优化算法成为了一个可行的解决方法。作为智能算法之一的遗传算法在此问题上得到了广泛的应用,Ho等[2]采将启发式算法与遗传算法结合,提出一种混合算法,Teekeng等[3]设计了一种模糊轮盘赌的种群选择操作廖珊[4]采用一种改进的GA算法,设计了自适应的选择、变异、交叉算子,李铁克[5]提出文化GA求解FJSP。

遗传算法虽然具有较强的全局搜索能力,但同时也存在着过早收敛、容易陷入局部最优、适应性较差等缺点。模拟退火算法具有较强的局部搜索能力,其不仅接受使目标函数变好的解,还能以一定的概率接受使目标函数变差的解,因此该算法具有跳出局部最优解的能力。可以发现,将模拟退火算法和遗传算法紧密结合起来,可以克服各自不足,提高算法寻优性能,从而取得更优解。

基于以上观点,本文在遗传算法的基础上将模拟退火算法融合,提出一种改进版的GA算法。

2问题描述及数学模型

2.1问题描述

柔性作业车间调度问题(FJSP)的描述如下:n个工件(J1,J2,…,Jn)要在m台机器(M1,M2,…,Mm)上加工;每一个工件包含一道或者多道工序;工序顺序是预先确定的;每道工序可以在多台不同的加工机器上进行加工;每道工序的加工时间随着加工机器的不同而不同;调度的目标是为每道工序选择出合适的机器,确定每台机器上各道工序的最佳加工顺序以及开工时间,使整个系统的某些性能指标达到最优。因此FJSP问题包含两个子问题:确定各工序的加工机器(机器选择子问题)以及确定各个机器上的加工先后顺序(工序排序问题)。

本文建立的调度问题模型包含了以下约束:(1)同一台机器在某一时刻只能加工一个工件;(2)同一工件的同一道工序在同一时刻只能被一台机器加工;(3)每个工件的每道工序一旦开始,加工便不能中断;(4)不同工件的工序之间没有先后约束,同一工件的工序之间有先后约束;(5)所有机器在t=0时刻都可用,所有工件在t=0时刻都可加工;(6)同一工件不同工序的加工顺序和在不同机器上的加工时间都是固定的。

2.2数学模型

定义以下符号:

n:工件总数;

m:机器总数;

i,e:机器序号,i,e=1,2,3,…,m;

j,k:工件序号,j,k=1,2,3,…,n;

hj:第j个工件的工序总数;

l:工序序号,l=1,2,3,…,hj;

Ojh:第j个工件的第h道工序;

Oijh:第j个工件的第h道工序在机器i上加工;

pijh:第j个工件的第h道工序在机器i上的加工时间;

sjh:第j个工件的第h道工序加工开始时间;

cjh:第j个工件的第h道工序加工完成时间;

L:一个足够大的正数;

Cj:每个工件的完成时间;

Cmax:最大完工时间;

Xijh:若工序Ojh选择机器i上加工,则Xijh=1,否则Xijh=0;

Yijhkl:若Oijh先于Oikl加工,则Yijhkl=1,否则Yijhkl=0。

优化模型:

minCmax=min(maxCj)#(1)

s.t.

sjh+xijh×pijh≤cjh#(2)

cjh≤sj(h+1)#(3)

sjh+pijh≤skl+L(1-Yijhkl)#(4)

cjh≤sj(h+1)+L(1-Yiklj(h+1))#(5)

=1#(6)

=Xikl#(7)

=Xijh#(8)

sjh≥0,cjh≥0#(9)

其中,式(1)表示目标函数,式(2)和式(3)表示每一个工件的工序顺序约束,式(4)和式(5)表示同一台机器在同一时刻只能加工一道工序,式(6)表示机器约束,同一时刻同一道工序有且仅能被一台机器加工,式(7)和式(8)表示机器存在循环操作,式(9)表示参数必须是正数。

3算法设计

3.1染色体编码

编码拟采用文献所提出的两段式编码方法,在编码时,将染

文档评论(0)

158****7198 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档