武靜悅 臧勝超 魏寧寧 劉成浩
(山東職業學院 山東 濟南 250104)
內點懲罰函數法基本原理是將有約束優化問題中的不等式約束函數經過加權轉化后,和原目標函數結合形成懲罰函數。懲罰函數在可行域內按一定的法則改變加權因子的值,構成一些列無約束優化問題,求得一系列的無約束最優解,并不斷地逼近原約束優化問題地最優解。
數學模型
(1)
公式(1)中,求目標函數為f(x)的極小值,不等式約束條件為gj(x)≤0。
將不等式約束函數經過加權轉化后,和原目標函數結合形成懲罰函數,形式為:
(2)
或
(3)
rk稱為懲罰因子,它是一個由大到小且趨近于0的正數列,即:
r0>r1>r2>…rk>rk+1>…→0
某工程問題數學模型可表達為:
s.t.g(x)=1-x1≤0
首先構造此數學模型的內點懲罰函數:
(4)
懲罰函數可以用約束優化問題直接解法,用解析法求得無約束極值點為:
(5)
由公式5可計算,rk取由大到小且趨近于0的正數列時,所求極值越接近數學模型極值。當:
r0=1.2x*(r0)=[1.422 0]Tf(x*(r0))=2.022
r0=0.36x*(r0)=[1.156 0]Tf(x*(r0))=1.336
r0=0x*(r0)=[1 0]Tf(x*(r0))=1
繪制出r0分別取不同值時懲罰函數的等值線(函數等值線可利用Matlab中ezcontour函數繪制)如圖1所示。由圖1可以看出在可行域內(函數g(x)右邊),r0越趨近于0所求值越接近原函數極值。
圖1 懲罰函數等值線
內點懲罰函數方法優缺點:
(1)用于目標函數比較復雜,或在可行域外無定義的場合下;
(2)由于優化過程是在可行域內逐步改進優化設計方案,所以在解決工程問題時,只要滿足工程要求,即使未達到最優解,接近的過程解也是可行的;
(3)初始點和序列極值點均需嚴格滿足所有約束條件;
(4)只能解決不等式約束問題。