




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、MATLAB在機械優(yōu)化設計(shj)中的應用湖南農業(yè)大學 工學院2007年9月主講(zhjing):*共六十六頁緒 論1.1 MATLAB系統(tǒng)(xtng)簡介 MATLAB 名字由 MATrix 和 LABoratory 兩詞的前三個字母組合而成。那是 20 世紀(shj)七十年代后期的事:時任美國新墨西哥大學計算機科學系主任的 Cleve Moler 教授出于減輕學生編程負擔的動機,為學生設計了一組調用 LINPACK 和 EISPACK 庫程序的“通俗易用”的接口,此即用 FORTRAN 編寫的萌芽狀態(tài)的 MATLAB 。 經(jīng)幾年的校際流傳,在 Little 的推動下,由 Little 、
2、 Moler 、 Steve Bangert 合作,于 1984 年成立了 MathWorks 公司,并把 MATLAB 正式推向市場。從這時起, MATLAB 的內核采用 C 語言編寫,而且除原有的數(shù)值計算能力外,還新增了數(shù)據(jù)圖視功能。 MATLAB 以商品形式出現(xiàn)后,僅短短幾年,就以其良好的開放性和運行的可靠性,使原先控制領域里的封閉式軟件包(如英國的 UMIST ,瑞典的 LUND 和 SIMNON ,德國的 KEDDC )紛紛淘汰,而改以 MATLAB 為平臺加以重建。在時間進入 20 世紀九十年代的時候, MATLAB 已經(jīng)成為國際控制界公認的標準計算軟件。 到九十年代初期,在國際上
3、 30 幾個數(shù)學類科技應用軟件中, MATLAB 在數(shù)值計算方面獨占鰲頭,而 Mathematica 和 Maple 則分居符號計算軟件的前兩名。 共六十六頁 Mathcad 因其提供計算、圖形、文字處理的統(tǒng)一環(huán)境而深受中學生歡迎。 在歐美大學里,諸如應用代數(shù)、數(shù)理統(tǒng)計、自動控制、數(shù)字信號處理(xn ho ch l)、模擬與數(shù)字通信、時間序列分析、動態(tài)系統(tǒng)仿真等課程的教科書都把 MATLAB 作為內容。這幾乎成了九十年代教科書與舊版書籍的區(qū)別性標志。在那里, MATLAB 是攻讀學位的大學生、碩士生、博士生必須掌握的基本工具。 在國際學術界, MATLAB 已經(jīng)被確認為準確、可靠的科學計算標準
4、軟件。在許多國際一流學術刊物上,(尤其是信息科學刊物),都可以看到 MATLAB 的應用。 在設計研究單位和工業(yè)部門, MATLAB 被認作進行高效研究、開發(fā)的首選軟件工具。如美國 National Instruments 公司信號測量、分析軟件 LabVIEW , Cadence 公司信號和通信分析設計軟件 SPW 等,或者直接建筑在 MATLAB 之上,或者以 MATLAB 為主要支撐。又如 HP 公司的 VXI 硬件, TM 公司的 DSP , Gage 公司的各種硬卡、儀器等都接受 MATLAB 的支持。MATLAB具有以下幾個特點: 功能強大的數(shù)值運算功能 強大的圖形處理能力 高級但
5、簡單的程序環(huán)境 豐富的工具箱 優(yōu)化工具箱中的所有函數(shù)都對應一個MATLAB 6.5 的.M文件(關于.M文件請查閱相關MATLAB 6.5 文獻),這些.M通過使用MATLAB 6.5 基本語句實現(xiàn)了具體的優(yōu)化算法.可以在 MATLAB 6.5 命令窗口鍵入命令:type function_name,來查看相應函數(shù)的代碼.共六十六頁 1.2 優(yōu)化工具箱的工程應用(yngyng)步驟當量化地求解一個實際的最優(yōu)化問題時,首先要把這個問題轉化為一個數(shù)學問題.建立數(shù)學模型:然后對建立的數(shù)學模型進行具體分析選擇合適的優(yōu)化算法:最后根據(jù)選定的優(yōu)化算法,編寫計算程序進行求解用MATLAB 6.優(yōu)化工具箱解決
6、實際應用問題可以概括為以下三個步驟: (1) 根據(jù)所提出的最優(yōu)化問題,建立最優(yōu)化問題的數(shù)學模型確定變量,列出約束條件和目標函數(shù) (2) 對所建立的模型進行具體分析和研究選擇合適的最優(yōu)化求解方法 (3) 根據(jù)最優(yōu)化方法的算法,列出程序框圖,選擇優(yōu)化函數(shù)和編寫語言程序,用計算機求出最優(yōu)解 利用MATLAB的優(yōu)化工具箱,可以求解線性規(guī)劃,非線性規(guī)劃和多目標規(guī)劃問題。具體而言,包括線性,非線性最小化,最大最小化,二次規(guī)劃,半無限問題,線性,非線性方程(fngchng)化,方程(fngchng)求解,曲線擬合,二次規(guī)劃等問題中大型課題的求解方法,為優(yōu)化方法在工程中的實際應用提供了更方便,快捷的途徑。共六
7、十六頁 1.3 優(yōu)化問題的工程背景隨著生產,經(jīng)濟,技術的發(fā)展,工程技術,管理人才在實際工作中常常會面臨(minlng)這類問題:在工程設計中,怎樣的分配方案既能滿足各方面的基本要求,又能降低成本;在資源配中,怎樣的分配既能滿足各方面的基本要求,又能獲得好的經(jīng)濟效益;在生產計劃安排中,選擇怎樣的計劃才能提高產值和利潤;在原料配比問題中,怎樣確定各種萬分的比例才能提高質量,降低成本;在城建規(guī)劃中,怎樣安排工廠,機關,學校,商店,醫(yī)院,住宅和其它單位的合理布置,才能方面群眾,有利于城市各行各行的發(fā)展這一類問題的共同點就是遷出最合理,達到事先預定的最優(yōu)目標的方案,這就是工程問題最優(yōu)化問題 最優(yōu)化方法發(fā)
8、展很快,包含多個分支,如線性規(guī)劃,整數(shù)規(guī)劃,非線性規(guī)劃,動態(tài)規(guī)劃,多目標規(guī)劃等。共六十六頁2.1 線性規(guī)劃問題與MATLAB實現(xiàn) 線性規(guī)劃問題是目標函數(shù)和約束條件均為線性函數(shù)的問題,MATLAB解決的線性規(guī)劃問題的標準形式為: min f(x) x R s.t. A.xb Aeq.x=beq lb x ub其中f、x、b、beq、lb、ub為向量,A、Aeq為矩陣。其它形式的線性規(guī)劃問題都可經(jīng)過適當變換化為此標準形式。在MATLAB6.5版中,線性規(guī)劃問題(Linear Programming)已用函數(shù)linprog取其它形式的線性規(guī)劃問題都可經(jīng)過適當變換化為此標準形式。函數(shù) linprog
9、調用格式(g shi) x = linprog(f,A,b) %求min f=f(x) x Rs.t. A.xb 線性規(guī)劃的最優(yōu)解。x = linprog(f,A,b,Aeq,beq) %等式約束Aeq.x=beq,若沒有不等式約束,則A= ,b= 。x = linprog(f,A,b,Aeq,beq,lb,ub) %指定x的范圍lbxub ,若沒有等式約束Aeq.x=beq , 則Aeq= ,beq= x = linprog(f,A,b,Aeq,beq,lb,ub,x0) %設置初值x0 x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options) % option
10、s為指定的優(yōu)化參數(shù) 共六十六頁x,fval = linprog() % 返回目標函數(shù)最優(yōu)值,即fval= f (x)。x,fval,lambda,exitflag = linprog() % lambda為解x的Lagrange乘子。x, favl,lambda,fval,exitflag = linprog() % exitflag為終止迭代的錯誤條件。x,fval, lambda,exitflag,output = linprog() % output為關于優(yōu)化的一些信息說明 若exitflag0表示函數(shù)收斂于解x,exitflag=0表示超過函數(shù)估值或迭代的最大數(shù)字,exitflag1
11、g(1)=2*x(1); %用提供(tgng)的梯度g使函數(shù)最小化 g(2)=50*x(2);End輸入下列系數(shù)options(6)=1; options(7)=1; %采用DFP變尺度方法立方插值法options=optimset(Display,iter,LargeScale,on,GradObj,on);%設置優(yōu)化參數(shù)x0=2,2;x,fval,exitflag,output,grad=fminunc(jxyh4_1fun,x0,options)結果為:x = 1.0e-013 * 0.1155 0.0044fval = 1.3825e-028exitflag = 1共六十六頁outpu
12、t = iterations: 1 funcCount: 2 cgiterations: 1 firstorderopt: 2.3093e-014 algorithm: large-scale: trust-region Newton message: 1x137 chargrad =1.0e-013 * 0.2309 0.2220 Norm of First-order Iteration f(x) step optimality CG-iterations 0 104 100 1 1.38248e-028 2.82843 2.31e-014 1共六十六頁例.2 求下面的優(yōu)化問題(變尺度法)
13、對函數(shù)f(x)=x12+2x22-4x1-2x1x2,當給定初值x0=1,1,求其最小值x.編一個M文件=jxyh4_2fun (x).m,返回x處的函數(shù)值f.function y=jxyh4_2fun(x) y=x(1)2+2*x(2)2-4*x(1)-2*x(1)*x(2); %目標函數(shù)的M文件輸入下列系數(shù)options(6)=0; options(7)=0; %采用DFP方法混合插值法options=optimset(Display,iter,LargeScale,off,); %設置優(yōu)化參數(shù)(cnsh)x0=1,1;x,fval,exitflag,output=fminunc(jxyh
14、4_2fun,x0,options)結果為:x = 4.0000 2.0000fval = -8.0000exitflag = 1output = iterations: 3 funcCount: 12 stepsize: 1 firstorderopt: 2.3842e-007 algorithm: medium-scale: Quasi-Newton line search message: Optimization terminated: relative infinity-norm of gradient less than options.TolFun.共六十六頁 Iteration
15、 Func-count f(x) Step-size infinity-norm 0 3 -3 4 1 6 -5.5 0.25 2 2 9 -6.4 1 1.6 3 12 -8 1 2.38e-007 共六十六頁例4.3 求使方程的最小化當給定初值x0=pi/3,pi/3; 求其最小值x編一個M文件(wnjin)y=jxyh4_3fun (x).m,返回x處的函數(shù)值f.function f=jxyh4_3fun(x)f=sin(x(1)+cos(x(1)+ sin(x(2)+cos(x(2)+ sin(x(1)*cos(x(2);輸入下列系數(shù)x0=pi/3,pi/3;options=optim
16、set(Display,iter,LargeScale,off); %設置優(yōu)化參數(shù)x,fval,exitflag,output=fminunc(jxyh4_3fun,x0,options)結果為:x = 3.6297 4.2242fval = -2.4844exitflag = 1output = iterations: 9 funcCount: 39 stepsize: 1 firstorderopt: 1.1495e-007 algorithm: medium-scale: Quasi-Newton line search message: Optimization terminated:
17、 relative infinity-norm of gradient less than options.TolFun.共六十六頁 Gradients Iteration Func-count f(x) Step-size infinity-norm 0 3 3.16506 1.12 1 9 -0.985033 2.38021 0.932 2 12 -1.87199 1 1.01 3 21 -2.46878 0.0614031 0.159 4 24 -2.47689 1 0.112 5 27 -2.48442 1 0.006 6 30 -2.48443 1 0.00133 7 33 -2.4
18、8444 1 4.06e-005 8 36 -2.48444 1 6.42e-006 9 39 -2.48444 1 1.15e-007 .共六十六頁4.4 在MATLAB中,多變量非線性無約束優(yōu)化問題(wnt)也可以調用函數(shù) fminsearch fminsearch函數(shù)是一個M文件,其算法基于單純形法進行計算適合解決二次以上的問題,并問題為高度非線性時,具有穩(wěn)定性但是不適合求解平方和問題函數(shù) fminsearch 調用格式 :x = fminsearch(fun, x0 ) %給定初值x0,求fun 函數(shù)的局部極小點xx0可以是標量,矢量,矩陣x = fminsearch(fun, x0,
19、options ) %用options參數(shù)指定的優(yōu)化參數(shù)進行求解x,fval = fminsearch() %返回x處目標函數(shù)的值到fvalx,fval,exitflag = fminsearch() %返回exitflag值描述fminunc 函數(shù)的退出條件x,fval,exitflag,output = fminsearch() %返回包含優(yōu)化信息的結構輸出例4.4 求使方程的最小化當給定初值x0=1; 求其最小值x編一個M文件y=jxyh4_4fun (x).m,返回x處的函數(shù)值f.function f=jxyh4_4fun(x)f=e(-x)+x2;共六十六頁輸入下列系數(shù)x0=1;op
20、tions=optimset(Display,iter,LargeScale,off); %設置優(yōu)化參數(shù)(cnsh)x,fval,exitflag,output=fminsearch(jxyh4_4fun,x0,options)結果為: Gradients Iteration Func-count f(x) Step-size infinity-norm 0 3 3.16506 1.12 1 9 -0.985033 2.38021 0.932 2 12 -1.87199 1 1.01 3 21 -2.46878 0.0614031 0.159 4 24 -2.47689 1 0.112 5 2
21、7 -2.48442 1 0.006 6 30 -2.48443 1 0.00133 7 33 -2.48444 1 4.06e-005 8 36 -2.48444 1 6.42e-006 9 39 -2.48444 1 1.15e-007 x = 0.3518 fval = 0.8272exitflag = 1output = iterations: 16 funcCount: 32 algorithm: Nelder-Mead simplex direct search message: 1x196 char共六十六頁5.1 有約束的非線性規(guī)劃問題的MATLAB實現(xiàn) 這些問題通常用基于K-
22、T(Kuhn-Tucker)方程解的方法,直接計算拉格朗日乘子用擬牛頓法更新過程這些方法稱為二次規(guī)劃法(SQP)利用MATLAB解決有約束的非線性規(guī)劃問題問題調用函數(shù) fmincon :利用 fmincon 函數(shù)求解(qi ji)多變量的有約束的最小值:其數(shù)學模型為:式中,x, b, beq, lb和ub為矢量,A和Aeq為矩陣,c(x)和ceq(x)為函數(shù),返回標量f(x),c(x)和ceq(x)可以是非線性函數(shù)函數(shù) fmincon 調用格式 :x=fmincon(fun,x0,A,b) 給定初值x0,求fun函數(shù)的極小值x,fun函數(shù)的約束條件為A*x=b, x0可以是標量,矢量,矩陣。x
23、=fmincon(fun,x0,A,b,Aeq,beq) 最小化fun函數(shù),約束條件為Aeq*x=beq和A*x=b。若沒有不等式存在,則令Aeq=,beq=。共六十六頁x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub) 定義設計(shj)變量x的下界lb和上界ub。使得有l(wèi)b=x=ub。若無等式則有:Aeq=,beq=;x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)在上面的基礎上,在nonlcon參數(shù)中提供非線性不等式c(x)和等式ceq(x),通常也以M文件的方式調用。Fmincon函數(shù)也要求c(x)=0且ceq(x)=0當無邊界
24、存在時,令lb=,ub=x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options) 用options參數(shù)指定的優(yōu)化參數(shù)進行求解x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options,P1,P2) 提供另外的參數(shù)P1,P2等,傳輸給目標函數(shù)fun和nonlin如果不需要這些變量,則傳遞空矩陣到A,b,Aeq,beq,lb,ub,nonlcon, options中x,fval= fmincon(.) 將解x處的目標函數(shù)的值返回到fval參數(shù)中x,fval,exitflag=fmincon(.) 返回exitf
25、lag的值,描述函數(shù)的輸出條件x,fval,exitflag,output=fmincon(.) 返回包含優(yōu)化作息的結構輸出x,fval,exitflag,output,lambad=fmincon() 返回解x處包含拉格朗子乘子的lambad參數(shù)x,fval,exitflag,output,lambad,grad=fmincon() 返回解x處fun函數(shù)的梯度x,fval,exitflag,output,lambad,grad,hess=fmincon() 返回解x處fun函數(shù)的hess矩陣各調用格式中,nonlcon參數(shù)計算非線性不等式約束c(x)2 Gc= % 不等式的梯度 Gceq=
26、%等式的梯度end共六十六頁5.1 計算 有約束的非線性規(guī)劃問題(wnt)例題5-1 試求點集A(x1 , x2 , x3)和點集B (x4 , x5 , x6)之間的最短距離。限制條件為 由圖可知,點集A(x1 , x2 , x3)在球面(qimin)上取點。點集B (x4 , x5 , x6)在圓柱面上取點。因此該問題就是求這兩個幾何體間的最短距離的約束優(yōu)化問題,其數(shù)學模型為。共六十六頁 編一個M文件=jxyh5_1fun (x).m,返回x處的函數(shù)值f.function f=jxyh5_1fun(x)f=(x(1)-x(4)2+(x(2)-x(5)2+(x(3)-x(6)2; %目標函數(shù)
27、的M文件 由于約束條件中非線性約束,所以要編寫一個描述非線性約束條件的M文件jxyh5_1con(x).m:function c,ceq=jxyh5_1con(x)c(1)=x(1)2+x(2)2+x(3)2-5;c(2)=(x(4)-3)2+x(5)2-1;ceq=; 下一步給定初值,給定變量的下限約束,并調用優(yōu)化過程。輸入(shr)下列系數(shù)A=;b=;Aeq=;beq=;lb=-sqrt(5),-sqrt(5),-sqrt(5),2,-1,4;ub=sqrt(5),sqrt(5),sqrt(5),4,1,8;x0=1,1,1,3,1,5;options=optimset(Display,i
28、ter,LargeScale,off);x,fval,exitflag,output,lambad=fmincon(jxyh5_1fun,x0,A,b,Aeq,beq,lb,ub,jxyh5_1con,options)共六十六頁結果(ji gu)為:max Directional First-order Iter F-count f(x) constraint Step-size derivative optimality Procedure 0 7 20 0 1 16 9.62539 0.3057 0.5 -14.7 3.5 2 24 5.7322 1.444 1 0.789 3.87 3
29、32 4.43066 0.7698 1 0.477 1.11 4 40 5.016 0.5863 1 1.23 1.92 5 48 4.71722 0.2918 1 -0.00998 0.269 6 56 4.99527 0.004732 1 0.282 0.0741 7 64 5 1.48e-006 1 0.00473 0.000828 8 72 5 1.116e-007 1 1.29e-006 0.000102 Hessian modified Optimization terminated: Magnitude of directional derivative in search di
30、rection less than 2*options.TolFun and maximum constraint violation is less than options.TolCon.Active inequalities (to within options.TolCon = 1e-006): lower upper ineqlin ineqnonlin 4 1 6 2共六十六頁x = 1.0000 -0.0000 2.0000 2.0000 -0.0000 4.0000fval = 5.0000exitflag = 5output = iterations: 8 funcCount
31、: 72 stepsize: 1 algorithm: medium-scale: SQP, Quasi-Newton, line-search firstorderopt: 1.0234e-004 cgiterations: message: 1x172 charlambad = lower: 6x1 double upper: 6x1 double eqlin: 0 x1 double eqnonlin: 0 x1 double ineqlin: 0 x1 double ineqnonlin: 2x1 double 所以當x = 1.0000 -0.0000 2.0000 2.0000 -
32、0.0000 4.0000時, 目標(mbio)函數(shù)有最小值 fval = 5.0000。 exitflag =5,表示過程成功收斂于x處。 Output輸出變量顯示民收斂中的迭代次數(shù)、目標函數(shù)計算次數(shù)步長算法等信息。 Lambda則包含模型信息。共六十六頁5-2 求解含有等式約束問題的最優(yōu)解,并用MATlab計算(j sun)下列約束優(yōu)化問題。MATLAB過程 編一個M文件jxyh5_2fun(x).m,返回x處的函數(shù)值f。function f=md65fun(x)f=x(2)+x(1); 由于約束條件中非線性約束,所以要編寫一個描述非線性約束條件的M文件jxyh5_2con(x).m:fu
33、nction c,ceq=jxyh5_2con(x)c=log(x(1);ceq=x(1)+x(2)-1; 下一步給定初值,給定變量的下限約束,并調用優(yōu)化過程。options=optimset(Display,iter,LargeScale,off);x0=1,0;x,fval,exitflag,output,lambda=fmincon(md65fun,x0,md65con,options)共六十六頁計算結果為: max Directional First-order Iter F-count f(x) constraint Step-size derivative optimality P
34、rocedure 0 3 1 0 1 7 1 0 1 0 2 Optimization terminated: first-order optimality measure less than options.TolFun and maximum constraint violation is less than options.TolCon.Active inequalities (to within options.TolCon = 1e-006): lower upper ineqlin ineqnonlin 1x = 1 0 fval = 1 exitflag = 1output =
35、iterations: 1 funcCount: 7 stepsize: 1 algorithm: medium-scale: SQP, Quasi-Newton, line-search firstorderopt: 1.1102e-016 cgiterations: message: 1x143 charlambda = lower: 2x1 double upper: 2x1 double eqlin: 0 x1 double eqnonlin: -1.0000 ineqlin: 0 x1 double ineqnonlin: 0共六十六頁 5-3 如圖所示,已知跨距為L、截面為矩性的簡
36、支梁,其材料密度為,許用彎曲應力為,允許撓度為,在梁的中點作用一集中載荷P,梁的截面寬度b不得小于,現(xiàn)要求設計此梁,使其重量(zhngling)最輕,試寫出其優(yōu)化數(shù)學模型。若 試用MATlab優(yōu)化工具計算??紤]簡支梁自重后數(shù)學模型 令 x1=b, x2=h轉化數(shù)學模型共六十六頁MATLAB過程 編一個M文件(wnjin)jxyh5_3fun(x).m,返回x處的函數(shù)值f。function f=jxyh5_3fun(x)f=5*1e4*0.05*5*x(1)*x(2)*9.8; 由于約束條件中非線性約束,所以要編寫一個描述非線性約束條件的M文件 jxyh5_3con(x).m:function
37、c,ceq=jxyh5_3con(x)c(1)=6*(5*1e4*5/4+7.8*1e3*9.8*x(1)*x(2)*52/8)/(x(1)*x(2)2)-7*1e7;c(2)=5*7.8*1e3*9.8*x(1)*x(2)*54/(384*2*1e11*x(1)*x(2)2/12)+5*1e4*53/(48*2*1e11*x(1)*x(2)2/12)-0.005;ceq=; 下一步給定初值,給定變量的下限約束,并調用優(yōu)化過程。options=optimset(Display,iter,LargeScale,off);x0=0.08,0.08;lb=0.05,0;ub=;x,fval,exit
38、flag,output,lambda=fmincon(jxyh5_3fun,x0,lb,ub,jxyh5_3con, options)共六十六頁計算結果為: max Directional First-order Iter F-count f(x) constraint Step-size derivative optimality Procedure 0 3 784 6.803e+008 Infeasible start point 1 7 805.593 3.745e+008 1 -168 6.57e+003 2 11 1149.16 1.507e+008 1 344 4.43e+003
39、Hessian modified 3 15 1548.41 5.302e+007 1 399 2.73e+003 4 19 1889.97 1.342e+007 1 342 2.53e+003 5 23 2046.3 1.485e+006 1 156 1.71e+003 6 27 2068.21 2.326e+004 1 21.9 139 7 31 2068.56 5.913 1 0.354 0.195 8 35 2068.56 0 1 9.01e-005 3.06e-005 Hessian modified Optimization terminated: first-order optim
40、ality measure less than options.TolFun and maximum constraint violation is less than options.TolCon.Active inequalities (to within options.TolCon = 1e-006): lower upper ineqlin ineqnonlin 1 1x = 0.0500 0.3377fval = 2.0686e+003exitflag = 1共六十六頁output = iterations: 8 funcCount: 35 stepsize: 1 algorith
41、m: medium-scale: SQP, Quasi-Newton, line-search firstorderopt: 7.2760e-012 cgiterations: message: 1x143 charlambda = lower: 2x1 double upper: 2x1 double eqlin: 0 x1 double eqnonlin: 0 x1 double ineqlin: 0 x1 double ineqnonlin: 2x1 double 所以當x = 0.0500 0.3377 時, 目標函數(shù)有最小值 fval = 2.0686e+003 。 exitflag
42、 =1,表示過程成功收斂于x處。 Output輸出變量顯示民收斂中的迭代次數(shù)、目標函數(shù)計算次數(shù)步長算法等信息(xnx)。 Lambda則包含模型信息。共六十六頁 例5-4 有約束的非線性規(guī)劃問題機床主軸結構優(yōu)化設計 試對圖8-2所示的主軸進行優(yōu)化設計,已知主軸內徑d=30mm,外力 F=15000N。設計變量數(shù) n=3,約束函數(shù)個數(shù)m=5,設計函數(shù)初值,上下限如下表:MATLAB的實現(xiàn)過程(guchng):編一個目標函數(shù)的M文件jxyh5_4fun(x).m,返回x處的函數(shù)值f。function f=jxyh5_4fun(x)f=(x(1)-x(4)2+(x(2)-x(5)2+(x(3)-x(
43、6)2;設計變量初始值48010060下限3006090上限650140150共六十六頁 由于約束條件中非線性約束,所以要編寫一個描述非線性約束條件的M文件jxyh5_4con(x).m:function c,ceq=jxyh5_4con(x)c(1)=64*15000*x(3)2*(x(1)+x(3)/(3*210*103*pi*(x(2)4 -304)/0.05-1;c(2)=1-x(1)/300;c(3)=1-x(2)/60;c(4)=x(2)/140-1;c(5)=1-x(3)/90;ceq=; 下一步給定初值,給定變量(binling)的下限約束,并調用優(yōu)化過程。A=;b=;Aeq=
44、;beq=;lb=300,60,90;ub=650,140,150;x0=480,100,120;options=optimset(Display,iter,LargeScale,off);x,fval,exitflag,output,lambda,hess=fmincon(jxyh5_4fun,x0,A,b,Aeq,beq,lb,ub,jxyh5_4con, options)共六十六頁計算結果為: max Directional First-order Iter F-count f(x) constraint Step-size derivative optimality Procedure
45、 0 4 33.4485 -0.155 1 9 32.904 -0.1304 1 -0.542 0.73 2 14 29.9777 0.01382 1 -2.86 0.438 3 19 29.8701 3.683e-005 1 -0.107 0.387 4 24 20.3387 0 1 -8.49 0.511 5 29 19.9955 0.000541 1 -0.342 0.0563 6 34 19.997 1.56e-007 1 0.00154 0.0561 7 39 16.1698 -2.22e-016 1 -3.62 0.413 Hessian modified 8 44 11.3669
46、 0 1 -4.38 0.115 9 49 11.2481 0.0002055 1 -0.119 0.00587 10 54 11.2494 2.679e-008 1 0.00134 2.83e-006 11 59 11.2494 0 1 1.75e-007 2e-009 Hessian modified Optimization terminated: first-order optimality measure less than options.TolFun and maximum constraint violation is less than options.TolCon.Acti
47、ve inequalities (to within options.TolCon = 1e-006): lower upper ineqlin ineqnonlin 1 1 3 2 5共六十六頁lambda = lower: 3x1 double upper: 3x1 double eqlin: 0 x1 double eqnonlin: 0 x1 double ineqlin: 0 x1 double ineqnonlin: 2x1 doublehess = 7350000 36750000 0所以當 x = 300 60 120 時, 目標函數(shù)有最小值 fval = 2.2050e+00
48、9exitflag =1,表示過程成功收斂于x處。Output輸出變量顯示民收斂中的迭代次數(shù)、目標函數(shù)計算次數(shù)步長算法(sun f)等信息。Lambda則包含模型信息。共六十六頁x = 300.0000 74.8898 90.0000fval = 11.2494exitflag = 1output = iterations: 11 funcCount: 59 stepsize: 1 algorithm: medium-scale: SQP, Quasi-Newton, line-search firstorderopt: 2.0000e-009 cgiterations: message: 1
49、x144 charlambda = lower: 3x1 double upper: 3x1 double eqlin: 0 x1 double eqnonlin: 0 x1 double ineqlin: 0 x1 double ineqnonlin: 5x1 doublehess = 0.0288 0.3579 0.0288 所以當x = 300.0000 74.8898 90.0000時, 目標函數(shù)(hnsh)有最小值 fval = 11.2494 。 exitflag =1,表示過程成功收斂于x處。 Output輸出變量顯示民收斂中的迭代次數(shù)、目標函數(shù)計算次數(shù)步長算法等信息。 Lamb
50、da則包含模型信息。共六十六頁 例5-5 求兩級圓柱齒輪減速器優(yōu)化設計 已知某兩級斜齒輪圓柱齒輪減速器(圖8-6)的參數(shù):高速級輸入功率P1=6.2kw,轉速n1=1450 r/min總傳動比i=31.5,齒輪寬度(kund)系數(shù)為 齒輪材料和熱處理:大齒輪45號鋼正火187207小齒輪45號鋼調質228 255HBS,工作壽命年以上要求按照總中心矩a最小來確定傳動方案 解 1) 建立優(yōu)化設計的數(shù)學模型將影響齒輪傳動總中心矩a的六個獨立參數(shù)作為設計變量:x=(mn1, mn2, z1, z3, i, )=(x1, x2, x3, x4, x5, x6)Mn1,mn2分別為高速級和低速級齒輪副的
51、模數(shù);z1, z3分別為高速級和低速級小齒輪齒數(shù);i 為高速級傳動比; 為齒輪副螺旋角齒輪傳動總中心矩a最小的目標函數(shù):性能約束包括齒面強度條件,齒根彎曲強度條件,高速級大齒輪和低速軸不干涉條件等根據(jù)齒輪材料與熱處理規(guī)范,得到齒面許用接觸應力,齒根許用彎曲應力和根據(jù)傳遞功率和轉速,在齒輪強度計算條件中代入有關數(shù)據(jù):高速軸轉矩 中間速軸轉矩,高速軸和低速軸齒輪載荷系數(shù)和共六十六頁由齒輪傳動的約束(yush)條件,可建立以下約束(yush)模型:共六十六頁MATLAB的實現(xiàn)過程:編一個目標(mbio)函數(shù)的M文件jsqyh_f(x).m,返回x處的函數(shù)值f。function f=jsqyh_f(x
52、)hd=pi/180;a1=x(1)*x(3)*(1+x(5);a2=x(2)*x(4)*(1+31.5/x(5);cb=2*cos(x(6)*hd);f=(a1+a2)/cb;由于約束條件中非線性約束,所以要編寫一個描述非線性約束條件的M文件jxyh5_4con(x).m:function c,ceq=jsqyh_g(x)hd=pi/180;c(1)=cos(x(6)*hd)3-3.079e-6*x(1)3*x(3)3*x(5);c(2)=cos(x(6)*hd)3*x(5)2-1.701e-4*x(2)3*x(4)3;c(3)=cos(x(6)*hd)2-9.939e-5*(1+x(5)*
53、x(1)3*x(3)2;c(4)=cos(x(6)*hd)2*x(5)2-1.706e-4*(31.5+x(5)*x(2)3*x(4)2;c(5)=x(5)*(2*(x(1)+50)*cos(x(6)*hd)+x(1)*x(3)*x(5)-x(2)*x(4)*(31.5+x(5);ceq=;共六十六頁下一步給定初值,給定變量的下限(xixin)約束,并調用優(yōu)化過程。x0=2,4,18,20,6.4,10;lb=2,3.5,14,16,5.8,8;ub=5,6,22,22,7,15;A=-1,0,0,0,0,0;1,0,0,0,0,0;0,-1,0,0,0,0;0,1,0,0,0,0;0,0,-
54、1,0,0,0;0,0,1,0,0,0;0,0,0,-1,0,0;0,0,0,1,0,0;0,0,0,0,-1,0;0,0,0,0,1,0;0,0,0,0,0,-1;0,0,0,0,0,1;b=-2,5,-3.5,6,-14,22,-16,22,-5.8,7,-8,15;options=optimset(Display,iter,LargeScale,off);x,fval,exitflag,output,hess=fmincon(jsqyh_f,x0,A,b,lb,ub,jsqyh_g,options) *兩級斜齒輪傳動中心距優(yōu)化設計最優(yōu)解* fprintf(1, 高速級齒輪副模數(shù) Mn1=
55、%3.4f mmn, x(1)fprintf(1, 低速級齒輪副模數(shù) Mn2=%3.4f mmn, x(2) fprintf(1, 高速級小齒輪齒數(shù) z1=%3.4f n, x(3)fprintf(1, 低速級小齒輪齒數(shù) z3=%3.4f n, x(4)fprintf(1, 高速級齒輪副傳動比 i1=%3.4f n, x(5)fprintf(1, 齒輪副螺旋角 beta=%3.4f 度n, x(6)fprintf(1, 減速器總中心距 a12=%3.4f n, fval)c=jsqyh_g(x); *最優(yōu)點的性能約束函數(shù)值* fprintf(1, 高速級齒輪副接觸強度約束函數(shù)值 c1=%3.4
56、f n, c(1)fprintf(1, 低速級齒輪副接觸強度約束函數(shù)值 c2=%3.4f n, c(2)fprintf(1, 高速級小齒輪齒根彎曲強度約束函數(shù)值 c3=%3.4f n, c(3)fprintf(1, 低速級大齒輪齒根彎曲強度約束函數(shù)值 c4=%3.4f n, c(4)fprintf(1, 大齒輪齒頂與軸不干涉幾何約束函數(shù)值 c5=%3.4f n, c(5)共六十六頁計算結果為: max Directional First-order Iter F-count f(x) constraint Step-size derivative optimality Procedure 0
57、7 375.784 0.03573 Infeasible start point 1 15 332.936 0.003444 1 -38.3 11.7 2 23 325.641 0.0002048 1 -7.29 7.49 Hessian modified 3 31 320.224 0.5862 1 -6.57 11.3 Hessian modified 4 39 319.748 0.1063 1 -0.613 8.6 Hessian modified 5 47 319.932 8.485e-006 1 0.185 8.33 6 55 319.92 5.166e-005 1 -0.0145 9
58、.62 Hessian modified 7 65 319.84 0.0008468 0.25 -0.468 8.51 Hessian modified 8 73 319.378 0.007561 1 -0.81 9.09 9 81 319.671 0 1 0.292 9.43 10 89 317.382 0.002578 1 -2.23 9.21 Hessian modified 11 97 317.419 0 1 0.0368 0.544 12 105 317.419 2.984e-013 1 -9.42e-005 8.34e-005 Hessian modified twice 13 1
59、13 317.419 7.105e-015 1 -2.78e-011 1.26e-006 Hessian modified twice Optimization terminated: first-order optimality measure less than options.TolFun and maximum constraint violation is less than options.TolCon.Active inequalities (to within options.TolCon = 1e-006): lower upper ineqlin ineqnonlin 5
60、9 1 6 11 2共六十六頁x = 2.0461 3.6059 18.5158 16.0000 5.8000 8.0000fval =317.4186exitflag = 1output = iterations: 13 funcCount: 113 stepsize: 1 algorithm: medium-scale: SQP, Quasi-Newton, line-search firstorderopt: 3.0005e-007 cgiterations: message: 1x143 charhess = lower: 6x1 double upper: 6x1 double eq
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國ABS雙搖床數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國防輻射鉛玻璃窺視窗市場分析及競爭策略研究報告
- 2025至2030年中國鋼筋矯直切斷機市場分析及競爭策略研究報告
- 2025至2030年中國監(jiān)控拍照防盜報警器市場分析及競爭策略研究報告
- 2025至2030年中國液化炒青機市場分析及競爭策略研究報告
- 2025至2030年中國氫氯化鋯市場分析及競爭策略研究報告
- 2025至2030年中國智能高頻開關電力操作電源系統(tǒng)市場分析及競爭策略研究報告
- 2025至2030年中國帶板材軋機市場分析及競爭策略研究報告
- 2025至2030年中國口琴外殼市場分析及競爭策略研究報告
- 2025至2030年中國包塑鏈輪曲柄市場分析及競爭策略研究報告
- 如何提升安全管理水平
- 退贓協(xié)議書范本
- 【MOOC答案】《大學物理I力學、相對論、電磁學》(北京交通大學)章節(jié)作業(yè)慕課答案
- 落地投資協(xié)議書范本
- 托管倉庫合同協(xié)議
- 企業(yè)負責人(A證)考試題(含答案)
- 河南洛陽文旅集團財務崗位招聘考試真題2024
- 深入研究福建事業(yè)單位考試中的經(jīng)典案例試題及答案
- 《中華傳統(tǒng)文化進中小學課程教材指南》
- 七年級歷史下學期核心知識點、難點、重點知識總結
- 《基于web的寵物商城管理系統(tǒng)設計與實現(xiàn)》8800字(論文)
評論
0/150
提交評論