當前位置:吉日网官网 - 傳統美德 - matlab的全局優化和局部優化

matlab的全局優化和局部優化

在實際的工作生活過程中,優化問題無處不在,比如如何以最高的效率分配資源,擬合問題,最小最大問題等等。優化問題壹般分為局部優化和全局優化。局部優化就是在函數值空間的有限區域內尋找最小值。全局優化就是在函數值空間的整個區域內尋找最小值。

matlab中提供的傳統優化工具可以實現局部優化,但要實現全局優化,就要使用全局優化工具,主要包括:

GlobalSearch全局搜索和MultiStart多起點方法生成壹些起點,然後它們使用局部求解器在起點吸引盆處尋找最佳點。

Ga遺傳算法使用壹組起始點(稱為群體)通過叠代從群體中產生更好的點。只要初始種群覆蓋幾個鍋,GA就可以檢查幾個鍋。

模擬退火完成隨機搜索。通常模擬退火算法接受壹個點,只要比前壹個好,偶爾也會接受壹個更差的點,以便轉向不同的流域。

Patternsearch模式搜索算法在接受壹個點之前應該查看附近的壹組點。如果附近的壹些點屬於不同的盆地,模式搜索算法實質上是同時搜索幾個盆地。

下面我將用壹些具體的例子來說明各種優化方法:

可以看出,初始值x0不同,結果完全不同,說明這個求解器可以找到局部最優,但不壹定是全局最優,在起點為8時得到全局最優。

讓我們改變求解器:fminbound,它不需要給初始值。

因此,全局優化方法可以獲得全局最優。

結果:最小二乘擬合結果誤差較大。

可以看出,全局優化結果較好,誤差較小。

這個算法的運行時間:經過的時間是6.139324秒。

使用並行計算解決問題

結果:100次本地求解程序運行中的14次轉換帶有正的本地求解程序退出標誌。

經過的時間是4.358762秒。向所有實驗室發送停止信號...停了。可以看出運行時間減少,效率提高。

這種方法只能找到局部最優。

現在使用全局優化算法:

  • 上一篇:包裝機械的分類類型有哪些?
  • 下一篇:千島湖是杭州的壹個著名景點。妳知道千島湖的哪些美食?
  • copyright 2024吉日网官网