当前位置:
文档之家› 蝙蝠算法在PFSP调度问题中的应用研究
蝙蝠算法在PFSP调度问题中的应用研究
。到目前为止还没
有一个具有多项式计算复杂性的全局优化算法。 为 开 了能够在合理的时间内快速得到问题的最优解, 发研究高速有效的优化技术显得尤为重要 。 考虑目标为最小化最大完成时间的 PFSP 问题。 假设 P i, j 表示工件 i 在机器 j 上的加工时间 ( 假设各 工件的加工准备时间为零或已经包含在加工时间 P i, j2 , …, j n ) 表示工件集合的一个排序; j 内) ; " = ( j1 , k ) 表示工件 j i 在机器 k " 表示最优调度排序; C ( j i , 上的加工完成时间。数学描述如下。 C ( j1 , 1 ) = p j1 , 1; C ( j1 , 1 ) = C( j i - 1 , 1 ) + p j1 , i = 2, …, n; 1, ( 1) ( 2)
第 16 卷第 1 期 2013 年 2 月 doi: 10. 3969 / j. issn. 1007-7375. 2ndustrial Engineering Journal
Vol. 16 No. 1 February 2013
蝙蝠算法在 PFSP 调度问题中的应用研究
盛晓华 ,叶春明
( 上海理工大学 管理学院,上海 200093 ) 摘要: 针对新生的启发式智能算法蝙蝠算法求解离散型生产调度问题存在的局限性, 利用对蝙蝠算法重新编码以及 初始化的方式来求解离散型生产调度问题 。通过对经典的生产调度基准数据进行测试, 并同较成熟的标准粒子群 蝙蝠算法在解决离散的生产调度问题时, 具有较好的优化性能。 验证了蝙蝠算法求解离 算法进行比较。结果表明, 散性问题的有效性以及可行性 。 关键词: 蝙蝠算法; ROV 编码; NEH 初始化; 置换流水车间调度; 粒子群算法 中图分类号: TP18 文献标志码: A 7375 ( 2013 ) 01-0119-06 文章编号: 1007-
1
置换流水车间调度模型
传统的 FSP 问题是针对 n 个工件在 m 台机器上
n 流水加工的过程进行研究。在有限的资源约束下, 个工件在 m 台机器上进行加工, 单个工件需多项操 作才可完成, 且每个工件在每台机器上加工顺序相 同时假定每个工件在每台机器上只加工一次, 每 同, 台机器在某一时刻一次只能够加工一个工件。 已知 单个工件在每台机器上的加工时间和准备时间, 目 的是确定使某项生产指标最优的调度方案。 如果每 则称为置换流水 台机器上加工的各工件顺序相同, shop scheduling prob车间调度问题( permutation flowlem, PFSP) 。虽然置换流水车间调度问题形式上比 但 3 台机器以上的置换流水车间调度问题 较简单, Hard 问题 已经被证明属于 NP[2 ]
算法在突发环境污染事件应急响应中的应用; 吕铁 鑫等 的基于混沌粒子群算法的单台批加工设备调 [7 ] 度; 赵俊生等 的一种改进的量子蚁群算法及其应 [8 ] 用; 唐海波等 的应用模拟植物生长算法求解置换 [9 ] 流水车间调度问题; 蒋维等 的一种混合智能算法 [10 ] 用于求解含保序约束的 JSP; 程序等 的一种复杂 11] 调度问题的混合智能算法。文献[ 提出了一种新 型的启发式智能蝙蝠算法, 其主要是基于模拟蝙蝠 对组合优化 在捕食过程中所利用的回声定位理论, 问题进行求解。该算法已经通过经典测试函数的测
式( 5 ) 表示最大完成时间, 又称为 makespan, 式 ( 6 ) 表示最小化最大完成时间, 与之对应的调度排序 方案即为目标为最小化最大完成时间的 PFSP 问题 的最优调度方案。
第1 期
盛晓华,叶春明: 蝙蝠算法在 PFSP 调度问题中的应用
121
脉冲的频度 r i 和响度 A i 初始化。 While( t < T 最大迭代次数) , 调整频率产生新解并更新位置和速度 。 if ( rand > r i ) 从最佳解的集合中选一个最佳解 , 从最佳解附近形成一个局部的最优解 , end if 通过任意的飞行产生一个全新的解 , if ( rand < A i & f( x i ) < f( x * ) ) 接纳这个全新的解。 增大 r i , 并减小 A i , end if 排列当前蝙蝠粒子并找到当前最佳 x * , end while 整理结果并且可视化。 2. 1 蝙蝠的运动方式 要确定蝙蝠的位置 x i 和速度 v i 是如何在 d 维搜
2
蝙蝠算法
蝙 蝠 算 法 ( bat algorithm ) 是 由 剑 桥 大 学 的
[11 ]
Yang
于 2010 年提出的一种模拟蝙蝠捕食过程中
所采用的回声定位原理的启发式智能算法。 目前已 对于解决连续性优 经通过了标准测试函数的测试, 化问题取得了较好的效果。 Yang 在阐述蝙蝠算法基本思想的同时, 提出了 蝙蝠算法基本假设条件。 1 ) 所有蝙蝠粒子利用自身回声定位感知与目 标之间的距离, 同时以一种神秘的方式辨别目标和 背景障碍物的不同。 2 ) 蝙蝠的位置为 x i , 以速度 v i 任意地飞行, 以 固定的频率 f min 、 可变的波长 ! 和响度 A0 搜寻目标。 它们可以判断自己与猎物之间的距离并自动地调整 同时在接近目标时调整脉 脉冲的波长( 亦或频率 ) , 0, 1] 。 冲的频度 r∈[ 3 ) 响度的变化方式有很多, 这里假设它是从最 大的值( 正) A0 变化到固定的最小值 A min 。 4 ) 这里忽略了三维地形和时间延迟, 虽然这很 有可能是多维计算中很好的特点之一。 然而, 目前 为止还不知道如何运用, 同时它在多维的计算中会 使计算量大大增加。 f min , f max] 通常情况下, 频率的范围[ 对应波长为 [ 。例如频率的范围为[ 20 kHz, 500 kHz ] , ! min , ! max ] 0 . 7 mm, 17 mm ] 。 对于某 相应的波长的范围就是[ 个给定的具体的问题, 只要是有助于问题的解决, 就 可以利 可以利用任意波长。 在实际的操作过程中, 用调整波长( 或频率 ) 的方式来调整相应的范围, 而 搜索区域( 亦或最大波长 ) 先选择感兴趣的区域, 然 后逐渐缩小这一个区域, 不需要利用波长本身。 同 样, 也能在固定的波长 ! 时改变它的频率。 这里 ! f 不变是 ! 和 f 相关的前提。 采用后者去执行相关的 操作。 0, f max ] 。 声波的频率越高, 在这里假设 f ∈[ 它 的波长也就越短, 同样的飞行距离也就越短。蝙蝠粒 子的搜索通常在几米的范围之内。发射的脉冲的频 0, 1] 的范围之内, 用 0 来表示无脉冲, 度一般定义在[ 用 1 表示最大的发射频度。新型仿生智能算法 - 蝙 蝠算法( BA) 的步骤用伪代码概括如下。 x = ( x1 , …, xd ) T ; 目标函数为 f( x) , 2, …, n) 和 vi ; 初始蝙蝠种群粒子 x i ( i = 1 , 定义的脉冲的频率为 f i at x i ;
t t 索空间中进行更新的。在步骤 t 时速度 v i 和位置 x i
更新要随着迭代的进行而进行。 一般响度将慢慢地 降低, 蝙蝠粒子一旦发现目标, 它就会提高所发射的 脉冲的频度, 响度可被定义为任何方便的值。 例如, 可使 A min = 1 和 A0 = 100 。 另外, 为了简单, 也可令 A min = 0 和 A0 = 1 , 假定 A min = 0 表示一只蝙蝠刚发现 一个目标, 突然停止发出任何相关的声音。 根据以 上条件有 A ti + 1 = αA ti ,r ti + 1 = r0 1 - exp( - γt) ] 。 i[ α 和 γ 都均为恒量。对于任意 0 < α < 1 和 γ > 0 的量, A ti →0 , r ti →r0 as t→∞ 。 i, 11] α 和 γ 的值采用文献[ 中连续函数求优的参 数值来使用, 即 α = γ = 0. 9 。 在初始化过程中, 由于 每只蝙蝠粒子均发出不同的的脉冲频度和响度, 所
*
C ( j1 , k ) = C ( j1 , k - 1) + pj 1 , k, k = 2, …, m; ( 3 ) C ( j1 , k) = max { C ( j i - 1 , k) , C ( ji , k - 1 ) } + p j i, , k i = 2, …, n; k = 2 , …, m; C max ( " ) = C ( j n , m) ; min C max ( " ) 。 ( 4) ( 5) ( 6)
收稿日期: 2012-03-09 基金项目: 教育部人文社会科学规划基金项目( 10YJA630187 ) ; 高等学校博士点基金资助项目( 20092020 ) ; 上海市重点学科建 设资助项目( S30504 ) ), 作者简介: 盛晓华( 1987男, 山东省人, 硕士研究生, 主要研究方向为工业工程 .
Application of Bat Algorithm to Permutation FlowShop Scheduling Problem
Sheng Xiaohua,Ye Chunming
( College of Management,University of Shanghai for Science & Technology,Shanghai 200093 , China)
Abstract : Permutation flowshop scheduling problem ( PFSP) is a typical combinatorial optimization problem. It is known that the existing bat algorithm is not suitable for solving discrete problems. To overcome this drawback,a new bat algorithm is proposed by modifying its code design and initialization. Then,the proposed algorithm is applied to the PFSP. The proposed method is tested by using classic scheduling benchmark problems and compared with standard particle swarm algorithm and quantum particle swarm algorithm. Simulation results show that the proposed algorithm outperforms the others. Key words: bat algorithm; ranked order ralue( ROV) coding; NawazEnscoreHam ( NEH) initialization; permutation flow shop scheduling; particle swarm algorithm shop scheduling prob流水车 间 调 度 模 型 ( flowFSP) 是许多现实生产调度过程中的精简模型。 lem, 大约有 1 /4 的生产制造系统、 信息服务设施以及组 [1 ] 装线可简化为 FSP 模型 。同时 FSP 又是一类典型 Hard 问题[2]。作为目前研究最广泛的一类典 的 NP[3 ] 对其进行研究具有重要的理论意义 型调度问题 , 和工程价值。 针对各种问题, 许多专家学者引入并改进了一 [4 ] 些仿生智能算法, 如刘长平等 的一种新颖的仿生 [5 ] 智能优化算法: 萤火虫算法; 夏小威等 的仿生智能