基于改进萤火虫群优化算法的同类机调度问题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于改进萤火虫群优化算法的同类机调度问题
倪志伟;庞闪闪;伍章俊;李蓉蓉;李敬明
【摘要】针对一类极小化最大完成时间和完成时间之和的同类机调度问题,给出
问题的数学模型。

考虑作业具有不同到达时间的同类机调度问题,提出一种改进的萤火虫群优化算法。

借鉴遗传算法中的变异算子和选择算子,增强算法的全局搜索能力;加入爬山算法作为一种局部搜索算法,增强算法的局部搜索能力。

这种全局搜索和局部搜索相结合的机制,使改进的萤火虫群优化算法表现出较高的寻优效率。

通过大量实验验证了该算法的有效性。

%For a class of parallel machine scheduling problems of minimizing the makespan and the total completion times,the mathematical model of the problem was
given.Considering the parallel machine scheduling problem with different arrival times, an improved glowworm swarm optimization algorithm was proposed.The mutation operator and the selection operator of genetic algorithm were used to enhance the global search ability of the algorithm.The climbing algorithm was added as a local search al-gorithm,which enhanced the local search ability of the algorithm.The mechanism combining global search and local search makes the improved glowworm swarm optimization algorithm show higher searching efficiency.The effectiveness of the proposed algorithm is verified through plenty of experiments.
【期刊名称】《计算机工程与设计》
【年(卷),期】2016(037)006
【总页数】7页(P1531-1536,1548)
【关键词】同类机调度;最大完成时间;完成时间和;到达时间;萤火虫群优化算法
【作者】倪志伟;庞闪闪;伍章俊;李蓉蓉;李敬明
【作者单位】合肥工业大学管理学院,安徽合肥 230009; 合肥工业大学过程优
化与智能决策教育部重点实验室,安徽合肥 230009;合肥工业大学管理学院,安徽合肥 230009; 合肥工业大学过程优化与智能决策教育部重点实验室,安徽合
肥 230009;合肥工业大学管理学院,安徽合肥 230009; 合肥工业大学过程优化
与智能决策教育部重点实验室,安徽合肥 230009;合肥工业大学管理学院,安徽合肥 230009; 合肥工业大学过程优化与智能决策教育部重点实验室,安徽合肥230009;合肥工业大学管理学院,安徽合肥 230009; 合肥工业大学过程优化与智能决策教育部重点实验室,安徽合肥 230009
【正文语种】中文
【中图分类】TP18
在传统的同类机调度问题中,一般假设所有作业到达所有机器的时间是一样的,也就是所有作业都可以随时被所有机器进行调度生产,但在实际生产中,不同作业到达同一台机器的时间通常是不同。

因此,考虑作业具有不同到达时间的情况,非常具有现实意义。

反映到调度问题上,就是考虑作业到达时间的同类机调度问题,本文通过改进的萤火虫群优化算法给出了一种有效的解决方案。

针对调度问题,目前已经有学者使用群体智能优化算法进行了解决。

文献[1]针对混合并行机调度问题,采用一种改进的非支配排序遗传算法进行了求解;文献[2]针对带非等效并行机的
作业车间生产调度问题,采用蚁群算法进行了求解;文献[3]针对同类机加工环境
下具有不同尺寸工件的批处理机调度问题,采用改进的最大最小蚁群算法进行了解
决。

同类机调度问题本质上是组合优化问题,并且群智能优化算法在解决组合优化问题时表现出了良好的适应性。

因此,本文采用萤火虫群优化算法来解决同类机调度问题。

针对Qm|rj|Cmax型调度问题,本文采用了改进的离散型萤火虫算法和
离散型遗传算法两种群智能优化算法。

针对Qm|rj|∑Cj型调度问题,本文采用了
改进的连续型萤火虫算法和连续型遗传算法两种群智能优化算法。

实验结果表明改进的萤火虫算法具有较好的收敛速度和收敛精度。

假设有n个作业J={J1,J2,…,Jn},其中作业Jj(j=1,2,…,n)的长度为pj。

这n个作业需要在m台机器M={M1,M2,…,Mm}上进行加工,其中机器Mi(i=1,2,…,m)加工
这n个作业的速度为vi(i=1,2,…,m)。

