優(yōu)化上機(jī)指導(dǎo)(Matlab優(yōu)化工具箱)_第1頁(yè)
優(yōu)化上機(jī)指導(dǎo)(Matlab優(yōu)化工具箱)_第2頁(yè)
優(yōu)化上機(jī)指導(dǎo)(Matlab優(yōu)化工具箱)_第3頁(yè)
優(yōu)化上機(jī)指導(dǎo)(Matlab優(yōu)化工具箱)_第4頁(yè)
優(yōu)化上機(jī)指導(dǎo)(Matlab優(yōu)化工具箱)_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 優(yōu)化設(shè)計(jì)優(yōu)化設(shè)計(jì)及有限元分析上機(jī)指導(dǎo)書(shū)v2012上機(jī)指導(dǎo)書(shū)適用專業(yè): 機(jī)械工程 課程代碼: 8201581 / 6015589 編寫單位: 機(jī)械工程與自動(dòng)化學(xué)院 編 寫 人: 張曉洪 審 核 人: 審 批 人: 目 錄 實(shí)驗(yàn)一 Matlab基礎(chǔ)訓(xùn)練與優(yōu)化編程 2實(shí)驗(yàn)1.1 Matlab基本操作與運(yùn)算實(shí)驗(yàn)1.2 Matlab程序設(shè)計(jì)與函數(shù)實(shí)驗(yàn)1.3 一維搜索方法編程實(shí)驗(yàn)1.4 共軛梯度法和Powell法無(wú)約束優(yōu)化方法編程實(shí)驗(yàn)1.5 復(fù)合形法約束優(yōu)化方法編程實(shí)驗(yàn)二 Matlab優(yōu)化工具箱優(yōu)化實(shí)驗(yàn)實(shí)驗(yàn)2.1 單變量函數(shù)最小值問(wèn)題(一維問(wèn)題) 3實(shí)驗(yàn)2.2 線性方程組的應(yīng)用 5實(shí)驗(yàn)2.3 無(wú)約束規(guī)劃

2、的計(jì)算方法 7實(shí)驗(yàn)2.4 約束非線性規(guī)劃計(jì)算方法 8實(shí)驗(yàn)2.5 綜合實(shí)驗(yàn) 齒輪傳動(dòng)系統(tǒng)優(yōu)化設(shè)計(jì) 10主要參考文獻(xiàn) 15實(shí)驗(yàn)一 Matlab基礎(chǔ)訓(xùn)練與優(yōu)化編程參見(jiàn)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)2.1 單變量函數(shù)最小值問(wèn)題(一維問(wèn)題)一、上機(jī)目的:1、掌握一維搜索方法的基本概念、算法等知識(shí)點(diǎn); 2、熟悉Matlab軟件環(huán)境及有關(guān)語(yǔ)句和函數(shù)的使用方法。二、原理和方法:函數(shù)fminbnd是用來(lái)尋找單變量函數(shù)在固定區(qū)間內(nèi)的最小值點(diǎn)及最小值。MATLAB各工具箱的每個(gè)函數(shù),包括優(yōu)化工具箱函數(shù),都有多種不同的調(diào)用格式。其調(diào)用格式可使用在線幫助系統(tǒng)查詢。函數(shù)fminbnd最常用的調(diào)用格式為:x, fval = fminbnd(

3、fun, x1, x2)%返回函數(shù)fun在區(qū)間x1<x<x2上的最小值點(diǎn)x和對(duì)應(yīng)的最小值fval,fun為目標(biāo)函數(shù)的文件名句柄或目標(biāo)函數(shù)的表達(dá)式字符串。三、上機(jī)內(nèi)容與步驟:1、熟悉MATLAB軟件環(huán)境,了解用戶界面、掌握幫助系統(tǒng)使用等(重點(diǎn))。2、如求解函數(shù)f(x)=sin(x)在區(qū)間0, 2p內(nèi)的最小值及最小值點(diǎn),使用如下命令即可:>> x, fval = fminbnd(sin, 0, 2*pi)%符號(hào)“”表明目標(biāo)函數(shù)為MATLAB自定義的正弦函數(shù)sin.m。x = 4.7124 %最小值點(diǎn)賦值給x。fval = -1.0000 %最小值賦值給fval。3、如果目標(biāo)

