




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、MATLAB在機(jī)械優(yōu)化設(shè)計(jì)(shj)中的應(yīng)用湖南農(nóng)業(yè)大學(xué) 工學(xué)院2007年9月主講(zhjing):*共六十六頁緒 論1.1 MATLAB系統(tǒng)(xtng)簡介 MATLAB 名字由 MATrix 和 LABoratory 兩詞的前三個字母組合而成。那是 20 世紀(jì)(shj)七十年代后期的事:時任美國新墨西哥大學(xué)計(jì)算機(jī)科學(xué)系主任的 Cleve Moler 教授出于減輕學(xué)生編程負(fù)擔(dān)的動機(jī),為學(xué)生設(shè)計(jì)了一組調(diào)用 LINPACK 和 EISPACK 庫程序的“通俗易用”的接口,此即用 FORTRAN 編寫的萌芽狀態(tài)的 MATLAB 。 經(jīng)幾年的校際流傳,在 Little 的推動下,由 Little 、
2、 Moler 、 Steve Bangert 合作,于 1984 年成立了 MathWorks 公司,并把 MATLAB 正式推向市場。從這時起, MATLAB 的內(nèi)核采用 C 語言編寫,而且除原有的數(shù)值計(jì)算能力外,還新增了數(shù)據(jù)圖視功能。 MATLAB 以商品形式出現(xiàn)后,僅短短幾年,就以其良好的開放性和運(yùn)行的可靠性,使原先控制領(lǐng)域里的封閉式軟件包(如英國的 UMIST ,瑞典的 LUND 和 SIMNON ,德國的 KEDDC )紛紛淘汰,而改以 MATLAB 為平臺加以重建。在時間進(jìn)入 20 世紀(jì)九十年代的時候, MATLAB 已經(jīng)成為國際控制界公認(rèn)的標(biāo)準(zhǔn)計(jì)算軟件。 到九十年代初期,在國際上
3、 30 幾個數(shù)學(xué)類科技應(yīng)用軟件中, MATLAB 在數(shù)值計(jì)算方面獨(dú)占鰲頭,而 Mathematica 和 Maple 則分居符號計(jì)算軟件的前兩名。 共六十六頁 Mathcad 因其提供計(jì)算、圖形、文字處理的統(tǒng)一環(huán)境而深受中學(xué)生歡迎。 在歐美大學(xué)里,諸如應(yīng)用代數(shù)、數(shù)理統(tǒng)計(jì)、自動控制、數(shù)字信號處理(xn ho ch l)、模擬與數(shù)字通信、時間序列分析、動態(tài)系統(tǒng)仿真等課程的教科書都把 MATLAB 作為內(nèi)容。這幾乎成了九十年代教科書與舊版書籍的區(qū)別性標(biāo)志。在那里, MATLAB 是攻讀學(xué)位的大學(xué)生、碩士生、博士生必須掌握的基本工具。 在國際學(xué)術(shù)界, MATLAB 已經(jīng)被確認(rèn)為準(zhǔn)確、可靠的科學(xué)計(jì)算標(biāo)準(zhǔn)
4、軟件。在許多國際一流學(xué)術(shù)刊物上,(尤其是信息科學(xué)刊物),都可以看到 MATLAB 的應(yīng)用。 在設(shè)計(jì)研究單位和工業(yè)部門, MATLAB 被認(rèn)作進(jìn)行高效研究、開發(fā)的首選軟件工具。如美國 National Instruments 公司信號測量、分析軟件 LabVIEW , Cadence 公司信號和通信分析設(shè)計(jì)軟件 SPW 等,或者直接建筑在 MATLAB 之上,或者以 MATLAB 為主要支撐。又如 HP 公司的 VXI 硬件, TM 公司的 DSP , Gage 公司的各種硬卡、儀器等都接受 MATLAB 的支持。MATLAB具有以下幾個特點(diǎn): 功能強(qiáng)大的數(shù)值運(yùn)算功能 強(qiáng)大的圖形處理能力 高級但
5、簡單的程序環(huán)境 豐富的工具箱 優(yōu)化工具箱中的所有函數(shù)都對應(yīng)一個MATLAB 6.5 的.M文件(關(guān)于.M文件請查閱相關(guān)MATLAB 6.5 文獻(xiàn)),這些.M通過使用MATLAB 6.5 基本語句實(shí)現(xiàn)了具體的優(yōu)化算法.可以在 MATLAB 6.5 命令窗口鍵入命令:type function_name,來查看相應(yīng)函數(shù)的代碼.共六十六頁 1.2 優(yōu)化工具箱的工程應(yīng)用(yngyng)步驟當(dāng)量化地求解一個實(shí)際的最優(yōu)化問題時,首先要把這個問題轉(zhuǎn)化為一個數(shù)學(xué)問題.建立數(shù)學(xué)模型:然后對建立的數(shù)學(xué)模型進(jìn)行具體分析選擇合適的優(yōu)化算法:最后根據(jù)選定的優(yōu)化算法,編寫計(jì)算程序進(jìn)行求解用MATLAB 6.優(yōu)化工具箱解決
6、實(shí)際應(yīng)用問題可以概括為以下三個步驟: (1) 根據(jù)所提出的最優(yōu)化問題,建立最優(yōu)化問題的數(shù)學(xué)模型確定變量,列出約束條件和目標(biāo)函數(shù) (2) 對所建立的模型進(jìn)行具體分析和研究選擇合適的最優(yōu)化求解方法 (3) 根據(jù)最優(yōu)化方法的算法,列出程序框圖,選擇優(yōu)化函數(shù)和編寫語言程序,用計(jì)算機(jī)求出最優(yōu)解 利用MATLAB的優(yōu)化工具箱,可以求解線性規(guī)劃,非線性規(guī)劃和多目標(biāo)規(guī)劃問題。具體而言,包括線性,非線性最小化,最大最小化,二次規(guī)劃,半無限問題,線性,非線性方程(fngchng)化,方程(fngchng)求解,曲線擬合,二次規(guī)劃等問題中大型課題的求解方法,為優(yōu)化方法在工程中的實(shí)際應(yīng)用提供了更方便,快捷的途徑。共六
7、十六頁 1.3 優(yōu)化問題的工程背景隨著生產(chǎn),經(jīng)濟(jì),技術(shù)的發(fā)展,工程技術(shù),管理人才在實(shí)際工作中常常會面臨(minlng)這類問題:在工程設(shè)計(jì)中,怎樣的分配方案既能滿足各方面的基本要求,又能降低成本;在資源配中,怎樣的分配既能滿足各方面的基本要求,又能獲得好的經(jīng)濟(jì)效益;在生產(chǎn)計(jì)劃安排中,選擇怎樣的計(jì)劃才能提高產(chǎn)值和利潤;在原料配比問題中,怎樣確定各種萬分的比例才能提高質(zhì)量,降低成本;在城建規(guī)劃中,怎樣安排工廠,機(jī)關(guān),學(xué)校,商店,醫(yī)院,住宅和其它單位的合理布置,才能方面群眾,有利于城市各行各行的發(fā)展這一類問題的共同點(diǎn)就是遷出最合理,達(dá)到事先預(yù)定的最優(yōu)目標(biāo)的方案,這就是工程問題最優(yōu)化問題 最優(yōu)化方法發(fā)
8、展很快,包含多個分支,如線性規(guī)劃,整數(shù)規(guī)劃,非線性規(guī)劃,動態(tài)規(guī)劃,多目標(biāo)規(guī)劃等。共六十六頁2.1 線性規(guī)劃問題與MATLAB實(shí)現(xiàn) 線性規(guī)劃問題是目標(biāo)函數(shù)和約束條件均為線性函數(shù)的問題,MATLAB解決的線性規(guī)劃問題的標(biāo)準(zhǔn)形式為: 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)過適當(dāng)變換化為此標(biāo)準(zhǔn)形式。在MATLAB6.5版中,線性規(guī)劃問題(Linear Programming)已用函數(shù)linprog取其它形式的線性規(guī)劃問題都可經(jīng)過適當(dāng)變換化為此標(biāo)準(zhǔn)形式。函數(shù) linprog
9、調(diào)用格式(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) %設(shè)置初值x0 x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options) % option
10、s為指定的優(yōu)化參數(shù) 共六十六頁x,fval = linprog() % 返回目標(biāo)函數(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為關(guān)于優(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);%設(shè)置優(yōu)化參數(shù)x0=2,2;x,fval,exitflag,output,grad=fminunc(jxyh4_1fun,x0,options)結(jié)果為: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,當(dāng)給定初值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); %目標(biāo)函數(shù)的M文件輸入下列系數(shù)options(6)=0; options(7)=0; %采用DFP方法混合插值法options=optimset(Display,iter,LargeScale,off,); %設(shè)置優(yōu)化參數(shù)(cnsh)x0=1,1;x,fval,exitflag,output=fminunc(jxyh
14、4_2fun,x0,options)結(jié)果為: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 求使方程的最小化當(dāng)給定初值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); %設(shè)置優(yōu)化參數(shù)x,fval,exitflag,output=fminunc(jxyh4_3fun,x0,options)結(jié)果為: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)也可以調(diào)用函數(shù) fminsearch fminsearch函數(shù)是一個M文件,其算法基于單純形法進(jìn)行計(jì)算適合解決二次以上的問題,并問題為高度非線性時,具有穩(wěn)定性但是不適合求解平方和問題函數(shù) fminsearch 調(diào)用格式 :x = fminsearch(fun, x0 ) %給定初值x0,求fun 函數(shù)的局部極小點(diǎn)xx0可以是標(biāo)量,矢量,矩陣x = fminsearch(fun, x0,
19、options ) %用options參數(shù)指定的優(yōu)化參數(shù)進(jìn)行求解x,fval = fminsearch() %返回x處目標(biāo)函數(shù)的值到fvalx,fval,exitflag = fminsearch() %返回exitflag值描述fminunc 函數(shù)的退出條件x,fval,exitflag,output = fminsearch() %返回包含優(yōu)化信息的結(jié)構(gòu)輸出例4.4 求使方程的最小化當(dāng)給定初值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); %設(shè)置優(yōu)化參數(shù)(cnsh)x,fval,exitflag,output=fminsearch(jxyh4_4fun,x0,options)結(jié)果為: 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實(shí)現(xiàn) 這些問題通常用基于K-
22、T(Kuhn-Tucker)方程解的方法,直接計(jì)算拉格朗日乘子用擬牛頓法更新過程這些方法稱為二次規(guī)劃法(SQP)利用MATLAB解決有約束的非線性規(guī)劃問題問題調(diào)用函數(shù) fmincon :利用 fmincon 函數(shù)求解(qi ji)多變量的有約束的最小值:其數(shù)學(xué)模型為:式中,x, b, beq, lb和ub為矢量,A和Aeq為矩陣,c(x)和ceq(x)為函數(shù),返回標(biāo)量f(x),c(x)和ceq(x)可以是非線性函數(shù)函數(shù) fmincon 調(diào)用格式 :x=fmincon(fun,x0,A,b) 給定初值x0,求fun函數(shù)的極小值x,fun函數(shù)的約束條件為A*x=b, x0可以是標(biāo)量,矢量,矩陣。x
23、=fmincon(fun,x0,A,b,Aeq,beq) 最小化fun函數(shù),約束條件為Aeq*x=beq和A*x=b。若沒有不等式存在,則令A(yù)eq=,beq=。共六十六頁x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub) 定義設(shè)計(jì)(shj)變量x的下界lb和上界ub。使得有l(wèi)b=x=ub。若無等式則有:Aeq=,beq=;x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)在上面的基礎(chǔ)上,在nonlcon參數(shù)中提供非線性不等式c(x)和等式ceq(x),通常也以M文件的方式調(diào)用。Fmincon函數(shù)也要求c(x)=0且ceq(x)=0當(dāng)無邊界
24、存在時,令lb=,ub=x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options) 用options參數(shù)指定的優(yōu)化參數(shù)進(jìn)行求解x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options,P1,P2) 提供另外的參數(shù)P1,P2等,傳輸給目標(biāo)函數(shù)fun和nonlin如果不需要這些變量,則傳遞空矩陣到A,b,Aeq,beq,lb,ub,nonlcon, options中x,fval= fmincon(.) 將解x處的目標(biāo)函數(shù)的值返回到fval參數(shù)中x,fval,exitflag=fmincon(.) 返回exitf
25、lag的值,描述函數(shù)的輸出條件x,fval,exitflag,output=fmincon(.) 返回包含優(yōu)化作息的結(jié)構(gò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矩陣各調(diào)用格式中,nonlcon參數(shù)計(jì)算非線性不等式約束c(x)2 Gc= % 不等式的梯度 Gceq=
26、%等式的梯度end共六十六頁5.1 計(jì)算 有約束的非線性規(guī)劃問題(wnt)例題5-1 試求點(diǎn)集A(x1 , x2 , x3)和點(diǎn)集B (x4 , x5 , x6)之間的最短距離。限制條件為 由圖可知,點(diǎn)集A(x1 , x2 , x3)在球面(qimin)上取點(diǎn)。點(diǎn)集B (x4 , x5 , x6)在圓柱面上取點(diǎn)。因此該問題就是求這兩個幾何體間的最短距離的約束優(yōu)化問題,其數(shù)學(xué)模型為。共六十六頁 編一個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; %目標(biāo)函數(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=; 下一步給定初值,給定變量的下限約束,并調(diào)用優(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é)果(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 所以當(dāng)x = 1.0000 -0.0000 2.0000 2.0000 -
32、0.0000 4.0000時, 目標(biāo)(mbio)函數(shù)有最小值 fval = 5.0000。 exitflag =5,表示過程成功收斂于x處。 Output輸出變量顯示民收斂中的迭代次數(shù)、目標(biāo)函數(shù)計(jì)算次數(shù)步長算法等信息。 Lambda則包含模型信息。共六十六頁5-2 求解含有等式約束問題的最優(yōu)解,并用MATlab計(jì)算(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; 下一步給定初值,給定變量的下限約束,并調(diào)用優(yōu)化過程。options=optimset(Display,iter,LargeScale,off);x0=1,0;x,fval,exitflag,output,lambda=fmincon(md65fun,x0,md65con,options)共六十六頁計(jì)算結(jié)果為: 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、支梁,其材料密度為,許用彎曲應(yīng)力為,允許撓度為,在梁的中點(diǎn)作用一集中載荷P,梁的截面寬度b不得小于,現(xiàn)要求設(shè)計(jì)此梁,使其重量(zhngling)最輕,試寫出其優(yōu)化數(shù)學(xué)模型。若 試用MATlab優(yōu)化工具計(jì)算。考慮簡支梁自重后數(shù)學(xué)模型 令 x1=b, x2=h轉(zhuǎn)化數(shù)學(xué)模型共六十六頁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=; 下一步給定初值,給定變量的下限約束,并調(diào)用優(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)共六十六頁計(jì)算結(jié)果為: 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 所以當(dāng)x = 0.0500 0.3377 時, 目標(biāo)函數(shù)有最小值 fval = 2.0686e+003 。 exitflag
42、 =1,表示過程成功收斂于x處。 Output輸出變量顯示民收斂中的迭代次數(shù)、目標(biāo)函數(shù)計(jì)算次數(shù)步長算法等信息(xnx)。 Lambda則包含模型信息。共六十六頁 例5-4 有約束的非線性規(guī)劃問題機(jī)床主軸結(jié)構(gòu)優(yōu)化設(shè)計(jì) 試對圖8-2所示的主軸進(jìn)行優(yōu)化設(shè)計(jì),已知主軸內(nèi)徑d=30mm,外力 F=15000N。設(shè)計(jì)變量數(shù) n=3,約束函數(shù)個數(shù)m=5,設(shè)計(jì)函數(shù)初值,上下限如下表:MATLAB的實(shí)現(xiàn)過程(guchng):編一個目標(biāo)函數(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;設(shè)計(jì)變量初始值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)的下限約束,并調(diào)用優(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)共六十六頁計(jì)算結(jié)果為: 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所以當(dāng) x = 300 60 120 時, 目標(biāo)函數(shù)有最小值 fval = 2.2050e+00
48、9exitflag =1,表示過程成功收斂于x處。Output輸出變量顯示民收斂中的迭代次數(shù)、目標(biāo)函數(shù)計(jì)算次數(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 所以當(dāng)x = 300.0000 74.8898 90.0000時, 目標(biāo)函數(shù)(hnsh)有最小值 fval = 11.2494 。 exitflag =1,表示過程成功收斂于x處。 Output輸出變量顯示民收斂中的迭代次數(shù)、目標(biāo)函數(shù)計(jì)算次數(shù)步長算法等信息。 Lamb
50、da則包含模型信息。共六十六頁 例5-5 求兩級圓柱齒輪減速器優(yōu)化設(shè)計(jì) 已知某兩級斜齒輪圓柱齒輪減速器(圖8-6)的參數(shù):高速級輸入功率P1=6.2kw,轉(zhuǎn)速n1=1450 r/min總傳動比i=31.5,齒輪寬度(kund)系數(shù)為 齒輪材料和熱處理:大齒輪45號鋼正火187207小齒輪45號鋼調(diào)質(zhì)228 255HBS,工作壽命年以上要求按照總中心矩a最小來確定傳動方案 解 1) 建立優(yōu)化設(shè)計(jì)的數(shù)學(xué)模型將影響齒輪傳動總中心矩a的六個獨(dú)立參數(shù)作為設(shè)計(jì)變量:x=(mn1, mn2, z1, z3, i, )=(x1, x2, x3, x4, x5, x6)Mn1,mn2分別為高速級和低速級齒輪副的
51、模數(shù);z1, z3分別為高速級和低速級小齒輪齒數(shù);i 為高速級傳動比; 為齒輪副螺旋角齒輪傳動總中心矩a最小的目標(biāo)函數(shù):性能約束包括齒面強(qiáng)度條件,齒根彎曲強(qiáng)度條件,高速級大齒輪和低速軸不干涉條件等根據(jù)齒輪材料與熱處理規(guī)范,得到齒面許用接觸應(yīng)力,齒根許用彎曲應(yīng)力和根據(jù)傳遞功率和轉(zhuǎn)速,在齒輪強(qiáng)度計(jì)算條件中代入有關(guān)數(shù)據(jù):高速軸轉(zhuǎn)矩 中間速軸轉(zhuǎn)矩,高速軸和低速軸齒輪載荷系數(shù)和共六十六頁由齒輪傳動的約束(yush)條件,可建立以下約束(yush)模型:共六十六頁MATLAB的實(shí)現(xiàn)過程:編一個目標(biāo)(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)約束,并調(diào)用優(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)化設(shè)計(jì)最優(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)點(diǎn)的性能約束函數(shù)值* fprintf(1, 高速級齒輪副接觸強(qiáng)度約束函數(shù)值 c1=%3.4
56、f n, c(1)fprintf(1, 低速級齒輪副接觸強(qiáng)度約束函數(shù)值 c2=%3.4f n, c(2)fprintf(1, 高速級小齒輪齒根彎曲強(qiáng)度約束函數(shù)值 c3=%3.4f n, c(3)fprintf(1, 低速級大齒輪齒根彎曲強(qiáng)度約束函數(shù)值 c4=%3.4f n, c(4)fprintf(1, 大齒輪齒頂與軸不干涉幾何約束函數(shù)值 c5=%3.4f n, c(5)共六十六頁計(jì)算結(jié)果為: 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)系上傳者。文件的所有權(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 塔里木大學(xué)《數(shù)據(jù)可視化原理及應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 重慶工商大學(xué)派斯學(xué)院《體育教學(xué)技能訓(xùn)練》2023-2024學(xué)年第二學(xué)期期末試卷
- 南京機(jī)電職業(yè)技術(shù)學(xué)院《細(xì)胞生物學(xué)A》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海城建職業(yè)學(xué)院《學(xué)前兒童家庭教育與社區(qū)教育》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川幼兒師范高等專科學(xué)?!斗N子經(jīng)營管理學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 陜西青年職業(yè)學(xué)院《數(shù)據(jù)結(jié)構(gòu)與算法分析》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖北師范大學(xué)文理學(xué)院《電腦輔助設(shè)計(jì)(1)》2023-2024學(xué)年第二學(xué)期期末試卷
- 陜西國防工業(yè)職業(yè)技術(shù)學(xué)院《第二外語(韓語)1》2023-2024學(xué)年第二學(xué)期期末試卷
- 貴州民用航空職業(yè)學(xué)院《混凝土工學(xué)概論》2023-2024學(xué)年第二學(xué)期期末試卷
- 大慶師范學(xué)院《建筑設(shè)計(jì)理論(三)》2023-2024學(xué)年第二學(xué)期期末試卷
- 智慧教育 云平臺建設(shè)方案
- 精雕JDPaint快捷鍵大全
- 燈泡貫流式機(jī)組基本知識培訓(xùn)ppt課件
- 小學(xué)數(shù)學(xué)四年級下冊培優(yōu)補(bǔ)差記錄
- 人教版三年級下冊體育與健康教案(全冊教學(xué)設(shè)計(jì))
- DB61∕T 5006-2021 人民防空工程標(biāo)識標(biāo)準(zhǔn)
- 土壤學(xué)習(xí)題與答案
- 產(chǎn)品結(jié)構(gòu)設(shè)計(jì)(課堂PPT)
- 第九課_靜止的生命
- 尖尖的東西我不碰(課堂PPT)
- 工程勘察和設(shè)計(jì)承攬業(yè)務(wù)的范圍
評論
0/150
提交評論