非線性規(guī)劃和Matlab實現(xiàn)專家講座_第1頁
非線性規(guī)劃和Matlab實現(xiàn)專家講座_第2頁
非線性規(guī)劃和Matlab實現(xiàn)專家講座_第3頁
非線性規(guī)劃和Matlab實現(xiàn)專家講座_第4頁
非線性規(guī)劃和Matlab實現(xiàn)專家講座_第5頁
已閱讀5頁,還剩107頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

第三章非線性規(guī)劃及Matlab實現(xiàn)華南理工大學模具研究室mesjzhang@非線性規(guī)劃和Matlab實現(xiàn)第1頁非線性規(guī)劃基本概念及分類當目標函數(shù)或約束條件中有一個或多個為非線性函數(shù),則稱這么規(guī)劃問題為非線性規(guī)劃(NonlinearProgramming)。其數(shù)學模型為:非線性規(guī)劃和Matlab實現(xiàn)第2頁非線性規(guī)劃無約束非線性規(guī)劃約束非線性規(guī)劃非線性規(guī)劃和Matlab實現(xiàn)第3頁梯度(gradient)設n元函數(shù)f(x)在點x處可微,則稱以下向量為f(x)在點x處梯度梯度幾何意義:假如函數(shù)f(x)在點x處梯度是非零向量,那么就是f(x)等值面在點x處法向量,垂直于等值面在點x處切平面,且指向f(x)函數(shù)值增大方向。非線性規(guī)劃和Matlab實現(xiàn)第4頁Hessian矩陣(HessianMatrix)設n元函數(shù)f(x)在點x處二次可微,將f(x)在x點二階偏導數(shù)按以下組成,則稱是函數(shù)f(x)在x點Hessian矩陣。Hessian矩陣和梯度內(nèi)在關系非線性規(guī)劃和Matlab實現(xiàn)第5頁方向?qū)?shù)(directionderivative)設f(x)在點x處可微,d是給定非零向量,假如極限:存在,則稱此極限為函數(shù)f(x)在點x處沿著方向d方向?qū)?shù),記:非線性規(guī)劃和Matlab實現(xiàn)第6頁下降方向(descentdirection)設d是非零向量,若存在正數(shù)ε>0,當t?(0,ε)時,必有:則稱方向d是函數(shù)f(x)在點x處一個下降方向。假如函數(shù)f(x)在點x沿著方向d方向?qū)?shù)滿足條件:那么方向d必是函數(shù)f(x)在點x處一個下降方向。負梯度方向稱為最速下降方向。參看:Lecture5Non-linearProgramming.pdf3.2.1節(jié)判斷是否下降方向一個簡單方法就是看該方向與負梯度方向之間夾角。非線性規(guī)劃和Matlab實現(xiàn)第7頁正定矩陣考慮二次型

,z為n維向量正定二次型:若對于任意

,有

;半正定二次型:若對于任意

,有

;負定二次型:若對于任意

,有

;半負定二次型:若對于任意

,有

;不定二次型:

,有

,又

,有

.二次型

為正定充要條件是它矩陣

