CN112598309A - 基于Keras的作业车间调度方法 - Google Patents
基于Keras的作业车间调度方法 Download PDFInfo
- Publication number
- CN112598309A CN112598309A CN202011597378.6A CN202011597378A CN112598309A CN 112598309 A CN112598309 A CN 112598309A CN 202011597378 A CN202011597378 A CN 202011597378A CN 112598309 A CN112598309 A CN 112598309A
- Authority
- CN
- China
- Prior art keywords
- action
- job shop
- state
- experience
- shop scheduling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Entrepreneurship & Innovation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Development Economics (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Educational Administration (AREA)
- Bioinformatics & Computational Biology (AREA)
- Game Theory and Decision Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
基于Keras的作业车间调度方法,包括:(1)定义作业车间调度问题;(2)构建网络模型;(3)加载作业车间调度问题的DQN类。本发明融合了神经网络和Q学习的方法来对作业车间调度问题进行优化。将作业车间调度在实际应用中状态和动作当作神经网络的输入,然后经过神经网络分析后得到动作的Q值,可以极大的优化计算机内存,且可以使原本更加复杂的问题变得简单。深度Q学习算法的经验回放机制,可以将智能体于环境交互产生的经验数据依次存储到固定大小的经验池中,算法每次迭代时从经验池中随机抽取一个小批量的数据来学习,这种从经验池中随机抽取数据的方式打破了原本序列数据的强相关性,提高了算法的稳定性,并且提高了数据的利用效率。
Description
技术领域
本发明涉及一种基于Keras的深度Q学习算法应用于作业车间调度问题。
背景技术
近年来,制造业在国民经济增长中占有重要的地位,在GDP中占有相当的比例。伴随着中国经济的转型期,中国的制造业也从以往的劳动密集型向技术密集型进行转换,智能装备在其中起到了举足轻重的作用。在制造业研究的众多领域中,作业车间调度优化问题是最基本,也是研究得较为深入的问题之一。虽然人类对作业车间调度问题进行了许多年的研究,也取得了大量的成果,但是随着研究的深入,理论结果与实际结果之间还存在着明显的差别。作业车间调度问题可以简单的描述如下:给定一组工件和机器,每个工件都包含若干道给定的按先后次序加工的工序,每道工序需要占用某一台机器进行加工,问题需要满足3个约束条件:
1)某道工序的加工一旦开始,就不能中途停止
2)每个工件的工序加工先后次序是预先给定的,在工序被安排到机器上进行加工时不能改变
3)每台机器在任意时刻最多只能加工一个工序
发明内容
为了克服上述现有技术的不足,本发明提供了一种基于Keras的作业车间调度问题的深度Q学习算法,这是一种融合了神经网络和Q学习的方法来对作业车间调度问题进行优化。当今世界的问题太过复杂,如果使用传统的表格形式来存储每一个状态和在这个状态每个行为所拥有的Q值,恐怕是有再大内存的计算机都不够,而且每次在这么大的表格中搜索对应的状态也是一件非常耗时的事情。但是神经网络却对解决这种问题很有优势,我们可以将状态和动作当作神经网络的输入,然后经过神经网络分析后得到动作的Q值,这样就没有必要在表格中记录Q值了。同时深度Q学习算法的经验回放机制,将智能体于环境交互产生的经验数据依次存储到固定大小的经验池中,算法每次迭代时从经验池中随机抽取一个小批量的数据来学习,它能学习当前经历的,也能学习过去经历的,甚至是学习别人的经历,这种从经验池中随机抽取数据的方式打破了原本序列数据的强相关性,提高了算法的稳定性,并且提高了数据的利用效率。
本发明是一种基于Keras的作业车间调度方法,包括以下步骤:S1.定义作业车间调度问题,具体包括:
S11.初始化函数;
S12.定义获取工件工序可能位置信息类,遍历这个时间线,返回工件加工工序的可能位置;
S13.定义获取工件工序特征类,返回当前工件处理某个工序的状态特征,用户可以更改该特征以获得更强大的模型;
S14.定义行动步骤类,由主函数DQN类调用,返回当前状态信息输入相应的动作并返回状态得分并完成;选择要处理的工件处理;返回下一个状态信息;
S15.定义作业车间调度问题类,稳定的作业车间调度问题或者随机作业车间调度问题;
S16.定义行动管理类,计算加工工件工序的处理时间并返回全部完工时间;S2.构建网络模型,具体包括:
S21.选择Sequential序列模型;
S22.添加4层全连接层,输出大小为24,激活函数为relu,添加一层linear激活层,输出大小为1,打印出模型概况;
S23.将经验数据存入经验池,设置当前状态state,基于当前状态选择的动作action,执行动作获得的回报reward,执行动作后环境变成的next_state,以及done;
S24.根据策略选择一个动作;
S25.选择当前状态下要执行的动作,得到奖励;
S26.经验回放,训练网络模型;
S27.模型加载;
S28.保存模型;
S3.加载作业车间调度问题的DQN类,具体包括:
S31.初始化函数:工件数,机器数,特征数,状态数,动作数,智能体类参数,经验池;
S32.对episode在最大回合范围内循环遍历:
S32-1初始化序列和预处理后序列;
S32-2对t从1到T(工件数*机器数)执行;
S32-3根据观测的状态值从动作集中随机选取动作,对作业车间调度的工件工序执行该动作action,得到奖励reward,执行该动作后的状态next_state,和游戏是否结束done;
S32-4计算奖励值,更新得分;
S32-5存储当前加工工件的工序状态status,当前动作action,奖励reward,下一个状态next_status,done到经验池里;
S32-6更新下一个状态next_status变为下次循环的状态status;
S32-7判断经验池里的数据是否足够多,如果不够,则转到S32-8)步;
S32-8判断游戏是否结束;
S33.每10个回合保存一次网络模型参数;
S34.打印作业车间调度信息:循环回合次数,奖励值得分信息,每10个回合内的成功次数,智能体的epsilon值信息,返回最小完工时间的工件工序序列信息。
本发明的优点是:深度强化学习在训练过程中,智能体在环境中不断做出尝试,不断“试错”。在当前状态中的随机选取下一个可执行的动作,执行该动作后得分得到下一个状态,在下一个状态中,在自我经验中,选取Q矩阵最有价值的动作经验得分,并且将这些经验存储下来,可以进行经验回放。针对车间工作调度问题,也正是融合神经网络和Q学习的方式,将一个工件的某个工序在处理流程上获取其当前状态,根据策略执行下一个动作,获得奖励值,更新下一个状态。对于每次训练,从经验池中均匀随机地选择一个固定数量的样本数据,然后利用这些随机选择的样本数据来训练神经网络。
附图说明
图1为网络结构模块图。
图2为强化学习基本框架。
具体实施方式
为了能够更容易理解本发明的流程,下面将以4*5工作车间调度问题为例,对结合图1的网络结构模型图对本发明进一步说明。
本发明的基于Keras的作业车间调度方法,包括以下步骤:
Step1.环境导入:python 3.5,keras,numpy;
Step2.构建网络结构模块,由于模块均为单输入单输出,层与层之间只有相邻关系,没有跨层的连接,选择模型为序列模型;
Step3.如图1所示,添加四层全连接层,输出大小为24,激活函数为relu,添加一层全连接层,输出大小为24,激活函数为relu,自定义损失函数,优化器;
Step4.设置最大回合数EPISODE为10000;
Step5.基于Keras的深度强化Q学习网络;
Step5.1.初始化函数:工件数,机器数,特征数,状态数,动作数,智能体超参,经验池;
Step5.2.在最大回合内循环,读取4*5作业车间调度问题,判断稳定数组的作业车间调度问题或者随机数组的作业车间调度问题,读取工件数为5,机器数为4,遍历时间表,获取加工一个工件某个工序时可能的位置,返回当前状态的特征,当前动作,并对下一个动作进行选择;执行下一个动作,获取奖励值完成并对分数值进行更新;
Step5.3.存储经验值用于经验回放;
Step5.4.更新衰减epsilon值,直到低于等于最小epsilon值;
Step5.5.当DQN的经验回放池大于设定经验池大小时才开始训练网络;
Step5.6.每10个回合保存一次网络模型参数;
Step5.7.将回报值累加成分数值输出;
Step6.重复步骤Step5.1-Step5.7,回合数超过最大回合数时为超时,回合结束。
本发明融合了神经网络和Q学习的方法来对作业车间调度问题进行优化。一方面在网络结构模型上,该方法将车间工作调度在实际应用中状态和动作当作神经网络的输入,然后经过神经网络分析后得到动作的Q值,这种方式可以极大的优化计算机内存,且可以使原本更加复杂的问题变得简单。另外一方面深度Q学习算法的经验回放机制,可以将智能体于环境交互产生的经验数据依次存储到固定大小的经验池中,算法每次迭代时从经验池中随机抽取一个小批量的数据来学习,这种从经验池中随机抽取数据的方式打破了原本序列数据的强相关性,提高了算法的稳定性,并且提高了数据的利用效率。
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。更好的理解本发明,下面结合附图2和实例对本发明进行详细描述。
Claims (1)
1.本发明是一种基于Keras的作业车间调度方法,包括以下步骤:
S1.定义作业车间调度问题,具体包括:
S11.初始化函数;
S12.定义获取工件工序可能位置信息类,遍历这个时间线,返回工件加工工序的可能位置;
S13.定义获取工件工序特征类,返回当前工件处理某个工序的状态特征,用户可以更改该特征以获得更强大的模型;
S14.定义行动步骤类,由主函数DQN类调用,返回当前状态信息输入相应的动作并返回状态得分并完成;选择要处理的工件处理;返回下一个状态信息;
S15.定义作业车间调度问题类,稳定的作业车间调度问题或者随机作业车间调度问题;
S16.定义行动管理类,计算加工工件工序的处理时间并返回全部完工时间;
S2.构建网络模型,具体包括:
S21.选择Sequential序列模型;
S22.添加4层全连接层,输出大小为24,激活函数为relu,添加一层linear激活层,输出大小为1,打印出模型概况;
S23.将经验数据存入经验池,设置当前状态state,基于当前状态选择的动作action,执行动作获得的回报reward,执行动作后环境变成的next_state,以及done;
S24.根据策略选择一个动作;
S25.选择当前状态下要执行的动作,得到奖励;
S26.经验回放,训练网络模型;
S27.模型加载;
S28.保存模型;
S3.加载作业车间调度问题的DQN类,具体包括:
S31.初始化函数:工件数,机器数,特征数,状态数,动作数,智能体类参数,经验池;
S32.对episode在最大回合范围内循环遍历:
S32-1初始化序列和预处理后序列;
S32-2对t从1到T(工件数*机器数)执行;
S32-3根据观测的状态值从动作集中随机选取动作,对作业车间调度的工件工序执行该动作action,得到奖励reward,执行该动作后的状态next_state,和游戏是否结束done;
S32-4计算奖励值,更新得分;
S32-5存储当前加工工件的工序状态status,当前动作action,奖励reward,下一个状态next_status,done到经验池里;
S32-6更新下一个状态next_status变为下次循环的状态status;
S32-7判断经验池里的数据是否足够多,如果不够,则转到S32-8)步;
S32-8判断游戏是否结束;
S33.每10个回合保存一次网络模型参数;
S34.打印作业车间调度信息:循环回合次数,奖励值得分信息,每10个回合内的成功次数,智能体的epsilon值信息,返回最小完工时间的工件工序序列信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011597378.6A CN112598309B (zh) | 2020-12-29 | 2020-12-29 | 基于Keras的作业车间调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011597378.6A CN112598309B (zh) | 2020-12-29 | 2020-12-29 | 基于Keras的作业车间调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112598309A true CN112598309A (zh) | 2021-04-02 |
CN112598309B CN112598309B (zh) | 2022-04-19 |
Family
ID=75203536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011597378.6A Active CN112598309B (zh) | 2020-12-29 | 2020-12-29 | 基于Keras的作业车间调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112598309B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113487165A (zh) * | 2021-07-01 | 2021-10-08 | 福州大学 | 基于深度强化学习的智能工厂生产作业调度方法及系统 |
WO2024046649A1 (en) | 2022-08-31 | 2024-03-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Cloud-native test bed generation and build |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110555584A (zh) * | 2019-07-17 | 2019-12-10 | 浙江工业大学 | 一种基于深度强化学习的自动化停车场调度方法 |
CN111160755A (zh) * | 2019-12-26 | 2020-05-15 | 西北工业大学 | 一种基于dqn的飞机大修车间实时调度方法 |
CN111582311A (zh) * | 2020-04-09 | 2020-08-25 | 华南理工大学 | 基于强化学习利用动态奖励示例样本训练智能体的方法 |
US20200366385A1 (en) * | 2019-05-15 | 2020-11-19 | Huawei Technologies Co., Ltd. | Systems and methods for wireless signal configuration by a neural network |
CN111985672A (zh) * | 2020-05-08 | 2020-11-24 | 东华大学 | 一种多Agent深度强化学习的单件作业车间调度方法 |
-
2020
- 2020-12-29 CN CN202011597378.6A patent/CN112598309B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200366385A1 (en) * | 2019-05-15 | 2020-11-19 | Huawei Technologies Co., Ltd. | Systems and methods for wireless signal configuration by a neural network |
CN110555584A (zh) * | 2019-07-17 | 2019-12-10 | 浙江工业大学 | 一种基于深度强化学习的自动化停车场调度方法 |
CN111160755A (zh) * | 2019-12-26 | 2020-05-15 | 西北工业大学 | 一种基于dqn的飞机大修车间实时调度方法 |
CN111582311A (zh) * | 2020-04-09 | 2020-08-25 | 华南理工大学 | 基于强化学习利用动态奖励示例样本训练智能体的方法 |
CN111985672A (zh) * | 2020-05-08 | 2020-11-24 | 东华大学 | 一种多Agent深度强化学习的单件作业车间调度方法 |
Non-Patent Citations (2)
Title |
---|
BAO-AN HAN: "Research on Adaptive Job Shop Scheduling Problems Based on Dueling Double DQN", 《IEEE ACCESS》 * |
杨奔 等: "基于DQN 的动态深度多分支搜索自动配载算法", 《计算机工程》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113487165A (zh) * | 2021-07-01 | 2021-10-08 | 福州大学 | 基于深度强化学习的智能工厂生产作业调度方法及系统 |
CN113487165B (zh) * | 2021-07-01 | 2024-05-03 | 福州大学 | 基于深度强化学习的智能工厂生产作业调度方法及系统 |
WO2024046649A1 (en) | 2022-08-31 | 2024-03-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Cloud-native test bed generation and build |
Also Published As
Publication number | Publication date |
---|---|
CN112598309B (zh) | 2022-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112598309B (zh) | 基于Keras的作业车间调度方法 | |
Kafouros et al. | Cycles of de-internationalization and re-internationalization: Towards an integrative framework | |
CN112734172B (zh) | 一种基于时序差分的混合流水车间调度方法 | |
Louis et al. | Learning with case-injected genetic algorithms | |
Stanescu et al. | Evaluating real-time strategy game states using convolutional neural networks | |
CN112381273B (zh) | 一种基于u-nsga-iii算法的多目标作业车间节能优化方法 | |
CN112561225B (zh) | 一种基于标杆协同进化算法的柔性作业车间调度方法 | |
CN114565247B (zh) | 一种基于深度强化学习的车间调度方法、装置和系统 | |
US20240029177A1 (en) | Factory simulator-based scheduling system using reinforcement learning | |
Bouzy et al. | Multi-agent Learning Experiments on Repeated Matrix Games. | |
CN111353646A (zh) | 带切换时间的炼钢柔性调度优化方法、系统、介质及设备 | |
Zha et al. | Simplifying deep reinforcement learning via self-supervision | |
CN115619007A (zh) | 智能制造排产方法、装置、电子设备及介质 | |
Iklassov et al. | On the Study of Curriculum Learning for Inferring Dispatching Policies on the Job Shop Scheduling. | |
CN110135752A (zh) | 一种具有切换时间的成套订单的调度方法 | |
CN117314055A (zh) | 基于强化学习的智能制造车间生产-运输联合调度方法 | |
CN116562584A (zh) | 一种基于Conv-Dueling与泛化表征的动态车间调度方法 | |
CN113657742B (zh) | 车间调度方法、装置、电子设备及存储介质 | |
CN109857552A (zh) | 一种游戏人工智能行动规划方法及系统 | |
CN116070826A (zh) | 一种铁路货车车身喷涂作业并行机调度方法 | |
CN111783976B (zh) | 一种基于窗口梯度更新的神经网络训练过程中间值存储压缩方法和装置 | |
CN116128334A (zh) | 质检任务调度方法、设备及介质 | |
CN114219274A (zh) | 一种基于深度强化学习适应机器状态的车间调度方法 | |
CN110716522A (zh) | 基于任意时间a*启发式搜索的制造企业车间调度优化方法 | |
CN116489193B (zh) | 一种作战网络自适应组合方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |