一种离散的水波优化算法的制作方法

文档序号:14266462阅读:1191来源:国知局
一种离散的水波优化算法的制作方法

本发明涉及制造业中流水线调度领域,尤其涉及一种离散的水波优化算法。



背景技术:

零等待流水线调度问题,不同于一般的置换流水车间调度问题,加工工件一旦进入加工就不能中断,直到完成其所有操作。如今,零等待流水线车间调度问题广泛的存在于很多的工业生产中,例如炼钢、食品加工、化工和制药等。当问题规模很大时,用精确的算法是不可能在合理的时间范围内找到最优解的。因此,学术界提出了使用启发式算法或元启发式算法来解决此类问题,这大大的推进了启发式算法与元启发式算法在近年来的发展。代表性的算法有ga,pso,de,ig等。已经有研究学者证明了在机器数量超过两个的情况下,零等待流水线调度问题是一个np-hard问题。水波优化算法是一种受浅水波理论启发的新兴进化算法,它通过模拟水波的运动来求解优化问题。在该算法中,一个解对应于一个水波,它具有两个属性,即波高h和波长λ。问题的解空间对应于海床,到海床(垂直)距离越近的水波的适应度值越高,反之适应度值越低。算法在初始化时构建一个水波群,其中每个水波的波高h初始化为一个常数hmax,波长λ初始化为λmax。在算法迭代过程中,通过反复应用传播、折射和碎浪这三种操作来对种群进行演化。当前大多数优化算法在优化过程中仅能提供近优解,且存在运行结果不稳定,计算时间长,精度差,收敛性无理论指导的缺点。



技术实现要素:

本发明的目的就在于为了解决上述问题而提供一种离散的水波优化算法。

本发明通过以下技术方案来实现上述目的:

本发明包括步骤:

初始化参数:种群大小np,最大波长λmax,最大波高hmax,排差系数α。

步骤1:依据nn(最近邻)+neh算法生成一个包含n个解(水波)的种群。

步骤2:评估每个解的适应度;如果终止条件满足,则返回当前已找到的最优解,算法结束。

步骤3:对种群中的每个水波x依次执行下列操作:

步骤3.1:根据迭代贪心算法策略执行传播操作,生成x'。

