懲罰函數法

来自testwiki
imported>Yumeto2022年4月18日 (一) 13:21的版本 Cat-a-lot:分類間移動:從Category:最优化Category:數學最佳化
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索

Template:NoteTA 懲罰函數法Template:Lang-en)是求解有約束的最優化問題的一種算法

懲罰函數法的要旨是將一個有約束的最優化問題轉化為一系列的無約束問題;這些無約束問題由原問題及罰函數,再加上懲罰因子組成;而且,這些無約束問題的解會收斂於所求問題的解。

基本形式

假設有以下有約束問題:

minf(𝐱)

滿足限制

ci(𝐱)0iI.

懲罰函數法將問題轉化成如下無約束問題的序列

minΦk(𝐱)=f(𝐱)+σkiIg(ci(𝐱))

其中

g(ci(𝐱))=max(0,ci(𝐱))2.

在上述方程,g(ci(𝐱))稱為外部罰函數,σk稱為懲罰因子。在每一次疊代中,我們都增大σk(例如變為原來的10倍),然後求解該無約束問題。將每一次疊代的結果將組成一個序列,此序列的極限即為原約束問題的解。

實際應用

圖像壓縮優化演算法,可以利用懲罰函數以決定如何最優地將顏色域壓縮成單個有代表性的數值。[1][2]

障碍懲罰函數法

障碍懲罰函數法同樣是在源問題上加入一個與懲罰函數相似的函數項,構成一個解決有約束問題的替代算法。但在這種情況下,疊代將被限制於留在可行域內部,而障碍也將持續使疊代遠離可行域的邊界。

參見

參考文獻

Template:Reflist Template:Reflist