好文档 - 专业文书写作范文服务资料分享网站

大连理工大学优化方法上机作业

天下 分享 时间: 加入收藏 我要投稿 点赞

大连理工大学优化方法上机大作业

优化方法上机大作业

学 院:电子信息与电气工程学部 姓 名: 学 号: 指导老师:

大连理工大学优化方法上机大作业

上机大作业(一) %目标函数

function f=fun(x)

f=100*(x(2)-x(1)^2)^2+(1-x(1))^2; end

%目标函数梯度

function gf=gfun(x)

gf=[-400*x(1)*(x(2)-x(1)^2)-2*(1-x(1));200*(x(2)-x(1)^2)]; End

%目标函数Hess矩阵 function He=Hess(x)

He=[1200*x(1)^2-400*x(2)+2,-400*x(1); -400*x(1), 200;]; end

%线搜索步长

function mk=armijo(xk,dk) beta=0.5; sigma=0.2; m=0; maxm=20; while (m<=maxm)

if(fun(xk+beta^m*dk)<=fun(xk)+sigma*beta^m*gfun(xk)'*dk) mk=m; break; end m=m+1; end

alpha=beta^mk newxk=xk+alpha*dk fk=fun(xk) newfk=fun(newxk)

%最速下降法

function [k,x,val]=grad(fun,gfun,x0,epsilon) %功能:梯度法求解无约束优化问题:minf(x)

%输入:fun,gfun分别是目标函数及其梯度,x0是初始点, % epsilon为容许误差

%输出:k是迭代次数,x,val分别是近似最优点和最优值 maxk=5000; %最大迭代次数 beta=0.5; sigma=0.4;

大连理工大学优化方法上机大作业

k=0;

while(k

gk=feval(gfun,x0); %计算梯度 dk=-gk; %计算搜索方向

if(norm(gk)

while(m<20) %用Armijo搜索步长

if(feval(fun,x0+beta^m*dk)<=feval(fun,x0)+sigma*beta^m*gk'*dk) mk=m;break; end m=m+1; end

x0=x0+beta^mk*dk; k=k+1; end x=x0;

val=feval(fun,x0);

>> x0=[0;0];

>> [k,x,val]=grad('fun','gfun',x0,1e-4) 迭代次数: k =

1033 x =

0.9999 0.9998 val =

1.2390e-008

%牛顿法

x0=[0;0];ep=1e-4;maxk=10;k=0; while(k

大连理工大学优化方法上机作业

大连理工大学优化方法上机大作业优化方法上机大作业学院:电子信息与电气工程学部姓名:学号:指导老师
推荐度:
点击下载文档文档为doc格式
96ubq4hg597u3cm9b9nu86wqu5roq7003ad
领取福利

微信扫码领取福利

微信扫码分享