MATLAB_智能算法30个案例分析 有目录(16)
发布时间:2021-06-05
发布时间:2021-06-05
4、主程序:
clear clc
fitnessfcn = @GA_LQR; % 适应度函数句柄 nvars=3; % 个体变量数目 LB = [0.1 0.1 0.1]; % 下限 UB = [1e6 1e6 1e6]; % 上限
options=gaoptimset('PopulationSize',100,'PopInitRange',[LB;UB],'EliteCount',10,'CrossoverFraction',0.4,'Generations',20,'StallGenLimit',20,'TolFun',1e-100,'PlotFcns',{@gaplotbestf,@gaplotbestindiv}); % 算法参数设置
[x_best,fval]=ga(fitnessfcn,nvars, [],[],[],[],LB,UB,[],options); % 运行遗传算法
第 6 章 遗传算法工具箱详解及应用
1、案例背景
MATLAB自带的遗传算法与直接搜索工具箱(Genetic Algorithm and Direct Search Toolbox, GADST),可以较好地解决与遗传算法相关的各种问题。GADST可以通过GUI界面调用,也可以通过命令行方式调用,使用简单方便。本案例将对GADST函数库的遗传算法部分进行详细的代码分析和讲解,并通过求解非线性方程组介绍GADST的使用方法。
2、案例目录:
第6章 遗传算法工具箱详解及应用 6.1 遗传算法与直接搜索工具箱
6.1.1 遗传算法与直接搜索工具箱简介 6.1.2 GADST详解
6.1.2.1 遗传算法的一些基本概念 6.1.2.2 stepGA函数
6.1.2.3 fitscalingrank函数和selectionstochunif函数 6.1.2.4 crossoverscattered函数mutationgaussian函数 6.1.3 GADST的使用
6.1.3.1 GUI方式使用GADST
6.1.3.2 命令行方式使用GADST 6.2 案例分析 6.2.1 模型建立
6.2.2 GADST的应用
6.2.2.1 使用
GUI 6.2.2.2 使用命令行 6.2.3 结果分析 6.3 参考文献
3、案例实例及结果:
作为案例,这里将使用遗传算法与直接搜索工具箱(GADST)求解一个非线性方程组。求解以下非线性方程组:
优化过程如下:
得到的最优解为
[x1,x2] = [-0.247800834353742, 1.62131572868496]
4、主程序:
clear clc
fitnessfcn = @GA_demo; % 适应度函数句柄
nvars = 2; % 个体所含的变量数目 options = gaoptimset('PopulationSize',100,'EliteCount',10,'CrossoverFraction',0.75,'Generations',500,'StallGenLimit',500,'TolFun',1e-100,'PlotFcns',{@gaplotbestf,@gaplotbestindiv}); % 参数设置