当前位置: 服务支持 >  技术文档 >  基于PPNSA+扰动算子的车间调度优化仿真

基于PPNSA+扰动算子的车间调度优化仿真

阅读数 98
点赞 18
copyright 著作权
article_banner

1.程序功能描述

       基于PPNSA+扰动算子的车间调度最优化matlab仿真,可以任意调整工件数和机器数,输出甘特图和优化收敛曲线。


2.测试软件版本以及运行结果展示

MATLAB2022a版本运行




3.核心程序



[Xs,ff] = func_initial(T,Npop);

fout   = zeros(Iters,1);      


for i = 1:Iters

    i

   [ff,I] = sort(ff,'descend');

   Xs     = Xs(I,:);

   Pmax   = Xs(1,:);

   Fmax   = ff(1);

    %子种群

   for j = 1:Pop_n

       Pops              =Xs(j:Pop_n:end,:);           

       ff_               =ff(j:Pop_n:end,:);

       [Popss,F3]        =func_FLA(T,Pops,ff_,Pmax,Fmax);

       Xs(j:Pop_n:end,:) = Popss;

       ff(j:Pop_n:end,:) = F3;

   end

    %进化结果评估

   [Xsolve,ybest]  =func_Eval(Xs,ff);


   fout(i)         = -mean(ybest);

end






figure

[Fouts,Etime] = func_fitness(T,Xsolve);

Stime         = Etime-T(:,Xsolve); %开始时间

fval          = -Fouts;

M1            = size(T,1);    %行数M1为机器数

NX            = length(Xsolve);    %列数NX为工件数

for i = 1:M1

   for j = 1:NX

       x1 = Stime(i,j);

       x2 = Etime(i,j);

       y1 = i-1;

       y2 = i-0.05;

       fill([x1 x2 x2 x1],[y1 y1 y2 y2],[0,1,0]);

       text(x1*0.55+x2*0.45,(y1+y2)/2,[num2str(Xsolve(j))],'Fontsize',8,'Color','k');

       hold on;

   end

   text(-0.8,(y1+y2)/2,['机器',num2str(i)],'Fontsize',8,'Color','k');

end


hold off;

xlabel('时间');

set(gca,'ytick',[],'YDir','reverse','Color',[1

1 1]);

axis([0 fval 0 M1-0.05]);

title(['工件数:',num2str(NX),',机器数:',num2str(M1),', 最优值:',num2str(fval)]);



figure;

plot(1:Iters,fout(1:end),'b-o');

grid on;

xlabel('进化代数');

ylabel('适应度');

28




4.本算法原理

        车间调度问题(Job Shop Scheduling Problem, JSSP)是制造业中非常关键的一类优化问题。它涉及到多个工件在多个机器上的加工顺序安排,目标通常是最小化完成所有工件的总时间,即最小化最大完工时间(Makespan)。由于JSSP具有NP难的特性,传统的优化方法往往难以在合理时间内找到最优解。因此,启发式算法和元启发式算法成为了解决这类问题的主流方法。


相关文章
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空