添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
粗眉毛的熊猫  ·  cmake: Could NOT find ...·  2 年前    · 
重情义的马克杯  ·  管理 Exchange Server ...·  2 年前    · 

MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB软件是一个功能很强大的工具,其中可以使用GA工具箱进行遗传算法的数据优化,下面给出具体的操作简单的实例。

①利用GUI打开并使用MATLAB遗传算法工具箱。

打开MATLAB选择应用程序,点击Optimization。

打开后显示优化界面 第一个solver选择ga

函数(注意是单目标只能有一个函数输出值)的MATLAB代码填入Fitness Funtion,输入变量值为2,其它设置options可以使用自定义,也可以使用默认,这里我的种群设置为200。设置完后点击start

我优化的函数代码:

function f=GA_demo(x) f1=4*x(1).^3+4*x(1)*x(2)+2*x(2).^2-42*x(1)-14; f2=4*x(2).^3+4*x(1)*x(2)+2*x(1).^2-26*x(1)-22; f=f1.^2+f2.^2; 交叉率0.75
迭代次数1000
停止代数(stall generations)与适应度函数值偏差(function tolerance)。若在Stallgenerations设定的代数内,适应度函数值的加权平均变化值小于function tolerance,算法停止

优化的函数是上面GUI中给出的函数

% 适应度函数句柄 nvars = 2;% 个体的变量数目 options = gaoptimset('PopulationSize',200,'EliteCount',20,'CrossoverFraction',0.75,'Generations',1000,'StallGenLimit',500,'TolFun',1e-100,'PlotFcns',{@gaplotbestf,@gaplotbestindiv}); %参数设置 [x_best,fval] =ga(fitnessfcn,nvars,[],[],[],[],[],[],[],options); % 调用ga函数
1
2
3
4
5
6
7
8
clear
clc
fitnessfcn = @ GA_demo ;
% 适应度函数句柄
nvars = 2 ; % 个体的变量数目
options = gaoptimset ( 'PopulationSize' , 200 , 'EliteCount' , 20 , 'CrossoverFraction' , 0.75 , 'Generations' , 1000 , 'StallGenLimit' , 500 , 'TolFun' , 1e - 100 , 'PlotFcns' , { @ gaplotbestf , @ gaplotbestindiv } ) ; %参数设置
[ x_best , fval ] = ga ( fitnessfcn , nvars , [ ] , [ ] , [ ] , [ ] , [ ] , [ ] , [ ] , options ) ; % 调用ga函数