作业Jj(j=1,2,…,n)到达机器Mi(i=1,2,…,m)
的时间为rij(i=1,2,…,m,j=1,2,…,n),并且每件作业只能在作业到达机器之后才能
进行加工。

作业Jj(j=1,2,…,n)在机器Mi(i=1,2,…,m)上的加工时间为
pij(i=1,2,…,m,j=1,2,…,n),该作业的完工时间为Cj(j=1,2,…,n),每件作业只能在
一台机器上加工。

本文研究的同类机问题的目标函数有两种,第一个目标函数为最小化所有作业的最大完工时间[4],第二个目标函数为最小化所有作业的完工时间和。

综上所述,其数学模型[5]如下所示
其中,约束条件(1)中aij=1表示第j件作业在第i台机器上加工,aij=0表示第j
件作业不在第i台机器上加工。

约束条件(2)表示每件作业只能在一台机器上加工。

约束条件(3)表示第j件作业在第i台机器上加工所花费的时间。

约束条件(4)表示
第j件作业的完工时间。

萤火虫群优化算法是模拟自然界中萤火虫觅食行为的一种群智能优化算法。

每只萤火虫的移动分为3个阶段,即荧光素更新阶段、萤火虫个体移动阶段和动态决策
域更新阶段,每个阶段的相关描述如下[6]:
(1)荧光素更新阶段:利用式(5)计算第i只萤火虫第t代的荧光素值。

其中,li(t-1)是第i只萤火虫第(t-1)代的荧光素值,ρ是荧光素挥发因子。

xi(t)是第i只萤火虫
第t代的位置,J(xi(t))是xi(t)所对应的适应度值,γ是荧光素更新率;
(2)萤火虫个体移动阶段:利用式(6)计算萤火虫i向Ni(t)内每只萤火虫移动的概率,并且利用式(7)计算第i只萤火虫第(t+1)代的位置。

其中,Ni(t)是第t代在第i只
萤火虫动态决策域内的并且比自己亮的萤火虫的集合,s是移动步长;
(3)动态决策域更新阶段:利用式(8)计算第i只萤火虫的第(t+1)代的动态决策半径。

其中,rs是每只萤火虫的感知半径,β是动态决策域更新率,nt是邻域集内包含
的萤火虫数目的阈值,|Ni(t)|是第i只萤火虫动态决策域内的并且比自己亮的萤火
虫的数目
3.1 编码策略
假设该同类机调度问题有m台机器和n件作业,种群规模为N,则第i(i=1,2,…,N)个个体的编码方法可以表示为xi=(xi1,xi2,…,xij,…,xin)。

(1)目标函数是最小化最大完工时间
对于该问题,本文采用离散编码[7]。

在单机调度中,对于目标函数是最小化最大
完工时间的同类机调度问题,按作业到达时间的先后顺序进行加工可以使得最大的完工时间最小化,因此在多机调度问题中,只需要考虑作业在机器上的分配问题即可。

其中,xij=k(k=1,2,…,m)表示第j(j=1,2,…,n)件作业在第k(k=1,2,…,m)台机器上进行加工。

每台机器上的作业的加工顺序,按照先到达先加工的原则进行确定。

(2)目标函数是最小化完工时间和
对于该问题,本文采用连续编码。

在单机调度中,对于目标函数是最小化完工时间和的同类机调度问题,作业的加工顺序不定,因此在多机调度问题中,需要考虑作业在机器上的分配问题和每台机器上作业的加工顺序问题。

其中,xij的取值为0.5到m.5之间的实数,对xij进行向最近方向取整后,得到值k(k=1,2,…,m),表示
第j(j=1,2,…,n)件作业在第k(k=1,2,…,m)台机器上进行加工,得到了作业在机器上的分配方案。

每台机器上的作业的加工顺序,由实数xij的大小决定。

3.2 搜索策略
(1)萤火虫移动策略:每只萤火虫采用轮盘赌方法选择移动对象,并且采用某种方
法向选定的目标进行移动。

本文借鉴遗传算法的交叉算子[8],提出了一种移动方法。

在该移动方法中,在目标萤火虫的位置向量中随机选择一点,并将该点以后的位置信息赋给需要移动的萤火虫。

