Python实现车间调度或论文
文章平均质量分 69
Python实现的车间调度问题
码丽莲梦露
在职运筹优化算法工程师
展开
-
多目标进化算法详细讲解及代码实现(样例:MOEA/D、NSGA-Ⅱ求解多目标(柔性)作业车间调度问题)
本文对基于分解的多目标进化算法及基于Pareto的多目标进化算法进行了详细的讲解,并使用柔性作业车间调度问题作为背景对两类算法中极具代表性的算法MOEA/D和NSGA-Ⅱ进行了复现。原创 2022-08-22 19:02:42 · 10004 阅读 · 6 评论 -
模糊时间的柔性车间调度问题-Python实现遗传算法求解
1 问题描述FJSPF(the FJSP with Fuzzy Processing time)可以表述如下:有n 个工件要在 m 台机器上加工。每个工件有ni个工序,每个工件必须按确定的路径完成所有工序,每道工序有1台及以上加工工序,工序的加工时间为模糊时间。1.1 模糊加工时间的运算 当工序加工时间为模糊时间时,要想能很好的排产出来,比如在甘特图上排产,需要一些模糊数运算操作。这些运算包括加法运算、两个模糊数的最大运算和模糊数的排序方法。加法运算用于计算运算的模糊完成时间。最大....原创 2022-05-04 19:00:36 · 3449 阅读 · 0 评论 -
(pytorch复现)基于深度强化学习(CNN+dueling network/DQN/DDQN/D3QN/PER)的自适应车间调度(JSP)
为了深入学习各种深度学习网络和强化学习的结合,实现了一下下列文章:Research on Adaptive Job Shop Scheduling Problems Based on Dueling Double DQN | IEEE Journals & Magazine | IEEE Xplore状态、动作、奖励函数及实验的简单介绍可参考:基于深度强化学习的自适应作业车间调度问题研究_松间沙路的博客-CSDN博客_强化学习调度整体代码复现可见个人Github:Aihong-Sun原创 2021-12-27 15:25:49 · 7627 阅读 · 14 评论 -
用Python实现基于遗传算法(GA)求解混合流水车间调度问题(HFSP)
之前一直研究的是柔性作业车间调度问题,研究汇总如下:用python实现基于遗传算法求解柔性作业车间调度问题代码实现(包括标准算例准换、编码、解码、交叉、变异的详细讲述)用python实现基于蚁群算法求解带准备时间的双资源约束柔性作业车间调度问题用Python实现带运输时间准备时间的MSOS染色体解码(FJSP)Tensorflow2.0|基于深度强化学习(DQN)实现动态柔性作业车间调度问题(DFJSP)用Python实现论文《考虑装卸的柔性作业车间双资源调度问题》的降准解码算法今天,来讲.原创 2021-09-11 19:29:29 · 16868 阅读 · 29 评论 -
Tensorflow2.0|基于深度强化学习(DQN)实现动态柔性作业车间调度问题(DFJSP)
注:本文的python实现基于论文《Dynamic scheduling for flexible job shop with new job insertions by deep reinforcement learning》论文详情可见:论文阅读|《用强化学习求解带插单的动态FJSP》其他相关阅读可见个人CSDN专栏之《论文阅读与实现》,如:论文阅读|《基于加权Q学习算法的自适应车间调度策略》论文阅读|《基于仿真的具有批次放行和扩展技术优先约束的动态作业车间调度问题调度规则研究》论文原创 2021-07-13 11:07:17 · 11824 阅读 · 64 评论 -
用python实现基于遗传算法求解柔性作业车间调度问题代码实现(包括标准算例准换、编码、解码、交叉、变异的详细讲述)
FJSP标准算例转换代码链接:https://blog.csdn.net/crazy_girl_me/article/details/116058503GA求解FJSP编码和初始化链接:https://blog.csdn.net/crazy_girl_me/article/details/116058503绘制甘特图:https://blog.csdn.net/crazy_girl_me/article/details/110895843GA求解FJSP的交叉变异操作:https://b原创 2021-06-23 17:26:07 · 18763 阅读 · 7 评论 -
用python实现柔性作业车间调度基础数据(如Brandimarte_DATA、DAUZERE_DATA、Hurink_DDATA)的准换,转换为标准可用算例
算例形式如下:算例说明:第一行至少两个数字:第一个数字表示工件数、第二个数字表示机器数、第三个数字表示每道工序平均可有几台机器加工接下来每一行表示一个工件的各工序可用机器情况。。。。转换的代码:(用的时候记得换成自己的路径)import osimport sysimport numpy as npimport random#需要解决的问题#传入的path为当前文档所在路径之后的拼接路径def Get_Problem(path): if os.path.原创 2021-04-23 15:45:44 · 8830 阅读 · 13 评论 -
用python实现改遗传算法解柔性作业车间调度问题的编码和初始化(改良版本)
之前码的版本好多小伙伴都说有问题,现在我从以下几个方面做了一些小小的改进:(1)通通性,之前的版本针对工序不同的工件,我是将它化为一样的工序长度,显然复杂度和效率升高了不少,尤其是对更大规模的问题。(2)针对有的同学提出了我之前犯的错误做了修改。(3)提高了代码的使用性能,采用类来编码,直接用就可以了,无需对内部内容进行修改。好了,直接上代码:import numpy as npimport randomclass Encode: def __init__(self,Ma原创 2021-03-14 11:21:44 · 6072 阅读 · 17 评论 -
*用python实现改遗传算法解柔性作业车间调度问题的完整编码(用8*8和mk01做测例)(改进版本)
GA主程序:import numpy as npimport randomfrom Decode_for_FJSP import Decodefrom Encode_for_FJSP import Encodeimport itertoolsimport matplotlib.pyplot as pltclass GA: def __init__(self): self.Pop_size=300 #种群数量 self.P_c=0.8原创 2021-03-15 14:34:00 · 11930 阅读 · 67 评论 -
用python实现利用改进遗传算法求解FJSP染色体解码部分(改进版本)
之前的解码可能会出现解码不正确的现象导致甘特图出来有些问题,现在给出改进版本:就直接上代码了:Job类代码class Job: def __init__(self,Job_index,Operation_num): self.Job_index=Job_index self.Operation_num = Operation_num self.Processed=[] self.Last_Processing_end_ti原创 2021-03-14 14:52:55 · 4443 阅读 · 13 评论 -
用python绘制车间调度的甘特图(JSP)
之前都是写调度问题,今天给一个使用代码,也就是搞调度问题通常也不可 避免会用到的————甘特图首先,调用模块import matplotlib.pyplot as plt直接上代码,哈哈哈,废话不多说了def gatt(CHS,Processing_time,Setup_time,Transpotation_time,M_num,O_Max_len,J_num): D=Decode_Matrix(CHS, Processing_time, Setup_time, Transpotation_原创 2020-12-08 21:51:42 · 7169 阅读 · 7 评论 -
用python实现改进遗传算法求解的FJSP问题的8*8测试实例
测试数据:文章中结果: 这个例子比较满意的结果为16,或则也存在更优的结果代码如下:import numpy as npimport matplotlib.pyplot as pltimport randomimport itertools#全局初始化def Global_initial(T0,O,GS,MS,n,M,OS_list,OS): Machine_time = np.zeros(M,dtype=floa...原创 2020-10-14 16:19:10 · 1933 阅读 · 20 评论 -
用python实现改进遗传算法求解FJSP问题的完整编码
学习目标:上两篇内容写了遗传算法求解FJSP算法的编码和初始化以及解码方式,今天把完整的算法代码放上来,与大家一块学习。算法的基本步骤:代码:import numpy as npimport matplotlib.pyplot as pltimport randomimport itertools#全局初始化def Global_initial(T0,O,GS,MS,n,M,OS_list,OS): Machine_time = np.zeros(M..原创 2020-10-10 15:17:07 · 7686 阅读 · 20 评论 -
用python实现利用改进遗传算法求解FJSP染色体解码部分
项目场景:上次,我讲述了遗传算法应用在车间调度中的编码方式,今天,我讲一下解码,参考书目依然是高亮的《柔性作业车间调度智能算法及应用》解码方式:代码如下:import numpy as npimport randomT0_1=12 #染色体长度的一半N=4 #工件数L=[ [[2,3,4,9999,9999,9999],[9999,3,9999,2,4,9999],[1,4,5,9999,9999,999原创 2020-10-08 11:27:08 · 5994 阅读 · 12 评论 -
python实现改遗传算法解柔性作业车间调度问题的编码和初始化
编码就是将问题的解用一段码来表示,从而将问题的状态空间与算法的编码空间相对应。 编码的目的是为了实现算法的交叉、变异等类似生物界的遗传操作。我个人认为初始化以及明晰的编码方式是每个初学者进入智能优化算法学习的敲门砖,因此,本文从次开始,详细讲解编码及初始化方式,帮初入门的同学,能更快的入门。原创 2020-09-29 16:42:04 · 18175 阅读 · 18 评论