機(jī)械優(yōu)化設(shè)計(jì)研究生大作業(yè).doc_第1頁
機(jī)械優(yōu)化設(shè)計(jì)研究生大作業(yè).doc_第2頁
機(jī)械優(yōu)化設(shè)計(jì)研究生大作業(yè).doc_第3頁
機(jī)械優(yōu)化設(shè)計(jì)研究生大作業(yè).doc_第4頁
機(jī)械優(yōu)化設(shè)計(jì)研究生大作業(yè).doc_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第一題1.1 題目求函數(shù)f(X)=x14-2x12x2-2x1x2+3x12+4x22+4.5x1-4x2+5的極小值,初始點(diǎn)為X(0)=-2,2T,誤差不大于0.001。注:此問題為無約束非線性規(guī)劃問題的求解。1.2 建立數(shù)學(xué)模型 Find x1 , x2 min f(X)=x14-2x12x2-2x1x2+3x12+4x22+4.5x1-4x2+5 初始點(diǎn) X(0)=-2,2T, 0.0011.3 運(yùn)行結(jié)果迭代值 迭代次數(shù)x1x2f1-0.50000000000000-0.583333333333338.333333333333332-0.566062176165800.370682210708123.004578340922933-0.652874320923100.398982834197582.978571588054454-0.650848939158930.401358609903932.978497143755115-0.650839107315690.401356625245232.97849714338108 通過牛頓法迭代5次可得出結(jié)果,當(dāng)x1=-0.65083910731569,x2=0.40135662524523時,目標(biāo)函數(shù)最優(yōu)值fmin=2.97849714338108,且滿足。1.4 迭代曲線1.5 檢驗(yàn)結(jié)果 用Matlab自帶優(yōu)化程序檢驗(yàn) 程序?yàn)椋?x0=-2,2;x,fval=fminsearch(x(1)4-5*x(1)2*x(2)-2*x(1)*x(2)+4*x(1)2+6*x(2)2+4.5*x(1)-4*x(2)+5,x0)x =-0.65086658687466 0.40137142333985fval =2.97849714628600 經(jīng)檢驗(yàn)用牛頓法進(jìn)行迭代優(yōu)化結(jié)果是正確的,優(yōu)化結(jié)果達(dá)到精度要求,0.001。1.6 討論(1)由以上迭代曲線可知,牛頓法迭代收斂速度很快,本優(yōu)化經(jīng)過迭代3次后目標(biāo)函數(shù)值趨于平穩(wěn)。也可采用黃金分割法,變尺度法等其他方法優(yōu)化。由于本題比較簡單,不必采用變尺度法來優(yōu)化。(2)采用Matlab編程解決了求導(dǎo)和計(jì)算海森陣比較復(fù)雜的難題,編程簡單方便。1.7 Matlab源程序 function ZY32 format long syms x1 x2 %定義符號變量x1,x2 f=x14-2*x12*x2-5*x1*x2+6*x12+7*x22+4.5*x1-4*x2+5 %定義函數(shù)f df=diff(f,x1);diff(f,x2) %diff(f,x1)用于對函數(shù)f中變量x1求偏導(dǎo) %diff(f,x2)用于對函數(shù)f中變量x2求偏導(dǎo) f1=diff(f,x1,2); %diff(f,x1,2)用于對函數(shù)f中變量x1求而二次偏導(dǎo) f2=diff(diff(f,x1),x2); %diff(diff(f,x1),x2)用于對函數(shù)f中變量下x1,x2求偏導(dǎo) f3=diff(diff(f,x2),x1); f4=diff(f,x2,2); %diff(f,x2,2)用于對函數(shù)f中變量x2求而二次偏導(dǎo) ddf=f1,f2;f3,f4; %求函數(shù)f的海森陣 x1=-2;x2=2; td=eval(df); %計(jì)算梯度初值 hs=eval(ddf); %計(jì)算海森陣初值 %eval命令用于將符號變量轉(zhuǎn)化為數(shù)值變量 i=0; eps=0.1 while eps0.01; i=i+1; eps=sqrt(td(1).2+td(2).2); %求梯度的模 x=x1;x2-inv(hs)*td; %記錄自變量迭代值 x1=x(1); x2=x(2); xx(i,:)=x; %記錄迭代過程中間值 td=eval(df); hs=eval(ddf); last(i)=eval(f); %記錄迭代過程中間值 end disp(迭代次數(shù)); i xx=xx fmin=last figure(1) plot(fmin); % 畫目標(biāo)函數(shù)變化圖 grid on; hold on; xlabel(迭代次數(shù)); ylabel(f(x); title(f(x)函數(shù)迭代值); figure(2) plot(xx(:,1); grid on; xlabel(迭代次數(shù)); ylabel(x1迭代值); title(x1變化圖); figure(3) plot(xx(:,2); grid on; xlabel(迭代次數(shù)); ylabel(x2迭代值);title(x2變化圖);第二題2.1 數(shù)學(xué)模型 Find x1 , x2 min f (X)=2x12+2x22-4x1-6x2 s.t. g1(X)=x1+5x2-50g2(X)=2x12-x20g3(X)=-x10g4(X)=-x20 初始點(diǎn)X(0)=0,0.75T, =0.0012.2 優(yōu)化方法 此問題可規(guī)結(jié)為強(qiáng)約束問題,此題用罰函數(shù)法對在求解強(qiáng)約束非線性優(yōu)化問題求解。用功能函數(shù)constr可以解決此類問題,本題中目標(biāo)函數(shù)是非線性的,約束是線性的。2.3 優(yōu)化結(jié)果最小目標(biāo)函數(shù)值f=-5.5039,自變量取值:X =0.6589, 0.8682T 驗(yàn)證優(yōu)化結(jié)果正確。2.4 Matlab 源程序 在command window 輸入question2,然后回車即行; Function questions2.m funf=f=x(1)2+4*x(2)2-7*x(1)-5*x(2) ; 定義目標(biāo)函數(shù) fung=g=x(1)+5*x(2)-5; 2*x(1)2-x(2); 定義約束條件 funi=funf fung; 組合矩陣 x0=0,0; %初值; options=1; 顯示過程 vlb=0 0; 下邊界x; vub= ; %無上邊界;x,options=constr(funi,x0,options,vlb,vub)2.5 計(jì)算結(jié)果 迭代次數(shù)目標(biāo)值f自變量x1自變量x1約束g1約束g2約束g3約束g411010-10-12-1.0000-0.00001.0000-1.0000e-008-1.00001.0000e-008-13-1.000001.0000-5.0000e-008-1.00000-1.00004-1050050-505-12.75002.50000.5000012-2.5000-0.50006-8.68751.25000.750002.3750-1.2500-0.75007-8.68751.25000.7500-1.0000e-0082.3750-1.2500-0.75008-8.68751.25000.7500-5.0000e-0082.3750-1.2500-0.75009-5.93650.71520.4511-2.02930.5720-0.7152-0.451110-5.51640.66090.867800.0059-0.6609-0.867811-5.51640.66090.86781.0000e-0080.0059-0.6609-0.867812-5.51640.66090.86785.0000e-0080.0059-0.6609-0.867813-5.50390.6589 0.868208.5830e-006-0.6589-0.868214-5.50390.6589 0.86821.0000e-0088.6094e-006-0.6589-0.868215-5.50390.6589 0.8682-5.0000e-0088.5930e-006-0.6589-0.868216-5.50390.6589 0.868201.8429e-011-0.6589-0.868217-5.50390.6589 0.86828.2958e-0072.1864e-006-0.6589-0.868218-5.50390.65890.86824.7634e-005-9.5269e-006-0.6589-0.868219-5.50390.65890.8682-8.8818e-016-1.1102e-016-0.6589-0.868220-5.49050.65650.8682-0.0024-0.0062-0.6565-0.868221-5.50440.65890.8680-0.00132.6130e-004-0.6589-0.868022-5.50390.65890.8682-1.0000e-0040.0000-0.6589-0.86822.6 迭代曲線2.7 討論 (1)利用Matlab優(yōu)化工具箱里邊的功能函數(shù)condtr來優(yōu)化求解目標(biāo)函數(shù)f,能很快實(shí)現(xiàn)優(yōu)化,達(dá)到目標(biāo),方便快捷。(2)由圖可見迭代五次達(dá)到最低端,10次后趨于平穩(wěn)。(3)優(yōu)化結(jié)果滿足精度要求0.001。(4)可見Matlab很容易對目標(biāo)實(shí)現(xiàn)優(yōu)化,對編程人員要求不高。只要知道如何使用命令。第三題3.1 題目平面鉸鏈四連桿機(jī)構(gòu),各桿長度為,。已知;主動桿輸入角為,從動桿的輸出角為;搖桿在右極位時,桿1、桿2伸直,主動桿在初始位置,從動桿在初始位置。試設(shè)計(jì)四連桿機(jī)構(gòu)的各桿長度,使其輸出角在曲柄從轉(zhuǎn)到時,最佳再現(xiàn)給定函數(shù):,且要求最小傳動角不小于45,即45。3.2 數(shù)學(xué)模型3.2.1 確定設(shè)計(jì)變量機(jī)構(gòu)位置決定于4個桿長與主動桿轉(zhuǎn)角,再現(xiàn)角位移的機(jī)構(gòu)與桿件的絕對長度無關(guān),只決定于相對長度;轉(zhuǎn)角連續(xù)變化,故非設(shè)計(jì)變量。因此計(jì)算時取曲柄長度為單位長度,即=1;而其他的桿長按比例取為的倍數(shù),機(jī)架長,而初始角可以按下列幾何關(guān)系求得:故僅有、為獨(dú)立變量,是二維最優(yōu)化設(shè)計(jì)問題,設(shè)其設(shè)計(jì)變量為:3.2.2 確定目標(biāo)函數(shù) 此再現(xiàn)運(yùn)動的機(jī)械運(yùn)動優(yōu)化中,目標(biāo)函數(shù)為機(jī)構(gòu)實(shí)際運(yùn)動軌跡與預(yù)定運(yùn)動軌跡均方根最小,位置取若干離散點(diǎn),即 本題則取目標(biāo)函數(shù)為: P取30,則,式中期望輸出角的離散值為: 實(shí)際輸出角的計(jì)算公式為: 由三角關(guān)系式得: 3.2.3 確定約束條件 根據(jù)對傳動角的約束要求及曲柄與機(jī)架處于共線位置時和機(jī)構(gòu)的尺寸的關(guān)系:以及;,得約束條件: 滿足曲柄存在條件,得約束條件: 取,進(jìn)一步分析可行域可知(兩橢圓方程)起約束作用,其他約束均在其外不起作用。3.2.4 數(shù)學(xué)模型 find 3.3 優(yōu)化方法 用Matlab自帶函數(shù)fmincon來優(yōu)化求解, 3.4 優(yōu)化結(jié)果 最小目標(biāo)函數(shù)值f=0.0133 自變量X* =4.4846 , 1.9224T 約束條件值g=0.0000, -4.3848T 優(yōu)化結(jié)果達(dá)到要求.3.5 Matlab程序由于某些符號在Matlab中無法表示,符號有如下變動,其中in0設(shè)為,in設(shè)為, out0設(shè)為,out設(shè)為,a設(shè)為,b設(shè)為,r設(shè)為,f設(shè)為所求函數(shù)。3.5.1 目標(biāo)函數(shù) 將程序命名為cpp3.mfunction f=cpp3(x)L1=1;L4=5; %定義桿1,4長度L2=x(1);L3=x(2); %定義桿2,3為變量format long;%初始輸入角inp=acos(L1+L2).2+(L4.2-L3.2)/(2*(L1+L2)*L4); %初始輸出角outp=acos(L1+L2).2-(L4.2+L3.2)/(2*L3*L4); pianc=0; %給定初值。for i=1:30 ini=sym(inp+i*pi/60); %在不同位置的輸入角outi=sym(outp+2*(ini-inp).2/(3*pi); %輸出角ri=sym(sqrt(26-10*cos(eval(ini); %符號值ai=sym(acos(eval(ri).2+x(2).2-x(1).2)/(2*eval(ri)*x(2);bi=sym(acos(eval(ri).2+24)/(10*(eval(ri);Ai=eval(ai); %將符號轉(zhuǎn)換成為數(shù)值Bi=eval(bi);NIi=eval(ini);TUOi=eval(outi);if 0NIi=pireali=pi-Ai-Bi;elseif piNIi=2*pirli=pi-Ai+Bi;else disp(超出范圍)endpianchai=(rli-TUOi).2; %計(jì)算偏差pinc=pianchai+pinc;endpinc %用于顯示優(yōu)化過程中的目標(biāo)函數(shù)值 %定義約束條件g1,g2;3.5.2 約束函數(shù)值 function g,z=yueshu3(x)g=36-x(1).2-x(2).2-1.4142*x(1)*x(2); x(1).2+x(2).2-16-1.4142*x(1)*x(2) z=;x %輸出自變量值;3.5.3 求解目標(biāo)函數(shù) 命名文件CPP33.m. x=5 3 ; % x為初始值 options = optimset (LargeScale , off); x ,f =fmincon ( cpp3, x , , , , , , yueshu3, options) 在command window中輸入cpp33.m, 回車即可。3.6 計(jì)算結(jié)果迭代次數(shù)目標(biāo)值自變量x1自變量x2約束值g1約束值g210.313253-19.2130-3.213020.16305.09722.6247-15.7902-2.049530.73845.04721.4130-1.55631.384940.02115.07222.0188-8.2842-0.678550.02045.01762.0210-7.60101.080460.01734.78731.9538-3.9638-2.492070.01474.52841.8818-0.0986-4.003480.01404.51091.8922-0.0002-4.142390.01404.51091.8922-0.0001-4.1423100.014

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論