Gointerface接口声明实现及作用详解
318
2022-09-06
【车间调度】基于灰狼算法求解车间调度问题Matlab源码
1 简介
柔性车间作业调度问题是一个复杂的NP问题,灰狼优化算法(GWO)是目前一种比较新颖的群智能优化算法,多用于解决连续函数优化问题.
2 部分代码
%该程序用于解决柔性作业车间调度,m个工件,n道工序,其中n为最大工序数,工件的工序%数可以少于n,加工机器数为M,每个工件的每道工序具有多个机器可以选择,对应的时间%不同,其中初始种群的储存方式采用cell数据类型%Version:1.3%fileDescription:调度机器可选的柔性作业车间问题,甘特图已完善,GWO,8*8实例%last edit time:2019-6-7function 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*4P = machine(n,M);FIT = zeros(count,1);aveFIT = zeros(count,1);X1=randperm(count); %收敛图形的横坐标XX=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);
3 仿真结果
4 参考文献
[1]姜天华. 基于灰狼优化算法的低碳车间调度问题[J]. 计算机集成制造系统, 2018, 24(10):8.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~