左上角各階主子式都大于零.矩陣M全部特征值λi都是正。非線性規(guī)劃和Matlab實現(xiàn)第8頁函數(shù)Taylor展開非線性規(guī)劃和Matlab實現(xiàn)第9頁相關數(shù)學基礎知識參看:Lecture4MathematicalPreliminaries.pdf非線性規(guī)劃和Matlab實現(xiàn)第10頁無約束非線性規(guī)劃最優(yōu)性條件局部極小點、全局極小點、非光滑極小點局部極小條件-極小點類型非線性規(guī)劃和Matlab實現(xiàn)第11頁無約束問題最優(yōu)性條件無約束極小點一階必要條件:設f(x)在點x處可微,若x是f(x)無約束局部極小點,則必有梯度無約束極小點二階充分條件:設f(x)在點x處二次可微,若x是f(x)無約束局部極小點,則必有梯度,且f(x)在x處Hessian矩陣半正定。嚴格無約束局部極小點充分條件:設f(x)在x處二次可微,若梯度,且f(x)在x處Hessian矩陣正定,則可斷言x是嚴格局部極小點非線性規(guī)劃和Matlab實現(xiàn)第12頁例:利用極值條件解優(yōu)化問題非線性規(guī)劃和Matlab實現(xiàn)第13頁非線性規(guī)劃和Matlab實現(xiàn)第14頁算法及相關概念1、迭代算法集合D上迭代算法A:(1)初始點;(2)按照某種規(guī)則A產(chǎn)生下一個迭代點。(i)假如點列收斂于最優(yōu)解,則稱算法A收斂。(ii)假如,則稱算法A為下降迭代算法。....非線性規(guī)劃和Matlab實現(xiàn)第15頁2.下降迭代算法步驟(1)給出初始點,令;(2)按照某種規(guī)則確定下降搜索方向;(3)按照某種規(guī)則確定搜索步長,使得;(4)令,;(5)判斷是否滿足停頓條件。是則停頓,不然轉(zhuǎn)第2步。搜索步長確定方法:稱。為最優(yōu)步長,且有非線性規(guī)劃和Matlab實現(xiàn)第16頁模型算法線性搜索求,新點使x(k+1)∈S初始x(1)∈S,k=1對x(k)點選擇下降可行方向d(k)是否滿足停機條件?停k=k+1yesno非線性規(guī)劃和Matlab實現(xiàn)第17頁3.終止條件b.d.a.c.xkxk+1xkxk+1x*非線性規(guī)劃和Matlab實現(xiàn)第18頁非線性規(guī)劃和Matlab實現(xiàn)第19頁普通而言,線性收斂速度是比較慢,超線性收斂速度相對較快,而二階收斂速度則相當快。假如一個算法含有超線性收斂速度,那么從計算角度就能夠認為是一個比很好算法則稱收斂階為。a.設算法A所得點列為,假如b.4.收斂速度非線性規(guī)劃和Matlab實現(xiàn)第20頁單谷函數(shù)(單峰函數(shù)):設f(t)是定義在區(qū)間[a,b]上一元函數(shù),t*是f(t)在[a,b]上全局極小點。假如在[a,b]上任取兩個點t1<t2,當t2≤t*時,必有f(t1)>f(t2);而當t1≥t*時,必有f(t1)<f(t2),則稱f(t)在[a,b]上是一個單谷函數(shù)。利用上述定理,能夠縮短搜索區(qū)間設[a,b]是單谷函數(shù)f(t)一個已知搜索區(qū)間,在[a,b]中任取兩個點t1<t2:

假如f(t1)>f(t2),則搜索區(qū)間可縮短為[t1,b];

假如f(t1)≤f(t2),則搜索區(qū)間可縮短為[a,t2];非線性規(guī)劃和Matlab實現(xiàn)第21頁無約束優(yōu)化:線搜索法給定初始預計x(0),設x(k)處有g(k)

≠0,則第k次迭代:(a)中搜索方向有許各種不一樣確實定方法!依據(jù)某種模型函數(shù)確定x(k)處搜索方向d(k)線搜索:確定極小點置(b)中確實定步長:準確線搜索、非準確線搜索一維收索方法很多,大致能夠分為兩類:一為不使用導數(shù)方法,如進退法、Fibonacci法、0.618法;二為使用導數(shù)方法,如對分法、牛頓法、拋物線法、三次插值法等。非線性規(guī)劃和Matlab實現(xiàn)第22頁確定極小點確定步長方法:分析法(最優(yōu)步長)最優(yōu)步長參看:Lecture5Non-linearProgramming.pdf節(jié)非線性規(guī)劃和Matlab實現(xiàn)第23頁進退法求初始不確定區(qū)間

找三點使兩端點函數(shù)值大于中間點函數(shù)值。思緒:任取λ0,步長δ>0,取λ1=λ0+δ

1°若ф(λ0)<ф(λ1),令δ=2δ(步長加倍),λ2=λ0-δ

若ф(λ2)<ф(λ0),則令λ1=λ0

,λ0=λ2,重復1°

若ф(λ2)>ф(λ0),則停,a=λ2,b=λ1(圖1)

2°若ф(λ0)>ф(λ1),令δ=2δ,λ2=λ1+δ

,若ф(λ2)<ф(λ1),則令λ0=λ1,λ1=λ2,重復2°

若ф(λ2)>ф(λ1),則停,a=λ0

,b=λ2(圖2)λ2λ0λ1

向左找λ2

圖1

λ0λ1λ2

向右找λ2