例如,萤火虫i需要向萤火虫j移动,假设萤火虫的位置向量是一个d维的行向量,首先随机选择一个位置信息p(1≤p≤d),然
后进行移动,移动方式如下
(2)萤火虫变异策略:为了增加萤火虫种群的多样性,防止算法陷入局部最优,本
文在该算法中加入了变异策略。

该变异操作借鉴了遗传算法中的变异算子[9],即
从每只萤火虫的位置向量中随机选择一个分量,并将该分量用可行的值进行替换;
(3)萤火虫局部搜索策略:为了提高算法的求解精度和求解速度,本文在该算法中
加入了局部搜索策略。

对于不同的优化问题,需要选取不同的局部搜索策略,本文采用爬山算法[10]作为局部搜索策略。

对于爬山算法,每个个体从当前位置开始,通过随机互换两个基因位上的基因,生成当前位置的邻域。

计算领域个体的适应度值,使用适应度值最大的个体作为最优个体,如此循环,直到达到最大局部搜索次数;
(4)萤火虫选择策略:该选择策略借鉴了遗传算法中的选择算子,即将所有个体按
照适应度值的大小进行排序,并且选择一个适应度阈值,用高于此适应度阈值的个体替换低于此适应度阈值的个体;
(5)公告板:引入了鱼群算法中的公告板[11],用来记录最优个体的位置状态和其
适应度值。

初始化所有个体后,计算每个个体的适应度值,将最优的个体的位置状态和适应度值记录到公告板中。

每次迭代后,计算所有个体的适应度值并与公告板进行比较,若其适应度值优于公告板,则用其代替公告板,否则,公告板保持不变。

3.3 改进萤火虫群优化算法的步骤
(1)根据具体问题确定编码策略,初始化算法参数;
(2)在可行域内,随机生成初始种群;
(3)首先利用式(5)更新每只萤火虫的荧光素值,其次利用式(6)和式(7)选出每只萤火虫的移动对象并进行移动,最后利用式(8)更新每只萤火虫的动态决策域;
(4)每只萤火虫执行局部搜索策略,进行局部搜索,更新群体;
(5)每只萤火虫执行变异算子,生成新的个体;
(6)每只萤火虫再次执行局部搜索策略,进行局部搜索,更新群体;
(7)每只萤火虫执行选择策略,进行群体更新;
(8)更新公告板;
(9)终止条件判断。

若满足终止条件,则输出计算结果;否则,转步骤(3)。

3.4 改进萤火虫群优化算法时间复杂度分析
假设萤火虫群算法的种群规模为N,依据改进的萤火虫群算法的实现步骤,可以得到该算法的时间复杂度,分析步骤如下:
(1)初始化N只萤火虫需要N次,时间复杂度为O(N),初始化其它参数需要常数次;
(2)初始化公告板,需要赋值1次,比较N-1次,时间复杂度为O(N);
(3)移动策略。

计算N只萤火虫的适应度需要N次,更新N只萤火虫的荧光素需要N次,移动N只萤火虫的位置需要N(N+N+1),因此时间复杂度为
O(2*N2+3*N);
(4)局部搜索策略。

N只萤火虫需要进行局部搜索算法N次,每只萤火虫最多进行searchNum次搜索,因此时间复杂度为O(searchNum*N);
(5)变异策略。

N只萤火虫需要变异N次,因此时间复杂度为O(N);
(6)局部搜索策略。

由(4)分析可得时间复杂度为O(searchNum*N);
(7)选择策略。

计算N只萤火虫的适应度需要N次,对N个适应度值排序需要
N+2*N2次,选择操作需要N次,因此时间复杂度为。

综上所述:改进的萤火虫群算法经过l次迭代后,整个算法的时间复杂度为*N))。

4.1 实验环境
本文的所有程序均采用Matlab R2012a软件进行编写,编译运行程序的PC机的设置如下,系统类型:32位Win7操作系统,处理器:Intel(R) Core(TM) i5-
****************.40GHz,安装内存:4.00GB。

