scipy.optimize.minimize的优化算法(2):Powell

更新时间:2023-07-23 21:21:56 阅读: 评论:0

scipy.optimize.minimize的优化算法(2):Powell
结实近义词
Powell Algorithm
Powell 优化算法是典型的derivative free算法,他不依赖于⽬标函数的可微性质,对于不可导的函数也能有效的最优化。思路是建⽴⼀个direction t,这个t中的⽅向相互线性独⽴,从初始点(x0)开始对每⼀个⽅向进⾏linear arch找到沿这个⽅向的最优解(使⽤Brent method)。遍历所有⽅向之后得到(x1),再将(x1-x0)的⽅向加⼊到direction t中,并剔除掉原来t中第⼀个⽅向。所有新的⽅向(x1-x0)加上未被替换掉的旧⽅向(e2,e3…en)在新的direction t中pairwi conjugate。
算法
先直接来看算法描述:
小区物业管理内容
解释
在实际的算法中,为了增加鲁棒性,我们要对“新的⽅向是否替换旧的⽅向”多加考虑。这⾥我们使⽤以下的判断⽅法:
这⾥为迭代前的初始点,为迭代后的点,为沿着⽅向外沿的点。是迭代次中,某⼀次差别最⼤的函数值。该判断规则为:
1. 如果就不替换。因为外延出去的点⽐起始点还要⼤,说明⽅向在下⼀次迭代并没有好的贡献。
诺克萨斯之手出装
2. 对于(2)中的不等式,当很⼤时(该式表⽰了⼆阶导数),则不选取新⽅向。因为这表明此时点已经很接近最⼩值。或者当很⼩时,不替换新⽅向。因为这表明之前的<script type="math/tex" id="MathJax-Element-12">n</script>次迭代中没有⼀次很明显的下降。
源代码(scipy)
核⼼算法 _minimize_powell() 和 _linearch_powell()
_minimize_powell()
fval = squeeze(func(x))
x1 = x.copy()
iter = 0
ilist = list(range(N))
while True:
fx = fval
bigind = 0
钨杆弹delta = 0.0
for i in ilist:
direc1 = direc[i]
fx2 = fval
fval, x, direc1 = _linearch_powell(func, x, direc1,
晚霞的颜色tol=xtol * 100)
中国政界
if (fx2 - fval) > delta:
delta = fx2 - fval
bigind = i
iter += 1
if callback is not None:
太阳辐射对地球的影响callback(x)
if retall:
allvecs.append(x)
bnd = ftol * (numpy.abs(fx) + numpy.abs(fval)) + 1e-20
if2.0 * (fx - fval) <= bnd:
break
if fcalls[0] >= maxfun:选聘造句
break
if iter >= maxiter:
break
# Construct the extrapolated point # 这⾥便是Procedure 9.4的判别依据direc1 = x - x1  # 新的⽅向
x2 = 2*x - x1  # x2时外延点
x1 = x.copy()
fx2 = squeeze(func(x2))
if(fx > fx2): # 如果外延点的函数值⼩于初始函数值,则进⾏第⼆个不等式的判断            t = 2.0*(fx + fx2 - 2.0*fval)
temp = (fx - fval - delta)
t *= temp*temp
temp = fx - fx2
t -= delta*temp*temp
if t < 0.0:  # 如果不等式不满⾜则使⽤新⽅向
fval, x, direc1 = _linearch_powell(func, x, direc1,
tol=xtol*100)
direc[bigind] = direc[-1]
direc[-1] = direc1

本文发布于:2023-07-23 21:21:56,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1113360.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:算法   函数   替换   迭代   初始   出去   外延   优化
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图