1 简介
遗传算法受到局部极小值的吸引!通过改变计算参数+算法结构和运算规模依然不能保证每次都收敛到全局最优点!本文对遗传算法每次的结果加以比较!消除次优值!保留最优值!用这种爬山算法和遗传算法相结合!可以保证算法的收敛性.
和许多优化算法一样!遗传算法也常常出现收敛到局部极小值的现象!人们从各种途径"各个侧面对算法进行改进!希望使算法每一次搜索都能收敛到全局极值点!许多对遗传算法的改进往往从以下几个方面进行。
算法的参数调整如交叉概率、变异概率的改变、编码方式的改变,如浮点数编码和符号编码等;算法结构的调整,如选择策略的变化和点交叉的多少等;运算规模的改变,如个体长度的改变和种群规模的改变,参数调整通常只影响收敛速度,编码方式和种群规模的改变会影响运算的精度;算法结构的调整可以影响搜索方向, 改进的结果难以收到理想的状态。
本文把爬山法与遗传算法相结合对优化过程进行调整,程序首先用遗传算法进行搜索,记录搜索的结果,再次搜索后把结果和前次搜索结果进行比较,保留较好的结果,直至不再出现更好的搜索结果为止。
2 部分代码
function si=crossover_GA(population,seln,pcrossover)a=rand;lent_1=size(population,2);si(1,:)=population(seln(1),:);si(2,:)=population(seln(2),:);if a<pcrossover for i=1:2 b=randperm(lent_1,3); b=sort(b); si_1(1,:)=[si(1,1:b(1)),si(2,1+b(1):b(2)),si(1,b(2)+1:b(3)),si(2,b(3)+1:lent_1)]; si_1(2,:)=[si(2,1:b(1)),si(1,1+b(1):b(2)),si(2,b(2)+1:b(3)),si(1,b(3)+1:lent_1)]; si(1,:)=jiuzheng(si_1(1,:)); si(2,:)=jiuzheng(si_1(2,:)); endend
3 仿真结果
4 参考文献
[1]么卫良, 李杰, 李宏,等. 利用遗传算法求解公共停车场多目标选址模型[J]. 土木工程与管理学报, 2006(s1).
[2]简炜, 张友兵, 吴阳,等. 基于爬山法和遗传算法的联合搜索算法[J]. 湖北汽车工业学院学报, 2004, 18(2):3.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。