4、函數(shù)并不是MATLAB自定義的函數(shù),需要首先定義一個(gè)函數(shù)M文件,以該文件的名稱來(lái)代替上述命令行中的“sin”部分。如希望求出在0,1內(nèi)的最小值及最小值點(diǎn),首先編寫目標(biāo)函數(shù)的M文件opt1.m,如下:function f = myfun(x)%編寫函數(shù)M文件時(shí),上句代碼中的“myfun”并不一定與文件名相同。f = (x3+cos(x)+x*log(x)/exp(x) 然后調(diào)用fminbnd函數(shù),在命令窗口中輸入:>> x, fval=fminbnd(opt1, 0, 1) x = 0.5223fval = 0.3974%注意此處使用“opt1”而不是“myfun”。4、如果目標(biāo)函數(shù)

5、的表達(dá)式較為簡(jiǎn)單,也可以使用表達(dá)式的字符串而不必編寫目標(biāo)函數(shù)。如上例也可以使用x, fval=fminbnd('(x3+cos(x)+x*log(x)/exp(x)',0,1)實(shí)現(xiàn)。5、目標(biāo)函數(shù)也可表示成內(nèi)聯(lián)函數(shù),如: >>f = inline('sin(x)+3'); x = fminbnd(f,2,5);顯示結(jié)果:x = 4.7124注:在MATLAB軟件中,function為關(guān)鍵字,%為注釋符號(hào),>>為命令窗口中的提示符。實(shí)驗(yàn)2.2 線性方程組的應(yīng)用一、上機(jī)目的1、了解線性規(guī)劃問(wèn)題及可行解、最優(yōu)解的概念 ; 2、掌握Matlab軟件

6、關(guān)于求解線性規(guī)劃的語(yǔ)句和方法。二、原理和方法在工程實(shí)踐中,很多重要的實(shí)際問(wèn)題都是線性的(至少能夠用線性函數(shù)很好的近似表示),所以我們一般把這些問(wèn)題化為線性的目標(biāo)函數(shù)和約束條件進(jìn)行分析,通常將目標(biāo)函數(shù)和約束都是線性表達(dá)式的規(guī)劃問(wèn)題稱為線性規(guī)劃。其一般形式是: 矩陣形式表示為:線性規(guī)劃的可行解是滿足約束條件的解;線性規(guī)劃的最優(yōu)解是使目標(biāo)函數(shù)達(dá)到最優(yōu)的可行解。一般求解線性規(guī)劃的常用方法是單純形法和改進(jìn)的單純形法,這類方法的基本思路是先求得一個(gè)可行解,檢驗(yàn)是否為最優(yōu)解;若不是,可用迭代的方法找到另一個(gè)更優(yōu)的可行解,經(jīng)過(guò)有限次迭代后,可以找到可行解中的最優(yōu)解或者判定無(wú)最優(yōu)解。三、上機(jī)內(nèi)容與步驟在Matl

7、ab優(yōu)化工具箱中,linprog函數(shù)是使用單純形法求解下述線性規(guī)劃問(wèn)題的函數(shù)。命令格式為:其中:A為不等式約束條件矩陣,c、b分別為目標(biāo)函數(shù)的系數(shù)向量和不等式約束條件中最右邊的數(shù)值向量;也可設(shè)置解向量的上界vlb和下界vub,即解向量必須滿足vlb<=x<=vub;還可預(yù)先設(shè)置初始解向量x0。如沒(méi)有不等式約束,而只有等式約束條件時(shí),A= ,b= ;aeq與beq分別為等式約束矩陣;輸出的結(jié)果:x表示最優(yōu)解向量;fval表示最優(yōu)值。某一線性規(guī)劃問(wèn)題,如下: 考慮到linprog函數(shù)只解決形式如下的線性規(guī)劃。所以先要將線性規(guī)劃變換為如下形式:建立M文件如下(如以文件名optest保存)

8、:c = -3;1;1;A = 1 -2 1; 4 -1 -2;b = 11;-3;aeq = 2 0 -1;beq = -1;vlb = 0;0;0;x,fval = linprog(c, A, b, aeq, beq, vlb) 則在命令窗口中輸入:optest,可得到計(jì)算結(jié)果:x1 = 4,x2 = 1,x3 = 9,fval = -2。實(shí)驗(yàn)2.3 無(wú)約束規(guī)劃計(jì)算方法一、上機(jī)目的1、了解無(wú)約束規(guī)劃問(wèn)題的求解原理與方法 ; 2、會(huì)用Matlab軟件求解無(wú)約束規(guī)劃問(wèn)題。 二、原理和方法無(wú)約束規(guī)劃問(wèn)題的解法一般按目標(biāo)函數(shù)的形式分為兩大類:一類是一元函數(shù)的一維搜索法,如黃金分割法、插值法等;另一

9、類是求解多元函數(shù)的下降迭代法。三、上機(jī)內(nèi)容與步驟在Matlab軟件中,求解無(wú)約束規(guī)劃的常用命令是: x=fminunc(fun, x0) 其中,fun函數(shù)應(yīng)預(yù)先定義到M文件中。 問(wèn)題如下:初始點(diǎn)x0 = -2 4首先建立函數(shù)文件fun02.mfunction f = fun02(x)f = 3/2*x(1)2 + 1/2*x(2)2 - x(1)*x(2) - 2*x(1)在命令窗口輸入: x0=-2;4x=fminunc(fun02,x0)計(jì)算結(jié)果:極小值為-1,最優(yōu)點(diǎn):x1=1,x2=1。實(shí)驗(yàn)2.4 約束非線性規(guī)劃計(jì)算方法 一、上機(jī)目的1、了解約束非線性規(guī)劃問(wèn)題的求解原理與方法; 2、會(huì)用

10、Matlab軟件求解約束非線性規(guī)劃問(wèn)題。 二、原理和方法對(duì)于約束非線性規(guī)劃,隨著目標(biāo)函數(shù)和約束條件的不同,解法也不同,一般來(lái)說(shuō),有三類方法:(1)、將約束問(wèn)題轉(zhuǎn)化為無(wú)約束問(wèn)題的求解方法;(2)、用線性規(guī)劃來(lái)逼近非線性規(guī)劃;(3)、直接搜索的各種方法。三、上機(jī)內(nèi)容與步驟約束非線性規(guī)劃的一般形式為:其中,f(x)為多元實(shí)值函數(shù);g(x)為向量函數(shù),并且f(x),g(x)中至少有一個(gè)函數(shù)是非線性函數(shù)的(否則成為線性規(guī)劃問(wèn)題)。在Matlab優(yōu)化工具箱中,fmincon函數(shù)是用SQP算法來(lái)解決一般的約束非線性規(guī)劃的函數(shù),其命令格式為:x = fmincon(fun, x0, A, b)x = fmin

11、con(fun, x0, A, b, Aeq, beq)x = fmincon(fun, x0, A, b, Aeq, beq, lb, ub)x = fmincon(fun, x0, A, b, Aeq, beq, lb,ub, nonlcon)對(duì)于如下約束非線性規(guī)劃問(wèn)題:建立一個(gè)M文件 fun05.m,代碼如下:function y=fun05(x)y=(x(1)-1)2+(x(2)-2)2+(x(3)-3)2+(x(4)-4)2;存儲(chǔ)為fun05.m文件.在命令窗口輸入:x0 = 1;1;1;1; A= 1 1 1 1;3 3 2 1;B = 5;10; Aeq = ; Beq = ;L

12、b = 0;0;0;0;x, g = fmincon(fun05,x0,A,B,Aeq,Beq,Lb)計(jì)算結(jié)果為:X = 0.0000 0.6667 1.6665 2.6668g = 6.3333實(shí)驗(yàn)2.5 齒輪傳動(dòng)系統(tǒng)優(yōu)化設(shè)計(jì)一、上機(jī)目的和任務(wù) 機(jī)械優(yōu)化設(shè)計(jì)是一門實(shí)踐性很強(qiáng)的課程,通過(guò)實(shí)際上機(jī)計(jì)算達(dá)到以下目的:1)加深對(duì)機(jī)械優(yōu)化設(shè)計(jì)方法的基本理論和算法的理解。 2)培養(yǎng)學(xué)生獨(dú)立編制計(jì)算機(jī)程序的能力。3)掌握常用優(yōu)化方法程序的使用方法。4)培養(yǎng)學(xué)生靈活運(yùn)用優(yōu)化設(shè)計(jì)方法解決工程實(shí)際問(wèn)題的能力。二、上機(jī)內(nèi)容某二級(jí)斜齒圓柱齒輪減速器(如圖1所示),高速級(jí)輸入功率 =6.2KW,轉(zhuǎn)速=1450r/mi

