当前位置: > 黄金>正文
线性与非线性规划:黄金分割方法 黄金分割方法
本系列涉及线性与非线性规划中的几种规划算法
1.本节介绍黄金分割(0.618)方法与进退法 2.参考:陈宝林-最优化理论与算法 3.采用python编程实现,已测试,代码可行
一、黄金分割法黄金分割法(0.618法)适用于单峰函数,可在陈宝林的试探法一节中找到关于单峰函数的介绍。 0.618 的基本思想,通过取试探点使包含极小点的区间(不确定区间)不断缩短,当区间长度小到一定程度时,区间上各点的函数值均接近极小值,因此任意一点都可以作为极小点的近似。 而算法需要事先给定一个包含极小点的区间,有些别的算法也有此要求,可以采用进退法来解决。
二、进退法 1.进退法介绍进退法也是一种试探法,思路简单,就是从一点出发,按照一定的步长,视图确定出函数值呈高-低-高的三点,一个方向不成功,就退回来,再沿反方向寻找。具体细节参见陈宝林的书。
2.代码代码如下(示例):
def go_back(self): k = 0 f_ = self.target_function(self.x) ak = self.x while True: self.x = ak+self.h self.target_function(self.x) if self.f版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。