機械設(shè)計方法 第08章優(yōu)化實例 南京理工大學(xué)_第1頁
機械設(shè)計方法 第08章優(yōu)化實例 南京理工大學(xué)_第2頁
機械設(shè)計方法 第08章優(yōu)化實例 南京理工大學(xué)_第3頁
機械設(shè)計方法 第08章優(yōu)化實例 南京理工大學(xué)_第4頁
機械設(shè)計方法 第08章優(yōu)化實例 南京理工大學(xué)_第5頁
已閱讀5頁,還剩73頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例南京理工大學(xué)南京理工大學(xué)機械設(shè)計及自動化系機械設(shè)計及自動化系梁梁 醫(yī)醫(yī)基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例參考書目參考書目1.1.MATLABMATLAB原理與工程應(yīng)用(原理與工程應(yīng)用(An Engineers Guide An Engineers Guide to MATLABto MATLAB),),Edward B. MagradEdward B. Magrad 等等, ,電子工業(yè)出版電子工業(yè)出版社社; ;2.MATLAB 2.MATLAB 遺傳算法工具箱及其應(yīng)用,雷英杰遺傳算法工具箱及其應(yīng)用,雷英杰 等等 西西安電子科技大學(xué)出

2、版社。安電子科技大學(xué)出版社?;诨贛atlab的機械優(yōu)化實例的機械優(yōu)化實例MATLAB -Matrix LaboratoryMatrix Laboratory 計算語言,以矩陣的形式處理數(shù)據(jù),集成計算和計算語言,以矩陣的形式處理數(shù)據(jù),集成計算和可視化,并提供大量的內(nèi)置函數(shù),廣泛應(yīng)用在處理工可視化,并提供大量的內(nèi)置函數(shù),廣泛應(yīng)用在處理工程問題的數(shù)值解方面程問題的數(shù)值解方面。 數(shù)學(xué)計算數(shù)學(xué)計算、通信系統(tǒng)、控制系統(tǒng)、信號處理、人、通信系統(tǒng)、控制系統(tǒng)、信號處理、人工智能、圖像處理工智能、圖像處理命令執(zhí)行方式:命令執(zhí)行方式: 1 1、在、在“command window”command window”

3、里面像計算器一樣直里面像計算器一樣直接接 執(zhí)行輸入的命令;執(zhí)行輸入的命令; 2 2、創(chuàng)建、創(chuàng)建M-M-文件,編程序文件,編程序。 http:/ 界面界面命令窗口命令窗口 M文件編輯窗口文件編輯窗口 歷史命令歷史命令窗口窗口 當(dāng)前目錄當(dāng)前目錄 基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例 優(yōu)化問題可以由優(yōu)化問題可以由MATLAB的的作圖功能以圖形方作圖功能以圖形方式顯示式顯示。如例。如例1: 圖圖中是兩個彈簧組成的系統(tǒng)。在中是兩個彈簧組成的系統(tǒng)。在A A點施加一載荷后系點施加一載荷后系統(tǒng)處于變形狀態(tài),經(jīng)過一定時間后將停留在平衡狀統(tǒng)處于變形狀態(tài),經(jīng)過一定時間后將停留在平衡狀態(tài)。要研究的是系統(tǒng)的

4、態(tài)。要研究的是系統(tǒng)的平衡狀態(tài),在圖中實折平衡狀態(tài),在圖中實折線具體指出了線具體指出了A A點的位置點的位置(x x1,1,x x2 2)。)。虛折線是施加載荷前彈虛折線是施加載荷前彈簧未變形的情況簧未變形的情況實折線是施加一載荷后實折線是施加一載荷后彈簧變形的情況彈簧變形的情況基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例系統(tǒng)的勢能相對于設(shè)計變量系統(tǒng)的勢能相對于設(shè)計變量x1和和x2值求最優(yōu)值值求最優(yōu)值 由彈簧伸長時彈性勢能與彈簧在平衡位置由彈簧伸長時彈性勢能與彈簧在平衡位置處的彈性勢能之差計算得出處的彈性勢能之差計算得出 程序演示程序演示 基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例右圖

5、是右圖是PEPE的三維圖形,三維圖形的三維圖形,三維圖形下面是等高線圖,圖中也標(biāo)出了下面是等高線圖,圖中也標(biāo)出了極小值極小值/ /極大值所在點的近似位置,極大值所在點的近似位置,在該點在該點PEPE目標(biāo)函數(shù)取得極小值目標(biāo)函數(shù)取得極小值/ /極極大值。大值。 左圖是左圖是PEPE的等高線圖,圖上的等高線圖,圖上標(biāo)出了每條等高線的數(shù)值,標(biāo)出了每條等高線的數(shù)值,從圖可可清楚地找到極小值從圖可可清楚地找到極小值/ /極大值的分布。極大值的分布?;诨贛atlab的機械優(yōu)化實例的機械優(yōu)化實例1 1、無約束優(yōu)化問題、無約束優(yōu)化問題 1.1 1.1 無約束無約束線性優(yōu)化線性優(yōu)化 1.2 1.2 無約束無約

