Abstract:

关于分布式流水车间调度不确定性因素与能量相关的目标函数研究较少。本文考虑了具有模糊处理时间的分布式节能混合流水车间调度问题。同时优化模糊完工时间、总一致性指数和模糊总能耗,提出了基于三个质量指标的 memeplex 评估。(混合蛙跳算法)

Introduction:

近年来,为快速响应市场变化和客户需求,生产从单厂转向多厂,多厂分布式调度成为当前调度研究的主要课题。在各种生产环境下的分布式调度已经取得了一些成果.

单厂节能型HFSP备受关注;然而,在 DHFSP 中几乎没有考虑与能源相关的目标或约束。显然,多厂生产的节能比单厂生产更重要,因此应充分研究节能型DHFSP,同时多厂对不确定性疏忽较单厂更大,因此研究不确定性多厂节能型调度问题很重要

解决方法概述:

本文提出了一种协作混洗蛙跳算法(CSFLA)来解决异构工厂中的模糊 DEHFSP。目标是同时优化模糊完工时间和模糊总能耗和总一致性指标。在CSFLA中,IG、VNS和全局搜索(GS)是基于问题的特征设计的,memeplex评估是在三个质量指标的基础上完成的:解决方案质量、进化质量和档案贡献度;为了提高搜索效率,在 memeplex 的搜索过程中进行了最佳 memeplex 和最差 memeplex 之间的有效协作,并提出了自适应种群改组。 CSFLA 在许多基准实例上进行了测试,并与文献中的方法进行了比较。计算结果表明,CSFLA 的新策略是有效和高效的,CSFLA 可以产生比其比较算法更好的结果。

模糊描述

三角模糊数常用描述时间,定义了加法,比较(排序)策略。

采用模糊排序来比较解决方案的模糊目标。

本文采用乘法运算计算总能耗。对于 TFN ̃s = (s1, s2, s3) 和常数 α,乘法运算定义为 α × ̃ s = (α × s1, α × s2, α × s3)(相当于分配律)

多厂节能模糊调度问题描述

n个工件,F个异构工厂,m个工序,w f l表示在工厂f中能加工l工序的又w f l台机器,M f lk表示在f工厂能加工工序l的第k台机器。

DEHFSP可分为三个子问题:1、为工件选择加工工厂 2、机器的分配 3、工件在机器上的加工次序等的调度.

带有模糊处理时间的DHFSP 数学模型如下:

等式(4)是最大化所有工件的一致性,等式(5)是最小化模糊完工时间;等式(6)是最小化模糊总能耗;约束(7)表示每个工作只在一个工厂处理;约束(8)表明,每个作业在每个阶段只能在一台机器上处理;约束(9)表明每个作业都可以在零时间后处理;约束条件(10)表示工序l+1进程的开始时间不早于工序l进程的结束时间;约束(11)表明该过程不能被中断;约束(12)-(14)证明每台机器一次只能处理一项工作;约束(15)-(17)给出二元决策变量。

对于 TAI,它是所有作业的 AIi 之和。一致性指数用于定义 ̃Ci 到到期日 ̃di 的延迟程度。下图显示了模糊完工时间、模糊到期日和协议指数。

对于TEC,模糊总耗能,例如机器Mflk,先算总时间等于分配给这个机器的所有工件集合的加工时间之和加上IDflk空闲总时间

耗能为

总耗能TEC就能求得。

SLFA算法描述

生成一个大小为P的种群,种群中每个解表示为一只青蛙的位置。下图为SFLA的算法流程

其中Population division是将种群分为s个memeplexes 社区,并将每个社区的青蛙位置(也就是解)按照适应度降序排列,然后将第 g 个解分配到 memeplex (g − 1)(mod s) + 1,其中 g(mod s) 表示 g/s 的余数。

Memeplex搜索是找到更好解决方案的主要过程,下图是Memeplex搜索方法

rand属于(0,1)

编码 解码

