1 简介

柔性车间作业调度问题是一个复杂的NP问题,灰狼优化算法(GWO)是目前一种比较新颖的群智能优化算法,多用于解决连续函数优化问题.

【车间调度】基于灰狼算法求解车间调度问题Matlab源码_优化算法

【车间调度】基于灰狼算法求解车间调度问题Matlab源码_迭代_02

2 部分代码


          
          
%该程序用于解决柔性作业车间调度,m个工件,n道工序,其中n为最大工序数,工件的工序
%数可以少于n,加工机器数为M,每个工件的每道工序具有多个机器可以选择,对应的时间
%不同,其中初始种群的储存方式采用cell数据类型
%Version:1.3
%fileDescription:调度机器可选的柔性作业车间问题,甘特图已完善,GWO,8*8实例
%last edit time:2019-6-7
function GWO_Model_FJSP_1_3_8_8()
count = 5000; %迭代次数
N = 100; %种群规模
m = 6; %工件数
n = 4; %工序数
M = 4; %机器数
a =2; %计算A/C协同系数的
plotif = 1; %控制程序是否进行绘图
s = input(m,n); %数据输入
[p,TN] = initial_p(m,n,N,s,M); %生成初始种群50,采用细胞结构,每个元素为8*4
P = machine(n,M);
FIT = zeros(count,1);
aveFIT = zeros(count,1);
X1=randperm(count); %收敛图形的横坐标X
X=sort(X1);
%------------------------输出最优解的时有用------------------------------
best_fit = 1000; %改变模型需要修改此参数
best_p = zeros(m,n);
best_TN = zeros(m,n);
Y1p = zeros(m,1);
Y2p = zeros(m,1);
Y3p = zeros(m,1);
minfit3 = 1000000000;
%-------------------------进行迭代--------------------------------------
end
%-----------------------------选择最优方案---------------------------
function [best_p,best_TN,best_fit,Y1p,Y2p,Y3p]=best(best_fit,best_p,fit,best_TN,Y1p,Y2p,Y3p,p,TN,Y1,Y2,Y3)
best_fit = min(fit);
pos = find(fit==best_fit);
best_p = p(pos(1));
best_TN = TN(pos(1));
best_p=cell2mat(best_p);
best_TN=cell2mat(best_TN);
Y1p=Y1(pos(1));
Y2p=Y2(pos(1));
Y3p=Y3(pos(1));
Y1p=cell2mat(Y1p);
Y2p=cell2mat(Y2p);
Y3p=cell2mat(Y3p);
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.

3 仿真结果

【车间调度】基于灰狼算法求解车间调度问题Matlab源码_matlab代码_03

【车间调度】基于灰狼算法求解车间调度问题Matlab源码_迭代_04

4 参考文献

[1]姜天华. 基于灰狼优化算法的低碳车间调度问题[J]. 计算机集成制造系统, 2018, 24(10):8.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

【车间调度】基于灰狼算法求解车间调度问题Matlab源码_迭代_05