三点一维搜索策略
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验九、三点一维搜索策略
0.618方法在一元函数的最优化方法中占有重要的地位,它是在解的存在区间中插入两个分点进而对该区间三分,通过比较两个分点处的函数值大小来扔掉区间某侧的一段来提高解的精度——本实验试图构造某种类似的一维搜索策略,主要不同在于这里一次迭代要在解的存在区间中插入三个分点进而对该区间四分,最后考虑在包括原来区间的两个端点在内的五个点中选择相邻的三点,其函数值具有“高低高”结构且区间长度最短,将之保留。 算法:
步1:给定参数25.0=p ,精度要求0>ε,取初始三点0a a =,0b b =,2
b a x +=
,
令)(a f A =,)(b f B =,)(x f X =;
步2:若ε<-a b ,则输出a 、A 、b 、B ,停;
步 3.1:若
2
b a x +=
,则令x x =2,)()1(21a x p a x -⋅-+=,)(223x b p x x -⋅+=,X
X =2,)(11x f X =,)(33x f X =;否则,转步4.1;
步3.2:若{}3,2,1 2==i X Min X i ,则取1x a =、1X A =、3x b =、3X B =,转步2;
若21X X <,则取2x b =、2X B =、1x x =、1X X =,转步2; 若23X X <,则取1x a =、1X A =、3x x =、3X X =,转步2;
步 4.1:令
2
2b a x +=
,)()1(21a x p a x -⋅-+=,)(223x b p x x -⋅+=,
)(11x f X =,)(22x f X =,)(33x f X =;
步4.2:对)3,2,1(=i x i 、x 按照从小到大排序,记为)4,3,2,1(=i u i ,
)4,3,2,1(=i U i 表示它们的目标函数值,{}4,3,2,1 *
==i U Min U
i ;
若*
1U U =,则取1u x =、1U X =、2u b =、2U B =,转步2;
若*
2U
U =,则取1u a =、1U A =、2u x =、2U X =、3u b =、3U B =,
转步2;
若
*
3U
U =,则取2u a =、2U A =、3u x =、3U X =、4u b =、4U B =,
转步2;
若*
4U U =,则取3u a =、3U A =、4u x =、4U X =,转步2。
仔细研究以上算法与0.618法的区别与联系,可以以幂函数α
x
)0(>α的最
小化问题作为测试算例,编程实现之,讨论算法的计算效率以及收敛性。你有不同的改进建议吗?