4.2 参数设置
(1)GSO参数设置
针对Qm|rj|Cmax型调度问题,本文的GSO参数设置如下,萤火虫数目为100、最大迭代次数为300、变异概率为0.4、局部搜索次数为3、荧光素挥发因子
ρ=0.4、荧光素更新率γ=0.6、动态决策域更新率β=0.08、邻域集阈值nt=5、初始荧光素值l0=5。

针对Qm|rj|∑Cj型调度问题,本文的GSO参数设置如下,萤火虫数目为200、最大迭代次数为1500、变异概率为0.4、局部搜索次数为5,其它参数设置同前者。

(2)GA参数设置
针对Qm|rj|Cmax型调度问题,本文的GA参数设置如下,群体规模即染色体数目为100,最大迭代次数为300,交叉概率为0.6,变异概率为0.4。

针对
Qm|rj|∑Cj型调度问题,本文的GA参数设置如下,群体规模为200,最大迭代次数为1500,其它参数设置同前者。

4.3 结果分析
4.3.1 最小化最大完工时间型调度问题
(1)实验结果分析
对于此调度问题,本文采用的算例如下。

机器数目取为6台、8台和10台,作业数目取为50件、80件和100件。

每件作业长度的取值范围为1到100之间的随
机数,每件作业到达每台机器的到达时间的取值范围为0到100之间的随机数,每台机器的速度的取值范围为1到10之间的随机数。

对于每组实验,本文分别运行5次,然后取其平均值作为实验结果。

本文考虑了该调度问题的9种情况,对于每种情况分别采用改进的离散型萤火虫群算法(IGSO)、离散型遗传算法(GA)进行解决,并进行了比较。

由实验结果可以看出改进的离散型萤火虫算法运行结果最好。

萤火虫算法具有将强的鲁棒性,全局搜索能力较强。

本文在此基础上,加入了爬山算法这一局部搜索算法,使得该改进的萤火虫算法具有较强的局部搜索能力和全局搜索能力,从而保证了算法的收敛速度和求解精度,因此改进的离散型萤火虫算法取得了较好的实验结果。

对于每一种具体实验数据,分别采用上述3种算法进行计算,使用*表示最优结果。

实验结果一见表1。

(2)参数分析
算法参数的选取对算法的性能有一定的影响,针对不同的问题,所选取的算法参数一般是不同的。

针对同类及调度问题,本实验讨论参数
n,iter_max,pm,searchNum对算法性能的影响。

图1(a)以含有6台机器数和100件作业的同类机调度问题为例对参数n进行分析(算法运行5次并且取其平均值作为最终结果,
iter_max=300,pm=0.5,searchNum=4)。

由图1(a)可以看出,在一定范围内,随着种群规模的增加评价函数的值越来越优,但是超过一定的范围,种群规模对评价函数的影响将越来越小。

由图1(a)还可以看出,针对此同类机调度问题的最佳种群规模为100。

图1(b)以含有6台机器数和100件作业的同类机调度问题为例对参数iter_max 进行分析(算法运行5次并且取其平均值作为最终结果,
n=100,pm=0.5,searchNum=4)。

由图1(b)可以看出,在iter_max∈[0,300]范
围内,随着iter_max的增加,评价函数值则会越来越优;在iter_max∈[300,400]范围内,iter_max的改变对评价函数值的影响越来越小。

由图1(b)还可以看出,
针对此同类机调度问题的最佳迭代次数为300。

图1(c)以含有6台机器数和100件作业的同类机调度问题为例对参数pm进行分
析(算法运行5次并且取其平均值作为最终结果,
n=100,iter_max=300,=searchNum=4)。

由图1(c)可以看出,在pm∈(0,0.6]范围内,变异概率的变化对评价函数值的影响不是很大,但在pm∈[0.6,1)范围内,随着变异概率的增加,评价函数值逐渐变差。

因此,针对此同类机调度问题的最佳变异概率为0.4。

图1(d)以含有6台机器数和100件作业的同类机调度问题为例对参数searchNum进行分析(算法运行5次并且取其平均值作为最终结果,
n=100,iter_max=300,=pm0.4)。

由图1(d)可以看出,当searchNum∈{1,2,3}时,随着局部搜索次数的增加,评价函数值越来越优,在searchNum∈{4,5,6}时,评价函数逐渐趋于稳定。