DEHFSP 由三个子问题组成:工厂分配、机器分配和调度。使用两串表示。对于具有 n 个工件和 F 个工厂的 DEHFSP,解决方案由工厂分配代码 [θ1, θ2, . . . , θ n] 和调度工序分配代码 [π1, π 2, . . . , π n]。 θi ∈ {1, 2, . . . , F} 表示分配给工件 Ji 的工厂,πi ∈ {1, 2, . . . ,n}。机器分配由规则决定。

下面描述解码过程。分配给每个工厂的工件都是根据工厂分配代码决定的,然后根据调度工序分配代码得到每个工厂分配的这些工件的排列。然后对于每个工厂分到的工件,从第一个工件开始,为该工件的工序选择加工机器,使得加工时间最短。例如工件Ji分配到f工厂,该工件第l道工序可在一个机器集合中选择,其中第k台机器使得加工时间最短,故为该工件选择机器Mflk

工厂分配代码:[2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 1, 1,2, 1, 1] 。12个分配到工厂1,8个分配到工厂2

调度工序分配代码:[20, 18, 5, 16, 15, 3, 14, 7, 19, 2, 8, 1, 17, 6,11, 4, 10, 13, 9, 12]。20个工件加工顺序即为代码所列

初始化种群划分

具有 N 个解的初始种群 P 是随机产生的。

种群划分:首先构造一个种群 ̄P,令g=1,采用二元锦标赛,也就是从P中随机选俩个体比较

直到P为空,结束。

Memeplex 评估

以三个指标用来评估Memeplex

算法知识补充:

混合蛙跳算法:混合蛙跳算法由局部搜索和全局信息交换两部分组成。
湿地的整个虚拟青蛙群被分为不同的memeplex(社群),每个memeplex(社群)进行独立的局部搜索,社群的个体随着社群的进化而进化。当社群进化到一定程度后,这些青蛙被混合并重组形成新的memeplex(社群),来使局部间的模因信息得到全局信息交换。局部搜索和全局信息交换一直持续交替到满足收敛条件为止。

跟所有的启发式算法一样,参数的选择对SFLA的表现很关键。SFLA有5个参数:
社群数量:m, 每个社群的青蛙数量:n, 子群中青蛙个数:q, 最大迭代次数:N, 最大步长:S_max

声明:以下步骤都是引用C++ 遗传学SFLA混合蛙跳算法这个老哥的。

1、生成蛙群,每只蛙个体包括基因维数数组以及价值(适应度)
2、对青蛙划分等级。将青蛙按照性能的好坏依次排列,生成数组:记录最好青蛙pg,同时对其进行分组(将数组group分成为m个memeplex)
3.1 设定最大进化次数N,iN=0为进化次数变量,子群个数m,im=0为子群计数变量。在每个                 memeplex中Pb和Pw分别表示性能最好和最坏的青蛙,Pg表示整个种群中最好的青蛙。                在每一轮的进化中,改善最坏青蛙Pw的位置。注意,并非对所有青蛙都优化。
3.2 调整最坏青蛙的位置,方法如下:
      青蛙移动的距离 Di=rand()*(Pb-Pw)
      新的位置 Pw=Pw(当前位置)+Di,(Dmax>=Di>=-Dmax)
      其中rand()是0-1之间的随机数,Dmax是青蛙移动的最大距离。
3.3 如果上述过程能够使得青蛙有一个更好的位置,即能产生一个更好的解,那么就用新的位置青        蛙取代原来的青蛙;否则,用Pg代替Pb,重复上述过程。
3.4 如果上述方法仍不能生成更好的青蛙,那么就随机生成一个新解取代原来最坏的青蛙Pw。
4、青蛙在memeplex之间跳跃。在每个memeplex中执行了一定的memetic进化之后,将各个子群合并到整体,再重新排序,并更新种群中最好的青蛙Pg
5、如果迭代终止条件满足,则停止;否则,继续迭代.一般情况下,当执行了一定次数的循环进化,代表最好解的青蛙的位置不再改变的时候,算法停止。