13、n;總傳動(dòng)比i=31.5,齒輪寬度系數(shù)=0.4,齒輪材料和熱處理:大齒輪45號(hào)鋼正火187207HB,小齒輪45號(hào)鋼調(diào)質(zhì)228255HB,工作壽命10年以上。要求按照總中心距 最小來(lái)確定齒輪傳動(dòng)方案。圖1 傳動(dòng)系統(tǒng)簡(jiǎn)圖三、上機(jī)步驟該優(yōu)化問(wèn)題屬于約束非線性規(guī)劃問(wèn)題,采用MATLAB優(yōu)化工具箱進(jìn)行求解。求約束非線性規(guī)劃問(wèn)題的MATLAB函數(shù)是fmincon,約束非線性規(guī)劃問(wèn)題的數(shù)學(xué)模型表示為: minf(X) s.t. AX b(線性不等式約束) AeqX = beq(線性等式約束)C(X)0(非線性不等式約束) Ceq(X)=0(非線性等式約束) Lb X Ub(邊界約束)函數(shù)fmincon的使

14、用格式為: x, fval, exitflag, output, hession =fmincon( fun, x0, A, b, Aeq, beq, Lb, Ub, NIc, options,P1, P2, )其中,輸出參數(shù)有:x是返回目標(biāo)函數(shù)的最優(yōu)解;fval是返回目標(biāo)函數(shù)在最優(yōu)解x點(diǎn)的函數(shù)值;exitflag是返回算法的終止標(biāo)志;output是返回優(yōu)化算法信息的一個(gè)數(shù)據(jù)結(jié)構(gòu);grad是返回目標(biāo)函數(shù)在最優(yōu)解x點(diǎn)的梯度;hession是返回目標(biāo)函數(shù)在最優(yōu)解x點(diǎn)的hession矩陣值。輸入?yún)?shù)有: fun是調(diào)用目標(biāo)函數(shù)的函數(shù)文件名; x0是初始點(diǎn); 線性不等式約束約束條件的系數(shù)矩陣A和常數(shù)向量

