數(shù)學(xué)規(guī)劃法的命題是:求n個變量xi(i=l,2,…,n),滿足m個約束條件Gj(xi)≤0 (j=l,2,…,m),且使目標(biāo)函數(shù)W(xi)為最小(或最大)。如果約束條件和目標(biāo)函數(shù)都是xi的線性函數(shù),這便是線性規(guī)劃問題,已有成熟的解法;如果在這些函數(shù)中有一個是非線性函數(shù),便成為非線性規(guī)劃問題。隨著非線性函數(shù)的性質(zhì)和形式的不同,非線性規(guī)劃問題有很多類型,特殊的解法很多,在應(yīng)用上各有局限性,沒有普遍適用的最好解法。
用數(shù)學(xué)規(guī)劃法來作結(jié)構(gòu)優(yōu)化設(shè)計(jì),變量xi便代表可以變化的各種結(jié)構(gòu)參數(shù),如元件截面積或厚度、節(jié)點(diǎn)位置、材料性質(zhì)等;約束條件Gj(xi)≤0代表設(shè)計(jì)必須滿足的各種限制,例如結(jié)構(gòu)各部位的靜應(yīng)力,動應(yīng)力或變位不得超過規(guī)定的容許值,元件的截面或厚度尺寸不得超出給定的范圍,結(jié)構(gòu)的頻率不應(yīng)落在某個禁區(qū),結(jié)構(gòu)的失穩(wěn)臨界力或飛行器的顫振速度不得小于某一下限,等等;而目標(biāo)函數(shù)則代表結(jié)構(gòu)優(yōu)化所追求的指標(biāo),例如,結(jié)構(gòu)重量最小和成本最低等可以定量的指標(biāo);也可將重量、造價(jià)作為約束條件,而把某種結(jié)構(gòu)性能,例如剛度作為目標(biāo)函數(shù)。
數(shù)學(xué)規(guī)劃法的基本目的是,在以設(shè)計(jì)變量為坐標(biāo)的多維空間里搜索最優(yōu)點(diǎn)。如果有n個設(shè)計(jì)變量,則相應(yīng)的n維設(shè)計(jì)變量空間中的每個點(diǎn)都代表一個設(shè)計(jì)方案。在無限多的點(diǎn)中要盡快地搜索出既滿足所有的約束條件,又能使目標(biāo)函數(shù)盡量接近最小值(或最大值)的點(diǎn),就是數(shù)學(xué)規(guī)劃設(shè)計(jì)法的任務(wù),這種搜索的過程稱為“優(yōu)化過程”。
附圖表示一個二維設(shè)計(jì)空間,圖中的一簇曲線是目標(biāo)函數(shù)W(x1,x2)為常數(shù)的等值線。約束函數(shù)Gj(x1,x2)為零的曲線所圍成的區(qū)域是可行域。A、B、C點(diǎn)各代表一個可行的方案.圍線以外的點(diǎn)(如D)不滿足約束條件,所以是不可行方案。顯然,滿足約束條件并使目標(biāo)函數(shù)W最小的最優(yōu)方案點(diǎn)是M。數(shù)學(xué)規(guī)劃就是要以最迅速的方式找到點(diǎn)M。
這好比在山坡上—個用柵欄圍起來的區(qū)域里找最低點(diǎn),如果這個山坡不是凹的,則可以斷定最低點(diǎn)必在柵欄所在的邊界上。數(shù)學(xué)規(guī)劃提供了很多搜索的辦法,基本原則都是在選好一個出發(fā)點(diǎn)后,經(jīng)過分析判斷,找出一個邁步的有利方向,沿這個方向跨出有利的步長以到達(dá)新的一點(diǎn)。再從此點(diǎn)出發(fā),重復(fù)上述過程,一步一步走下去,直到再也找不到可走的有利方向,就是達(dá)到了最低點(diǎn)。從第n點(diǎn)到第(n+1)點(diǎn)這一步可表達(dá)為:
式中 為有利方向,為有利步長系數(shù),它們依靠在點(diǎn)進(jìn)行的分析所提供的信息來確定。例如,從可行點(diǎn)A出發(fā),沿著等高線的梯度負(fù)向,即最陡下降方向逐步走到邊界點(diǎn)1,然后再沿著邊界逐步走到最低點(diǎn)M,這個方法叫作梯度投影法。實(shí)際上還有很多其他的方法。可以看出,如果初始出發(fā)點(diǎn)選的是B,用同樣的走法也可以走到最低點(diǎn)M;但如果初始點(diǎn)選的是C,那就會走到另一個局部最低點(diǎn)N。M點(diǎn)代表全局最優(yōu)解,因?yàn)樗侨靠尚杏蛑械淖畹忘c(diǎn)。
N點(diǎn)只是在它附近的可行域中的最低點(diǎn),所以是局部最優(yōu)解?,F(xiàn)在還沒有一個可靠的實(shí)用方法能保證搜索到的解一定是全局最優(yōu)解。一般是在可能的情況下取若干不同的出發(fā)點(diǎn)作幾次搜索,以期找到全局最優(yōu)解。
如果是線性規(guī)劃問題,搜索過程就簡便得多。所以有時把非線性問題轉(zhuǎn)化成一系列線性問題來逼近。為此,在某一設(shè)計(jì)點(diǎn)附近將目標(biāo)函數(shù)和約束函數(shù)都線性化,也就是在該點(diǎn)將函數(shù)作泰勒展開,并只保留它們的線性項(xiàng)。然后作有一定步長限制的線性規(guī)劃,得到新的一點(diǎn)。如此重復(fù)下去,直到收斂于最優(yōu)點(diǎn)為止。
由于不帶約束的規(guī)劃問題比較容易作,所以有時也把有約束問題轉(zhuǎn)化成一個序列的無約束問題。為此,可以把約束表示成一個罰函數(shù)加到目標(biāo)函數(shù)上去,構(gòu)成一個新的目標(biāo)函數(shù),即式中即為罰函數(shù),r是個相當(dāng)小的正數(shù),它在序列無約束問題中,逐次減小。因?yàn)閞值很小,當(dāng)代表某一設(shè)計(jì)方案的點(diǎn)在離開邊界較遠(yuǎn)的可行域內(nèi)部行動時,;但是當(dāng)接近可行域的邊界.某約束函數(shù)Gj(xi)將由負(fù)值趨近于零,于是罰函數(shù)急劇增大,因此,的最小點(diǎn)不可能越過可行域邊界。
r越小,無約束問題的W最小點(diǎn)越接近于有約束問題的W最小點(diǎn)。但是如果一開始就取很小的r,無約束問題將遇到收斂上的困難,所以有必要將有約束問題化成一個序列的無約束問題,讓系數(shù)r在這個序列中逐漸減小到適當(dāng)?shù)某潭取?br />
此外,還有一些非線性規(guī)劃的特殊方法,如幾何規(guī)劃和動態(tài)規(guī)劃,各有其適應(yīng)的范圍,在結(jié)構(gòu)優(yōu)化設(shè)計(jì)中也得到應(yīng)用。
優(yōu)化準(zhǔn)則法
以滿足某種準(zhǔn)則來代替目標(biāo)函數(shù)在約束條件下取極值的方法,叫作優(yōu)化準(zhǔn)則法。最簡單的一個優(yōu)化準(zhǔn)則法,便是前面提到的滿應(yīng)力設(shè)計(jì)方法。只有對于內(nèi)力分布不隨設(shè)計(jì)變量改變而變化的靜定結(jié)構(gòu),而且容許應(yīng)力與設(shè)計(jì)變量無關(guān)的情況下,才能通過一次結(jié)構(gòu)分析和修改設(shè)計(jì)得出滿應(yīng)力結(jié)構(gòu)。對于其他情況,為使各元件趨向于滿應(yīng)力,必須進(jìn)行下列的選代:
式中 和 為第n次迭代的第i元件的截面積和最大應(yīng)力,為第i元件的容許應(yīng)力。公式給出經(jīng)過修正的第i元件的截面積。迭代收斂時,就達(dá)到的滿應(yīng)力準(zhǔn)則。滿應(yīng)力準(zhǔn)則和結(jié)構(gòu)最小重量之間沒有必然的聯(lián)系,但是一般的滿應(yīng)力設(shè)計(jì)可能相當(dāng)接近于甚至就等于最輕設(shè)計(jì)。當(dāng)然,這個方法只適用于受應(yīng)力約束的最輕設(shè)計(jì)問題。