机械优化设计大作业长江大学Word文件下载.docx

上传人:b****2 文档编号:3758097 上传时间:2023-05-02 格式:DOCX 页数:11 大小:137.33KB
下载 相关 举报
机械优化设计大作业长江大学Word文件下载.docx_第1页
第1页 / 共11页
机械优化设计大作业长江大学Word文件下载.docx_第2页
第2页 / 共11页
机械优化设计大作业长江大学Word文件下载.docx_第3页
第3页 / 共11页
机械优化设计大作业长江大学Word文件下载.docx_第4页
第4页 / 共11页
机械优化设计大作业长江大学Word文件下载.docx_第5页
第5页 / 共11页
机械优化设计大作业长江大学Word文件下载.docx_第6页
第6页 / 共11页
机械优化设计大作业长江大学Word文件下载.docx_第7页
第7页 / 共11页
机械优化设计大作业长江大学Word文件下载.docx_第8页
第8页 / 共11页
机械优化设计大作业长江大学Word文件下载.docx_第9页
第9页 / 共11页
机械优化设计大作业长江大学Word文件下载.docx_第10页
第10页 / 共11页
机械优化设计大作业长江大学Word文件下载.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

机械优化设计大作业长江大学Word文件下载.docx

《机械优化设计大作业长江大学Word文件下载.docx》由会员分享,可在线阅读,更多相关《机械优化设计大作业长江大学Word文件下载.docx(11页珍藏版)》请在冰点文库上搜索。

机械优化设计大作业长江大学Word文件下载.docx

s.t2x1+x2+5x3=20

x1,x2≥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,[])

程序运行结果整理:

x1=0.0000

x2=2.1429

x3=3.5714

minf=5.7143

解法二:

构造新的函数求解

由2x1+x2+5x3=20可知x3=

所以f=x1+x2+x3=x1+x2+=﹣x1+x2+4

令F=5(f-4)=3x1+4x2,则可行域可化为:

-x1-2x2-3x3≤-15x1-7x2≤-15

s.t2x1+x2+5x3=20s.t

x1,x2≥0x1,x2≥0

所以欲求minf即求minF

f=[3,4];

A=[1,-7];

[x,minF]=linprog(f,A,b,[],[],lbnd,[])

x1=0.0000;

x2=2.1429

minF=8.5714

因此minf=+4=+4=5.7143

解法三:

将解法二的可行域转化

x1-7x2≤-15x1-7x2≤-15

s.t-x1≤0

x1,x2≥0-x2≤0

此时不等式的约束关系可表示为:

1-7x1-15

-10≤0

0-1x20

A=[1,-7;

-1,0;

0,-1];

b=[-15,0,0];

[x,minF]=linprog(f,A,b)

注:

Ⅰ.由以上三种方法的运行结果可知,三种方法均可行。

此处用三种方法解答主要是为了体现线性规划函数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.

解:

首先将目标函数化为标准形式:

x1-2Tx1

minf=(x1,x2)+

1x2-6x2

