机械优化设计大作业姓名:刘刚班级:机械11005班序号:11目录第一题.........................................................................................1-4第二题........................................................................................4-5第三题........................................................................................5-7第四题........................................................................................8-10 第五题.......................................................................................10-11 心得体会...................................................................................11-13 草稿....................................................................... ....14-181.⎪⎩⎪⎨⎧≥=++≥++⋅++=0,20521532min 21321321321x x x x x x x x t s x x x f解法一:将可行域化为对应的函数的标准形式:-x 1-2x 2-3x 3≤-15s.t 2x 1+x 2+5x 3=20x 1,x 2≥0程序清单如下: f=[1,1,1]; A=[-1,-2,-3]; Aeq=[2,1,5]; b=[-15]; beq=[20]; lbnd=[0,0];[x,minf]=linprog(f,A,b,Aeq,beq,lbnd,[]) 程序运行结果整理: x 1=0.0000 x 2=2.1429 x 3=3.5714 minf=5.7143解法二:构造新的函数求解 由2x 1+x 2+5x 3=20可知x 3=3(20−x 2−2x 1)5所以f= x 1+x 2+x 3= x 1+x 2+3(20−x 2−2x 1)5=﹣15x 1+25x 2+4令F=5(f-4)=3x 1+4 x 2,则可行域可化为:1-2x 2-3x 3≤-15 x 1-7x 2≤-15s.t 2x 1+x 2+5x 3=20 s.t1,x 2≥0 x 1,x 2≥0 所以欲求minf 即求minF 程序清单如下: f=[3,4]; A=[1,-7]; b=[-15]; lbnd=[0,0];[x,minF]=linprog(f,A,b,[],[],lbnd,[]) 程序运行结果整理: x 1=0.0000; x 2=2.1429 minF=8.5714 因此minf=F5+4=8.57145+4=5.7143解法三:将解法二的可行域转化x 1-7x 2≤-15 x 1-7x 2≤-15s.t - x 1≤0x 1,x 2≥0 - x 2≤0此时不等式的约束关系可表示为:1 -7 x1-15-1 0 ≤00 -1 x20 程序清单如下:f=[3,4];A=[1,-7;-1,0;0,-1];b=[-15,0,0];[x,minF]=linprog(f,A,b)程序运行结果整理:x1=0.0000x2=2.1429minF=8.5714因此minf=F5+4=8.57145+4=5.7143注:Ⅰ.由以上三种方法的运行结果可知,三种方法均可行。
此处用三种方法解答主要是为了体现线性规划函数linprog的用法,其用法及语法规则归纳如下:①x=linprog(f,A,b)返回值x为最优解向量;②x=linprog(f,A,b,Aeq,beq) 作有等式约束的问题。
若没有不等式约束,则令A=[ ]、b=[ ] 。
③x=linprog(f,A,b,Aeq,beq,lbnd,ubnd,x0,options) 中lbnd ,ubnd分别为变量x的下界和上界,x0为初值点,options为指定优化参数进行最小化。
④Options的参数描述:Display 显示水平。
选择’off’ 不显示输出;选择’Iter’显示每一 步迭代过程的输出;选择’final’ 显示最终结果。
Ⅱ.在求解线性规划问题minf 和maxf 时,要将其可行域化为标准形式,matlab 优化工具箱中的函数都是用来求函数极小值的,若求解maxf ,则要把c 向量取目标函数系数的相反数,这样得到的最优解才是maxf 的最大值。
2.⎪⎪⎩⎪⎪⎨⎧≥≤+≤+-≤+⋅---+=0,32222625.0min 2121212121212221x x x x x x x x t s x x x x x x f解:首先将目标函数化为标准形式:12 −12 x 1 -2 T x 1 minf=(x 1,x 2) +−12 1 x 2 -6 x 2程序清单如下: H=[ 12, −12;−12,1];c=[-2,-6]; A=[1,1;-1,2;2,1]; b=[2,2,3]; Aeq=[]; beq=[]; LBnd=[0,0];UBnd=[];[X,fval]=quadprog(H,c,A,b,Aeq,beq,LBnd,UBnd)程序运行结果整理:x1=0.6667x2=1.3333fval=-8.2222所以minf=-8.22223.由两根实心圆杆组成对称的两杆桁架,其顶点承受负载2p=500000N,两支座之间的水平距离2L=160cm,杆的密度ρ=7800kg/m3,弹性模量为E=2.1×105MPa,许用压应力σy=420MPa。
求在桁架压应力不超过许用压应力和失稳临界应力的条件下,使桁架重量最轻的桁架高度h及圆杆直径d。
解:令d=x(1),h=(2)桁架杆的截面积:s=πd 24; 桁架杆的总质量为:m=2xρx πd24x L2+ℎ2=12xπρd2x L2+ℎ2;负载2P作用在每根杆上的分力为:P1=Pcosθ=P L2+ℎ2ℎ;∴杆截面的应力为ς1=P 1S=4P L 2+ℎ2πℎd ;此应力要求小于材料的屈服强度,即ς1< ς ,同时,由材料力学知:杆中的应力应小于等于压杆稳定的临界应力。
杆的压杆稳定的临界应力ςcr =F cr A=EIπ2AL 2其中惯性矩I =πd 464,A=πd 24,l = L 2+ℎ2∴ςcr =π2Ed 28(L +ℎ)∴压杆稳定约束π2Ed 28(L 2+ℎ2)-4P L 2+ℎ2πℎd 2≥0综上得:建立桁架杆质量最轻的最优设计问题的数学问题 minf =12x πρd 2x L 2+ℎ24P L 2+ℎ2πℎd 2−ς≤04P L 2+ℎ2πℎd -π2Ed 28(L +ℎ)≤0d ≥0h ≥0程序清单如下:①建立目标函数,编写M 文件:liu01 function f=liu01(x)f=0.5*pi*7800*x(1)^2*sqrt(0.64+x(2)^2); ②建立约束条件,编写M 文件:liu02 function [c,ceq]= liu02(x)c=[4*250000*sqrt(x(2)^2+0.64)/(pi*x(2)*x(1)^2*420*10^6)-1;4*250000*sqrt(x(2)^2+0.64)/(pi*x(2)*x(1)^2)-pi^2*220.5*10^6*x(1)^2/(8*(x(2)^2 +0.64))];ceq=[];③编写运行程序M文件:liu03x0=[0.01;0.01];A=[];b=[];Aeq=[];beq=[];VLB=[0 0];VUB=[];[x,fval]=fmincon('liu01',x0,[],[],[],[],VLB,VUB,'liu02')程序运行结果整理:x(1)=0.2139x(2)=0.4000fval=501.3752∴当桁架杆直径d=0.2139m,桁架杆高度h=0.4000m时,桁架杆的总质量最轻,且最轻的质量为501.3752Kg。
注意:此题数学式子较长,在编写文件时要仔细校对保证输入的式子正确。
因在此题中h和d均在分母上,故初始迭代点X0不能为[0;0],不然会出现divide by zero的错误。
4. 已知:制造一体积为100m3,长度不小于5m,不带上盖的箱盒,试确定箱盒的长x1,宽x2,高x3,使箱盒用料最省。
解:由题知:x1x2x3=100Ⅰ、以长x1、宽x2的长方形面为盖建立目标函数:minS=x1x2+2x2x3+2x1x3x2x3=100xx1≥5x2, x3≥0该题属于有约束非线性最优化问题①建立目标函数,编写M文件:liu04function f=liu04(x)f= x1*x2+2*x2*x3+2*x1*x3②建立约束条件,编写M文件:liu05function[c,ceq]=liu05(x)c=[5-x1;-x2;-x3];ceq=x1*x2*x3-100;③编写运行程序M文件:liu06x0=[5;1;1];A=[];b=[];Aeq=[];beq=[];VLB=[5 0 0];VUB=[];[x,fval]=fmincon(‘liu04’,x0,A,b,Aeq,beq,VLB,VUB,’liu05’)程序运行结果:x1=5.8480x2=5.8481x3=2.9240minS=102.5986所以当长为5.8480m、宽为5.8481m、高为2.9240m时,箱盒用料最省,最少为102.5986m2 。
Ⅱ、以宽x2高x3的长方形为盖,则:建立目标函数minS=x2x3+2x1x2+2x1x3x2x3=100xx1≥5x2, x3≥0编写M文件的具体步骤同上程序运行结果:x1=5.0000x2=4.4721x3=4.4721minS=109.4427所以当长为5.000m、宽为4.4721m、高为4.4721m时,箱盒用料最省,最少为109.4427m 2。
综上知:当以长x1、宽x2的长方形面为盖时,箱盒用料最省,最少为102.5986m 2 。
注:由于matlab 是基于C 语言的数学软件,故其要符合C 语言的基本语法规则,在具体编写M 文件过程中,要注意中英文输入法的切换。