matlab在優(yōu)化設(shè)計中的應(yīng)用_第1頁
matlab在優(yōu)化設(shè)計中的應(yīng)用_第2頁
matlab在優(yōu)化設(shè)計中的應(yīng)用_第3頁
matlab在優(yōu)化設(shè)計中的應(yīng)用_第4頁
matlab在優(yōu)化設(shè)計中的應(yīng)用_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Matlab在優(yōu)化設(shè)計中的應(yīng)用摘 要常見的優(yōu)化問題包括線性規(guī)劃、無約束優(yōu)化、約束優(yōu)化、最下二乘優(yōu)化、多目標規(guī)劃等。本文研究了matlab在這些常見優(yōu)化問題中的應(yīng)用及求解。在進行研究本課題之前,我們先通過網(wǎng)絡(luò)、電子書刊等各種有效渠道獲取我們所需信息,在充分了解與熟練掌握了各種優(yōu)化問題的具體特點及性質(zhì)后,我們給出了關(guān)于如何用matlab進行多類優(yōu)化問題的求解基本方法,在此前提下,為了體現(xiàn)該軟件在這些優(yōu)化領(lǐng)域的實際應(yīng)用效果,我們結(jié)合若干個優(yōu)化問題的實例進行分析、建模、以及運用matlab編程求解,在求解過程中,通過得到的精確數(shù)據(jù)和反應(yīng)結(jié)果的圖例,我們了解到matlab工具箱的功能強大,是處理優(yōu)化問題

2、的非常方便的編程工具。關(guān)鍵詞:matlab 優(yōu)化問題 二、基本概念2.1.1 線性規(guī)劃線性規(guī)劃是優(yōu)化的一個重要分支。它在理論和算法上都比較成熟,在實際中有廣泛的應(yīng)用。例如數(shù)學(xué)表達形式:在MTLAB提供的優(yōu)化工具箱中,解決規(guī)劃的命令是,它的調(diào)用格式如下,求解下列形式的線性規(guī)劃:求解下面形式的線性規(guī)劃:若沒有不等式約束,則只需命令。求解下面形式的線性規(guī)劃:若沒有不等式約束,則只需令;若只有下界約束,則可以不用輸入。2.1.2 無約束優(yōu)化算法對于無約束優(yōu)化問題,已經(jīng)有許多有效的算法。這些算法基本都是迭代法,它們都遵循下面的步驟: 選取初始點x0 ,一般來說初始點越靠近最優(yōu)解越好; 如果當(dāng)前迭代點xk

3、不是原問題的最優(yōu)解,那么就需要找一個搜索方向pk,使得目標函數(shù)f(x)從xk出發(fā),沿方向pk有所下降; 用適當(dāng)?shù)姆椒ㄟx擇步長ak(0),得到下一個迭代點xk+1=xk+akpk; 檢驗新的迭代點xk+1是否為原問題的最優(yōu)解,或者是否與最優(yōu)解的近似誤差滿足預(yù)先給定的容忍度。單變量約束優(yōu)化問題單變量約束優(yōu)化問題的標準形式為即為求目標函數(shù)在區(qū)間(a,b)上的極小點。2.1.4 最小二乘法優(yōu)化最小二乘優(yōu)化時一類非常特殊的優(yōu)化問題,它在實際中,尤其是在處理一些曲線擬合問題、線性方程組無解時的近似解等問題,用的非常多。最小二乘優(yōu)化問題的目標函數(shù)一般為若干個函數(shù)的平方和,即:2.1.5多目標規(guī)劃問題 在大多

