1 简介



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==0pick=rand;endfor j=1:sizepoppick=pick-sumf(j);if pick<0index=[index j];break; %寻找落入的区间,此次转轮盘选中了染色体i,注意:在转sizepop次轮盘的过程中,有可能会重复选择某些染色体endendendindividuals.chrom=individuals.chrom(index,:);individuals.fitness=individuals.fitness(index);ret=individuals;
3 仿真结果


4 参考文献
[1]张腾飞, 马跃, 胡毅,等. 基于遗传算法的多目标车间调度问题的研究[J]. 组合机床与自动化加工技术, 2016(5):4.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
遗传算法在多目标车间调度中的应用
该博客介绍了如何使用遗传算法解决多目标车间调度问题。通过MATLAB实现了一种选择函数,该函数根据染色体的适应度值进行轮盘赌选择,以进行交叉和变异操作。博主分享了部分代码,并提到了仿真结果。文章引用了相关研究论文,展示了遗传算法在实际问题中的应用。
252

被折叠的 条评论
为什么被折叠?