6、束非線性優(yōu)化非線性優(yōu)化 曲線擬合和最小二乘法(略)曲線擬合和最小二乘法(略)2 2、約束優(yōu)化問題、約束優(yōu)化問題 2.12.1、單目標(biāo)約束優(yōu)化、單目標(biāo)約束優(yōu)化 .1單變量單變量約束優(yōu)化約束優(yōu)化 .2多變量多變量約束優(yōu)化約束優(yōu)化 2.22.2、多目標(biāo)約束優(yōu)化多目標(biāo)約束優(yōu)化 傳統(tǒng)優(yōu)傳統(tǒng)優(yōu)化方法化方法 現(xiàn)代優(yōu)現(xiàn)代優(yōu)化方法化方法 3 3、遺傳優(yōu)化、遺傳優(yōu)化方法方法 發(fā)表在發(fā)表在Finite Elements in Analysis and Design和和Mechanism and Machine Theory上有關(guān)優(yōu)化的一些上有關(guān)優(yōu)化的一些論文論文?;诨贛atlab

7、的機械優(yōu)化實例的機械優(yōu)化實例結(jié) 束基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例1.11.1、無約束線性優(yōu)化、無約束線性優(yōu)化 例例2 2:有兩產(chǎn)品:有兩產(chǎn)品A A和和B B,需要在兩個車間加工。,需要在兩個車間加工。 每件產(chǎn)品每件產(chǎn)品A A在第一車間的處理時間為在第一車間的處理時間為1 1小時,在第二車小時,在第二車間處理時間為間處理時間為1.251.25小時;每件產(chǎn)品小時;每件產(chǎn)品B B在第一車間的處理時在第一車間的處理時間為間為1 1小時,在第二車間的處理時間為小時,在第二車間的處理時間為0.750.75小時。小時。 每個車間每月有每個車間

8、每月有200200小時的時間可以利用,而且小時的時間可以利用,而且B B產(chǎn)品產(chǎn)品的市場需求量最大為的市場需求量最大為150150件,假定件,假定A A產(chǎn)品和產(chǎn)品和B B產(chǎn)品的利潤每產(chǎn)品的利潤每件分別為¥件分別為¥4 4和¥和¥5 5。 求出使生產(chǎn)商的利潤最大求出使生產(chǎn)商的利潤最大時時A A產(chǎn)品和產(chǎn)品和B B產(chǎn)品的生產(chǎn)量。產(chǎn)品的生產(chǎn)量。 x1A A產(chǎn)品的生產(chǎn)數(shù)量;產(chǎn)品的生產(chǎn)數(shù)量;x2B B產(chǎn)品的生產(chǎn)數(shù)量產(chǎn)品的生產(chǎn)數(shù)量 12121122123212min,45s.t.:200:1.250.75200:150,0f x xxxgxxgxxgxx x 基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例1

