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