现代优化方法与MATLAB实现

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例8.2

第1种方法:首先建立适应度函数FitFun.m文件

function y=FitFun(x)

y=x(1)^2+2*x(2)^2-4*x(1)-8*x(2)+15;

建立约束函数文件NonCon.m

function[c,ceq]=NonCon(x)

c=x(1)^2+x(2)^2-9;

ceq=[];

第2种方法:利用第1种方法中适应函数FitFun.m和约束函数NonCon.m,编写m文件调用ga函数进行求解。

objectivef=@FitFun;

nvars=2;

lb=[0 0];

ub=[];

constrainf=@NonCon;

[x,fval]=ga(objectivef,nvars,[],[],[],[],lb,[],constrainf)

上述m文件运行结果如下

X=2.0000 2.0000

fval=3.0000

可见与第1种算法相同。

==============================================================

例8-3

第1种方法:首先建立目标函数simple.m文件

function y=simple(x)

y=(4-2.1*x(1)^2+x(1)^4/3)*x(1)^2+x(1)*x(2)+(-4+4*x(2)^2)*x(2)^2;

Simulannea 第2种方法:利用第1种方法中目标函数simple.m,编写m文件调用lbnd 函数进行求解。

objectivef=@simple

x0=[0.5 0.5];

lb=[-64 -64];

ub=[64 64];

[x fval]=simulannealbnd(objectivef,x0,lb,ub)

上述m文件运行结果如下

X=-0.0896 0.7127

fval=-1.0316

可见与第1种算法相同。

相关文档
最新文档