本文主要是介绍FJSP:烟花算法(FWA)求解柔性作业车间调度问题(FJSP),提供MATLAB代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、烟花算法介绍
参考文献:
Tan, Y. and Y. Zhu. Fireworks Algorithm for Optimization. in Advances in Swarm Intelligence. 2010. Berlin, Heidelberg: Springer Berlin Heidelberg.
二、烟花算法求解FJSP
2.1FJSP模型介绍
柔性作业车间调度问题(Flexible Job Scheduling Problem, FJSP)介绍-CSDN博客
2.2部分MATLAB代码
%% 载入数据 load 'data.mat' dim=2*sum(operaNumVec); LB = -jobNum * ones(1, dim); UB = jobNum * ones(1, dim); Max_iteration = 50; SearchAgents_no = 100; fobj=@(x)fitness(x, MachineNum,jobNum,jobInfo,operaNumVec,candidateMachine); %% 优化算法求解FJSP [fMin , bestX, Convergence_curve ] = FWA(SearchAgents_no,Max_iteration,LB,UB,dim,fobj); machineTable=GetMachineTable(bestX, MachineNum,jobNum,jobInfo,operaNumVec,candidateMachine); %% 画收敛曲线图 figure plot(Convergence_curve,'r-','linewidth',2) xlabel('迭代次数') ylabel('最大完工时间') legend('FWA') saveas(gca,'1.jpg'); %% 甘特图 figure PlotFigure(machineTable); title(['最大完工时间 = ', num2str(fMin)]) saveas(gca,[ num2str(2) '.jpg'])
2.3部分结果
三、完整MATLAB代码
这篇关于FJSP:烟花算法(FWA)求解柔性作业车间调度问题(FJSP),提供MATLAB代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!