“在代码的海洋里,有无尽的知识等待你去发现。我就是那艘领航的船,带你乘风破浪,驶向代码的彼岸。
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
针对机器故障这一复杂状况下的柔性作业车间调度问题(FJSP),该代码独具匠心地提出了一种基于卷积神经网络的两阶段高效且切实可行的算法。精心建立了以最大完成时间和鲁棒性作为核心目标的双目标动态灵活作业车间调度问题(DFJSP)模型。别出心裁地提出了一种充分利用 CNN 构建而成的预测模型,并创造性地开发了一种替代度量 RMn 来全面且精准地评估鲁棒性。大量的实验结果充分表明,所提出的两阶段算法具备出色的能力,能够行之有效地求解 DFJSP,并且 RMn 能够以更快的速度、更高的效率以及更为准确的方式来评估调度的鲁棒性。
📚2 运行结果
主函数部分代码:
clear
clc
close all
tic;
%%
NINDA=1;
NINDB=0;
MAXGEN=100;
XOVR=0.6;
MUTR=0.2;
NIND=100;
space=' ';
% problem data
AA=textread ('10-10.txt');
Pcolor=textread('color1.txt');
tic
handles.calculation_listbox1=[];
handles.calculation_edit1=[];
handles.solution=[];
%%
pop.Jm=[];
pop.T=[];
pop.PNumber=[];
pop.MPNumber=[];
pop.JmNumber=[];
pop.WNumber=[];
pop.Maxchrom=[];
pop.PP=[];
pop.Number=[];
pop.NIND=NIND;
%%
Nondominatedset.S=[];
Nondominatedset.Objv=[];
Nondominatedset.number=[];
pop=time(AA,pop);
gen=0;
%%
Chrom=newsolution(pop,NINDA,NINDB);
ObjV=[];
[ObjV(:,1),ObjV(:,2)]=caln(Chrom,pop);
%%
while gen<MAXGEN
SelCh1=across(Chrom,XOVR,pop);
SelCh2=aberranceJm(SelCh1,MUTR,pop);
[makespan1,RMn]=caln(SelCh2,pop);
SelCh3=[SelCh2;Chrom];
makespan1=[makespan1;ObjV(:,1)];
RMn=[RMn;ObjV(:,2)];
[Chrom,ObjV,Nondominatedset]=NSGA2_select(SelCh3,makespan1,RMn,pop,Nondominatedset);
gen=gen+1;
makespan1=ObjV(:,1);
RMn=ObjV(:,2);
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。
[1]丁云明,陈荔,张昕瑞.基于深度强化学习的柔性作业车间调度问题[J].控制工程,2024,31(07):1185-1194.DOI:10.14107/j.cnki.kzgc.20220608.
[2]周伟,孙瑜,李西兴,等.混合遗传变邻域搜索算法求解柔性车间调度问题[J].计算机工程与设计,2024,45(07):2041-2049.DOI:10.16208/j.issn1000-7024.2024.07.017.