步骤3.2:如果f(x')>f(x),则:

步骤3.2.1:如果f(x')>f(x*),则对x'执行局部搜索操作,然后执行碎浪操作,并将x*更新为x'。

步骤3.2.2:将种群中的x替换为x'。

步骤3.3:否则:将x的波高减1。

步骤3.3.1:如果x.h==0,则执行折射操作。

步骤3.3.2:否则,依据概率p对该种群进行排差操作。

步骤3.4:更新每个水波的波长。

步骤4:更新整个种群的全局最优解,转步骤2。

更加具体的:

(1)在初始化阶段,通过拟合的方法来确定波高与工件和机器的关系,根据问题的规模来适应最大波高的大小。

(2)在步骤1中,本发明通过设计种群的初始化方法,增加初始种群的多样性,避免种群的迅速收敛,利用nn算法和neh算法初始化种群,充分利用两种算法的优势,提高了种群的初始解质量,保证了种群的多样性。

(3)在步骤3.1中,将迭代贪心算法(ig)融入到传播操作中,即将波长作为参数传入到迭代贪心算法中,作为移除工件的个数,增加了迭代贪心算法的灵活性,增强传播操作的局部搜索能力。

(4)在步骤3.2.1中,在碎浪阶段引入基于插入操作的局部搜索机制(insert-basedlocalsearch),增强了对历史最优解的重视,深度的发掘优解中的信息,进一步增强算法对于优解的高强度的局部搜索。

(5)在步骤3.3.2中,水波执行传播操作之后,如果得到的水波的适应度值劣于传播前的适应度,而且该水波的波高也没有减为0。此时,以概率p执行排差操作,即用该传播之后的水波替换掉种群中最差的水波。如此便加快了种群的收敛速度,给种群增加了一种趋优的趋势。

(6)在步骤3.4中,根据如下的公式来更新水波的波长。

本发明的有益效果在于:

本发明是一种离散的水波优化算法,与现有技术相比,本发明应用到解决具有零等待约束的流水线车间调度问题中。弥补了当前大多数优化算法在优化过程中仅能提供近优解,且存在运行结果不稳定,计算时间长,精度差,收敛性无理论指导的缺点,具有推广应用的价值。

附图说明

图1为本发明基于离散的水波优化算法流程图;

图2为本发明基于离散的水波优化算法的参数关系图;

图3为本发明基于离散的水波优化算法的参数拟合图;

图4为本发明与其他算法的收敛速度和算法性能对比曲线图。

具体实施方式

下面结合附图对本发明作进一步说明:

假设π=[π(1),π(2),...,π(k),...,π(n)]代表一个需要被调度的序列。设cmax(π)表示加工序列π的最小的最大完工时间,p(π(i),k)代表第i个工件在第k个几区上的加工处理时间。d(π(i-1),π(i))表示相邻的两个工件(工件π(i-1)和工件π(i))间的最小的加工时间间隔它可以用如下的公式(1)计算得到:

加工序列π的最大完工时间可以通过计算如下的公式(2)得到.

为了简化计算序列加工时间的过程,我们引入了两个虚拟工件π(0)和π(n),并将这两个虚拟工件加工时间设为零。因此,工件序列π就被替换成了工件序列π’=[π(0),π(1),…,π(k),…π(n)]。设定因此计算加工序列π的最大完工时间的公式就变成了公式(3)。

π表示所有可能的加工序列的集合。最小的最大完工时间可以通过如下的公式四计算得到:

cmax(π*)=min{cmax(π)|π∈π}.(4)

零等待流水线车间调度问题的混合整数规划(mip)模型可以表述如下:

目标函数:

cmax(π*)=min{cmax(π)|π∈π}=min{cn,m(π)|π∈π}.(5)

约束条件:

ck,i≥0,k∈{1,2,…,n},i∈{1,2,…,m}(11)

xj,k∈{0,1},j,k∈{1,2,…,n}(12)

约束条件6和7保证了在排列π中所有工件出现并且只能出现一次。约束条件8为在第一台机器上加工的第一个工件的完工时间,保证了第一台机器开工时刻为零。约束条件9为在同一台机器上加工的相邻两工件完工时间之间的关系,保证了一台机器不能同时加工多个工件。约束条件10为同一工件的相邻两道工序完工时间之间的关系,保证了相邻工序之间的零时间等待。约束条件11限定所有工序的完工时间均大于零。约束条件12为决策变量的取值范围。

具体的步骤如下:

初始化参数:种群大小np=λmax;最大波长λmax=n/3(n表示工件的个数);最小波长λmin=λmax/2;排差系数α=0.2;通过拟合的方法来确定波高与工件和机器的关系,根据问题的规模来适应最大波高的大小,拟合的关系如图2所示,当工件的规模逐渐增加时,波高也逐渐增加,而机器的规模逐渐增加时,波高却逐渐的减小,因此,波高与工件和机器的关系如图3所示,最大波高hmax=0.1133×n-0.4466×m-0.0022×n×m+0.0001×n2+0.0132×m2+4.5407。

步骤1:依据nn(最近邻)+neh算法生成一个包含np个解(水波)的种群。

步骤2:评估每个解的适应度;如果终止条件满足,则返回当前已找到的最优解,算法结束。

步骤3:对种群中的每个水波x依次执行下列操作:

步骤3.1:根据迭代贪心算法策略执行传播操作,生成x'。

步骤3.2:如果f(x')>f(x),则:

步骤3.2.1:如果f(x')>f(x*),则对x'执行局部搜索操作,然后执行碎浪操作,并将x*更新为x'。

步骤3.2.2:将种群中的x替换为x'。

步骤3.3:否则:将x的波高减1。

步骤3.3.1:如果x.h==0,则执行折射操作。

步骤3.3.2:否则,依据概率p对该种群进行排差操作。

步骤3.4:更新每个水波的波长。

步骤4:更新整个种群的全局最优解,转步骤2。

具体的算法流程图如图1所示。

(1)在种群的初始化阶段,利用nn算法和neh算法初始化种群。

(2)在传播阶段,将迭代贪心算法(ig)融入到传播操作中,即将波长作为参数传入到迭代贪心算法中,作为移除工件的个数。

(3)在碎浪阶段引入基于插入操作的局部搜索机制(insert-basedlocalsearch),增强对历史最优解的重视。

(4)水波执行传播操作之后,如果得到的水波的适应度值劣于传播前的适应度,而且该水波的波高也没有减为0。此时,以概率p执行排差操作,即用该传播之后的水波替换掉种群中最差的水波。如此便加快了种群的收敛速度,给种群增加了一种趋优的趋势。

(5)一次迭代执行完之后,根据如下的公式来更新水波的波长:

为了更直观的验证本发明在实际问题中的性能,我们抽象出了一个75工件20机器的零等待流水线调度问题,应用本算法(dwwo)与其他的一些流行算法dpso(panqk,fatihtasgetirenm,liangyc.adiscreteparticleswarmoptimizationalgorithmfortheno-waitflowshopschedulingproblem.[j].computers&operationsresearch,2008,35(9):2807-2839.),iiga(panqk,fatihtasgetirenm,liangyc.adiscreteparticleswarmoptimizationalgorithmfortheno-waitflowshopschedulingproblem.[j].computers&operationsresearch,2008,35(9):2807-2839.),tmiig(dingjy,songs,guptajnd,etal.animprovediteratedgreedyalgorithmwithatabu-basedreconstructionstrategyfortheno-waitflowshopschedulingproblem[j].appliedsoftcomputing,2015,30:604-613.)进行了比较,算法的收敛图如图4。很明显,dwwo算法在解决调度问题时的收敛速度和算法性能要优于其他算法。

以上显示和描述了本发明的基本原理和主要特征及本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1