H=[,

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.6667

x2=1.3333

fval=-8.2222

所以minf=-8.2222

3.由两根实心圆杆组成对称的两杆桁架,其顶点承受负载2p=500000N,两支座之间的水平距离2L=160cm,杆的密度ρ=7800kg/m3,弹性模量为E=2.1×

105MPa,许用压应力σy=420MPa。

求在桁架压应力不超过许用压应力和失稳临界应力的条件下,使桁架重量最轻的桁架高度h及圆杆直径d。

令d=x

(1),h=

(2)

桁架杆的截面积:

;

桁架杆的总质量为:

负载2P作用在每根杆上的分力为:

==;

∴杆截面的应力为==;

此应力要求小于材料的屈服强度,即同时,由材料力学知:

杆中的应力应小于等于压杆稳定的临界应力。

杆的压杆稳定的临界应力==

其中惯性矩,A=

∴压杆稳定约束-≥0

综上得:

建立桁架杆质量最轻的最优设计问题的数学问题

minf=xπρx

≤0

-≤0

d≥0

h≥0

①建立目标函数,编写M文件:

liu01

functionf=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文件:

liu03

x0=[0.01;

0.01];

A=[];

b=[];

VLB=[00];

VUB=[];

[x,fval]=fmincon('

liu01'

x0,[],[],[],[],VLB,VUB,'

liu02'

x

(1)=0.2139

x

(2)=0.4000

fval=501.3752

∴当桁架杆直径d=0.2139m,桁架杆高度h=0.4000m时,桁架杆的总质量最轻,且最轻的质量为501.3752Kg。

注意:

此题数学式子较长,在编写文件时要仔细校对保证输入的式子正确。

因在此题中h和d均在分母上,故初始迭代点X0不能为[0;

0],不然会出现dividebyzero的错误。

4.已知:

制造一体积为100m3,长度不小于5m,不带上盖的箱盒,试确定箱盒的长x1,宽x2,高x3,使箱盒用料最省。

由题知:

x1x2x3=100

Ⅰ、以长x1、宽x2的长方形面为盖

建立目标函数:

minS=x1x2+2x2x3+2x1x3

x1≥5

x2,x3≥0

该题属于有约束非线性最优化问题

1建立目标函数,编写M文件:

liu04

functionf=liu04(x)

f=x1*x2+2*x2*x3+2*x1*x3

2建立约束条件,编写M文件:

liu05

function[c,ceq]=liu05(x)

c=[5-x1;

-x2;

-x3];

ceq=x1*x2*x3-100;

3编写运行程序M文件:

liu06

x0=[5;

1;

1];

VLB=[500];

[x,fval]=fmincon(‘liu04’,x0,A,b,Aeq,beq,VLB,VUB,’liu05’)

程序运行结果:

x1=5.8480

x2=5.8481

x3=2.9240

minS=102.5986

所以当长为5.8480m、宽为5.8481m、高为2.9240m时,箱盒用料最省,最少为102.5986m2。

Ⅱ、以宽x2高x3的长方形为盖,则:

建立目标函数minS=x2x3+2x1x2+2x1x3

编写M文件的具体步骤同上

x1=5.0000

x2=4.4721

x3=4.4721

minS=109.4427

所以当长为5.000m、宽为4.4721m、高为4.4721m时,箱盒用料最省,最少为109.4427m2。

综上知:

当以长x1、宽x2的长方形面为盖时,箱盒用料最省,最少为102.5986m2。

由于matlab是基于C语言的数学软件,故其要符合C语言的基本语法规则,在具体编写M文件过程中,要注意中英文输入法的切换。

M文件的标点符号必须是英文状态下输入的,这一点要引起足够重视,不然在编程过程中会遇到自己想不通的问题。

5、

①将目标函数写成符合C语言格式的表达式,编写M文件:

liu07

functionf=liu07(x)

f=exp(x

(1))*(4*x

(1)^2+2*x

(2)^2+4*x

(1)*x

(2)+2*x

(2)+1);

liu08

function[c,ceq]=liu08(x)

c=[x

(1)*x

(2)-x

(1)-x

(2)+1.5;

-x

(1)*x

(2)-10];

4编写运行程序M文件:

liu09

x0=[0;

0];

VLB=[];

liu07'

x0,A,b,Aeq,beq,VLB,VUB,'

liu08'

x1=1.1825

x2=-1.7398

minf=3.0608

心得体会

在这次课下做这些题目的过程中,遇到了许多困惑。

从最开始的熟悉matlab软件,直到完成本次作业,我收集了大量资料,去图书馆借了matlab的参考书。

渐渐的对matlab软件用来解决工程实际问题有了一个初步认识,因其具有强大的数学计算功能,所以该款软件对于我们以后从事机械设计工作而言具有举足轻重的作用。

在目前本科阶段,由于受到学时限制,所以学精通还具有较大的困难。

在具体的学习中,我逐渐了解到matlab这款数学软件加入了C,FORTRAN,C++,JAVA的支持。

因此,对于我们学习过C语言的工科学生来说,便于理解其函数调用规则和原理。

因为工程问题十分复杂,所以有些工程问题仅仅只用其系统自带的解析方法是不够的。

因此,在以后的深入学习过程中,还要求我们慢慢学会去针对具体复杂工程问题的二次开发,然而这要求我们对于C语言掌握较好。

在具体写word文档的过程中,因公式和上下标较多,故敲起来非常麻烦。

有时心烦的时候就曾想过放弃,觉得太麻烦了。

但尔后转念一想,这也不正是在学习word文档吗?

倘若这时放弃了,在以后工作中说不准就会遇到要敲大量数学公式的word文档。

因此,现在多付出一点也是为以后轻松一些。

当初选这门课程时,原以为是学习怎样优化设计机械零件。

真正走进课堂后,才知道其实质是学习数学中的优化算法来解决工程中的实际问题。

虽然上课的课时较少,但在课下做作业的过程中,我对于matlab的一些基本语法和数学函数有了一个大致认识。

在此次完成作业的过程中,我觉得最重要的是提高了自己的自学能力,虽然在这过程中很苦很累,但觉得很值!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2