当前位置 : 主页 > 编程语言 > python >

【车间调度】基于遗传算法实现多目标机床加工调度问题附matlab代码

来源:互联网 收集:自由互联 发布时间:2022-06-15
1 简介 ​ 编辑 ​ 编辑 ​ 编辑 2 部分代码 function ret=Select(individuals,sizepop) % 本函数对每一代种群中的染色体进行选择,以进行后面的交叉和变异 % individuals input : 种群信息 % sizepop inpu


 1 简介

【车间调度】基于遗传算法实现多目标机床加工调度问题附matlab代码_路径规划

【车间调度】基于遗传算法实现多目标机床加工调度问题附matlab代码_matlab代码_02编辑

【车间调度】基于遗传算法实现多目标机床加工调度问题附matlab代码_路径规划_03

【车间调度】基于遗传算法实现多目标机床加工调度问题附matlab代码_参考文献_04编辑

【车间调度】基于遗传算法实现多目标机床加工调度问题附matlab代码_参考文献_05

【车间调度】基于遗传算法实现多目标机床加工调度问题附matlab代码_matlab代码_06编辑

2 部分代码

function ret=Select(individuals,sizepop)
% 本函数对每一代种群中的染色体进行选择,以进行后面的交叉和变异
% individuals input : 种群信息
% sizepop input : 种群规模
% opts input : 选择方法的选择
% ret output : 经过选择后的种群
individuals.fitness= 1./(individuals.fitness);
sumfitness=sum(individuals.fitness);
sumf=individuals.fitness./sumfitness;
index=[];
for i=1:sizepop %转sizepop次轮盘
pick=rand;
while pick==0
pick=rand;
end
for j=1:sizepop
pick=pick-sumf(j);
if pick<0
index=[index j];
break; %寻找落入的区间,此次转轮盘选中了染色体i,注意:在转sizepop次轮盘的过程中,有可能会重复选择某些染色体
end
end
end
individuals.chrom=individuals.chrom(index,:);
individuals.fitness=individuals.fitness(index);
ret=individuals;

3 仿真结果

【车间调度】基于遗传算法实现多目标机床加工调度问题附matlab代码_matlab代码_07

【车间调度】基于遗传算法实现多目标机床加工调度问题附matlab代码_matlab代码_08编辑

【车间调度】基于遗传算法实现多目标机床加工调度问题附matlab代码_参考文献_09

【车间调度】基于遗传算法实现多目标机床加工调度问题附matlab代码_路径规划_10编辑

4 参考文献

[1]张腾飞, 马跃, 胡毅,等. 基于遗传算法的多目标车间调度问题的研究[J]. 组合机床与自动化加工技术, 2016(5):4.

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

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

【车间调度】基于遗传算法实现多目标机床加工调度问题附matlab代码_matlab代码_11

【车间调度】基于遗传算法实现多目标机床加工调度问题附matlab代码_路径规划_12编辑



网友评论