圖2區(qū)間法參看:Lecture5Non-linearProgramming.pdf節(jié)非線性規(guī)劃和Matlab實現(xiàn)第24頁0.618法和Fibonacci法0.618法和Fibonacci法都是分割方法,其基本思想是經(jīng)過取試探點和函數(shù)值進行比較,使包含極小點搜索區(qū)間不??s短,當區(qū)間長度縮短到一定程度時,區(qū)間上各點函數(shù)值均靠近極小值,從而各點能夠看作是極小點近似。這類方法僅需計算函數(shù)值,不包括導數(shù),又稱直接法,用途很廣,尤其適合用于非光滑及導數(shù)表示式復雜或?qū)懖怀銮闆r。這類方法要求所考慮區(qū)間上目標函數(shù)是單峰函數(shù)。假如不滿足這個條件,能夠考慮把區(qū)間分成若干個小區(qū)間,使得每個小區(qū)間上函數(shù)都是單峰,分別求極小值非線性規(guī)劃和Matlab實現(xiàn)第25頁0.618法0.618法基本思想是在搜索區(qū)間[a,b]上選取兩個對稱點λ1和λ2,且λ1<λ2,經(jīng)過比較這兩個點處函數(shù)值φ(λ1)和φ(λ2)大小來決定刪除左半?yún)^(qū)間[a,λ1),還是右半?yún)^(qū)間(λ2,b]。刪除后新區(qū)間長度是原來區(qū)間長度0.618倍。新區(qū)間包含原區(qū)間中兩個對稱點中一個,只要再選一個對稱點,并利用這兩個新對稱點函數(shù)值繼續(xù)比較。重復這個過程,最終確定出極小點。非線性規(guī)劃和Matlab實現(xiàn)第26頁非線性規(guī)劃和Matlab實現(xiàn)第27頁黃金分割法(0.618法)(算法)初始[α,β],ε>0

λ=α+(1-t)(β-α)μ=α+t(β-α)β-α<ε?

STOP;λ*

=(α+β)/2yesФ(λ)-Ф(μ)>0?Noα=λ,λ=μ

μ=α+t(β-α)yesβ=μ,μ=λλ=α+(1-t)(β-α)Noαλμβμβ

αλμβαλ非線性規(guī)劃和Matlab實現(xiàn)第28頁黃金分割法Matlab實現(xiàn)程序,參看golden_sect.pdf非線性規(guī)劃和Matlab實現(xiàn)第29頁非線性規(guī)劃和Matlab實現(xiàn)第30頁Fibonacci法非線性規(guī)劃和Matlab實現(xiàn)第31頁0.618法和Fibonnacci法都用于單谷函數(shù),經(jīng)過不停縮小搜索區(qū)間來取得極小點近似值。0.618法區(qū)間長度縮短比率是常數(shù),而Fibonacci法區(qū)間長度縮短比率有Fibonnacci數(shù)確定。當所需插入點個數(shù)n充分大時,F(xiàn)ibonacci法搜索區(qū)間縮短比率趨近于0.618法縮短比率。非線性規(guī)劃和Matlab實現(xiàn)第32頁最速下降法非線性規(guī)劃和Matlab實現(xiàn)第33頁非線性規(guī)劃和Matlab實現(xiàn)第34頁非線性規(guī)劃和Matlab實現(xiàn)第35頁非線性規(guī)劃和Matlab實現(xiàn)第36頁非線性規(guī)劃和Matlab實現(xiàn)第37頁非線性規(guī)劃和Matlab實現(xiàn)第38頁令

最速下降法參看:Lecture5Non-linearProgramming.pdf節(jié)非線性規(guī)劃和Matlab實現(xiàn)第39頁最優(yōu)解最優(yōu)方向克服負梯度方向缺點路徑用適當正定矩陣(尺度矩陣)乘負梯度方向,其作用是對后者進行適當旋轉(zhuǎn),以取得更加好方向非線性規(guī)劃和Matlab實現(xiàn)第40頁牛頓法在局部用一個二次函數(shù)g(x)近似地代替目標函數(shù),然后用g(x)極小值作為f(x)近似極小點非線性規(guī)劃和Matlab實現(xiàn)第41頁牛頓方向非線性規(guī)劃和Matlab實現(xiàn)第42頁非線性規(guī)劃和Matlab實現(xiàn)第43頁非線性規(guī)劃和Matlab實現(xiàn)第44頁非線性規(guī)劃和Matlab實現(xiàn)第45頁牛頓法特點非線性規(guī)劃和Matlab實現(xiàn)第46頁牛頓法改進:修正牛頓法/阻尼牛頓法牛頓法參看:Lecture5Non-linearProgramming.pdf節(jié)非線性規(guī)劃和Matlab實現(xiàn)第47頁變尺度法/擬牛頓法前面介紹了牛頓法,它突出優(yōu)點是收斂很快.不過,利用牛頓法需要計算二階導數(shù),而且目標函數(shù)Hessian矩陣可能非正定.為了克服牛頓法缺點,人們提出了擬牛頓法.它基本思想是用不包含二階導數(shù)矩陣近似牛頓法中Hessian矩陣逆矩陣.因為結(jié)構(gòu)近似矩陣方法不一樣,因而出現(xiàn)不一樣擬牛頓法.經(jīng)理論證實和實踐檢驗,擬牛頓法已經(jīng)成為一類公認比較有效算法.非線性規(guī)劃和Matlab實現(xiàn)第48頁

