最优化方法课程实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
项目一 一维搜索算法(一)
[实验目的]
编写加步探索法、对分法、Newton 法的程序。 [实验准备]
1.掌握一维收搜索中搜索区间的加步探索法的思想及迭代步骤; 2.掌握对分法的思想及迭代步骤;
3.掌握Newton 法的思想及迭代步骤。 [实验内容及步骤]
编程解决以下问题:
1.用加步探索法确定一维最优化问题
1
2)(min 30
+-=≥t t t t ϕ
的搜索区间,要求选取2,1,000===αh t .
加步探索法算法的计算步骤: (1)选取初始点
])
0[)(0[max 00t t t ,或,∈⊂∞+∈,计算
)(00t ϕϕ=.给出初始步长0
>h
,
加步系数1α>,令0=k 。
(2) 比较目标函数值.令k k k h t t +=+1,计算 )(11++=k k t ϕϕ,若k k ϕϕ<+1,转(3),否则转(4)。 (3) 加大探索步长.令
k k h h α=+1,同时,令,k t t =,1+=k k t t 1k k =+,转(2)。
(4) 反向探索.若0=k ,转换探索方向,令,k k h h -=1+=k t t ,转(2)。否则,停止迭代,令
11min{}max{}k k a t t b t t ++==,,,。
加步探索法算法的计算框图
程序清单
加步探索法算法程序见附录1
实验结果
运行结果为:
2.用对分法求解
)2()(min +=t t t ϕ,
已知初始单谷区间]5,3[],[-=b a ,要求按精度3.0=ε,001.0=ε分别计算.
对分法迭代的计算步骤:
(1)确定初始搜索区间],[b a ,要求'()0'()0a b ϕϕ<>,。
(2) 计算],[b a 的中点)(2
1
b a
c +=. (3) 若0)(<'c ϕ,则c a = ,转(4);若0)(='c ϕ,则c t =*
,转(5);若0)(>'c ϕ,则c b = ,转(4).
(4) 若ε<-||b a ,则)(2
1*
b a t +=,转(5);否则转(2).
(5) 打印*
t ,结束
对分法的计算框图
程序清单
对分法程序见附录2
实验结果
运行结果为:
3.用Newton 法求解
1
2)(min 3+-=t t t ϕ,
已知初始单谷区间]1,0[],[=b a ,要求精度01.0=ε.
Newton 法的计算步骤
(1) 确定初始搜索区间],[b a ,要求 '()0
'()0a b ϕϕ<>, (2) 选定0t
(3) 计算
000'()/"()
t t t t ϕϕ=- (4) 若 ε≥-||0t t ,则t t =0,转(3);否则转(5).
(5) 打印()t t ϕ, ,结束.
Newton 法的计算框图
程序清单
Newton 法程序见附录3
实验结果
运行结果为:
项目二 一维搜索算法(二)
[实验目的]
编写黄金分割法、抛物线插值法的程序。 [实验准备]
1.掌握黄金分割法的思想及迭代步骤; 2.掌握抛物线插值法的思想及迭代步骤。 [实验内容及步骤]
编程解决以下问题: 1.用黄金分割法求解
)2()(min +=t t t ϕ, 已知初始单谷区间]5,3[],[-=b a ,要求精度001.0=ε.
黄金分割法迭代步骤:
(1) 确定)(t ϕ的初始搜索区间][b a ,. (2) 计算)(382.02a b a t -+= (3) 计算)(618.01a b a t -+=
(4) 若ε<-||21t t ,则打印2
2
1*
t t t +=
,结束;否则转(5). (5) 判别是否满足21ϕϕ≤:若满足,则置12122ϕϕ===,,
t t t a 然后转(3);否则,置
)()(22221211t a b t t t t b ϕϕβαϕϕ=-+====,,,,
然后转(4). 黄金分割法的计算框图:
程序清单
黄金分割法程序见附录4
实验结果
运行结果为:
2.用抛物线插值法求解
3728)(min 23+--=x x x x f ,
已知初始单谷区间001.0]20[][==ε,,,
b a .
抛物线插值法的计算步骤:
(1) )()(0t t ϕϕ<,所以相对0t 来说t 是好点,故划掉区间],[20t t ,保留],[01t t 为新区间,
故置)()(0202t t t t ϕϕ==,,)()(00t t t t ϕϕ==,,1t 保持不变;
(2) )()(0t t ϕϕ>,所以相对t 来说0t 是好点,故划掉区间],[1t t ,保留],[2t t 为新区间,
故置)()(11t t t t ϕϕ==,
,0t 与2t 保持不变;
程序清单
抛物线插值法程序见附录5
实验结果
运行结果为:
项目三 常用无约束最优化方法(一)
[实验目的]
编写最速下降法、Newton 法(修正Newton 法)的程序。 [实验准备]
1.掌握最速下降法的思想及迭代步骤。 2.掌握Newton 法的思想及迭代步骤; 3.掌握修正Newton 法的思想及迭代步骤。 [实验内容及步骤]
编程解决以下问题: 1.用最速下降法求
22
120min ()25[22]0.01T f X x x X ε=+==,,,.
最速下降法计算步骤 (1)0,0)(,)
0(=>k X 令精度容许误差取初始点ε
(2))()()
(k k X f p -∇=计算
(3)0)()
(4,,?否则转取若是迭代终止检验k k X X p
=≤*ε
(4)))(()(min :)()()()
(0
一维搜索求最优步长k k k k k k p X f p X
f λλλλ+=+≥
)()()1(2,1:,转令令+=+=+k k p X X k k k k λ
最速下降法的计算框图
程序清单
最速下降法程序见附录6
实验结果
运行结果为: