求解带不确定事件的FJSP的多目标强化学习框架

news2024/11/26 8:29:09

文献:Hao Wang, Junfu Cheng, Chang Liu, Yuanyuan Zhang, Shunfang Hu, Liangyin Chen,Multi-objective reinforcement learning framework for dynamic flexible job shop scheduling problem with uncertain events,Applied Soft Computing,Volume 131,2022,109717,ISSN 1568-4946,https://doi.org/10.1016/j.asoc.2022.109717.

源码可见此处:Multi-Objective Reinforcement Learning Framework for Dynamic Flexible Job Shop Scheduling Problem with Uncertain Events | Code Ocean

1 文献简述

问题:动态多目标柔性作业车间调度问题,涉及工件插入、取消、工件的工序修改;机器增加、更换、故障6个动态事件。

目标:最小化最大完工时间(makespan)、平均机器利用率和平均工件加工延迟率。

解决方式:两个DQN网络和实时处理框架来处理每个动态事件和生成完整的调度方案,此外,采用局部搜索算法进一步优化调度结果。

2 求解框架

实时动态事件处理框架如下图所示,这篇文章采用的是重调度的框架,即首先生成一个初始解,在出现扰动事件后,针对扰动事件将剩余未加工工件进行重排的方式。对各动态事件的处理如可见原文。

注:本人觉得这种方式其实在使用DRL求解静态调度,作者只是通过他的实时动态事件处理框架来营造了一个动态的氛围,未发挥出DRL求解动态调度问题的优势。

多目标深度强化学习的框架。

这篇文章的状态、动作和奖励函数多与清华大学Shu Luo的相似甚至相同。

3 动作状态奖励函数

如状态设计如下,显而易见,有这篇文献状态设计的影子《Dynamic scheduling for flexible job shop with new job insertions by deep reinforcement learning》(2020/Applied soft computing Journal/Tsinghua University/Shu Luo)

Dynamic scheduling for flexible job shop with new job insertions by deep reinforcement learning》原文内容如下:

动作设计为组合规则(FO+FT, FO+ST, FO+TT, SO+FT, SO+ST, SO+TT, TO+FT, TO+ST and TO+TT),其中,各规则的具体描述如下:

(1)工件选择规则(FO,SO,TO):

FO:优先选择工作完成率较低但交货期早的(文中描述为工件紧急度高的,文中对工件的紧急度进行了分级,根据交货期的早晚分为1、2、3三个不同的紧急度等级)

SO:优先考虑逾期时间长和高度的紧迫感的工件

TO:随机

(2)机器选择规则(FT,TT,ST):

FT:选择最早可加工工序的机器

ST:选择最早完成该工序加工的机器

TT:随机

其动作是其相关研究的换一种描述。

论文的创新点主要在于,实时动态事件处理框架和多目标深度强化学习的框架,其多目标深度强化学习的框架,但文中对其DRL的算法框架的理论描述相对较少,其框架的具体描述如下:

第一个DQN网络输出值表示目标奖励函数的选择,第二个DQN网络输出值表示具体的调度安排。

文中试图通过第一个DQN网络输出用于指导第二个DQN网络,以得到能到达对应目标。

4 疑惑与质疑

(1) 对于整个DRL网络框架的收敛性证明无,第一个DQN网络的输出传入第二个网络作为输入,可见两个DQN网络具有一定的相关性,然而在两个网络损失函数的计算时,分别对两个网络使用均方误差(MSE),网络间无关联。

(2)所设计的奖励函数对三个目标的指导意义是否存在。文中以三个目标为优化目标,而奖励函数为两个,是否可认为也就是优化的两个目标?以两个奖励函数随机选择的方式来优化三个目标,其优化方向是怎样的,是否会造成发散?

(3)规则中采用了随机的方式,是否会使训练具有不确定性,导致最终收敛的结果震荡很大?

(4)局部搜索的加入虽然能进一步提升解的质量,是否浪费了DRL响应优势?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/167805.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

超级详细的python知识点及练习题(附答案)

今天咱们继续来学习python的小知识吖,上一次木有看的同学请看:python8大核心语句 作者:阿玥的小东东 学习:python,正在学习c 主页:阿玥的小东东 目录 1.复习及易错,快来学习!&#…

基于python手撕实现BP 神经网络实现手写数字识别

