《優(yōu)化設(shè)計 有約束優(yōu)化 無約束優(yōu)化》由會員分享,可在線閱讀,更多相關(guān)《優(yōu)化設(shè)計 有約束優(yōu)化 無約束優(yōu)化(10頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、word
目錄
1.多維有約束優(yōu)化- 3 -
1.1 題目- 3 -
1.2 條件- 3 -
1.3 建立優(yōu)化模型- 3 -
問題分析與設(shè)計變量確實定- 3 -
目標(biāo)函數(shù)確實定- 4 -
1.3.3 約束條件的建立- 4 -
1.4 優(yōu)化方法的選擇- 5 -
1.5 數(shù)學(xué)模型的求解- 5 -
1.5.1 確定數(shù)學(xué)優(yōu)化模型- 5 -
運用Matlab優(yōu)化工具箱對數(shù)學(xué)模型求解- 6 -
最優(yōu)解以與結(jié)果分析- 7 -
2.多維無約束優(yōu)化- 8 -
2.1 題目- 8 -
2.2 確定優(yōu)化設(shè)計模型- 8 -
運用Matlab優(yōu)化工具箱對數(shù)學(xué)模型求解- 9 -
2
2、.3.1 編寫目標(biāo)函數(shù)- 9 -
2.3.2 繪制該函數(shù)的平面和空間等值線- 9 -
利用matlab工具箱fminunc函數(shù)對該模型進展求解- 11 -
求解結(jié)果- 11 -
1.1 題目
對一對單級圓柱齒輪減速器,以體積最小為目標(biāo)進展多維有約束優(yōu)化設(shè)計。
1.2 條件
數(shù)輸入功p=58kw,輸入轉(zhuǎn)速n1=1000r/min,齒數(shù)比u=5,齒輪的許用應(yīng)力[]H=550Mpa,許用彎曲應(yīng)力[]F=400Mpa。
1.3 建立優(yōu)化模型
問題分析與設(shè)計變量確實定
由條件得求在滿足零件剛度和強度條件下,使減速器體積最小的各項設(shè)計參數(shù)。由于齒輪和軸的尺寸〔即殼體
3、的零件〕是決定減速器體積的依據(jù),故可按它們的體積之和最小的原如此建立目標(biāo)函數(shù)。
單機圓柱齒輪減速器的齒輪和軸的體積可近似的表示為:
式中符號意義由結(jié)構(gòu)圖給出,其計算公式為
由上式知,齒數(shù)比給定之后,體積取決于b、z1 、m、l、dz1 和dz2 六個參數(shù),如此設(shè)計變量可取為
目標(biāo)函數(shù)確實定
根據(jù)以上分析,可知,該齒輪減速器以體積最小的目標(biāo)函數(shù)為:
約束條件的建立
(1)為防止發(fā)生根切,應(yīng)有,得
(2)齒寬應(yīng)滿足,和為齒寬系數(shù)的最大值和最小值,一般取=0.9,=1.4,得:
(3)動力傳遞的齒輪模數(shù)應(yīng)大于2mm,得
(4)為了限制大齒輪的直徑不至
4、過大,小齒輪的直徑不能大于,得
(5)齒輪軸直徑的圍:得
(6)軸的支撐距離按結(jié)構(gòu)關(guān)系,應(yīng)滿足條件:〔可取=20〕,得
(7)齒輪的接觸應(yīng)力和彎曲應(yīng)力應(yīng)不大于許用值,得
(8)齒輪軸的最大撓度不大于許用值,得
(9)齒輪軸的彎曲應(yīng)力不大于許用值,得
1.4 優(yōu)化方法的選擇
由于該問題有6個設(shè)計變量,16個約束條件的優(yōu)化設(shè)計問題,采用傳統(tǒng)的優(yōu)化設(shè)計方法比擬繁瑣,比擬復(fù)雜,所以選用Matlab優(yōu)化工具箱中的fmincon函數(shù)來求解此非線性優(yōu)化問題,防止了較為繁重的計算過程。
1.5 數(shù)學(xué)模型的求解
確定數(shù)學(xué)優(yōu)化模型
將與數(shù)據(jù)代入上式,該優(yōu)化設(shè)計的數(shù)學(xué)優(yōu)
5、化模型表示為:
〔1〕求變量:
〔2〕目標(biāo)函數(shù):
〔3〕約束條件:
運用Matlab優(yōu)化工具箱對數(shù)學(xué)模型求解
〔1〕首先在Matlab優(yōu)化工具箱中編寫目標(biāo)函數(shù)的M文件 myfun.m,返回x處的函數(shù)值f:
function f = myfun(x)
f=0.785398*(4.75*x(1)*x(2)^2*x(3)^2+85*x(1)*x(2)*x(3)^2-85*x(1)*x(3)^2+0.92*x(1)*x(6)^2-x(1)*x(5)^2+0.8*x(1)*x(2)*x(3)*x(6)-1.6*x(1)*x(3)*x(6)+x(4)*x(5)^2+x(4
6、)*x(6)^2+28*x(5)^2+32*x(6)^2)
〔2〕由于約束條件中有非線性約束,故需要編寫一個描述非線性約束條件的M文件mycon.m:
function[c,ceq]=myobj(x)
c=[17-x(2);0.9-x(1)/(x(2)*x(3));x(1)/(x(2)*x(3))-1.4;2-x(3);x(2)*x(3)-300;100-x(5);x(5)-150;130-x(6);x(6)-200;x(1)+0.5*x(6)-x(4)-40;1486250/(x(2)*x(3)*sqrt(x(1)))-550; 7098/(x(1)*x(2)*x(3)^2*(0.16
7、9+0.006666*x(2)-0.0000854*x(2)^2))-400;7098/(x(1)*x(2)*x(3)^2*(0.2824+0.00177*x(2)-0.0000394*x(2)^2))-400;117.04*x(4)^4/(x(2)*x(3)*x(5)^4)-0.003*x(4);(1/(x(5)^3))*sqrt((2850000*x(4)/(x(2)*x(3)))^2+2.4*10^12)-5.5;(1/(x(6)^3))*sqrt((2850000*x(4)/(x(2)*x(3)))^2+6*10^13)-5.5];
ceq=[];
〔3〕最后求解,調(diào)用目標(biāo)函數(shù)和約
8、束條件,用matlab軟件中工具箱里的fmincon函數(shù),求解有約束的優(yōu)化,在mand window里輸入:
x0=[230;21;8;420;120;160];%給定初始值
[x,fval,exitflag,output]=fmincon(myfun,x0,[],[],[],[],[],[],myobj,output) %調(diào)用優(yōu)化過程
最優(yōu)解以與結(jié)果分析
運行結(jié)果如如下圖所示:
x =
fval =
2.3168e+007
exitflag =
-2
output =
iterations
9、: 43
funcCount: 563
lssteplength: 1
algorithm: 'medium-scale: SQP, Quasi-Newton, line-search'
firstorderopt: 1.9956e+007
message: [1x750 char]
故優(yōu)化后的最終結(jié)果為
x=[123.3565 99.8517 1.7561 147.3157 150.4904 129.5096]
f(x)=2.36e*107
由于齒輪模數(shù)應(yīng)為標(biāo)準(zhǔn)值
10、,齒數(shù)必須為整數(shù),其它參數(shù)也要進展圓整,所以最優(yōu)解不能直接采用,按設(shè)計規(guī),經(jīng)標(biāo)準(zhǔn)化和圓整后:
x=[124 100 2 148 150 130]
f(x)=6.16 *107
結(jié)果比照分析:
×107mm3×107mm3,優(yōu)化結(jié)果比初始值體積減少為:
Δ×107/×107)×100%=2.5%
所以優(yōu)化后的體積比未優(yōu)化前減少了2.5%,說明優(yōu)化結(jié)果相比照擬成功。
在機械設(shè)計問題中,難以防止生產(chǎn),加工,裝配,經(jīng)濟性等問題,故少有無約束優(yōu)化設(shè)計問題。在本次試驗中,針對一個管道流量問題的二維函數(shù),設(shè)計了一個非線性無約束優(yōu)化設(shè)計問題,并加以求解。
2.
11、1 題目
梯形截面管道的參數(shù):底邊長c,高度h,斜邊與底邊的夾角θ,橫截面積A=64516mm2,如圖1所示。管道液體的流速與管道截面的周長s的倒數(shù)成比例關(guān)系。試按照使液體流速最大的條件,確定管道的參數(shù)。
圖1 梯形截面管道參數(shù)
2.2 確定優(yōu)化設(shè)計模型
〔1〕管道截面周長:
〔2〕管道截面面積:
由此可得底邊長度的關(guān)系式:〔與h和θ有關(guān)〕
將c代入管道橫截面周長的計算式中,得到管道截面周長關(guān)系式:
因此,取與管道界面周長有關(guān)的獨立參數(shù)h和θ作為設(shè)計變量,有:
為使液體流速最大,取管道截面周長最小作為目標(biāo)函數(shù),即:
Min
故該函數(shù)的數(shù)學(xué)
12、模型:
〔1〕變量:
〔2〕目標(biāo)函數(shù):
Min
編寫目標(biāo)函數(shù)
首先在Matlab優(yōu)化工具箱中編寫目標(biāo)函數(shù)的M文件 ,返回x處的函數(shù)值f:
% 1----二維無約束優(yōu)化目標(biāo)函數(shù)文件(sc_wysyh.m)
function f=sc_wysyh(x)
a=64516;hd=pi/180;
f=a/x(1)-x(1)/tan(x(2)*hd)+2*x(1)/sin(x(2)*hd);
繪制該函數(shù)的平面和空間等值線
% 2----繪制水槽截面周長等高線和曲面圖的程序
% 按(初值,終值,等分?jǐn)?shù))產(chǎn)生等間隔向量xx1,xx2
xx1=linspace(100
13、,300,25);
xx2=linspace(30,120,25);
% 產(chǎn)生兩個[5x10]的網(wǎng)格矩陣x1,x2
[x1,x2]=meshgrid(xx1,xx2);
% 定義目標(biāo)函數(shù)
a=64516;hd=pi/180;
f=a./x1-x1./tan(x2*hd)+2*x1./sin(x2*hd);
% 將整個圖形窗口分隔成2個子窗口,取左邊窗口
figure(1);
% 繪制等值線并標(biāo)注函數(shù)值
h=contour(x1,x2,f);
clabel(h);
% 定義左邊窗口坐標(biāo)軸刻度圍
axis([100 300 30 120])
% 標(biāo)注左邊窗口和坐標(biāo)軸
14、xlabel('高度 h (mm)')
ylabel('傾斜角 theta (度)')
title('目標(biāo)函數(shù)(截面周長)等值線')
% 將整個圖形窗口分隔成2個子窗口,取右邊窗口
figure(2);
% 繪制曲面圖
surfc(x1,x2,f);
% 定義右邊窗口坐標(biāo)軸刻度圍a
axis([100 300 30 120 600 1200])
% 標(biāo)注右邊窗口
xlabel('高度 \bf h (mm)');
ylabel('斜邊夾角 \bf theta(度)');
zlabel('目標(biāo)函數(shù)值\bf f (mm)');
title('目標(biāo)函數(shù)(截面周長)曲面圖')
15、
運行結(jié)果,目標(biāo)函數(shù)的曲面如圖2,目標(biāo)函數(shù)等值曲線如圖3。
圖2 截面周長曲面圖
圖3 截面周長等值線
利用matlab工具箱fminunc函數(shù)對該模型進展求解
% 初始點
x0=[25;45];
% 調(diào)用梯度法搜索
[x,Fmin,exitflag,output]=fminunc('sc_wysyh',x0);
disp ' ******** 輸出最優(yōu)解 ********'
fprintf (1,' 截面高度h x(1)* = %3.4f mm \n',x(1))
fprintf (1,'
16、 斜邊夾角theta x(2)* = %3.4f 度 \n',x(2))
fprintf (1,' 截面周長s f* = %3.4f mm \n',Fmin)
求解結(jié)果
運行上述程序,可以解得如下參數(shù):
exitflag =
1
output =
iterations: 18
funcCount: 60
stepsize: 1
algorithm: 'medium-scale: Quasi-Newton line search'
message: [1x85 char]
******** 輸出最優(yōu)解 ********
截面高度h x(1)* = 192.9958 mm
斜邊夾角theta x(2)* = 60.0005 度
截面周長s f* = 668.5656 mm
最終圓整高度h = 193 mm,斜邊夾角θ=60°。求解周長s=mm,偏差幾乎可以忽略。
- 10 - / 10