因此,针对此同类机调度问题的最佳局部搜索次数为3。

4.3.2 最小化完工时间和型调度问题
(1)实验结果分析
对于此调度问题,本文采用的算例同Qm|rj|Cmax型调度问题。

本文同样考虑了该调度问题的9种情况,对于每种情况分别采用改进的连续型萤
火虫群算法(IGSO)、连续型遗传算法(GA)进行解决,并进行了比较。

由实验结果
可以看出,对于该问题改进的连续型萤火虫算法运行结果较优。

改进的连续型萤火虫算法具有较快的收敛速度和收敛精度,因此取得了较好的实验结果。

遗传算法具有自组织性、自适应性、并行性和过程性等许多优点,因此在解决此问题时也取得了较好的实验结果。

对于每一种具体实验数据,分别采用上述3种算法进行计算,使用*表示最优结果。

实验结果二见表2。

(2)参数分析
图2(a)显示了以含有6台机器和100件作业的同类机调度问题为例,在
iter_max=800、pm=0.5、searchNum=3的情况下,参数n的不同取值对评价
函数的影响(算法运行5次取其平均值)。

本实验取
n∈{30,50,100,150,200,300,400,500}8组数据进行仿真实验。

由图2(a)可知,在n∈[30,200]范围内,随着种群规模的增加评价函数值的质量有比较明显的提高;
在n∈[200,500]范围内,种群规模的变化对评价函数值的影响不大。

因此,针对
此同类机调度问题的最佳种群规模为200。

图2(b)显示了以含有6台机器和100件作业的同类机调度问题为例,在n=200、pm=0.5、searchNum=3的情况下,参数iter_max的不同取值对评价函数的影
响(算法运行5次取其平均值)。

本实验取
iter_max∈{500,800,1000,1500,2000,2500}6组数据进行仿真实验。

由图2(b)可知,在iter_max∈[500,1500]范围内,评价函数随着迭代次数的增加而逐渐优化;在iter_max∈[1500,2500]范围内,迭代次数的增加对评价函数值的影响不大。

因此,针对此同类机调度问题的最佳迭代次数为1500。

图2(c)显示了以含有6台机器和100件作业的同类机调度问题为例,在n=200、iter_max=1500、searchNum=3的情况下,参数pm的不同取值对评价函数的
影响(算法运行5次取其平均值)。

本实验取
pm∈{0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9}9组实验进行分析。

由图2(c)可知,在
pm∈[0.1,0.4]范围内,随着变异概率的增加评价函数值逐渐优化;在
pm∈[0.4,0.9]范围内,随着变异概率的增加评价函数值逐渐劣化。

因此,针对此
同类机调度问题的最佳变异概率为0.4。

图2(d)显示了以含有6台机器和100件作业的同类机调度问题为例,在n=200、
iter_max=1500、pm=0.4的情况下,参数searchNum的不同取值对评价函数
的影响
(算法运行5次取其平均值)。

本实验取searchNum∈{1,2,3,4,5,6,7}7组实验进行
分析。

由图2(d)可知,在searchNum∈[1,5]范围内,随着局部搜索次数的增加,评价函数值逐渐减小;在searchNum∈[5,7]范围内,局部搜索次数对评价函数值的影响不大。

因此,针对此同类机调度问题的局部搜索次数为5。

同类机调度是一类重要的平行机调度问题,本文提出了一种解决此类问题的群体智能优化算法。

本文考虑了作业具有不同到达时间的情况,首先对带有不同目标函数的两类同类机问题建立了数学模型,其次运用改进的萤火虫群优化算法解决了
Qm|rj|Cmax问题和Qm|rj|∑Cj问题,最后实验仿真结果表明,改进的连续型萤火虫群优化算法具有较好的求解精度。

本文研究了Qm|rj|Cmax和Qm|rj|∑Cj两种同类机调度问题,这两个问题都是单
目标函数。

在现实情况中,每件作业在每台机器进行加工所花费的费用通常不同,因此就会提出总花费最小的目标。

此时原来单目标同类机调度问题也就变成了多目标问题,这将是我们下一步将要研究的内容。

