天天看點

matlab人字架優化設計,人字架優化設計.ppt

人字架優化設計,人字架的優化設計,人字架優化模組化的思想,人字形屋架設計,鋼結構人字形屋架設計,關于人字架的設計,人字架,人字形骨架護坡,人字屋架,人字木屋架圖集

人字架的優化設計 一、問題描述 如圖1所示的人字架由兩個鋼管組成,其頂點受外力2F=3×105N。已知人字架跨度2B=152 cm,鋼管壁厚T=0.25cm,鋼管材料的彈性模量E=2.1 MPa,材料密度p=7.8×103 kg/m,許用壓應力δy =420 MPa。求鋼管壓應力δ不超過許用壓應力 δy和失穩臨界應力 δc的條件下,人字架的高h和鋼管平均直徑D使鋼管總品質m為最小。 二、分析 設計變量:平均直徑D、高度h 三 、數學模組化 所設計的空心傳動軸應該滿足以下條件: (1)強度限制條件 (2)限制穩定性條件 (3)取值範圍 四、優化方法、程式設計及結果分析 綜合上述分析可得優化數學模型是一個具有2個設計變量,4個限制條件的有限制非線性最優化問題,屬于小型優化設計,選用内點懲罰函數法,能用來求解具有不等式限制的優化問題。 内點懲罰函數法簡稱内點法,這種方法将新目标函數定義于可行域内,序列疊代點在可行域内逐漸逼近限制邊界上的最優點。 五、matlab程式設計 1. 首先建立M檔案fun.m,用來定義目标函數F(X): function f=fun(X); f=F(X); 2.一般非線性規劃 其中X為n維變元向量,G(X)與Ceq(X)均為非線性函數組成的向量.用MATLAB求解上述問題,基本步驟分三步: 3. 建立主程式.求解非線性規劃的函數是fmincon,指令的基本格式如下: (1) x=fmincon(‘fun’,X0,A,b) (2) x=fmincon(‘fun’,X0,A,b,Aeq,beq) (3) x=fmincon(‘fun’,X0,A,b, Aeq,beq,VLB,VUB) (4) x=fmincon(‘fun’,X0,A,b,Aeq,beq,VLB,VUB,’nonlcon’) (5)x=fmincon(‘fun’,X0,A,b,Aeq,beq,VLB,VUB,’nonlcon’,options) (6) [x,fval]= fmincon(…) (7) [x,fval,exitflag]= fmincon(…) (8)[x,fval,exitflag,output]= fmincon(…) 輸出極值點 M檔案 疊代的初值 參數說明 變量上下限 (1)目标函數 function f=objfun(x) B=760;T=2.5;P1=7.8e-3; f=P1*2*T*pi*x(1)*sqrt(B^2+x(2)^2); 這裡把密度用P1表示,這裡的B和T的機關用mm (2)限制函數 function [G,ceq]=confun(x) B=760;T=2.5;P=150000;E=2.1e5; S=P*sqrt(B^2+x(2)^2)/x(2); R=S/(pi*T*x(1)); G(1)=R-420; N=0.125*pi^2*E*(x(1)^2+T^2)/(B^2+x(2)^2); G(2)=R-N; ceq=[]; (3)搜尋 x0=[100;700]; vlb=[0;0];vub=[]; options=optimset('Display','iter'); [x,fval]=fmincon('objfun',x0,[],[],[],[],vlb,vub,'confun',options) Max Line search Directional First-order Iter F-count f(x) constraint steplength derivative optimality Procedure 0 3 12659.6 -100 1 7 9923.05 -60.05 0.5 -5.45e+003 1.9e+003 2 11 9098.35 -27.34 0.5 -1.65e+003 751 Hessian modified 3 14 8465.22 2.041 1 -633 44 4 17 8505.22