9、2112001.250.7520001150 xx12121122123212min,45s.t.:200:1.250.75200:150,0f x xxxgxxgxxgxx x boundboundeqeqUxLbxAbAxtscxz . .minLinprog函數(shù)主要解決以下問題:函數(shù)主要解決以下問題:, 0,(,optionsxUBLBbeqAeqbAclinproglamdaoutputexitflagfvalx初始值初始值f=-4,-5A=1,1;1.25,0.75;0,1b=200,200,150LBnd=0 0 %初值初值x=linprog(f,A,b, , ,LBnd, )5,

10、 4f理理 解解 程程 序序基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例 輸出宗量的輸出宗量的x, fval, exitflagx, fval, exitflag, output, lambda, output, lambda理解:理解: x x 輸出的最優(yōu)解輸出的最優(yōu)解x x Fval Fval 當(dāng)取最優(yōu)解為當(dāng)取最優(yōu)解為x x時的最優(yōu)值時的最優(yōu)值exitflagexitflag判斷算法停止的原因判斷算法停止的原因 Output Output algorithmalgorithm,cgiterationscgiterations,iterationsiterations,messageme

11、ssage Lambda Lambda lowerlower,upperupper,ineqlinineqlin,eqlineqlin, 0,(,optionsxUBLBbeqAeqbAclinproglamdaoutputexitflagfvalx 1 1:找到最優(yōu)解,優(yōu)化成功找到最優(yōu)解,優(yōu)化成功0 0:迭代次數(shù)已經(jīng)達到最大,表示不能再繼續(xù)尋找最優(yōu)解迭代次數(shù)已經(jīng)達到最大,表示不能再繼續(xù)尋找最優(yōu)解x x-2-2:可行解沒有找到可行解沒有找到-3: -3: 問題沒有定義邊界問題沒有定義邊界-4: -4: NaNNaN的存在導(dǎo)致算法沒法進行的存在導(dǎo)致算法沒法進行-5: -5: 原始對偶問題沒有可行

12、解原始對偶問題沒有可行解-7: -7: 算法搜索方向存在問題算法搜索方向存在問題輸出宗量輸出宗量exitflagexitflag:exitflagexitflag00:表示優(yōu)化失?。罕硎緝?yōu)化失敗基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例輸出宗量的輸出宗量的outputoutput: algorithmalgorithm:采用的算法采用的算法cgiterationscgiterations:設(shè)置變化梯度矩陣迭代次數(shù)設(shè)置變化梯度矩陣迭代次數(shù) (只用于大型優(yōu)化算法)(只用于大型優(yōu)化算法) iterationsiterations:迭代次數(shù)迭代次數(shù) messagemessage:退出的信息退出的

13、信息, 0,(,optionsxUBLBbeqAeqbAclinproglamdaoutputexitflagfvalx lowerlower:lagrangelagrange乘子的下限乘子的下限 upperupper: lagrangelagrange乘子的上限乘子的上限ineqlinineqlin:線性不等式線性不等式 eqlineqlin: : 線性等式線性等式輸出宗量的輸出宗量的lambda lambda (最優(yōu)解(最優(yōu)解x x處的處的LagrangeLagrange乘子):乘子):基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例 輸入宗量輸入宗量optionsoptions: lar

14、gescalelargescale:是否用大型優(yōu)化算法。是否用大型優(yōu)化算法。 LagreScaleLagreScale,MediumScaleMediumScale,SimplexSimplex:linproglinprog輸入了輸入了x x0 0,即默認是用即默認是用MediumScaleMediumScale,如果用,如果用LargeScaleLargeScale和和SimplexSimplex則不需要輸入初始點。則不需要輸入初始點。diagnosyicsdiagnosyics:打印優(yōu)化的診斷報告。打印優(yōu)化的診斷報告。 displaydisplay:顯示水平顯示水平. .取值為取值為off

15、off時時, ,不顯示輸出不顯示輸出; ; 取取值為值為iteriter時時, ,顯示每次迭代的信息顯示每次迭代的信息; ;取值為取值為finalfinal時時, ,顯示最終結(jié)果顯示最終結(jié)果. .默認值為默認值為final.final. maxiter maxiter: : 允許迭代的最大次數(shù)允許迭代的最大次數(shù) simplexsimplex:使用單純形算法使用單純形算法 tolfuntolfun: : 允許誤差允許誤差, 0,(,optionsxUBLBbeqAeqbAclinproglamdaoutputexitflagfvalx基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例輸入宗量的輸入

16、宗量的optionsoptions的設(shè)置:的設(shè)置: (1)options=optimset(optimfun(1)options=optimset(optimfun) 創(chuàng)建一個含有所有參數(shù)名創(chuàng)建一個含有所有參數(shù)名, ,并與優(yōu)化函數(shù)并與優(yōu)化函數(shù)optimfunoptimfun相關(guān)的相關(guān)的默認值的選項結(jié)構(gòu)默認值的選項結(jié)構(gòu)options.options.(2)options=optimset(param1,value1,param2,valu(2)options=optimset(param1,value1,param2,value2,.)e2,.) 創(chuàng)建一個名稱為創(chuàng)建一個名稱為optionsopt

17、ions的優(yōu)化選項參數(shù)的優(yōu)化選項參數(shù), ,其中指定的參數(shù)其中指定的參數(shù)具有指定值具有指定值, ,所有未指定的參數(shù)取默認值所有未指定的參數(shù)取默認值. .例:例:opts=optimset(Display,iter,TolFun,1e-8)opts=optimset(Display,iter,TolFun,1e-8) 該語句創(chuàng)建一個稱為該語句創(chuàng)建一個稱為optsopts的優(yōu)化選項結(jié)構(gòu)的優(yōu)化選項結(jié)構(gòu), ,其中顯示參數(shù)設(shè)其中顯示參數(shù)設(shè)為為iter, TolFuniter, TolFun參數(shù)設(shè)為參數(shù)設(shè)為1e-8.1e-8.基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例題目:求下列函數(shù)的最小值題目:求下

18、列函數(shù)的最小值基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例f=-2;-1;1;A=1 4 -1;2 -2 1;b=4;12;Aeq=1 1 2;beq=6;lb=zeros(3,1);x0=0;0;0;options=optimset(LargeScale,on,Display,iter,TolFun,1e-3);%maxiter,3x,fval,exitflag,output,lambda=linprog(f,A,b,Aeq,beq,lb,x0,options)lambda.lower基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例1.21.2、無約束非線性優(yōu)化、無約束非線性優(yōu)化 min

19、 f(x)2)fminunc函數(shù)函數(shù):用于求解單變量及多變量函數(shù)的最?。河糜谇蠼鈫巫兞考岸嘧兞亢瘮?shù)的最小 值,值,fminunc函數(shù)是基于梯度的最優(yōu)化算法。函數(shù)是基于梯度的最優(yōu)化算法。函數(shù)要求目標(biāo)函數(shù)必須連續(xù)。函數(shù)要求目標(biāo)函數(shù)必須連續(xù)。函數(shù)有可能得到函數(shù)有可能得到局部最優(yōu)解。局部最優(yōu)解。x,fval,exitflag,output,lambda,grad,hessian =fminunc(fun,X0,options )1)fminsearch函數(shù)函數(shù):函數(shù)用于求解:函數(shù)用于求解多變量多變量函數(shù)的極小值,函數(shù)的極小值,而而fminsearch是根據(jù)是根據(jù)Nelder算法而編寫的算法而編寫的.

20、函數(shù)有可能只找到局部最優(yōu)解。函數(shù)有可能只找到局部最優(yōu)解。x,fval,exitflag,output=fminsearch(fun,X0,options )基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例fminunc函數(shù)函數(shù)的說明的說明函數(shù)為無約束優(yōu)化提供了大、中型優(yōu)化算法。函數(shù)為無約束優(yōu)化提供了大、中型優(yōu)化算法。 options中中LargeScale控制。控制。函數(shù)的中型算法里面有函數(shù)的中型算法里面有4種算法。種算法。 options中中HessUpdate控制控制函數(shù)的中型算法步長一維搜索,有兩種算法。函數(shù)的中型算法步長一維搜索,有兩種算法。LineSearchType控制。控制。函函

21、 數(shù)數(shù)描描 述述LargeScale=on使用大型算法使用大型算法LargeScale=off (默認值默認值)使用中型算法使用中型算法HessUpdate=bfgs (默認值)(默認值)擬牛頓法的擬牛頓法的BFGS公式公式HessUpdate=dfp擬牛頓法的擬牛頓法的DFP公式公式HessUpdate=steepdesc最速下降法最速下降法LineSearchType=quadcubic(缺省缺省)混合的二次和三次多項式插值混合的二次和三次多項式插值LineSearchType=cubicpoly三次多項式插值三次多項式插值基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例例例3:求解彈簧穩(wěn)

22、定問題:求解彈簧穩(wěn)定問題運行結(jié)果運行結(jié)果x=8.425,3.6331 , f=PE=-35.30507基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例運行結(jié)果運行結(jié)果x=8.425,3.6331 , f=PE=-35.30507,與圖形所與圖形所示的近似值相比,是一致的。示的近似值相比,是一致的?;诨贛atlab的機械優(yōu)化實例的機械優(yōu)化實例2.1.1、單目標(biāo)單變量約束優(yōu)化、單目標(biāo)單變量約束優(yōu)化 例例4 4 工廠的管道費用問題工廠的管道費用問題 若設(shè)計一化工廠,管道費用(包括配件及抽灌費用)是需若設(shè)計一化工廠,管道費用(包括配件及抽灌費用)是需要考慮的一項重要指標(biāo)。假設(shè)設(shè)計一條要考慮的一項重

23、要指標(biāo)。假設(shè)設(shè)計一條L L英尺長的管道,抽灌英尺長的管道,抽灌量為量為Q Q g/mg/m,目標(biāo)是求出管道直徑,目標(biāo)是求出管道直徑D D(單位(單位inin),使其年度抽灌),使其年度抽灌費用最低。費用最低。 考慮采用標(biāo)準的碳鋼泵,其年度抽灌費用可表示為:考慮采用標(biāo)準的碳鋼泵,其年度抽灌費用可表示為:0.50.9251.50.450.24532561.6102f DLLDhphp其中,其中,32.688954.684.4 101.92 10LQLQhpDD 管長和液體輸送速度為常數(shù),分別為管長和液體輸送速度為常數(shù),分別為10001000英尺和英尺和20g/m20g/m時,時,求管道直徑為多少才

24、使其費用最低。求管道直徑為多少才使其費用最低。 625. 0D管道直徑的變化范圍要求:管道直徑的變化范圍要求:基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例 單變量約束優(yōu)化是對分布于固定區(qū)間上的單變量目單變量約束優(yōu)化是對分布于固定區(qū)間上的單變量目標(biāo)函數(shù)求最優(yōu)解的一種方法。標(biāo)函數(shù)求最優(yōu)解的一種方法。21a s.t. )(minaxxfxMatlabMatlab命令為命令為,.)2, 1, 2, 1,(min,ppoptionsaaonUserFunctibndffxoptxoptf(X)的最優(yōu)解)的最優(yōu)解X的最優(yōu)值的最優(yōu)值目標(biāo)函數(shù)的函數(shù)文件名目標(biāo)函數(shù)的函數(shù)文件名為由為由optimset中定義的

