这是2014年4月在其他博客上写的,转贴到CSDN的博客上。
最近许老师让一位师姐带我看解决多目标规划问题的遗传算法(以下简称多目标GA),在论坛上找到英国sheffield大学开发的一个matlab遗传算法工具箱gatbx,尝试着用了用入个手,先附上根据《Matlab遗传算法工具箱及应用》(雷英杰 等编著,西安电子科技大学出版社)实现的两个GA程序。当然啦,工具箱能够实现的多目标GA问题还在探索之中,不过工具箱的功能肯定是有限的,要想实现比较复杂的算法,可能还是要自己写代码。
1. 简单遗传算法
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%program name:简单遗传算法
%time:2014/04/02
%input:无
%output:最优解的目标函数值、最优解的染色体、遗传算法性能跟踪(用曲线图表示)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
NIND=30; %个体数目(Numbe of individuals)
MAXGEN=30; %最大遗传代数(Maximum number of generations)
NVAR=40; %变量个数
PRECI=1; %变量的二进制位数(Precision of variables)
GGAP=0.9; %代沟(Generation gap)
Chrom=crtbp(NIND, NVAR*PRECI); %创建初始