日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

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

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

最優化算法python實現篇(2)——無約束一維極值(二分法)

  • 算法適用問題
  • python實現
  • 示例運行結果

算法適用問題

搜索給定單峰區間的極值問題,一般對凸優化問題比較適用。

python實現

# # ******************************** 無約束一維極值——二分法 ******************************** 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:為目標函數,必傳參數eps:迭代精度 默認1e-6x0:初始區間。若不傳這個參數,則會調用進退法求取一個單峰區間。from advance_retreat_method import advance_retreat_method 這個模塊在本人博客優化版塊的第一篇文章 """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)

示例運行結果

by CyrusMay 2020 05 01

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

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。