本项目使用python实现全连接网络和梯度优化 方向传播并且实现了 手写数字识别项目: 神经网络 model 先介绍个三层的神经网络,如下图所示输入层(input layer)有三个 units( 为补上的 bias,通常设为

线程池ThreadPoolExecutor源码解析

参考视频 首先回顾一下创建线程等的三种方式 第一个是直接继承Thread类,重写run方法,这个其实内部也是继承了Runnable接口重写run方法。 比如: public class MyThread extends Thread{Overridepublic void run() {System.out.println("…

论文分享-《基于数据驱动多输出 ARMAX 建模的高炉十字测温中心温度》

1.简介 最近在学习研究NARMAX,故也分享下自己看的一篇论文。 2018 年 3 月 的《基于数据驱动多输出 ARMAX 建模的高炉十字测温中心温度》。主要是采用NARMAX模型进行预测,多输入多输出,有5个输出,预测中心五个点位的温度。下面讲…

计算机 - - - 局域网共享文件夹,局域网传输文件(待完善)

win10局域网共享文件夹 A电脑: 共享文件夹的电脑 B电脑: 访问共享文件夹的电脑 操作完成后, B电脑可以下载A电脑中的文件, B电脑可以修改删除, B电脑可以上传B电脑的文件到A电脑. A电脑 找到要共享的文件夹, 例如我要共享文档(E:), 我要把文档(E:)中的所有文件都让B电脑访问…

Python - 数据容器str(字符串)

目录 字符串的定义 字符串的常用操作 查找特定字符串的下标索引值 index 字符串的替换 replace 字符串的分割 split 字符串的规整操作 strip 统计字符串中某字符串的出现次数 count 统计字符串的长度 len 字符串切片 [起始下标:结束下标:步长] 字符串的定义 和其它容器…

银行案例分析:识别个人贷款客户画像,实现精准营销与风险防范

作为商业银行最主要的业务活动,也是收益最大的活动,贷款于银行的重要性不言而喻。又由于个人贷款是银行贷款不可或缺的一部分,那么了解个人贷款客户画像就有助于银行对客户进行精准销售和风险识别。 # 选手介绍 #张昊泽:亚利桑那州…

Pycharm入门搭建Django 项目

一、环境准备 1、pycharm版本 2、python版本 二、创建项目 击左上角的 File -> New Project 点击Create创建完成之后页面等待下载环境 查看Django的版本 python -m django --version 启动项目 python manage.py runserver 三、后记 在启动 Django 项目的时候我发现控制台…

【PaaS】分享一家最近发现的宝藏Paas厂家

目录 一、结识独自开 二、独自开的介绍 三、独自开的需求 四、独自开注册流程 五、神仙公司独自开 一、结识独自开 算是机缘巧合,我被C站白佬拉入了他的聊天群,群内均是来自于CSDN的不同领域的优质作者,其中不乏相关领域工作多年的老工程…

第一层:封装

文章目录前言类和对象封装class权限publicprotectedprivatestruct和class的区别封装的好处封装的用法学完封装,突破第一层🎉welcome🎉 ✒️博主介绍:一名大一的智能制造专业学生,在学习C/C的路上会越走越远&#xff0c…

【电子学会】2022年12月图形化四级 -- 金牌百分比

金牌百分比 计算金牌榜前十的国家获得的金牌总数占金牌总数的百分比。金牌榜前十的国家获得的金牌总数占金牌总数的百分比等于(金牌榜前十国家的金牌总数本届冬奥会金牌总数)100,并将这个数向下取整。 1. 准备工作 (1)保留舞台默认背景及角色小猫; (2)建立变量“金牌…

YOLOALL 一文了解YOLO各版本答案

来源:投稿 作者:ΔU 编辑:学姐 YoloAll项目简介 相信了解YOLO的小伙伴们一定都有这样的困扰,目前YOLO各个版本数量非常多,不知道在实际场景中应该选择哪个YOLO版本。甚至有时为了比较两个不同版本的YOLO的效果&#x…

python标准库xmlrpc 之RPC远程方法调用

💖💖💖养成每日阅读好习惯, 每天进步, 超越昨天的自己💖💖💖 愿景:输出体系化编程知识与技巧,助力软件行业发展与从业者学习减负,让编程产生更大价值。 🔎&am…

【linux】之网络安全

防火墙作用 在计算机领域,防火墙是用于保护信息安全的设备,其会依照用户定义的规则,允许或限制数据的传输。 用于保护内网安全的一种设备依据规则进行防护用户定义规则允许或拒绝外部用户访问防火墙分类 逻辑上划分,防火墙可以大体分为主机防火墙和网络防火墙 主机防火墙:…

服务注册与发现:Nacos Discovery

目录 一、概述 二、Nacos discovery——服务的注册与发现 1. 版本关系 2. 下载安装 (1)下载 (2)启动 (3)浏览器访问 三、Nacos服务注册与发现实战 1. 构建Spring Cloud Alibaba工程 (1&…

Vite性能优化之分包策略

为什么需要分包策略? 浏览器的缓存策略 浏览器在请求静态资源时,只要静态资源的名称不变,它就不会重新请求 xxx.js资源。 使用Vite打包后的js文件是带有哈希值的,只要我们的代码内容有一点点变化,那么文件的hash值都…

ConfigMap

目录 文章目录目录本节实战前言1、创建:warning: yaml里易混淆的点(1)|用法(2)|和|-用法(3)>用法1.通过资源清单文件方法创建ConfigMap2.通过from-file关键字创建ConfigMap(1)fro…

二十九、Kubernetes中CronJob(CJ)详解

1、概述 在kubernetes中,有很多类型的pod控制器,每种都有自己的适合的场景,常见的有下面这些: ReplicationController:比较原始的pod控制器,已经被废弃,由ReplicaSet替代 ReplicaSet&#xff…

yolov5训练自己的数据集,OpenCV DNN推理

学更好的别人, 做更好的自己。 ——《微卡智享》 本文长度为4238字,预计阅读9分钟 前言 上一篇《OpenCV--自学笔记》搭建好了yolov5的环境,作为目标检测在应用中,最重要的还是训练自己的数字集并推理,所以这一篇就专门…

『Kubernetes』在Linux中快速安装K8S集群

📣读完这篇文章里你能收获到 K8S安装全过程博主自己实操笔记带你跳过所有坑感谢点赞收藏,避免下次找不到~ 文章目录一、基本环境配置1. 关闭selinux2. 关闭swap分区或禁用swap文件3. 修改网卡配置4. 关闭防火墙5. 设置机器HostName6. 更新系统时间二、k…