论文阅读-A cooperated shuffled frog-leaping algorithm for distributedenergy-efficient hybrid flow ...相关推荐

  1. 基本蛙跳算法(Frog leaping algorithm,FLA)

    1.蛙跳算法原理 蛙跳算法是基于种群进化的元启发式算法之一,通过模拟自然界中青蛙觅食过程中种群所体现出的交流与合作行为,以实现对问题的求解.在一片湿地中,分布着一群青蛙,每只青蛙有自己的想法,每只青蛙 ...

  2. 【区块链论文阅读】A Weak Consensus Algorithm and Its Applic

    [区块链论文阅读]A Weak Consensus Algorithm and Its Application to High-Performance Blockchain 这是一篇网络顶会INFOC ...

  3. 论文阅读笔记(5):Oracle Based Active Set Algorithm for Scalable Elastic Net Subspace Clustering

    论文阅读笔记(5):Oracle Based Active Set Algorithm for Scalable Elastic Net Subspace Clustering,基于Oracle的可伸 ...

  4. [论文阅读] (11)ACE算法和暗通道先验图像去雾算法(Rizzi | 何恺明老师)

    <娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...

  5. [论文阅读] (06) 万字详解什么是生成对抗网络GAN?经典论文及案例普及

    <娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...

  6. 【论文阅读】Learning Traffic as Images: A Deep Convolutional ... [将交通作为图像学习: 用于大规模交通网络速度预测的深度卷积神经网络](2)

    [论文阅读]Learning Traffic as Images: A Deep Convolutional Neural Network for Large-Scale Transportation ...

  7. 【论文阅读】Learning Traffic as Images: A Deep Convolutional ... [将交通作为图像学习: 用于大规模交通网络速度预测的深度卷积神经网络](1)

    [论文阅读]Learning Traffic as Images: A Deep Convolutional Neural Network for Large-Scale Transportation ...

  8. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](7)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](7) Into the Weeds Other types of grap ...

  9. character-level OCR之Character Region Awareness for Text Detection(CRAFT) 论文阅读

    Character Region Awareness for Text Detection 论文阅读 论文地址(arXiv) ,pytorch版本代码地址 最近在看一些OCR的问题,CRAFT是在场景 ...

最新文章

  1. zabbix之通过jmx监控tomcat
  2. 每日一皮:互联网人去银行面试...
  3. 【Android工具】安卓手机轻松获取硬件数据和状态信息
  4. 阿里RocketMQ是怎样孵化成Apache顶级项目的?
  5. SetTimer和KillTimer详解
  6. libinject的编译
  7. Kafka会不会重复消费
  8. matlab在activex中读取视频,[转载]matlab读取excel数据并显示在excel(activex控件)中
  9. 使用ajax提交图片,提交已经注入文件的表单给后台上传图片 使用ajaxsubmit
  10. Android开发2:事件处理及实现简单的对话框(Toast,AlertDialog,Snackbar,TextInputLayout的使用)...
  11. 使用struct与typedef定义结构体
  12. 迅雷的FLV文件迷你播放器
  13. 软件测试是不是IT行业最容易学的 ,大概需要多长时间,就业前景好吗?
  14. 运维自动化之殇 | 高效运维最佳实践05
  15. openstack-Agile Controller-DCN插件安装
  16. # Android实习周记-9.29
  17. 辰颐物语系统(开发、奖励规则)
  18. 系统分析师上午题-第 1 章 计算机组成与体系结构
  19. 异常Exception和异常日志笔记
  20. Ubuntu20.04安装搜狗拼音(详细操作 有图)

热门文章

  1. 服务器自定义防火墙,windows服务器防火墙设置自定义规则
  2. vue2和vue3的区别(由浅入深)
  3. LeetCode 1.Minimum Path Sum 2.Unique Paths I and II
  4. 科技新品 | 卡西欧紧凑型G-SHOCK;三星全新智能手机内存组合;佳能单张纸彩色印刷系统新品...
  5. Nginx系列--upstream模块的使用
  6. 960帧高速摄影原理及知识普及(红米K20Pro)
  7. 百厨盛达厨房设备中心:乐信万能蒸烤箱适合做什么菜
  8. java syslog-ng_syslog-ng详细安装配置
  9. MYOJ 的来源和现状
  10. 是谁在我的心里打了个结(十七)袋子