基于WSA算法的作业车间低碳调度方法研究1.1 引言本章主要研究了以最大化完工时间和能耗指标为目标的作业车间低碳调度模型的求解方法。
首先,建立了多目标作业车间低碳调度模型;然后基于Pareto 支配理论,设计了一种高效的MODWSA算法获得满意的Pareto非支配解;最后,设计了一套测试算例,将MODWSA算法与其它经典多目标算法进行比较分析,验证了MODWSA算法的优越性。
在本研究中,作者完成了两项工作:首先,构建了一个新的多目标作业车间低碳数学模型;其次,设计了一种高效的MODWSA算法获得满意的Pareto非支配解。
1.2 作业车间低碳调度模型本章研究的作业车间低碳调度问题可描述如下:对给定的n个工件及k台机器,一个工件的加工需要经过m道工序,每道工序允许在特定的机器上加工,任意一台机器在任意一个时刻仅能加工某一工件的某一道工序,并且一个工件只能在其上道工序完成后下一道工序才能开始加工[插入文献]。
考虑机器的准备时间,准备时间与同一机器上相邻两工件的加工顺序相关,并且机器的启动和工件的加工是相连的。
对应于不同工序,机器具有不同的速率档位进行加工,并且可以进行调节。
从能耗的角度来看,机器有四种不同的状态:加工状态(机器在加工工件),启动状态(机器在准备加工一个新的工件),待机状态(机器处于空转中),以及关机状态(机器被关机)。
通常情况下,当机器在较高速率运作时,工件的加工时间会被缩短,但是相应的能耗会增加。
因此本问题以最大化完工时间和能耗指标为目标,由于本章所研究问题的特点,该问题要比传统的作业车间调度问题要复杂的多。
在该问题中,其它设定如下:●工件在车间里被连续加工。
也就是说,加工过程不能被中断。
●机器允许有空闲时间,并且各阶段间具有容量无限的缓冲区。
●当有第一个工件在机器上加工时,机器开机;当在该机器上加工的所有工件加工完毕后,机器关机。
●机器速度在工件加工过程中不能进行调整。
1.2.1 混合整数规划模型为了提出问题的数学模型,根据上面对问题的描述,我们首先定义了下面的相关数学符号。
符号定义:I :工件集合,{1,,,}I i n =⋯⋯。
J :工序集合,{1,,,,}J j m =⋯⋯。
M :机器集合,{1,,,,}M k l =⋯⋯。
ij M :工件i 的第j 道工序所在的加工机器。
k Ω:机器k 上所有工件及其对应工序的集合,即{(,)|}k ij i j M k Ω==。
,,k i j v p :工件i 的第j 道工序在机器k 上以速度v 加工所需的时间。
'k i i s :在机器k 上,工件i’加工完成后紧接着工件i 加工所需准备时间。
当'0,i =0=0k i s 表明了当工件i 是分配到相关机器的第一个工件,且准备时间为0。
,k v pp :机器k 在速度v 下运行所消耗的功率。
'i i sp :机器k 由工件i’转到工件i 所消耗的启动功率。
k ip :机器k 保持空转所消耗的功率。
决策变量:,i j b :工件i 的第j 道工序的开始加工时间。
,i j e :工件i 的第j 道工序的结束加工时间。
,,k i j v x :二维决策变量,当工件i 的第j 道工序在机器k 上以速率v 加工时,值为1;否则值为0。
'k i i y :二维决策变量,当工件i 紧接在工件i’后在机器k 上加工时,值为1;否则值为0。
on k T :辅助决策变量,表明了机器k 的开机时间。
off k T :辅助决策变量,表明了机器k 的关机时间。
基于这些定义的数学符号,下面给出了流水车间低碳调度问题的混合整数规划模型。
目标函数:Min max ,max i m i IC e ∈=(1) Min 123TEC E E E =++(2) 1,,,,,kk k i j v k v i j v i I j J v V E x pp p ∈∈∈=⋅⋅∑∑∑(3) 2''''k k k i i i i i i i I i IE y sp s ∈∈=⋅⋅∑∑(4)3'',,,,'k off on k k k kk k i i i i i j v i j v k k M i I i I i I j J v V E T T y s x p ip ∈∈∈∈∈∈⎛⎫=--⋅-⋅⋅ ⎪ ⎪⎝⎭∑∑∑∑∑∑ (5)目标(1)表明了最大完工时间最小。
目标(2)表明了总能耗最小,其中1E 表示机器处于加工状态时的总能耗,2E 表示机器处于启动状态时的总能耗,3E 表示了机器处于待机状态时的总能耗。
他们分别对应了公式(3)-(5). 约束:,,1,,,kk i j v ij v V xi I j J k M ∈=∀∈∈=∑(6) ,,,,,,,,,kk k i j i j i j v i j v ij v V e b p x i I j J k M ∈=+⋅∀∈∈=∑(7){},,10,,2,,i j i j b e i I j m --≥∀∈∈⋯(8) ''y y 1,,',k ki i ii i i I k M +≤∀∈∈(9) ',',',,',',(',')'0,,,=i i i i i i kk k k i j i j i j i j i Ib e y s y i I j J k M ∈Ω∈-⋅-⋅≥∀∈∈∑∑(10) ,(,)min kon k i j i j T b ∈Ω=(11) ,(,)max koff k i j i j T e ∈Ω=(12) ,,{0,1};,,k i j v k x i I j J v V ∈∀∈∈∈ (13) ',{0,1};i i y ∈,'i i I ∀∈ (14) ,,0,0,,i j i j e b i I j J >≥∀∈∈(15)其中,约束(6)保证每个工件遍历所有工序,并且对应于特定工序,每个工件被分配到一台机器上,并以一种速度级别进行加工。
约束(7)表示在加工过程中不允许中断,工件必须在一台机器上以一种速度级别加工完毕。
约束(8)确保只有在工件的前一道工序完成之后下一道工序才能开始。
约束(9)和(10)保证机器容量限制,即只有在完成了前一个工件的加工之后,才能开始下一个工件的加工。
约束(11)表示辅助变量的计算,它等于分配给相应机器的工件的起始时间的最小值。
约束(12)表示辅助变量的计算,它等于分配给相应机器的工件的结束时间的最大值。
约束(13)—(15)分别定义了决策变量的可行范围。
1.2.2 举例说明举例进行说明问题(带甘特图的那种)1.3 MODWSA 算法求解作业车间低碳调度问题从上一章WSA 算法的简述中可以看出,作为一个求解连续性问题的算法,WSA 算法同样不能直接用于求解离散的作业车间调度问题,因此需要设定合理的编码和解码方式、距离计算公式和移动策略。
在这一节中,提出了一种多目标离散鲸鱼群算法(MODWSA ),以解决作业车间低碳调度问题,算法框架流程如图1所示:参数设置和父代种群PG 初始化评价每个个体G =G +1, 满足终止条件?对PG 中每个个体i :寻找其 较优且最近 个体是否存在?对个体速度向量进行邻域搜索速度向量移向个体i 的 较优且最近 个体生产子代种群OG ,合并PG 和OG 生成种群RG对RG 采用非支配排序和拥挤距离排序更新父代种群PG输出Pareto 解对个体i 的工序向量采用交叉算子对个体i 的工序向量采用变异算子图1 MODWSA 求解作业车间低碳调度流程图MODWSA 算法包含了模拟鲸鱼群觅食的行为,MODWSA 主要包含了以下四个步骤:初始化、工序向量更新操作,速度选择寻找“较优且最近”的鲸鱼Y 、应用速度更新操作算子对速度向量进行更新操作,具体步骤如下所示:Step 1:初始化。
首先给出参数设置,如种群大小等,然后随机初始化鲸鱼群,对鲸鱼群中的每个个体进行适应度评价。
Step 2:工序更新操作。
采用二元锦标赛方法选择父代个体,随机选择母代个体,对父代与母代的工件序列执行交叉变异等基本操作,得到子代的工件序列。
Step 3:寻找离父代个体“较优且最近”的鲸鱼。
针对速度向量部分,计算与父代个体最近的较优个体,设定为鲸鱼Y 。
Step 4:速度更新操作。
父代个体的速度向量向鲸鱼Y 的速度向量进行迁移操作生成子代个体的速度向量,使子代个体的速度向量向鲸鱼Y 的速度向量方向移动。
Step 5:精英保留策略[插入文献]。
合并种群大小为N 的副本种群和相同大小的子代种群,这样得到一个大小为2N 的混合种群,评价改混合种群根据非支配排序和拥挤距离技术选择出前N 个较好的个体作为下一次迭代更新的父本,并淘汰余下的N 个个体。
具体操作过程如下图2所示。
P GO GP G+1图2 基于非支配排序和拥挤策略的更新操作1.3.1 编码与解码策略编码方式是MODWSA 算法求解调度问题的首要和关键任务。
传统的JSP 问题中应用较多的是基于工序的编码,它具有任意置换染色体后总能得到可行调度、避免死锁、对解空间表征的完全性能和解码成主动调度等优点[插入文献]。
对于传统调度问题,加工时间是固定不变的,但本章所研究的低碳作业车间调度问题的加工时间是可以根据加工机器的速度改变进行选择的,所以需要处理工件排序和每个工件对应的速度选择两个子任务。
因此,本章提出了双层编码机制以适应问题的特征,该编码机制包含了两层信息。
第一层基于工序编码,表示工件的加工顺序,记作π,其中每个工件的工序都用相应的工件序号表示,从左到右扫描序列,工件序号第k 次出现,表示加工该工件的第k 道工序;第二层表示每个工件每道工序的加工速度,记作N 。
为了说明这个编码机制,本章给出一个规模为2工件3工序的实例,如下所示:[]1,2,1,1,2,2π=[]1,3,2,3,2,2N =在这个编码中,π表示工件每道工序的加工顺序,其中3π表示工件1的第2道工序在工件1的第1道工序和工件2的第1道工序之后加工。
N 表示工件每道工序的加工速度,其中3N 表示工件2的第1道工序在对应机器21M 上以速度3进行加工。
举例进行说明,列出加工时间以及功率消耗。
解码是将编码转化为调度解的过程。
为了将一个解决方案解码成一个可行的时间表,需要解决2个问题。
一个问题是安排工件的加工顺序,另一个问题是确定每道工序对应机器的加工速度。
设u 为编码任意一个工件i 的第j 道工序,i j O ,加工时间为u P ,且工序u 的开始加工时间为u BT ,则完工时间为u u BT P +;设工序的工件紧前工序和机器紧前工序分别为u JP 和u MP (如果存在),那么工序u 的开始加工时间由它的工件紧前工序和机器紧前工序中完工时间的最大值决定。