25、參數(shù)賦值中定義的參數(shù)賦值傳遞到傳遞到UserFunction的參數(shù)的參數(shù)執(zhí)行結(jié)果為執(zhí)行結(jié)果為D=1.117in,fD=f(D)=1003$/年。年。 基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例例例5:求解:求解),(1minxx基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例2.1.2多變量約束優(yōu)化多變量約束優(yōu)化例例6 6 齒輪減速箱如圖所示,由兩個齒輪組成齒輪組,其齒輪減速箱如圖所示,由兩個齒輪組成齒輪組,其中一個為主齒輪,另一個為副齒輪。要求設(shè)計的齒中一個為主齒輪,另一個為副齒輪。要求設(shè)計的齒輪組兩輪子的體積及相關(guān)的軸體積均最小。該問題輪組兩輪子的體積及相關(guān)的軸體積均最小。該問題中有

26、以下七個設(shè)計變量:中有以下七個設(shè)計變量: x x1=1=齒寬齒寬 x x2=2=模數(shù)模數(shù) x x3=3=副齒輪的齒數(shù)副齒輪的齒數(shù) x x4=4=軸承軸承1 1兩端的距離兩端的距離 x x5=5=軸承軸承2 2兩端的距離兩端的距離 x x6=6=軸軸1 1的直徑的直徑 x x7=7=軸軸2 2的直徑的直徑 基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例其中每個變量的上下限值為:其中每個變量的上下限值為: 1234560.81725.05.5xxxxxxx基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例設(shè)計目標(biāo)為求所有軸總體積的最優(yōu)解,該

27、問題描述如下:設(shè)計目標(biāo)為求所有軸總體積的最優(yōu)解,該問題描述如下: 222212331673322674657min0.78543.333314.93343.09341.5087.4770.7854fx xxxxxxxxx xx x上式中所有變量單位為上式中所有變量單位為cm。其約束條件為其約束條件為: 1212311:027gx x x齒輪的彎曲應(yīng)力約束齒輪的彎曲應(yīng)力約束 22212311:0397.5gx x x齒輪的接觸應(yīng)力約束齒輪的接觸應(yīng)力約束 34342361:01.93xgx x x軸軸1的偏差約束的偏差約束 基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例35442371:1.93

28、xgx x x0 軸軸2的偏差約束的偏差約束 264536237451:16.9 10110000.1xgxx x軸軸1應(yīng)力約束應(yīng)力約束 265637237451:157.5 1085000.1xgxx x軸軸2應(yīng)力約束應(yīng)力約束 723:400gx x 間隔限制約束間隔限制約束 821:50gxx912:120gxx基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例1046:1.91.50gxx1157:1.91.10gxx軸規(guī)格約束軸規(guī)格約束 17gg811gg為非線性不等式約束條件,為非線性不等式約束條件,為線性不等式約束條件為線性不等式約束條件 由線性不等式約束條件可得:由線性不等式約束條

29、件可得: 150000011200000000101.500000101.1A001.91.9b基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例0eqeqeqAbC無線性等式約束條件,所以:無線性等式約束條件,所以: 1234560.81725.05.5xxxxxxx2.6,0.7,17,7.3,7.3,2.9,5 ,boundL3.6,0.8,28,8.3,8.3,3.9,5.5boundU基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例Fmincon用到的兩個函數(shù)定義如下:用到的兩個函數(shù)定義如下: 執(zhí)行結(jié)果為:執(zhí)行結(jié)果為: 1234

30、567,3.500,0.700,17.000,7.300,7.715,3.350,2.5872994.3x x x x x x xf及400. 77 .2815000. 5主程序主程序 基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例2.2、多目標(biāo)約束優(yōu)化、多目標(biāo)約束優(yōu)化 多目標(biāo)優(yōu)化一般是根據(jù)決策者的選擇從非劣點的解集中多目標(biāo)優(yōu)化一般是根據(jù)決策者的選擇從非劣點的解集中確定。確定。Matlab用于解決多目標(biāo)優(yōu)化問題的函數(shù)有兩個:用于解決多目標(biāo)優(yōu)化問題的函數(shù)有兩個:fminimax和和fgoalattain. boundboundeqeqeqmxUxLxCxCbxAbAxtsfff0)(0)(:

31、. .,min, 2, 1,.)2, 1, , 0,(fminimax,ppoptionstrNonLinConsUBndLBndbAbAxonUserFunctifxoptxopteqeq函數(shù),按照規(guī)定順序定義了函數(shù),按照規(guī)定順序定義了一組非線性約束條件一組非線性約束條件傳遞給傳遞給UserFunction和和NonLinConstr的附加參數(shù)的附加參數(shù),.)2, 1,(trNonLinCons,ppxCCeq基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例boundboundeqeqeqiiiUxLxCxCbxAbAxgoalxfts0)(0)(m1,.,i )()(: . .max,.)