我们将把多目标问题化为单目标问题,然后采用不同的群体智能优化策略进行仿真实验,并且对于运行结果较好的算法进行改进,从而更好地解决此类问题。

【相关文献】
[1]FU Yaping,HUANG Min,WANG Hongfeng,et al.Multi-objective optimization model and algorithm for hybrid parallel machine scheduling problem[J].Control Theory & Applications,2014,31(11):1510-1516(in Chinese).[付亚平,黄敏,王洪峰,等.混合并行机调度问题
的多目标优化模型及算法[J].控制理论与应用,2014,31(11):1510-1516.]
[2]ZHANG Jie,ZHANG Peng,LIU Guobao, et al.Two-stage ant colony algorithm based job shop scheduling with unrelated parallel machines[J].Journal of Mechanical Engineering,2013,49(6):136-144(in Chinese).[张洁,张朋,刘国宝,等.基于两阶段蚁群算法的带非
等效并行机的作业车间调度[J].机械工程学报,2013,49(6):136-144.]
[3]LI Xiaolin,DU Bing,XU Rui,et al.Batch scheduling on uniform parallel machines with non-identical job sizes[J].Computer Integrated Manufacturing Systems,2012,18(1):102-110(in Chinese).[李小林,杜冰,许瑞,等.同类机环境下不同尺寸工件的分批调度问题[J].计算机集成制造系统,2012,18(1):102-110.]
[4]MA Ying,YANG Shanlin,TANG Dawei,et al.Heuristic algorithm for uniform-machine scheduling with machine release time[J].System engineering theory and
Practice,2012,32(9):2022-2030(in Chinese).[马英,杨善林,汤大为,等.带机器准备时间的同类机调度问题的启发式算法[J].系统工程理论与实践,2012,32(9):2022-2030.]
[5]Farouk Yalaoui.Minimizing total tardiness in parallel-machine scheduling with release dates[J].International Journal of Applied Evolutionary Computation,2012,3(1):21-46. [6]Krishnanand K N,Ghose D.Glowworm swarm optimization:A new method for optimizing multimodal functions[J].International Journal of Computational Intelligence
Studies,2009(1):93-119.
[7]SUN Chaoping,YANG Ping,LI Kai,et al.Multi-objective genetic algorithm for parallel machine scheduling problem with outsourcing[J].China Mechanical
Engineering,2014(23):3174-3179(in Chinese).[孙超平,杨平,李凯,等.考虑外包的平行机调度问题的多目标遗传算法[J].中国机械工程,2014(23):3174-3179.]
[8]ZHENG Yongqian,DONG Jie,Lilian Forbach,et al.Nested hybrid genetic algorithm for integrated economic lot and delivery scheduling problem[J].Computer Integrated Manufacturing Systems,2014,20(1):190-197(in Chinese).[郑永前,董洁,Lilian Forbach,等.批量生产集成调度问题的嵌套式混合遗传算法[J].计算机集成制造系统,2014,20(1):190-197.]
[9]ZHAO Shikui,FANG Shuiliang,GU Xinjian, et al.Idle time neighborhood search genetic algorithm for job shop scheduling[J].Computer Integrated Manufacturing
Systems,2014,20(8):1930-1940(in Chinese).[赵诗奎,方水良,顾新建,等.作业车间调度的空闲时间邻域搜索遗传算法[J].计算机集成制造系统,2014,20(8):1930-1940.]
[10]HU Yun’an,LIU Zhen,SONG Ruihua,et al.Hill-clim-bing and pattern ant colony hybrid Bayesian optimization algorithm[J].Journal of Huazhong University of Science and Technology(Nature Science Edition),2013,41(5):90-95(in Chinese).[胡云安,刘振,宋瑞华,等.爬山法与模式蚁群法混合的贝叶斯优化算法[J].华中科技大学学报(自然科学版),2013,41(5):90-95.] [11]MA Xianmin,LIU Ni.Improved artificial fish-swarm algorithm based on adaptive vision for solving the shortest path problem[J].Journal on Communications,2014,35(1):1-6(in Chinese).[马宪民,刘妮.自适应视野的人工鱼群算法求解最短路径问题[J].通信学报,2014,35(1):1-6.]。

相关文档
最新文档