1 模型介绍
模型参考这里。
2 部分代码
%主函数
clear all;
clc;
pop = 200; %种群数量
gen = 10; %迭代次数
pop_f=100;%父代种群数量
data_mac;%载入车间设备信息
data_pro;%载入待加工工件信息
pro_matrix=[];%包含工序及目标函数值得决策矩阵
mac_matrix=[];%包含设备染色体信息的决策矩阵
for i=1:pop_f%生成初始种群
[P,M,N]=initPop(J);
[part_t,mac_t]=decode(J,P,M,N);
c_time=cal_comp_time(part_t);
d_time=cal_def_time(J,part_t);
t_load=cal_equ_load(part_t);
t_cons=cal_ene_consu(Mac,mac_t,P,M,c_time);
pro_matrix(i,:)=[P,c_time,d_time,t_load,t_cons];
mac_matrix(i,:)=M;
end
for i = 1 : gen
pool = round(pop/2);%round() 四舍五入取整 交配池大小
tour = 2;%竞标赛 参赛选手个数
[p_matrix,m_matrix]= non_domination_sort_mod(pro_matrix,mac_matrix);%种群进行非支配快速排序和拥挤度计算
clear pro_matrix;
clear mac_matrix;
[p_parent_chromosome,m_parent_chromosome] = tournament_selection(p_matrix,m_matrix,pool,tour);%竞标赛选择适合繁殖的父代
%交叉变异生成子代种群
[p_child_matrix,m_child_matrix]=genetic_operator(J,p_parent_chromosome,m_parent_chromosome);
%根据父类和子类总种群,进行非支配快速排序,选取出下一代的父代种群
for j=1:size(p_child_matrix,1)
P=p_child_matrix(j,:);
M=m_child_matrix(j,:);
N=machine_index(J,P,M);
[part_t,mac_t]=decode(J,P,M,N);
c_time=cal_comp_time(part_t);
d_time=cal_def_time(J,part_t);
t_load=cal_equ_load(part_t);
t_cons=cal_ene_consu(Mac,mac_t,P,M,c_time);
pro_matrix(j,:)=[P,c_time,d_time,t_load,t_cons];
mac_matrix(j,:)=M;
end
n_p_m=size(pro_matrix,1);
pro_matrix(n_p_m+1:n_p_m+10,:)=p_matrix(1:10,1:size(pro_matrix,2));%保留精英染色体到子代种群中
mac_matrix(n_p_m+1:n_p_m+10,:)=m_matrix(1:10,:);
end
[p_matrix,m_matrix]= non_domination_sort_mod(pro_matrix,mac_matrix);
num_of_level_1=length(find(p_matrix(:,size(p_matrix,2)-1)==1));
target_p_matrix=p_matrix(1:num_of_level_1,:);
target_m_matrix=m_matrix(1:num_of_level_1,:);
best_p=target_p_matrix(1,:);%选取第一个作为最优解,可根据需求,选择AHP和熵权法或模糊决策法,选出最优解
best_m=target_m_matrix(1,:);
P=best_p(1:length(best_p)-6);
M=best_m;
N=machine_index(J,P,M);
[~,mac_t]=decode(J,P,M,N);
ganttChart1(J,best_p,M,mac_t);
3 仿真结果
4 参考文献
[1]鞠海华, 刘长安, 张伟,等. 基于带精英策略的NSGA-Ⅱ遗传算法的车间作业调度研究[J]. 组合机床与自动化加工技术, 2008, 000(004):15-19.
### 博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
**部分理论引用网络文献,若有侵权联系博主删除。**