資源描述:
《matlab在優(yōu)化設(shè)計(jì)中的應(yīng)用》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、Matlab在優(yōu)化設(shè)計(jì)中的應(yīng)用摘要常見(jiàn)的優(yōu)化問(wèn)題包括線性規(guī)劃、無(wú)約束優(yōu)化、約束優(yōu)化、最下二乘優(yōu)化、多目標(biāo)規(guī)劃等。本文研究了matlab在這些常見(jiàn)優(yōu)化問(wèn)題中的應(yīng)用及求解。在進(jìn)行研究本課題之前,我們先通過(guò)網(wǎng)絡(luò)、電子書(shū)刊等各種有效渠道獲取我們所需信息,在充分了解與熟練掌握了各種優(yōu)化問(wèn)題的具體特點(diǎn)及性質(zhì)后,我們給出了關(guān)于如何用matlab進(jìn)行多類(lèi)優(yōu)化問(wèn)題的求解基本方法,在此前提下,為了體現(xiàn)該軟件在這些優(yōu)化領(lǐng)域的實(shí)際應(yīng)用效果,我們結(jié)合若干個(gè)優(yōu)化問(wèn)題的實(shí)例進(jìn)行分析、建模、以及運(yùn)用matlab編程求解,在求解過(guò)程中,通過(guò)得到的精確數(shù)
2、據(jù)和反應(yīng)結(jié)果的圖例,我們了解到matlab工具箱的功能強(qiáng)大,是處理優(yōu)化問(wèn)題的非常方便的編程工具。關(guān)鍵詞:matlab優(yōu)化問(wèn)題二、基本概念2.1.1線性規(guī)劃線性規(guī)劃是優(yōu)化的一個(gè)重要分支。它在理論和算法上都比較成熟,在實(shí)際中有廣泛的應(yīng)用。例如數(shù)學(xué)表達(dá)形式:在MTLAB提供的優(yōu)化工具箱中,解決規(guī)劃的命令是,它的調(diào)用格式如下,求解下列形式的線性規(guī)劃:求解下面形式的線性規(guī)劃:若沒(méi)有不等式約束,則只需命令。求解下面形式的線性規(guī)劃:若沒(méi)有不等式約束,則只需令;若只有下界約束,則可以不用輸入。2.1.2無(wú)約束優(yōu)化算法對(duì)于無(wú)約束優(yōu)化問(wèn)題
3、,已經(jīng)有許多有效的算法。這些算法基本都是迭代法,它們都遵循下面的步驟:①選取初始點(diǎn)x0,一般來(lái)說(shuō)初始點(diǎn)越靠近最優(yōu)解越好;②如果當(dāng)前迭代點(diǎn)xk不是原問(wèn)題的最優(yōu)解,那么就需要找一個(gè)搜索方向pk,使得目標(biāo)函數(shù)f(x)從xk出發(fā),沿方向pk有所下降;③用適當(dāng)?shù)姆椒ㄟx擇步長(zhǎng)ak(≥0),得到下一個(gè)迭代點(diǎn)xk+1=xk+akpk;④檢驗(yàn)新的迭代點(diǎn)xk+1是否為原問(wèn)題的最優(yōu)解,或者是否與最優(yōu)解的近似誤差滿足預(yù)先給定的容忍度。2.1.3單變量約束優(yōu)化問(wèn)題單變量約束優(yōu)化問(wèn)題的標(biāo)準(zhǔn)形式為即為求目標(biāo)函數(shù)在區(qū)間(a,b)上的極小點(diǎn)。2.1.4
4、最小二乘法優(yōu)化最小二乘優(yōu)化時(shí)一類(lèi)非常特殊的優(yōu)化問(wèn)題,它在實(shí)際中,尤其是在處理一些曲線擬合問(wèn)題、線性方程組無(wú)解時(shí)的近似解等問(wèn)題,用的非常多。最小二乘優(yōu)化問(wèn)題的目標(biāo)函數(shù)一般為若干個(gè)函數(shù)的平方和,即:2.1.5多目標(biāo)規(guī)劃問(wèn)題在大多數(shù)的優(yōu)化、中,都將多目標(biāo)規(guī)劃的一般形式表述為:其中,、、既可以為線性函數(shù),也可以為非線性函數(shù)。三、基本方法對(duì)于解決那些常見(jiàn)優(yōu)化問(wèn)題,基本思路將在解題的過(guò)程中得到體現(xiàn)。我們給出具體一些建模實(shí)例來(lái)體現(xiàn)基本算法:3.1就下列命令求下面分段函數(shù)的極小值點(diǎn)。解:首先編寫(xiě)目標(biāo)函數(shù)的M文件如下:然后為了分析直觀,
5、利用MTLAB畫(huà)出目標(biāo)函數(shù)的圖像,步驟如下:>>x=-5:0.01:5;>>n=length(x)n=1001>>fori=1:1001y(i)=example8_7(x(i));end3.2對(duì)于下面的線性規(guī)劃問(wèn)題:min–x1-3x2s.t.先利用圖解法求其最優(yōu)解,然后利用優(yōu)化工具箱中的linprog命令求解。解〈圖解法〉先利用MATLAB畫(huà)出該線性規(guī)劃的可行集及目標(biāo)函數(shù)等值線:>>clear>>symsx1x2>>f=-x1-3*x2;>>c1=x1+x2-6;>>c2=-x1+2*x2-8;>>ezcontour
6、f(f)>>axis([0606])>>holdon>>ezplot(c1)>>ezplot(c2)>>legend('f等值線','x1+x2-6=0','-x1+2*x2-8=0')>>title('利用圖解法求線性規(guī)劃問(wèn)題')>>gtext('x')運(yùn)行結(jié)果如下圖:從上圖中可以看出可行集的頂點(diǎn)x(4/3,14/3)即為線性規(guī)劃的最優(yōu)解,它也是兩個(gè)線性約束的交點(diǎn)。3.3求解下面的最小二乘優(yōu)化問(wèn)題:其中程序輸入及結(jié)果>>clearA=[121;-213];b=[11]';C=[0-12;10-1;-320];d=[1
7、01]';lb=[-5-5-2]';ub=[552]';Aeq=[];beq=[];[x,resnorm,residual,exitflag,output,lambda]=lsqlin(C,d,A,b,Aeq,beq,lb,ub)Warning:Large-scalemethodcanhandleboundconstraintsonly;switchingtomedium-scalemethod.Warning:Large-scalemethodcanhandleboundconstraintsonly;usingme
8、dium-scalemethodinstead.>Inlsqlinat249Optimizationterminated.x=%最優(yōu)解-0.4578-0.31330.1325resnorm=%殘差向量2-范數(shù)的平方,即reanorm=norm(residual)^20.5904residual=%殘差向量-0.4217-0.590