日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

最优化算法python实现篇(2)—无约束一维极值(二分法)

發(fā)布時(shí)間:2025/3/21 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 最优化算法python实现篇(2)—无约束一维极值(二分法) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最優(yōu)化算法python實(shí)現(xiàn)篇(2)——無約束一維極值(二分法)

  • 算法適用問題
  • python實(shí)現(xiàn)
  • 示例運(yùn)行結(jié)果

算法適用問題

搜索給定單峰區(qū)間的極值問題,一般對(duì)凸優(yōu)化問題比較適用。

python實(shí)現(xiàn)

# # ******************************** 無約束一維極值——二分法 ******************************** import pandas as pd import numpy as np from advance_retreat_method import advance_retreat_method from scipy.misc import derivative class Minimize_Dichotomy(object):"""func:為目標(biāo)函數(shù),必傳參數(shù)eps:迭代精度 默認(rèn)1e-6x0:初始區(qū)間。若不傳這個(gè)參數(shù),則會(huì)調(diào)用進(jìn)退法求取一個(gè)單峰區(qū)間。from advance_retreat_method import advance_retreat_method 這個(gè)模塊在本人博客優(yōu)化版塊的第一篇文章 """def __init__(self,**kargs):self.func = kargs["func"]if "x0" in kargs.keys():self.x0 = np.array(kargs["x0"])else:self.x0 = np.array(advance_retreat_method(kargs["func"]).run())if "eps" in kargs.keys():self.eps = kargs["eps"]else:self.eps = 1e-6def run(self):x_mean = np.mean(self.x0)y_mean = derivative(self.func,x_mean,dx = 1e-6)if derivative(self.func,self.x0[0],dx = 1e-6)*y_mean < 0:self.x0[1] = x_meanelse:self.x0[0] = x_meanif np.abs(self.x0[0]-self.x0[1]) < self.eps or y_mean == 0:return ((x_mean,self.func((self.x0[0]+self.x0[1])/2)))else:return self.run() if __name__ == "__main__":result = Minimize_Dichotomy(func = lambda x:x**2+2*x-150).run()print(result)

示例運(yùn)行結(jié)果

by CyrusMay 2020 05 01

幸福不是多而是遺忘
能遺忘生命的煩惱憂傷

——五月天(Enrich your life)——

總結(jié)

以上是生活随笔為你收集整理的最优化算法python实现篇(2)—无约束一维极值(二分法)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。