下面分析怎樣結(jié)構(gòu)近似矩陣并用它取代牛頓法中Hessian矩陣逆.

前面已經(jīng)給出牛頓法迭代公式,即其中是在點處牛頓方向:

是從出發(fā)沿牛頓方向搜索最優(yōu)步長.

為結(jié)構(gòu)近似矩陣,先分析與一階導數(shù)關系.非線性規(guī)劃和Matlab實現(xiàn)第49頁

設在第次迭代后,得到點,我們將目標函數(shù)在點展成Taylor級數(shù),并取二階近似,得到由此可知,在附近有令,則記作非線性規(guī)劃和Matlab實現(xiàn)第50頁則有又設Hessian矩陣可逆,則這么,計算出后,能夠依據(jù)上式預計在處Hessian矩陣逆.所以,為了用不包含二階導數(shù)矩陣取代牛頓法中Hessian矩陣逆矩陣,有理由令滿足該式有時稱為擬牛頓條件.下面就來研究怎樣確定滿足這個條件矩陣.非線性規(guī)劃和Matlab實現(xiàn)第51頁

DFP算法

著名DFP方法是Davidon首先提出,以后又被Fletcher和Powell改進算法,又稱為變尺度法.在這種方法中,定義校正矩陣為

輕易驗證,這么定義校正矩陣,得到矩陣非線性規(guī)劃和Matlab實現(xiàn)第52頁DFP方法計算步驟以下:1.給定初始點,允許誤差.2.置(單位矩陣),計算出在處梯度3.令4.從出發(fā),沿方向搜索,求步長,使它滿足非線性規(guī)劃和Matlab實現(xiàn)第53頁令5.檢驗是否滿足收斂準則,若則停頓迭代,得到點;不然,進行步6..6.若,則令,返回步2.;不然,進行步7.(即迭代一輪n次仍沒求得最優(yōu)解,以新

為起點重新開始一輪新迭代)7.令利用公式計算置,返回步3..擬牛頓法參看:“AnIntroductiontoOptimization”第11章,以及Lecture5Non-linearProgramming.pdf節(jié)非線性規(guī)劃和Matlab實現(xiàn)第54頁共軛方向法最速下降法計算步驟簡單,但收斂速度太慢;牛頓法和阻尼牛頓法收斂速度快,但要計算二階偏導數(shù)矩陣及其逆矩陣,計算量太大。共軛方向法是兼有這兩種方法優(yōu)點一類方法,比最速下降法收斂速度快得多,但同時又防止了牛頓法所要求Hessian矩陣計算和求逆。非線性規(guī)劃和Matlab實現(xiàn)第55頁非線性規(guī)劃和Matlab實現(xiàn)第56頁共軛方向法,主要是其中共軛梯度法(conjugategradientmethod)。1952年Hesteness和Stiefel為求解線性方程組提出了共軛梯度法,1964年Fletcher和Reeves提出了F-R共軛梯度法(簡稱FR法),用來求解無約束優(yōu)化問題。共軛梯度法FR法基本思想是把共軛性與最速下降法相結(jié)合,利用已知點處梯度結(jié)構(gòu)一組共軛方向,并沿著這組方向進行搜索,求出目標函數(shù)極小值。非線性規(guī)劃和Matlab實現(xiàn)第57頁其中,是對稱正定矩陣,是常數(shù).我們先討論對于二次凸函數(shù)共軛梯度法,然后再把這種方法推廣到極小化普通函數(shù)情形.