32、2, 1, , 0,(nfgoalattaippoptionstrNonLinConsUBndLBndbAbAWeightGoalxonUserFunctixeqeq這是一種正好達到目標(biāo)值的算法這是一種正好達到目標(biāo)值的算法 這是一個可正可這是一個可正可負的標(biāo)量變量負的標(biāo)量變量第第i個目標(biāo)函數(shù)的個目標(biāo)函數(shù)的加權(quán)系數(shù)加權(quán)系數(shù)第第i個目標(biāo)函數(shù)的個目標(biāo)函數(shù)的目標(biāo)目標(biāo)基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例例例7 振動臺振動臺 在圖中所示的系統(tǒng)中,安裝有在圖中所示的系統(tǒng)中,安裝有發(fā)動機的一梁型平臺由三層材料發(fā)動機的一梁型平臺由三層材料構(gòu)成,假定梁兩端有簡單的支撐構(gòu)成,假定梁兩端有簡單的支撐物,由

33、發(fā)動機引起的振動能夠傳物,由發(fā)動機引起的振動能夠傳遞給梁。遞給梁。 由多層材料構(gòu)成的簡單支撐振動臺由多層材料構(gòu)成的簡單支撐振動臺該系統(tǒng)的設(shè)計目標(biāo)為:該系統(tǒng)的設(shè)計目標(biāo)為: 1對梁的基本自然頻率的負值求極小值,用對梁的基本自然頻率的負值求極小值,用f1表示。表示。 2對梁所用材料的費用求極小值,用對梁所用材料的費用求極小值,用f2表示。表示。約束條件包括:梁約束條件包括:梁g1的質(zhì)量上限,第二層梁的質(zhì)量上限,第二層梁g2和第三層梁和第三層梁g3厚厚度的上限,還有設(shè)計變量的上下限。度的上限,還有設(shè)計變量的上下限。五個設(shè)計變量為梁的長度五個設(shè)計變量為梁的長度L,寬度,寬度b,到第一層,到第一層d1和第

34、二層和第二層d2接接觸面到梁的中心軸距離,以及到梁頂?shù)木嚯x觸面到梁的中心軸距離,以及到梁頂?shù)木嚯xd3?;诨贛atlab的機械優(yōu)化實例的機械優(yōu)化實例約束條件約束條件 1:28000gL梁的質(zhì)量梁的質(zhì)量 221:0.150gdd層厚層厚 332:0.010gdd層厚層厚 1230.050.536dddbL21123212311221332min, ,/2/min,2fd dd b LLEIfd dd bb c dcddcdd 其中其中 3333311221332112213322 /32EIbE dEddEddbddddd問題描述為:問題描述為:基于基于M

