matlab遗传算法学习和全局化算法精品毕业设计完整版Word文档格式.docx

上传人:b****1 文档编号:14198427 上传时间:2022-10-20 格式:DOCX 页数:22 大小:214.70KB
下载 相关 举报
matlab遗传算法学习和全局化算法精品毕业设计完整版Word文档格式.docx_第1页
第1页 / 共22页
matlab遗传算法学习和全局化算法精品毕业设计完整版Word文档格式.docx_第2页
第2页 / 共22页
matlab遗传算法学习和全局化算法精品毕业设计完整版Word文档格式.docx_第3页
第3页 / 共22页
matlab遗传算法学习和全局化算法精品毕业设计完整版Word文档格式.docx_第4页
第4页 / 共22页
matlab遗传算法学习和全局化算法精品毕业设计完整版Word文档格式.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

matlab遗传算法学习和全局化算法精品毕业设计完整版Word文档格式.docx

《matlab遗传算法学习和全局化算法精品毕业设计完整版Word文档格式.docx》由会员分享,可在线阅读,更多相关《matlab遗传算法学习和全局化算法精品毕业设计完整版Word文档格式.docx(22页珍藏版)》请在冰豆网上搜索。

matlab遗传算法学习和全局化算法精品毕业设计完整版Word文档格式.docx

2ga函数。

[X,F,FLAG,OUTPUT]=GA(fun,n,opts).n为自变量个数,opts为遗传算法控制选项,用gaoptimset()函数设置各种选项,InitialPopulation可以设置初始种群,用PopulationSize可以设置种群规模,SelectionFcn可以定义选择函数,

3gatool函数用于打开,GATOOLisnowincludedinOPTIMTOOL。

2.2通过GUI使用遗传算法

在Matlab工作窗口键入下列命令>

>

gatool,或通过Start打开其下子菜单GeneticAlgorithmTool,如图1。

只要在相应的窗格选择相应的选项便可进行遗传算法的计算。

其中fitnessfun窗格为适应度函数,填写形式为@fitnessfun,Numberofvariable窗格为变量个数。

其它窗格参数根据情况填入。

填好各窗格内容,单击Start按钮,便可运行遗传算法

例子1应用实例

已知某一生物的总量y(单位:

万个)与时间t(月)之间的关系为y=k0(1-exp(-k1*t)),

统计十个月得到数据见表1,试求关系式中的k0,k1。

先编写目标函数,并以文件名myfung.m存盘。

functiony=myfung(x)

TOT=[2.05673.69044.98816.01896.83717.48818.00478.41518.74119.0000];

t=1:

10;

[r,s]=size(TOT);

y=0;

fori=1:

s

y=y+(TOT(i)-x(:

1)*(1-exp(-x(:

2)*t(i))))^2%最小估计原则

end

打开遗传算法的GUI,在Fitnessfunction窗格中输入@myfung,在Numberofvariables窗格中输入数字2,在Stoppingcriteria选项中设置generations为300,fitnesslimit为0.001,stallgenerations为100,其它参数为缺省值,然后单击Start运行遗传算法得到k0=9.99559,k1=0.23018,即

例子2

2matlab7GA工具箱_木子一车(转载)

例子1求

的最大值;

也就是求负函数的最小值

最大值为-38.8503,在点xmin=[11.62555.7250];

clear

f=@(x1,x2)(-(21.5+x1.*sin(4*pi*x1)+x2.*sin(20*pi*x2)))

t1=-3:

0.1:

12.1;

t2=4:

1.8/(length(t1)-1):

5.8;

[x,y]=meshgrid(t1,t2);

mesh(x,y,f(x,y))

方法1遗传算法

f=@(x)-(21.5+x

(1)*sin(4*pi*x

(1))+x

(2)*sin(20*pi*x

(2)));

opt1=gaoptimset;

opt1.PopInitRange=[[-3.04.1];

[12.15.8]];

opt1.PopulationSize=1000;

opt1.MutationFcn=@mutationuniform;

[x,fval]=ga(f,2,opt1)

[x,fval]=ga(f,2,[],[],[],[],[-3.0;

4.1],[12.1;

5.8]);

方法2gatool的用法

在matlab7命令行输入gatool,见附图。

在PopulationSize=10000;

请注意Mutation函数的选择。

f(x1*,x2*)=-my_func1(x1*,x2*)=38.84741978236206,

wherex1*=11.62378;

x2*=5.72501

方法3全局优化算法

gs=GlobalSearch('

Display'

'

iter'

);

opts=optimset('

Algorithm'

interior-point'

problem=createOptimProblem('

fmincon'

objective'

f,'

x0'

[1/21/3],'

lb'

[-34.1],'

ub'

[12.15.8],'

options'

opts);

[xming,fming,flagg,outptg,manyminsg]=run(gs,problem)

方法4multistart方法

ms=MultiStart('

TolFun'

1e-10,'

TolX'

1e-10);

opts=optimset('

'

problem=createOptimProblem('

[0,0],'

[-3,4.1],'

[12.1,5.8],'

[xminm,fminm,flagm,outptm,someminsm]=run(ms,problem,300);

%stpoints=RandomStartPointSet;

%默认产生10个起始点

此方法得不到最优解;

查看局部解的分布范围enterhist([someminsm.Fval]).

方法4.1对上个方法的改进;

首先根据上个方法搜索的最佳点,取现在的方法的搜索范围为上个最优解的周围区域,缩小搜索范围

ms=MultiStart;

f=@(x)(-(21.5+x

(1).*sin(4*pi*x

(1))+x

(2).*sin(20*pi*x

(2))));

[12,5],'

[10,4],'

[xminm,fminm,flagm,outptm,manyminsm]=run(ms,problem,200)

xminm=11.62555.7250

fminm=-38.8503

flagm=1

outptm=funcCount:

8660

localSolverTotal:

200

localSolverSuccess:

localSolverIncomplete:

0

localSolverNoSolution:

message:

[1x129char]

manyminsm=1x78GlobalOptimSolution

Properties:

X

Fval

Exitflag

Output

X0

方法4.2

pts=-4*rand(200,2)+13*rand(200,2);

tpoints=CustomStartPointSet(pts);

rpts=RandomStartPointSet('

NumStartPoints'

200);

allpts={tpoints,rpts};

LargeScale'

off'

[12.1,5.6],'

[9,4],'

[xmin,fmin,flag,outpt,allmins]=run(ms,problem,allpts)

3【问题】求f(x)=x+10*sin(5x)+7*cos(4x)的最大值,其中0<

=x<

=9

f=@(x)-(x+10*sin(5*x)+7*cos(4*x));

fplot(f,[09]);

[x,fv]=ga(f,[0;

9])

options=gaoptimset('

PopulationSize'

100)

[xfval]=ga(@fitnessfun,nvars,[],[],[],[],[],[lb],[ub],options);

x=ga(fitnessfcn,nvars,A,b,Aeq,beq,LB,UB,nonlcon,options);

nvars为变量数目,

5全局化算法(GlobalSearch)

5.1createOptimProblem

solverName'

ParameterName'

ParameterValue,...)

ParameterName/ValuePairs

Aeq

Matrixforlinearequalityconstraints.Theconstraintshavetheform:

Aeqx 

beq

Aineq

Matrixforlinearinequalityconstraints.Theconstraintshavetheform:

Aineqx 

≤ 

bineq

Vectorforlinearequalityconstraints.Theconstraintshavetheform:

Vector

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 水产渔业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1