% 遗传算法程序 - 主程序2
%
% 小生境遗传算法Matlab工具箱 Version1.0 试用版
% Niched Genetic Alogrihtm Matlab Toolbox - trial version 1.0
% 使用平台 - Matlab7.0及以上版本
% 作者:陆振波,海军工程大学
% 欢迎同行来信交流与合作,更多文章与程序下载请访问我的个人主页
% 电子邮件:luzhenbo@yahoo.com.cn
% 个人主页:http://luzhenbo.88uu.com.cn
clc
clear all
close all
%--------------------------------------------------------------------------
% 必需参数
Fitnessfcn = 'MyFun2'; % 需要优化的函数名(自定义,必须是求最大值)
Svars = [-5 5;-5 5]; % 寻优参数范围(两个寻优参数,必须用分号分隔)
%--------------------------------------------------------------------------
% 可选参数
Pvars = 1e-4; % 寻优参数精度(如果是矢量,则各参数使用不同精度)
Pc = [0.6,0.99]; % 自适应交叉概率(如果是标量,则概率固定)
Pm = [0.01,0.1]; % 自适应变异概率(如果是标量,则概率固定)
popsize = 100; % 种群大小
gen = 100; % 最大进化代数
Sigma = [3,0.01]; % 基因型和表现型的niche半径(见参考文献2)
d = 3; % 距离门限上界(这里距离定义与参考文献4不同)
% 这里 Dis = sum(abs(X-Y)),X和Y为任一个体
%--------------------------------------------------------------------------
% 函数调用
method = 7;
switch method
case 1 % 精英保留,自适应交叉与变异概率 (参考文献:ga1_ref.caj)
[x,fval] = ga1(Fitnessfcn,Svars,Pvars,Pc,Pm,popsize,gen)
case 2 % 小生境方法1 - niche算法 (参考文献:ga2_ref.caj)
[x,fval] = ga2(Fitnessfcn,Svars,Pvars,Pc,Pm,popsize,gen,Sigma)
case 3 % 小生境方法2 - 预选择算法 (参考文献:ga3_ref.caj)
[x,fval] = ga3(Fitnessfcn,Svars,Pvars,Pc,Pm,popsize,gen)
case 4 % 小生境方法3 - 惩罚函数算法 (参考文献:ga4_ref.kdh)
[x,fval] = ga4(Fitnessfcn,Svars,Pvars,Pc,Pm,popsize,gen,d)
case 5 % 小生境方法1,2联合使用 (推荐算法)
[x,fval] = ga5(Fitnessfcn,Svars,Pvars,Pc,Pm,popsize,gen,Sigma)
case 6 % 小生境方法1,3联合使用
[x,fval] = ga6(Fitnessfcn,Svars,Pvars,Pc,Pm,popsize,gen,Sigma,d)
case 7 % 小生境方法2,3联合使用 (推荐算法)
[x,fval] = ga7(Fitnessfcn,Svars,Pvars,Pc,Pm,popsize,gen,d)
case 8 % 小生境方法1,2,3联合使用
[x,fval] = ga8(Fitnessfcn,Svars,Pvars,Pc,Pm,popsize,gen,Sigma,d)
end