考慮問題求解方法:非線性規(guī)劃和Matlab實現(xiàn)第58頁非線性規(guī)劃和Matlab實現(xiàn)第59頁Fletcher-Reeves公式非線性規(guī)劃和Matlab實現(xiàn)第60頁非線性規(guī)劃和Matlab實現(xiàn)第61頁擬牛頓法參看:“AnIntroductiontoOptimization”第10章,以及Lecture5Non-linearProgramming.pdf節(jié)非線性規(guī)劃和Matlab實現(xiàn)第62頁非線性規(guī)劃和Matlab實現(xiàn)第63頁非線性規(guī)劃和Matlab實現(xiàn)第64頁非線性規(guī)劃和Matlab實現(xiàn)第65頁約束極值最優(yōu)化方法非線性規(guī)劃和Matlab實現(xiàn)第66頁約束問題最優(yōu)性條件非線性規(guī)劃和Matlab實現(xiàn)第67頁研究一點處可行方向時,只需考慮在這一點主動約束,能夠暫時不論那些不主動約束非線性規(guī)劃和Matlab實現(xiàn)第68頁可行方向非線性規(guī)劃和Matlab實現(xiàn)第69頁Lagrange必要條件Lagrange定理實質(zhì)是將等式約束問題轉(zhuǎn)化為無約束問題來處理等式約束問題最優(yōu)性條件非線性規(guī)劃和Matlab實現(xiàn)第70頁Lagrange充分條件非線性規(guī)劃和Matlab實現(xiàn)第71頁非線性規(guī)劃和Matlab實現(xiàn)第72頁非線性規(guī)劃和Matlab實現(xiàn)第73頁不等式約束問題最優(yōu)性條件非線性規(guī)劃和Matlab實現(xiàn)第74頁幾何最優(yōu)性條件幾何最優(yōu)性條件是不等式約束條件下極小點必要條件非線性規(guī)劃和Matlab實現(xiàn)第75頁可行方向代數(shù)條件非線性規(guī)劃和Matlab實現(xiàn)第76頁下降方向代數(shù)條件非線性規(guī)劃和Matlab實現(xiàn)第77頁可行下降方向非線性規(guī)劃和Matlab實現(xiàn)第78頁Kuhn-Tucker條件Kuhn-Tucker定理簡稱為K-T定理,稱所導出相關極小點必要條件為K-T條件,滿足K-T條件點稱為K-T點非線性規(guī)劃和Matlab實現(xiàn)第79頁非線性規(guī)劃和Matlab實現(xiàn)第80頁非線性規(guī)劃和Matlab實現(xiàn)第81頁KT條件幾何解釋參看:Lecture6MathematicalPreliminaries2.pdf非線性規(guī)劃和Matlab實現(xiàn)第82頁Zoutendijk可行方向法非線性規(guī)劃和Matlab實現(xiàn)第83頁可行方向法基本原理非線性規(guī)劃和Matlab實現(xiàn)第84頁僅帶線性約束Zoutendijk可行方向法非線性規(guī)劃和Matlab實現(xiàn)第85頁非線性規(guī)劃和Matlab實現(xiàn)第86頁非線性規(guī)劃和Matlab實現(xiàn)第87頁非線性規(guī)劃和Matlab實現(xiàn)第88頁非線性規(guī)劃和Matlab實現(xiàn)第89頁非線性規(guī)劃和Matlab實現(xiàn)第90頁帶非線性約束Zoutendijk可行方向法求出線性規(guī)劃問題最優(yōu)解

,若

z=0,說明在

點處不存在可行下降方向.在

為正則點時,

x為K-T點.若z<0,則

為可行下降方向.非線性規(guī)劃和Matlab實現(xiàn)第91頁非線性規(guī)劃和Matlab實現(xiàn)第92頁制約函數(shù)法這類方法是將約束條件隨同一個參數(shù)并入到目標函數(shù)而形成一個新無約束問題.當參數(shù)改變時就得到了一系列無約束問題,用求解這一系列無約束問題而得到解來迫近原有約束問題解,也稱這類方法為序列無約束極小化方法.罰函數(shù)法(外點法)障礙函數(shù)法(內(nèi)點法)非線性規(guī)劃和Matlab實現(xiàn)第93頁罰函數(shù)法(外點法)非線性規(guī)劃和Matlab實現(xiàn)第94頁非線性規(guī)劃和Matlab實現(xiàn)第95頁非線性規(guī)劃和Matlab實現(xiàn)第96頁非線性規(guī)劃和Matlab實現(xiàn)第97頁障礙函數(shù)法(內(nèi)點法)非線性規(guī)劃和Matlab實現(xiàn)第98頁非線性規(guī)劃和Matlab實現(xiàn)第99頁非線性規(guī)劃和Matlab實現(xiàn)第100頁

