欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

最优化——线搜索-二分法

程序员文章站 2022-03-14 22:52:57
...

一.BisectionMethod(二分法)

最优化——线搜索-二分法
二分法是最为简单的线搜索方法,其主要思想是在给定范围内取中点,在给定的足够小的值eta左右偏移并计算
最优化——线搜索-二分法
最优化——线搜索-二分法
如果
最优化——线搜索-二分法
最优化——线搜索-二分法
然后更新搜索范围。


流程图
最优化——线搜索-二分法


Python 代码:

def bisection(a0,b0):
    epsilon = 0.0001
    eta = 0.00001
    ak = a0
    bk = b0
    midPoint = 0
    while True:
        if bk -ak < epsilon:
            xstar = (bk + ak) / 2
            fstar = calFx(xstar)
            return xstar, fstar
        else:
            midPoint = (ak + bk) / 2
            lambdaK = midPoint - eta
            muK = midPoint + eta
            fLambdaK = calFx(lambdaK)
            fMuK = calFx(muK)
            if fLambdaK > fMuK:
                ak = lambdaK
                continue
            else:
                bk = muK
                continue

相关标签: 二分法