1、编写一个m文件,适应度函数GA_demo
%% 求解非线性方程组
%将方程转化为求最小值
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;
2、使用命令行方式,新建一个m文件。
%遗传算法
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});
%算法参数设置
%种群大小100;精英个数10;交叉后代比例0.75;排序函数(等级排序);
%选择函数(随机一致选择);交叉函数(分散交叉);变异函数(约束自适应变异);
%最大进化代数500;停止代数500;适应度函数值偏差1e-100;
%绘图函数(最优个体及其适应度函数值);适应度函数(@GA_demo)。
[x_best,fval] = ga(fitnessfcn,nvars,[],[],[],[],[],[],[],options);
%运算遗传算法,调用ga
3、图。