用MATLAB軟件求解,其輸入格式以下:

1.x=quadprog(H,C,A,b);2.x=quadprog(H,C,A,b,Aeq,beq);3.x=quadprog(H,C,A,b,Aeq,beq,VLB,VUB);4.x=quadprog(H,C,A,b,Aeq,beq,VLB,VUB,X0);5.x=quadprog(H,C,A,b,Aeq,beq,VLB,VUB,X0,options);6.[x,fval]=quaprog(…);7.[x,fval,exitflag]=quaprog(…);8.[x,fval,exitflag,output]=quaprog(…);1.二次規(guī)劃非線性規(guī)劃和Matlab實現(xiàn)第101頁例1min

f(x1,x2)=-2x1-6x2+x12-2x1x2+2x22s.t.

x1+x2≤2-x1+2x2≤2

x1≥0,x2≥0MATLAB(youh1)1.寫成標準形式:2.輸入命令:

H=[2-2;-24];c=[-2;-6];A=[11;-12];b=[2;2];Aeq=[];beq=[];VLB=[0;0];VUB=[];[x,z]=quadprog(H,c,A,b,Aeq,beq,VLB,VUB)3.運算結(jié)果為:

x=4/56/5z=-36/5s.t.非線性規(guī)劃和Matlab實現(xiàn)第102頁

1.首先建立M文件fun.m,用來定義目標函數(shù)F(X):functionf=fun(X);f=F(X);2.普通非線性規(guī)劃

其中X為n維變元向量,G(X)與Ceq(X)均為非線性函數(shù)組成向量,其它變量含義與線性規(guī)劃、二次規(guī)劃中相同.用MATLAB求解上述問題,基本步驟分三步:非線性規(guī)劃和Matlab實現(xiàn)第103頁3.建立主程序.求解非線性規(guī)劃函數(shù)是fmincon,命令基本格式以下:

(1)x=fmincon(‘fun’,X0,A,b)

(2)x=fmincon(‘fun’,X0,A,b,Aeq,beq)

(3)x=fmincon(‘fun’,X0,A,b,Aeq,beq,VLB,VUB)(4)x=fmincon(‘fun’,X0,A,b,Aeq,beq,VLB,VUB,’nonlcon’)(5)x=fmincon(‘fun’,X0,A,b,Aeq,beq,VLB,VUB,’nonlcon’,options)

(6)[x,fval]=fmincon(…)(7)[x,fval,exitflag]=fmincon(…)(8)[x,fval,exitflag,output]=fmincon(…)輸出極值點M文件迭代初值參數(shù)說明變量上下限非線性規(guī)劃和Matlab實現(xiàn)第104頁注意:[1]fmincon函數(shù)提供了大型優(yōu)化算法和中型優(yōu)化算法.默認時:若在fun函數(shù)中提供了梯度(options參數(shù)GradObj設置為’on’),而且只有上下界存在或只有等式約束,fmincon函數(shù)將選擇大型算法.當現(xiàn)有等式約束又有梯度約束時,使用中型算法.[2]fmincon函數(shù)中型算法使用是序列二次規(guī)劃法.在每一步迭代中求解二次規(guī)劃子問題,并用BFGS法更新拉格朗日Hesse矩陣.[3]fmincon函數(shù)可能會給出局部最優(yōu)解,這與初值X0選取相關.非線性規(guī)劃和Matlab實現(xiàn)第105頁1.寫成標準形式:

s.t.

2x1+3x26

s.t.

x1+4x25

x1,x20例2非線性規(guī)劃和Matlab實現(xiàn)第106頁2.先建立M-文件fun3.m:

functionf=fun3(x);f=-x(1)-2*x(2)+(1/2)*x(1)^2+(1/2)*x(2)^2MATLAB(youh2)3.再建立主程序youh2.m:

x0=[1;1];A=[23;14];b=[6;5];Aeq=[];beq=[];VLB=[0;0];VUB=[];[x,fval]=fmincon('fun3',x0,A,b,Aeq,beq,VLB,VUB)4.運算結(jié)果為:

x=0.76471.0588fval=-2.0294非線性規(guī)劃和Matlab實現(xiàn)第107頁1.先建立M文件fun4.m定義目標函數(shù):

functionf=fun4(x);

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論