35、atlab的機械優(yōu)化實例的機械優(yōu)化實例下表列出了三層材料中每層的質(zhì)量密度下表列出了三層材料中每層的質(zhì)量密度,彈性模量,彈性模量E及及單位體積單位體積c的費用。的費用。80020010977803150070109277025001.61091001ci($體積體積)Ei(N/m2)(kg/m3)層層ii由此看出由此看出g1為非線性不等式約束,為非線性不等式約束,g2和和g3為線性不等式約束,為線性不等式約束,因此:因此: 1100001100A0.150.01b因為沒有線性和非線性等式約束,所以因為沒有線性和非線性等式約束,所以 0eqeqeqCAb1:28000gL221:0.150gdd3

36、32:0.010gdd基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例為保持與計算函數(shù)有相同的數(shù)量級,設(shè)計目標(biāo)換算為下式:為保持與計算函數(shù)有相同的數(shù)量級,設(shè)計目標(biāo)換算為下式: _rawgoodscaledvaluebadgood 式中式中rawraw指函數(shù)實際值(換算前),指函數(shù)實際值(換算前),goodgood指函數(shù)的理想值,指函數(shù)的理想值,badbad指非理想值。從上式可看出,當(dāng)指非理想值。從上式可看出,當(dāng)rawraw與與goodgood相等時,相等時,scaled_valuescaled_value=0=0;當(dāng);當(dāng)rawraw與與badbad相等時,相等時,scaled_valuesca

37、led_value=1=1。下。下面創(chuàng)建三個函數(shù),其中第一個函數(shù)用于計算面創(chuàng)建三個函數(shù),其中第一個函數(shù)用于計算EIEI和和,并為后并為后兩個函數(shù)所用。兩個函數(shù)所用。基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例原書中缺少一個括號原書中缺少一個括號基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例程序執(zhí)行結(jié)果為圖所示的邊界線。程序執(zhí)行結(jié)果為圖所示的邊界線。PARETO帕累托最優(yōu)的定義:帕累托最優(yōu)的定義:帕累托最優(yōu)是指資源分配的一帕累托最優(yōu)是指資源分配的一種狀態(tài),在不使任何人境況變種狀態(tài),在不使任何人境況變壞的情況下,而不可能再使某壞的情況下,而不可能再使某些人的處境變好。些人的處境變好?;诨?/p>

38、Matlab的機械優(yōu)化實例的機械優(yōu)化實例 3 3、遺傳優(yōu)化方法、遺傳優(yōu)化方法GA的計算過程流程圖的計算過程流程圖遺傳算法的特點遺傳算法的特點GA是對問題參數(shù)的是對問題參數(shù)的編碼組編碼組進行計算,而不是針對進行計算,而不是針對參數(shù)參數(shù)本身。本身。GA的搜索是從問題解的的搜索是從問題解的編碼組編碼組開始搜素、而不是從開始搜素、而不是從單個解單個解開始。開始。GA使用目標(biāo)函數(shù)值(適應(yīng)度)這一信息進行搜索,而不需要使用目標(biāo)函數(shù)值(適應(yīng)度)這一信息進行搜索,而不需要導(dǎo)數(shù)導(dǎo)數(shù)等其他信息。等其他信息。GA算法使用的選擇、交叉、變異這三個算子都是算法使用的選擇、交叉、變異這三個算子都是隨機操作隨機操作,而不,

