powell算法求解最优化matlab,最优化方法powell法求解无约束优化问题论述.doc

数学与计算科学学院

实 验 报 告

实验项目名称 powell法求解无约束优化问题

所属课程名称 最优化方法

实 验 类 型 算法编程

实 验 日 期

班 级

学 号

姓 名

成 绩

一、实验概述:【实验目的】

掌握Matlab数值计算的基本方法;

掌握powell法并利用powell法解课本第358页第五题,使用MATLAB编程实现;

调整参数并对数值结果进行分析。

【实验原理】

Powell方法是一种有效的直接搜索法,这种方法本质上是共轭方向法。

Powell方法把整个计算过程分成若干个阶段,每一阶段(一轮迭代)由n+1次一维搜索组成。在算法的每一阶段中,先依次沿着已知的n个方向搜索,得一个最好点,然后沿着本阶段的初点与该最好点连线方向进行搜索,求得这一阶段的最好点。再用最后的搜索方向取代前n个方向之一,开始下一阶段的迭代。

具体计算步骤如下:

1.给定初始点,n个线性无关的方向,允许误差,置;

2.置,从出发,依次沿方向进行搜索,得到点,再从出发,沿着方向作一维搜索,得到点;

3.若,则停止计算,得点;否则,令,置,返回步骤2.

改进的powell法与原来的方法主要区别在于替换方向的规则不同。

【实验环境】

Microsoft Windows 7

Matlab

二、实验内容:【实验方案】

1.选定题目,解的极小点,取初始点。

2.使用改进的powell算法解决问题,利用Matlab编写程序解决问题。

3.运行程序并调拭,得出结果。

4.分析结果。

【实验过程】(实验步骤、记录、数据、分析)

1. 编写出powell法解无约束优化问题的主程序:

clc;

clear;

Function[a,b]=section(x1,x2,d1,d2)

x11=x1;x22=x2;

d11=d1;d22=d2;

h0=1;

h=h0;alphal=0;

y1=y(x11,x22,d11,d22,alpha1); alpha2=h;y2=y(x11,x22,d11,d22,alpha2);

t=0;

if y2>y1

h=-h;alpha3=alpha1;y3=y1;t=1;

end

while(1)

if t==1

alpha1=alpha2;y1=y2;

alpha2=alpha3;y2=y3;

else t=1;

end

alpha3=alpha2+h;

y3=y(x11,x22,d11,d22,alpha3);

if y3

h=2*h;

else

break;

end

end

if alpha1>alpha3

tem=alpha1;

alpha1=alpha3;

alpha3=tem;

a=alphal;b=alpha3;

else

a=alpha1;b=alpha3;

end

clc;

clear;

Function mk = armijo(fun,xk,rho,sigma,gk)

assert(rho>0&&rho<1);

assert(sigma>0&&sigma<0.5);

mk=0;max_mk=100;

while mk<=max_mk

x=xk-rho^mk*gk;

if feval(fun,x)<=feval(fun,xk)-sigma*rho^mk*norm(gk)^2

break;

end

mk=mk+1;

end

return;

2.编写出使用改进的powell法来求解问题的Matlab程序(详细程序见附录源程序)。

3.运行程序,得出结果如图所示:

从上述运行结果可以得出,最优解为,最优值为。

【实验结论(结果)小结结论clc;

clear;

%??3??eê?μ?×?±êx1,x2oí???÷·??òd1,d2

Function[a,b]=section(x1,x2,x3,d1,d2,d3)

x11=x1;x22=x2;x33=x3;

d11=d1;d22=d2;d33=d3

h0=1;%3?ê??ˉ

h=h0;alphal=0;

y1=y(x11,x22,x33,d11,d22,d33,alpha1);%′úè?alpha1£??ó?a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值