无等待流水车间调度问题优化..doc

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

无等待流水车间调度问题的优化* 潘全科1,2赵保华1 屈玉贵1 (1中国科学技术大学,合肥,230026 2聊城大学计算学院,聊城,252059 ) 摘要: 生产周期无等待流水车间调度问题。首先,结合问题特征,提出了一种复杂度为O(n)的快速生产周期算法。其次,基本插入邻域将离散粒子群算法两种搜索得到了离散粒子群调度算法。第三,生产周期了一种通过的方法。最后,可行有效关键词 无等待流水车间 生产周期 粒子群算法 邻域搜索算法 不规则无等待流水车间(no-wait flow shop,NWFS)调度问题是一类十分重要的调度问题[1-],它广泛存在于炼钢、食品加工、化工和制药等领域。已经证明机床数量大于2的NWFS是强NP难题[3]。新发展起来的粒子群算法(particle swarm optimization,PSO)为解决该类问题提供了新思路。与进化算法相比,PSO具有结构简单、容易实现、快速聚合和鲁棒性强等优势[]。但连续本质决定了它难以直接求解生产调度这类复杂的离散问题。于是,文献[]结合PSO的优化机理和调度问题的特点,提出了一种离散PSO(Discrete PSO, DPSO)。该DPSO采用自然数编码,在解空间内执行粒子更新操作,非常适合于调度问题的求解。NWFS提出了一种高性能的DPSO调度算法不规则,提出了通过进一步调度方案的方法。仿真试验表明了所得算法的可行性和优越性。 .1问题描述 NWFS可描述为:给定m台机床和n个工件,所有工件在各机床上的加工顺序均相同。同时约定,一个工件在某一时刻只能够在一台机床上加工,一台机床在某一时刻只能够加工一个工件。由于技术条件的限制,同一工件的加工必须连续完成,即同一工件相邻工序之间没有等待时间。工序的加工时间已知。问题是如何安排生产,满足上述要求的得到最小生产周期。 .2生产周期的计算 由于同一工件的工序必须连续生产的限制,计算NWFS的生产周期不同于一般流水车间调度问题。文献[3]给出了NWFS生产周期的计算公式:令为工件i在机床k上的加工时间,为一个调度,为相邻两工件i-1和i的开工时间之差(如图1a)所示);则为 图1 两工件的NWFS调度和流水车间调度 (1) 的生产周期为 (2) 上述和的算法复杂度分别为O(m2)、O(nm2)。 .3生产周期的快速算法 结合问题特征,可简化的计算。如图1所示,两个工件的NWFS和流水车间调度问题有相同的生产周期。因此,可先按照流水车间调度问题求得生产周期,再根据连续生产的要求从后向前依次求得NWFS各工序开工时间,进而得到。令分别为工的开工完工时间,求的算法如下: ,;令y从2到m,分别计算, ,;令y从2到m,分别计算,。 令y从m-1到1,分别调整,。 上述算法的复杂度为O(m)。将得到的代入式(2),容易求得生产周期,其复杂度为O(nm)。共有个,为了,可先求出所有。在计算生产周期时,就可视为常数。同样的,也可看作常数于是式(2)的复杂度就可降为O(n)。 PSO是KENNEDY和EBRHART于1995年提出的粒子代表候选解,具有位置和速度两个特征。从初始群体出发,粒子根据自己和同伴的飞行经验不断调整位置和速度,使整个群体逐渐接近最佳解。PSO的基本步骤为: 初始化算法参数惯性系数、社会系数认知系数。 初始化粒子群、个体极值全体极值。 循环步骤4)—5)直到满足停止条件 对所有粒子执行下列操作: 产生新粒子。 更新该粒子的个体极值。 更新全体极值。 输出全体极值。 PSO是针对连续函数的优化提出的,其位置矢量和速度矢量的以及新粒子的产生均具有连续本质,而NWFS是复杂的离散问题,故需要专门设计位置矢量编码及其更新。 位置矢量编码 对于NWFS问题,最直接的编码方法就是用位置矢量的代表工件,粒子本身表示所有工件的一个排列,即一个调度。如表1所示。 表1 位置矢量及对应的工件排列 粒子维数 1 2 3 4 5 6 位置向量Xi 3 1 2 4 6 5 工件序列 3 1 2 4 6 5 位置更新公式 粒子群算法的实质在于粒子根据自己和同伴的飞行经验不断调整位置和速度,从而向最优位置飞行。粒子的新位置是粒子的速度、个体极值和全体极值相互作用的结果。位置矢量粒子: (3) 和分别为粒子在第次迭代中的位置个体极值为第次迭代中的全体极值为区间[0,1]上的随机数为惯性系数是认知系数是社会系数。 位置更新公式由3部分构成: 第1部分为,表示粒子对自身飞行速度的思考。其中,表示粒子的速度它的实现方法为:产生两个不同的随机数a和b,然后交换位置矢量的第ab分量。 第2部分为,表示粒子根据调整位置。其中的实现:中随机抽取一段,放在的前面或后面删除工件。 第3部分为表示粒子根据调整位置。 对gBk的局部搜索 采用粒子就DPS

文档评论(0)

sdgr + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档