遗传算法工具箱求函数极值

%这是一个用GA算法来求函数极值的例子;

clc
clear all

T=100;
optionsOrigin=gaoptimset('Generation',T/2);
[x,fval,reason,output,finnal_pop]=ga(@ch14_2f,2,optionsOrigin);

%


options1=gaoptimset('Generations',T/2,'InitialPopulation',finnal_pop,'PlotFcns',@gaplotbestf);
[x,fval,reason,output,finnal_pop]=ga(@ch14_2f,2,options1);

Bestx=x
BestFval=fval


%子函数:求函数极值适应度函数同时也是目标函数,函数存储名称为ch14_2f.m

function f=ch14_2f(x)

g1=1.5+x(2)*x(1)-x(1)-x(2);

g2=-x(1)*x(2);

if(g1>0|g2>10)
  f=100;

   else
     f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(2)*x(1)+2*x(2)+1);
end

%请大家关于遗传算法的参数调整给点经验吧,不要光看不说啊!

    原文作者:遗传算法
    原文地址: https://blog.csdn.net/kevintq/article/details/7928510
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