论文阅读|《一种节能多目标分布式无等待流水车间调度的协同优化算法》

Posted 码丽莲梦露

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了论文阅读|《一种节能多目标分布式无等待流水车间调度的协同优化算法》相关的知识,希望对你有一定的参考价值。

《A collaborative optimization algorithm for energy-efficient multi-objective
distributed no-idleflow-shop scheduling》

Swarm and Evolutionary Computation/2019

论文链接https://www.sciencedirect.com/science/article/pii/S2210650219302652?via%3Dihub

1 摘要

        本文研究了以最小完工时间总能耗为目标的节能分布式无空闲置换流水作业调度问题(energy-efficient distributed no-idle permutationflow-shop scheduling problem,EEDNIPFSP)。通过分析问题的特点,引出了问题的几个性质。为了有效地解决问题,利用协同优化的性质和一些协同机制,提出了一种协同优化算法(COA)。首先,协同使用两种启发式算法进行种群初始化,以保证一定的质量和多样性。第二,多个搜索机制以竞争的方式合作,以自适应地增强搜索能力。第三,针对被支配个体和非被支配个体设计了不同的局部集约化策略,以加强探索。第四,针对非关键作业设计了速度调节策略,提高了总能耗。

2 问题描述

        n个工件分配给F个工厂进行加工。每个工厂都有一套相同的机器。对于每个工件,有m道工序要在M1到Mm上依次进行加工。每个工件的加工顺序都是一样的。。一旦开始加工,每台机器上的两个连续工序之间不允许有空闲时间。除非所有工件全部完成加工,否则机器无法停止。每台机器可以以不同的速度运行,但在工序加工过程中不能切换速度。对于任意两个连续操作,速度切换时间被忽略。假设速度越高,实际处理时间越短,但能耗越大。目标是最小化最大完工时间(Cmax)和总能耗(TEC)。

2.1 节能型单工厂NIPFSP性能研究

        显然,一旦确定了所有工件的分配,就可以分别优化每个工厂的调度.详细可见原文,此处仅作罗列:

        (1)定义1:工件阻塞

        (2)定义2:机器的关键工序,即如果工件序列上的工件j-1和j分别为Mj-1和Mj上的阻塞工件,那么与之相关的一系列工序可以称之为关键工序,具体参考原文。

        (3)性质1:对于阻塞攻击按可以通过加速关键工序的加工来解除阻塞;

        (4)性质2:对于EEDNIPFSP,TEC只取决于速度,而不取决于工厂分配和作业顺序。

3 EEDNIPFSP的协同优化算法

算例:

 3.1 编码机制

        可行解可表示为(π,V):

         π表示作业3、作业6、作业5和作业1被分配给处理顺序为3→6→5→1的f1工厂,而作业2、作业7和作业4被分配给处理顺序为2→7→4的f2工厂。

         V表示:以作业1为例,机器M1上的作业1的实际处理时间为t1=4/2=2,机器2上的作业1的实际处理时间为t1,2=3/3=1.

Gantt图展示:

3.2 协同初始化

3.2.1 初始化速度(COT)

        COT方法的目的是使实际加工时间尽可能接近两台相邻机器之间的完成时间差,因此有利于减少制造工期。为了丰富种群多样性,在COT中随机确定工厂分配和加工顺序。

 

 3.3 算子竞争(Operator Competition)

         由于这篇文章是双目标,设计了两个算子:(详情参照原文)

                (1)序列相关的算子:OS,OI,DS,DI

                (2)速度相关的算子:SA,SD,在此基础上还定义了两个验收准则AC1,AC2

 3.4 Regeneration

        在COA中,定义了连续优势世代(cdg)指标来判断个体是否更差。例如,如果一个个体Xx持续被支配了5代,则dgx等于5。一旦Xx成为非支配个体,它的dgx等于0.如果Xx满足再生条件cdgx>MDG,则被认为是较差的个体,其中MDG表示最大被支配代数。

         研究表明,缩短关键操作的处理时间将缩短关键操作的完成时间。根据性质1,我们设计了一种基于关键操作加速的再生方法,作为算法3来再生有前途的个体。具体而言,首先随机选择一个非支配个体,然后按算法4确定关键操作,最后通过加速关键操作的速度生成新的个体。

 3.5 局部强化(Local intensification)

         在COA中,对所有非劣解进行基于插入的局部强化(insertion-based local intensification)。简言之,文章中的处理就是将加工时间长的工厂中的一个工件放进别的工厂进行声场,选择总完工时间最小的作为新个体

 3.6 节能(Energy saving)

        简言之,就是再不改变总完工时间的情况下,尽可能的减少某些工序的加工速度,以此来节能。

        确定非关键操作的步骤可见:

 3.7 COA的整体框架

 4 实验

算例来源:《Carbon-efficient scheduling of flow shops by multi-objective optimization》(European Journal of Operational Research/2016)

 为了验证COA的每个设计组件是否有效,考虑了以下变体:

        A1:随机初始化的CoA,

        A2:随机搜索操作符选择的CoA,具体地说,随机选择一个序列相关操作符和一个速度相关操作符在每个个体上执行。

        A3:不执行再生运算符的CoA。

        A4:不执行局部强化操作的CoA。

        A5:不执行节能操作员的CoA。

       实验在这5种变体上进行,并在最后做了一个算法对比实验,对比的对象是NSGA。

以上是关于论文阅读|《一种节能多目标分布式无等待流水车间调度的协同优化算法》的主要内容,如果未能解决你的问题,请参考以下文章

论文阅读|《强化学习在加工时间可变的机器人流水车间调度中的应用》

论文阅读|《制造环境下多AGV调度的强化学习方法》

论文阅读|《一种求解准时车间调度问题的元启发式算法》

论文阅读|《基于数字孪生车间的特征过程机床超网络智能调度》

论文阅读|《基于加权Q学习算法的自适应车间调度策略》

论文阅读|《一种基于多智能体的协同调度与路由方法》