39、而不是是確定規(guī)則確定規(guī)則?;诨贛atlab的機械優(yōu)化實例的機械優(yōu)化實例查看查看MatlabMatlab是否安裝是否安裝GAGA工具箱:工具箱:1 1. .在命令窗口輸入在命令窗口輸入verver,回車;,回車; 工具箱里應(yīng)該有工具箱里應(yīng)該有“Genetic Algorithm Toolbox”Genetic Algorithm Toolbox”2 2. .如果沒有,將遺傳工具箱文件夾如果沒有,將遺傳工具箱文件夾“gatbxgatbx“拷入拷入 “ “D D:Program FilesMATLAB:Program FilesMATLABR2008bR2008btoolbox”toolbox”

40、目錄目錄下下; ;3 3. .在在MatlabMatlab菜單菜單“file”file”下點擊下點擊“set path”set path”,“add add folder”folder”或或“add with subfolders” add with subfolders” ,將剛才的目,將剛才的目錄添加進去,錄添加進去,“save” ,“close”save” ,“close”。4 4. .把路徑加進去后在把路徑加進去后在filePreferencesGeneralfilePreferencesGeneral的的Toolbox Path CachingToolbox Path Caching

41、里點擊里點擊update Toolbox Path update Toolbox Path CacheCache更新一下。更新一下。 基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例在在Matlab菜單菜單“file”下點擊下點擊“set path”,“add folder”或或“add with subfolders” ,將剛才的目錄添加進去,將剛才的目錄添加進去,“save” ,“close”基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例把路徑加進去后在把路徑加進去后在filePreferencesGeneral的的Toolbox Path Caching里點擊里點擊update Too

42、lbox Path Cache更新一下。更新一下?;诨贛atlab的機械優(yōu)化實例的機械優(yōu)化實例1)初始種群生成)初始種群生成CRTBP - Create an initial population This function creates a binary population of given size and structure Syntax: Chrom Lind BaseV = crtbp(Nind, Lind, Base) Input Parameters: Nind - the number of individuals in the new population Lind

43、- the length of the individual chromosomes. Base- the base of the chromosome elements Output Parameters: Chrom- A matrix containing the random valued chromosomes row wise. Lind - the length of the chromosome. BaseV- A row vector containing the base of the chromosome loci.需要函數(shù)列舉幾例:需要函數(shù)列舉幾例: 基于基于Matla

44、b的機械優(yōu)化實例的機械優(yōu)化實例2)交叉)交叉RECOMBIN This function performs recombination between pairs of individuals and returns the new individuals after mating. The function handles multiple populations and calls the low-level recombination function for the actual recombination process. NewChrom = recombin(REC_F, Old

45、Chrom, RecOpt, SUBPOP) Input parameters: REC_F - String containing the name of the recombination or crossover function Chrom - Matrix containing the chromosomes of the old population. Each line corresponds to one individual RecOpt - (optional) Scalar(標(biāo)量) containing the probability of recombination/

46、crossover occurring between pairs of individuals. if omitted or NaN, 1 is assumed SUBPOP - (optional) Number of subpopulations if omitted or NaN, 1 subpopulation is assumed Output parameter: NewChrom - Matrix containing the chromosomes of the population after recombination in the same format as OldC

47、hrom. 基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例3)變異)變異MUT. This function takes the representation of the current population, mutates each element with given probability and returns the resulting population. NewChrom = mut(OldChrom, Pm, BaseV) Input parameters: OldChrom - A matrix containing the chromosomes of the cu

48、rrent population. Each row corresponds to an individuals string representation. Pm - Mutation probability (scalar). Default value of Pm = 0.7/Lind, where Lind is the chromosome length is assumed if omitted. BaseV - Optional row vector of the same length as the chromosome structure defining the base