4、數(shù)的優(yōu)化、中,都將多目標規(guī)劃的一般形式表述為:其中,、既可以為線性函數(shù),也可以為非線性函數(shù)。三、基本方法對于解決那些常見優(yōu)化問題,基本思路將在解題的過程中得到體現(xiàn)。我們給出具體一些建模實例來體現(xiàn)基本算法:3.1就下列命令求下面分段函數(shù)的極小值點。解:首先編寫目標函數(shù)的M文件如下: 然后為了分析直觀,利用MTLAB畫出目標函數(shù)的圖像,步驟如下:>> x=-5:0.01:5;>> n=length(x)n = 1001>> for i=1:1001y(i)=example8_7(x(i);end3.2 對于下面的線性規(guī)劃問題:min x1-3x2s.t. 先利用

5、圖解法求其最優(yōu)解,然后利用優(yōu)化工具箱中的linprog命令求解。解 圖解法 先利用MATLAB 畫出該線性規(guī)劃的可行集及目標函數(shù)等值線:>>clear>>syms x1 x2>>f=-x1-3*x2;>>c1=x1+x2-6;>>c2=-x1+2*x2-8;>>ezcontourf(f)>>axis(0 6 0 6)>>hold on>>ezplot(c1)>>ezplot(c2)>>legend('f等值線','x1+x2-6=0'

6、;,'-x1+2*x2-8=0')>>title('利用圖解法求線性規(guī)劃問題')>>gtext('x')運行結(jié)果如下圖:從上圖中可以看出可行集的頂點x(4/3,14/3)即為線性規(guī)劃的最優(yōu)解,它也是兩個線性約束的交點。3.3求解下面的最小二乘優(yōu)化問題:其中程序輸入及結(jié)果>> clearA=1 2 1;-2 1 3;b=1 1'C=0 -1 2;1 0 -1;-3 2 0;d=1 0 1'lb=-5 -5 -2'ub=5 5 2'Aeq=;beq=;x,resnorm,residu

7、al,exitflag,output,lambda=lsqlin(C,d,A,b,Aeq,beq,lb,ub)Warning:Large-scale method can handle bound constraints only;switching to medium-scale method.Warning: Large-scale method can handle bound constraints only; using medium-scale method instead.> In lsqlin at 249Optimization terminated.x = %最優(yōu)解

8、-0.4578 -0.3133 0.1325resnorm = %殘差向量2-范數(shù)的平方,即reanorm=norm(residual)2 0.5904residual = %殘差向量 -0.4217 -0.5904 -0.2530exitflag = 1 %函數(shù)收斂到最優(yōu)解output = iterations: 4 %迭代4次 algorithm: 'medium-scale: active-set' %調(diào)用的積極集算法 firstorderopt: cgiterations: message: 'Optimization terminated.'lambd

9、a = %Lagrange 乘子 lower: 3x1 double upper: 3x1 double eqlin: 0x1 double ineqlin: 2x1 double ineqlin:2xl double 3.4求下面優(yōu)化問題的最優(yōu)解,并求出相應(yīng)的梯度、Hessian矩陣以及Lagrang乘子。 解 現(xiàn)將該優(yōu)化問題轉(zhuǎn)化為下面的標準形式:編寫目標函數(shù)的M文件如下:function y=example8_9(x)y=(x(1)-2)2+(x(2)-1)2;function c1,c2=nonlin(x)c1=x(1)2-x(2);c2=;clearA=1 1;b=2;Aeq=;beq

10、=;lb=;ub=;x0=0 0'x,fval,exitflag,output,lambda,g,H=fmincon(example8_9,x0,Aeq,beq,lb,ub,nonlin)Warning£ºLarge-scale£¨trust region£©method does not currently solve this type of problem£¬switching to medium-scale£¨line search£©¡£

11、四、實際應(yīng)用4.1 V帶輪優(yōu)化設(shè)計提出問題:設(shè)計帶式輸送機傳動裝置上的普通V帶傳動,已知電動機額定功率P=4Kw,轉(zhuǎn)速n1=1440r/min,傳動比i=3,采用A型V帶,每天工作不超過10小時,設(shè)計帶根數(shù)盡量少,帶輪直徑和中心距盡量小的方案。 數(shù)學(xué)模型建立(1)設(shè)計變量:V帶傳動的獨立設(shè)計變量是小帶輪直徑和帶的基準長度 即X=,= , (2)目標函數(shù)包括三個分目標: a小帶輪直徑 min(X)= b中心距 min(X)=a=+ 其中,=/4-(i+1)/8,=(i-1/8 c帶的根數(shù) min(X)=z=P/(+)(3)約束條件小帶輪直徑不小于推薦的A型帶輪最小直徑 即 0帶速不超過最大帶速即

12、小帶輪包角大于即 中心距大于, 即小帶輪基準直徑在80100mm之間,中心距在320400mm之間,帶的根數(shù)為14。編制MATLAB優(yōu)化設(shè)計% V帶傳動多目標優(yōu)化設(shè)計P=4;i=3;n1=1440;KA=1.1; %已知條件 x0=100;1250; %初始點(小帶輪直徑,V帶基準長度)lb=80;630; %最小帶輪直徑和A型V帶基準長度 ub=100;4000; %最大帶輪直徑和A型V帶基準長度goal=75,280,2; %分目標w=10-2,40-2,1.5-2; %分目標加權(quán)系數(shù) xopt,fopt=fgoalattain(VDCD_3mb_MB,x0,goal,w,lb,ub,VD

13、CD_3mb_YS)function f=VDCD_3mb_MB(x)P=4;i=3;KA=1.1;f(1)=x(1); %f1小帶輪基準直徑a1=x(2)/4-pi*x(1)*(i+1)/8;a2=x(1)2*(i-1)2/8;a=a1+sqrt(a12-a2);f(2)=a; %f2中心距P0=0.02424*x(1)-1.112879; %單根帶額定功率 DP0=0.17; %功率增量 alpha=180-180*x(1)*(i-1)/pi/a; %小帶輪包角Kalp=alpha/(0.549636*alpha+80.396114); %包角系數(shù)KL=0.20639*x(2)0.2118

14、06; %長度系數(shù)f(3)=KA*P/(P0+DP0)/Kalp/KL; %V帶根數(shù)functiong,ceq=VDCD_3mb_YS(x)i=3;n1=1440;g(1)=100-x(1);g(2)=pi*x(1)*n1/6e4-25;a1=x(2)/4-pi*x(1)*(i+1)/8;a2=x(1)2*(i-1)2/8;a=a1+sqrt(a12-a2);g(3)=120-180*(1-x(1)*(i-1)/a/pi);g(4)=0.7*x(1)*(i+1)-a;ceq=;運行結(jié)果:Optimization terminated successfully: Search direction

15、 less than 2*options.TolX and maximum constraint violation is less than options.TolConActive Constraints: 5 9xopt = 1.0e+003 * 0.1000 1.2269fopt = 100.0000 281.5293 3.5958表面最優(yōu)方案為設(shè)計帶根數(shù)為5或9,帶輪直徑和中心分別為(1.0e+003,100.0000)、(0.1000,281.5293)、(1.2269,3.5958)的方4.2 MATLAB優(yōu)化設(shè)計在機件模型中的應(yīng)用提出問題:有一圓形等截面的銷軸一端固定在機架上另

16、一端作用著集中載荷P;50kN和扭矩M=400Nm,其簡化模型如圖l所示由于結(jié)構(gòu)的需要,軸的長度l不得小于10cm,已知錆軸的材料的彎曲應(yīng)力=120MPa;扭剪應(yīng)力=80MPa;允許撓度f=o01cm;密度p=7800kgm3:彈性模量E=21×105MPa現(xiàn)要求設(shè)計這根銷軸,在滿足使用要求下使其質(zhì)量為最輕建立數(shù)學(xué)模型:通過分析,我們得知性能約束條件為:1、彎曲強度要求懸臂粱的最大彎曲應(yīng)力不得超過允許值,即代人數(shù)據(jù)并整理;2、扭轉(zhuǎn)強度要求懸梁的最大彎曲應(yīng)力不得超過允許值,即,代人數(shù)據(jù)并整理;3、剛度要求最大撓度不得超過允許值,代人數(shù)據(jù)并整理得邊界約束條件: 這樣就可建立數(shù)學(xué)模型:二、調(diào)用MATLAB函數(shù)進行優(yōu)化采用MATLAB可以簡化編程NATLAB程序語言簡單,也可采用交互式界面本例要MATLAB命令窗口輸入如下命令即可:funf=f=00061 3x(1)x(2);目標函數(shù)funf=g=4167x(2)x(1)“3一l;I62+x(2)3x(1)41;25x(1)31;約束函數(shù)fun=funf furig;x0=8,10;給出d、I的初始值options=;參數(shù)向量取缺省值vlb=0,10;設(shè)計變量d,1的下限值vub=;設(shè)計變量無上限值X,option-constr(fun,x0,options,vcb,vub);調(diào)用有約束優(yōu)化函數(shù)這時,就會輸

溫馨提示

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

評論

0/150

提交評論