15、b; 線性等式約束條件的系數(shù)矩陣Aeq和常數(shù)向量beq;設(shè)計(jì)變量X的下界向量Lb和上界向量Ub;NIc是定義非線性約束條件的函數(shù)名;options是設(shè)置優(yōu)化選項(xiàng)參數(shù);P1,P2等是傳遞給fun的附加參數(shù)。參數(shù)A, b, Aeq, beq, Lb, Ub, options如果沒(méi)有定義,可用空矩陣符號(hào)“ ”代替。(一) 建立優(yōu)化設(shè)計(jì)數(shù)學(xué)模型將涉及總中心距齒輪傳動(dòng)方案的6個(gè)獨(dú)立參數(shù)作為設(shè)計(jì)變量 X = 式中,分別為高速級(jí)和低速級(jí)齒輪副的模數(shù);分別為高速級(jí)和低速級(jí)小齒輪齒數(shù);為高速級(jí)傳動(dòng)比; 為齒輪副螺旋角。減速器總中心距最小的目標(biāo)函數(shù)為: 性能約束包括:齒輪接觸強(qiáng)度條件、齒根彎曲強(qiáng)度條件、高速級(jí)大齒

16、輪與低速軸不干涉條件等。根據(jù)齒輪材料與熱處理規(guī)范,得到齒面許用接觸應(yīng)力=518.75MPa,齒根許用彎曲應(yīng)力=153.5MPa和=141.6MPa.。根據(jù)傳遞功率和轉(zhuǎn)速,在齒輪強(qiáng)度計(jì)算條件中代入有關(guān)數(shù)據(jù):高速軸轉(zhuǎn)矩 =41690Nmm,中間軸轉(zhuǎn)矩 =40440 Nmm,高速軸和低速軸載荷系數(shù) =1.225和 =1.204。邊界約束包括:根據(jù)傳遞功率和轉(zhuǎn)速估計(jì)高速級(jí)和低速級(jí)齒輪副模數(shù)的范圍;綜合考慮傳動(dòng)平穩(wěn)、軸向力不能太大、軸齒輪的分度圓直徑不能太小與兩級(jí)傳動(dòng)的大齒輪浸油深度大致相近等因素,估計(jì)兩級(jí)傳動(dòng)大齒輪的齒數(shù)范圍、高速級(jí)傳動(dòng)比范圍和齒輪副螺旋角范圍等。因此,建立如下17個(gè)不等式約束條件:

17、(高速級(jí)齒輪接觸強(qiáng)度條件) (低速級(jí)齒輪接觸強(qiáng)度條件) (高速級(jí)大齒輪彎曲強(qiáng)度條件)(低速級(jí)大齒輪彎曲強(qiáng)度條件) (大齒輪與軸不干涉條件) (高速級(jí)齒輪副模數(shù)的下限) (高速級(jí)齒輪副模數(shù)的上限) (低速級(jí)齒輪副模數(shù)的下限) (低速級(jí)齒輪副模數(shù)的上限) (高速級(jí)小齒輪齒數(shù)的下限) (高速級(jí)小齒輪齒數(shù)的上限) (低速級(jí)齒輪數(shù)的下限) (低速級(jí)齒輪齒數(shù)的上限) (高速級(jí)傳動(dòng)比的下限) (高速級(jí)傳動(dòng)比的上限) (齒輪副螺旋角的下限) (齒輪副螺旋角的上限)(二)編制優(yōu)化設(shè)計(jì)的M文件(主程序設(shè)計(jì)、目標(biāo)函數(shù)子程序設(shè)計(jì)、非線性約束子程序設(shè)計(jì))% 兩級(jí)斜齒輪傳動(dòng)中心距優(yōu)化設(shè)計(jì)% 1-減速器中心距優(yōu)化設(shè)計(jì)主程序