49、of the individual elements of the chromosome. Binary representation is assumed if omitted. Output parameter: NewChrom - A Matrix containing a mutated version of OldChrom. 基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例求求Shubert函數(shù)的最小值:函數(shù)的最小值:51512121) 1cos() 1cos(),(iiixiiixiixxf1010 ,101021xx繪制函數(shù)圖像:繪制函數(shù)圖像: x1,x2=meshgrid(

50、-10:.1:10);figure(1);mesh(x1,x2,Shubert(x1,x2); %畫出畫出Shubert函數(shù)圖像函數(shù)圖像function z=Shubert(x,y) %Shubert函數(shù)函數(shù)z=(1*cos(1+1)*x+1)+(2*cos(2+1)*x+2)+(3*cos(3+1)*x+3)+. (4*cos(4+1)*x+4)+(5*cos(5+1)*x+5).*(1*cos(1+1)*y+1)+. (2*cos(2+1)*y+2)+(3*cos(3+1)*y+3)+(4*cos(4+1)*y+4)+. (5*cos(5+1)*y+5);主程序:主程序: 原書缺少點原書缺

51、少點“.”原書為大寫原書為大寫F,應(yīng)為小寫,應(yīng)為小寫f基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例Shubert函數(shù)圖像:函數(shù)圖像: 函數(shù)在函數(shù)在 之間,函數(shù)最小值在之間,函數(shù)最小值在-150 1010 ,101021xx至至-200之間,最優(yōu)解之間,最優(yōu)解x1,x2 不定。不定。 基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例遺傳法尋優(yōu)的主程序:遺傳法尋優(yōu)的主程序: 交叉概率交叉概率定義設(shè)計變量的范圍定義設(shè)計變量的范圍基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例原書為原書為“,”,應(yīng)為,應(yīng)為“=”基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例 經(jīng)過經(jīng)過40次迭代后,目標(biāo)函數(shù)值如圖

52、所示。注意每次行次迭代后,目標(biāo)函數(shù)值如圖所示。注意每次行該圖都不一樣,因為初值、選擇、重組、變異均為隨機該圖都不一樣,因為初值、選擇、重組、變異均為隨機過程。過程。 目標(biāo)函數(shù)值趨于目標(biāo)函數(shù)值趨于-180-190之間。之間。 迭代次數(shù)迭代次數(shù) 目目標(biāo)標(biāo)函函數(shù)數(shù)值值 基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例 經(jīng)過經(jīng)過50次迭代后,種群目標(biāo)函數(shù)均值的變化和最優(yōu)解次迭代后,種群目標(biāo)函數(shù)均值的變化和最優(yōu)解的變化如圖所示。的變化如圖所示?;诨贛atlab的機械優(yōu)化實例的機械優(yōu)化實例發(fā)表在發(fā)表在Finite Elements in Analysis and Design上的有關(guān)上的有關(guān)優(yōu)化的優(yōu)化

53、的1篇論文。篇論文?;诨贛atlab的機械優(yōu)化實例的機械優(yōu)化實例AbstractThis paper presents the generalized FrostDugdale law together with a genetic algorithm in a numerical study of a 7050-T7451 aluminum structure. The design objective is the fatigue life of the structure. Genetic algorithms have rapidly become popular due to t

54、heir robustness (穩(wěn)健性穩(wěn)健性), and the balance that can be achieved between efficiency and effectiveness. However, they have yet to be used in a three-dimensional structural fatigue based optimization study involving crack growth from Region I. Therefore, a genetic algorithm was developed for use in stru

55、ctural finite element optimization problems. The proposed structural optimization procedure integrates (集成集成) geometrical modeling, structural analysis and optimization into one complete and automated computer-aided design process. This study focuses on a simple benchmark(基準基準) structure, which was

56、termed a through-hole in a rectangular block under biaxial (二軸的二軸的) loading. In this case, it was discovered that the genetic algorithm results resembled(相似相似) the optimal solutions of other optimization algorithms and thus provides an accurate optimized solution. As a result, this paper illustrates

57、 a procedure for the design of light weight structures using fatigue based optimization in conjunction(關(guān)聯(lián))(關(guān)聯(lián)) with a genetic algorithm. This procedure has the potential to be applied to structures with complex structural configurations. 基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例1. Introduction 2. Crack growth models

58、 2.1. Paris law 2.2. Generalised FrostDugdale law 3. Optimisation procedures 4. Genetic algorithm 5. Genetic algorithm operators 5.1. Reproduction 5.1.1. Stochastic(隨機隨機) sampling (deterministic sampling) 5.1.2. Stochastic sampling with replacement (roulette(輪盤輪盤) wheel parent selection) 5.1.3. Rema

59、inder stochastic sampling 5.2. Crossover(交叉交叉) 5.3. Mutation (變異)(變異)6. Similarity templates (模板理論)(模板理論)(schemata) 7. Additional function implemented 7.1. Elitism(精英保留理論)(精英保留理論) 8. Numerical analysis 8.1. Results from multi parameter stress optimisation 8.2. Results from fatigue optimisation 8.2.1

60、. Short crack category 8.2.2. Large crack category 9. Conclusion Acknowledgements 42 References15 pages 基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例2.1. Paris law 2.2. Generalised FrostDugdale law 基于基于Matlab的機械優(yōu)化實例的機械優(yōu)化實例模板理論:模板理論: 從一種結(jié)構(gòu)的角度說明遺傳算法的收斂性,這種結(jié)構(gòu)從一種結(jié)構(gòu)的角度說明遺傳算法的收斂性,這種結(jié)構(gòu)在此被成為模板(在此被成為模板(schema)。)。 在遺傳算法的進化過程中,含有這

溫馨提示

  • 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

提交評論