當前位置:外匯行情大全網 - 外匯開戶 - 學習多目標優化需要哪些python知識?

學習多目標優化需要哪些python知識?

多目標優化

壹般來說,目標優化問題是指通過壹定的優化算法獲得目標函數的最優解。當優化的目標函數為1時,稱為單目標優化(Single-

目標優化問題,

SOP).當存在兩個或多個優化目標函數時,稱為多目標優化問題。

澳門幣.與解是有限的單目標優化不同,多目標優化的解通常是壹組平衡解。

多目標優化算法可以歸納為兩大類:傳統優化算法和智能優化算法。

1.傳統的優化算法包括加權法、約束法和線性規劃法等。本質上是將多目標函數轉化為單目標函數,采用單目標優化方法求解多目標函數。

2.智能優化算法包括進化算法(EA)和粒子群算法(PSO)。

帕累托最優解:

如果x*∈C*,且C中不存在優解X,則x*稱為多目標優化模型的帕累托最優解,也稱為有效解。

壹般來說,多目標優化問題不存在最優解,所有可能的解稱為非劣解,也稱為帕累托解。傳統的優化技術通常壹次可以得到壹個Pareo解集,但是

利用智能算法求解,可以得到更多的帕累托解,並將其解構為壹個最優解集,稱為帕累托最優解。它是由任何目標函數值的提高都必須以犧牲它為代價的那些組成的。

以他的目標函數值為代價的解集稱為帕累托最優域,簡稱帕累托集。

帕累托有效(最優)解非劣解集是指至少有壹個目標函數優於集合外任何解的解的集合。

多目標優化問題最著名的解法是NSGA-II,這是壹種多目標遺傳算法,但它的解選擇過程可以用於其他優化算法,如粒子群算法、蜂群算法等。下面簡單介紹壹下NSGA-II的選擇算法。它主要包括三個部分:

1.快速非支配排序

先說支配的概念。對於解X1和X2,如果X1對應的所有目標函數都不大於X2(最小問題),且有壹個目標值小於X2,則X2以X1為主。

快速非支配排序是壹個循環的分級過程:先找出群體中的非支配解集,記為第壹個非支配層,irank=1(irank是個體I的非支配值),將其從群體中移除,繼續尋找群體中的非支配解集,然後irank=2。

2.個體擁擠距離

為了使計算結果更均勻地分布在目標空間,保持種群的多樣性,對每個個體計算擁擠距離,選擇擁擠距離大的個體。擁擠距離定義為:

L[i]d=L[i]d+(L[i+1]m?l[我?1]m)/(fmaxm?fminm)

L[i+1]m是i+1個體的第m個目標函數值,fmaxm和fminm是集合中第m個目標函數值的最大值和最小值。

3.精英戰略選擇

精英策略是將父代中的優秀個體直接保留到後代中,以防止帕累托最優解的丟失。將t時刻產生的子代種群和父代種群合並,然後將合並後的新種群按非優勢順序排序,再按非優勢順序加入到大小為n的種群中作為新的父代。

  • 上一篇:信用卡提示
  • 下一篇:楊受成兒子的名字是什麽?
  • copyright 2024外匯行情大全網