《遗传算法求解高维函数》
—— (若文首CSDN链接失效)本文所用MATLAB代码已整理至公众号中
需要的关注公众号“猫和真人”,回复“2”即可获得资源包有条件的支持一下哈!
本文代码出自网络上一位大神,年久失源若代码原作者申明版权,请联系我进行删除!
高维函数属于NP问题目前无标准方程可解。
用於求解“非劣解”逼近“最优解”的办法有很多现在介绍“群智能算法”求解“高维函数”:
【暂时先放MATLAB主程序代码,具体的算法分析會慢慢补充
【需要MATLAB完整代码的去文章顶部的链接里面拿。
遗传算法求解高维函数结果如下:
% rand(3,4),即种群大小为3染色体二进制长度为4 %所以返回嘚种群就是每行是一个个体,列数是染色体长度 %输入变量:二进制数值pop即种群 %输出变量:目标函数值 %转化二进制数为x变量的变化域范围嘚数值 %输入变量:pop二进制种群,fitvalue:适应度值 %输出变量:newpop选择以后的二进制种群 若个体的适应值较高则有很大可能复制自己的数量,其他嘚劣种就会变少 %输入变量:pop:二进制的父代种群数pc:交叉的概率 %输出变量:newpop:交叉后的种群数 %输入变量:pop:二进制种群,pm:变异概率 %输絀变量:newpop变异以后的种群%二进制转化成十进制函数
%sum(.,2)对行求和得到列向量
关注我的博客,后续还会有详细的算法讲解有条件的同学多多支持,也可以帮我推广一下哦~