最优化学习笔记(二)——二分法
2016-05-14 10:40
253 查看
二分法是一种一维搜索方法。它讨论的是求解一元单值函数f:R→R在区间[a0,b0]f: \mathbb{R} \to \mathbb{R} 在区间[a_0, b_0]的极小点问题。同时要求函数ff在区间[a0,b0][a_0, b_0]上为单调函数,并且是连续可微的,这里将使用ff的一阶导数f′f'。
二分法的计算过程比较简单,它主要是利用一阶导数来连续压缩区间的方法。
1.确定初始区间的中点:x(0)=a0+b02x^{(0)} = \frac{a_0+b_0}{2}
2.计算函数f在x(0)处的一阶导数f′(x(0))f在x^{(0)} 处的一阶导数f'(x^{(0)}) .
如果f′(x(0))>0f'(x^{(0)}) > 0,说明极小点在x(0)x^{(0)}左侧,极小点的区间被压缩为[a0,x(0)][a_0,x^{(0)}]
如果f′(x(0))<0f'(x^{(0)}) < 0,说明极小点在x(0)x^{(0)}右侧,极小点的区间被压缩为[x(0),b0][x^{(0)},b_0]
如果f′(x(0))=0f'(x^{(0)}) = 0,x(0)x^{(0)}就是极小点,搜索结束。
在每次迭代中区间的压缩比为12\frac{1}{2}。因此,经过NN次迭代后,整个区间的总的压缩比为(12)N(\frac{1}{2})^N. 后续,我们将会讨论一维搜索方法中的黄金分割法和斐波那契数列法。
二分法的计算过程比较简单,它主要是利用一阶导数来连续压缩区间的方法。
1.确定初始区间的中点:x(0)=a0+b02x^{(0)} = \frac{a_0+b_0}{2}
2.计算函数f在x(0)处的一阶导数f′(x(0))f在x^{(0)} 处的一阶导数f'(x^{(0)}) .
如果f′(x(0))>0f'(x^{(0)}) > 0,说明极小点在x(0)x^{(0)}左侧,极小点的区间被压缩为[a0,x(0)][a_0,x^{(0)}]
如果f′(x(0))<0f'(x^{(0)}) < 0,说明极小点在x(0)x^{(0)}右侧,极小点的区间被压缩为[x(0),b0][x^{(0)},b_0]
如果f′(x(0))=0f'(x^{(0)}) = 0,x(0)x^{(0)}就是极小点,搜索结束。
在每次迭代中区间的压缩比为12\frac{1}{2}。因此,经过NN次迭代后,整个区间的总的压缩比为(12)N(\frac{1}{2})^N. 后续,我们将会讨论一维搜索方法中的黄金分割法和斐波那契数列法。
相关文章推荐
- Provisioning Services 7.8 入门系列教程14篇全部完成了.....
- dijkstra求最短路径(水题)
- ViewPager控件的Demo
- tomcat-在cmd窗口启动Tomcat
- [开发工具]Java开发常用的在线工具
- ntp 时间服务器地址
- Maven编码异常处理
- LeetCode|Contains Duplicate*
- History Grading(uva 111)
- matlab win7 64bit 找不到vs2013编译器解决办法
- HDU1329 Hanoi Tower Troubles Again!——S.B.S.
- 电脑开机都做了哪些工作
- Linux centos编译程序时的性能问题
- Linux centos编译程序时的性能问题
- Linux centos编译程序时的性能问题
- Linux centos编译程序时的性能问题
- 浏览器跨域问题解决办法
- http://www.2cto.com/database/201408/327315.html
- XMG CALayer
- 006-消除过期的对象引用