18、% 設(shè)計(jì)變量的初始值x0=2;4;18;20;6.4;10;% 設(shè)計(jì)變量的下界與上界lb=2;3.5;14;16;5.8;8;ub=5;6;22;22;7;15;% 使用多維約束優(yōu)化命令fmincon(調(diào)用目標(biāo)函數(shù)jsqyh_f和非線性約束函數(shù)jsqyh_g)% 無(wú)線性不等式約束,設(shè)計(jì)變量的系數(shù)矩陣a=和常數(shù)項(xiàng)向量b=不需定義% 沒(méi)有等式約束,則參數(shù):系數(shù)矩陣Aeq=和常數(shù)項(xiàng)向量beq=不需定義x,fn= fmincon(jsqyh_f,x0, , , , ,lb,ub,jsqyh_g);disp * 兩級(jí)斜齒輪傳動(dòng)中心距優(yōu)化設(shè)計(jì)最優(yōu)解 *fprintf(1, 高速級(jí)齒輪副模數(shù) Mn1 = %

19、3.4f mmn,x(1) fprintf(1, 低速級(jí)齒輪副模數(shù) Mn2 = %3.4f mmn,x(2)fprintf(1, 高速級(jí)小齒輪齒數(shù) z1 = %3.4f n,x(3) fprintf(1, 低速級(jí)小齒輪齒數(shù) z3 = %3.4f n, x(4)fprintf(1, 高速級(jí)齒輪副傳動(dòng)比 i1 = %3.4f n,x(5)fprintf(1, 齒輪副螺旋角 beta = %3.4f 度n,x(6)fprintf(1, 減速器總中心距 a12 = %3.4f mmn,fn)% 調(diào)用多維約束化非線性約束函數(shù)(jsqyh_g)計(jì)算最優(yōu)點(diǎn)x*的性能約束函數(shù)值g=jsqyh_g(x);dis

20、p - 最優(yōu)點(diǎn)的性能約束函數(shù)值 -fprintf(1, 高速級(jí)齒輪副接觸疲勞強(qiáng)度約束函數(shù)值 g1= %3.4fn,g(1)fprintf(1, 低速級(jí)齒輪副接觸疲勞強(qiáng)度約束函數(shù)值 g2= %3.4fn,g(2)fprintf(1, 高速級(jí)大齒輪齒根彎曲強(qiáng)度約束函數(shù)值 g3= %3.4fn,g(3)fprintf(1, 低速級(jí)大齒輪齒根彎曲強(qiáng)度約束函數(shù)值 g4= %3.4fn,g(4)fprintf(1, 大齒輪齒頂與軸不干涉幾何約束函數(shù)值 g5= %3.4fn,g(5)% 2-兩級(jí)斜齒輪減速器總中心距的目標(biāo)函數(shù)(jsqyh_f)function f=jsqyh_f(x);hd=pi/180;a

21、1=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;% 3-兩級(jí)斜齒輪減速器優(yōu)化設(shè)計(jì)的非線性不等式的約束函數(shù)(jsqyh_g)function g,ceq=jsqyh_g(x);hd=pi/180;g(1)=cos(x(6)*hd)3-3.079e-6*x(1)3*x(3)3*x(5);g(2)=x(5)2*cos(x(6)*hd)3-1.701e-4*x(2)3*x(4)3;g(3)=cos(x(6)*hd)2-9.939e-5*(1+x(5)*x(1)3*x(3)2;g(4)=x(5)2.*cos(x(6)*hd)2-1.076e-4*(31.5+x(5)*x(2)3*x(4)2;g(5)=x(5)*(2*(x(1)+50)*cos(x(6)*hd)+x(1)*x(2)*x(3)-x(2)*x(4)*(31.5+x(5)ceq=;M文件的運(yùn)行結(jié)果為: * 兩級(jí)斜齒輪傳動(dòng)中心距優(yōu)化設(shè)計(jì)最優(yōu)解 * 高速級(jí)齒輪副模數(shù) Mn1 = 2.0471 mm 低速級(jí)齒輪副模數(shù) Mn2 = 3.6059

溫馨提示

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

評(píng)論

0/150

提交評(píng)論