机械优化设计大作业(长江大学)
机械优化设计论文(基于MATLAB工具箱的机械优化设计)

基于MATLAB工具箱的机械优化设计长江大学机械工程学院机械11005班刘刚摘要:机械优化设计是一种非常重要的现代设计方法,能从众多的设计方案中找出最佳方案,从而大大提高设计效率和质量。
本文系统介绍了机械优化设计的研究内容及常规数学模型建立的方法,同时本文通过应用实例列举出了MATLAB 在工程上的应用。
关键词:机械优化设计;应用实例;MATLAB工具箱;优化目标优化设计是20世纪60年代随计算机技术发展起来的一门新学科, 是构成和推进现代设计方法产生与发展的重要内容。
机械优化设计是综合性和实用性都很强的理论和技术, 为机械设计提供了一种可靠、高效的科学设计方法, 使设计者由被动地分析、校核进入主动设计, 能节约原材料, 降低成本, 缩短设计周期, 提高设计效率和水平, 提升企业竞争力、经济效益与社会效益。
国内外相关学者和科研人员对优化设计理论方法及其应用研究十分重视, 并开展了大量工作, 其基本理论和求解手段已逐渐成熟。
国内优化设计起步较晚, 但在众多学者和科研人员的不懈努力下, 机械优化设计发展迅猛, 在理论上和工程应用中都取得了很大进步和丰硕成果, 但与国外先进优化技术相比还存在一定差距, 在实际工程中发挥效益的优化设计方案或设计结果所占比例不大。
计算机等辅助设备性能的提高、科技与市场的双重驱动, 使得优化技术在机械设计和制造中的应用得到了长足发展, 遗传算法、神经网络、粒子群法等智能优化方法也在优化设计中得到了成功应用。
目前, 优化设计已成为航空航天、汽车制造等很多行业生产过程的一个必须且至关重要的环节。
一、机械优化设计研究内容概述机械优化设计是一种现代、科学的设计方法, 集思考、绘图、计算、实验于一体, 其结果不仅“可行”, 而且“最优”。
该“最优”是相对的, 随着科技的发展以及设计条件的改变, 最优标准也将发生变化。
优化设计反映了人们对客观世界认识的深化, 要求人们根据事物的客观规律, 在一定的物质基和技术条件下充分发挥人的主观能动性, 得出最优的设计方案。
机械优化设计实例

机械优化设计作业一、优化设计问题的提出预制一无盖水槽,现有一块长为4m,宽为3m的长方形铁板作为原材料,想在这块铁板的四个角处剪去相等的正方形以制成无盖水槽,问如何剪法使水槽的底面积最大?二、建立问题的数学模型为了建成此无盖水槽,可设在这块铁板的四个角处剪去相等的正方形的边长为X,所建造水槽的底面积为S,分析问题有次问题变成在约束条件:X≥04-2X≥03-2X≥0限制下,求目标函数:S(X)=(4-2X)(3-2X)=4-14X+12的最大值。
由此可得此问题的数学模型为:Min S(X)=4约束条件:( =-X ≤0 ( = -(4-2X )≤0( =-(3-2X )≤0 算法为黄金分割法。
四、外推法确定最优解的搜索区间用外推法确定函数S (X )=4 索区间。
设初始点 , =S( )=12; = +h=0+1=1, =S( )=2;比较 和 ,因为 < h=2h=2x1=2, = +h=1+2=3, 比较 和 ,因为 > ,面,故搜索区间可定为[a,b]=[1,3]。
五、算法框图六、算法程序#include <math.h>#include <stdio.h>double obfunc(double x){double ff;ff=4*X*X-14*X+12;return(ff);}void jts(double x0,double h0,double s[],int n,double a[],double b[]) {int i;double x[3],h,f1,f2,f3;h=h0;for(i=0;i<n;i++)x[0]=x0;f1=obfunc(x[0]);for(i=0;i<n;i++) x[1]=x[0]+h*s[i];f2=obfunc(x[1]);if(f2>=f1){h=-h0;for(i=0;i<n;i++)x[2]=x[0];f3=f1;for(i=0;i<n;i++){x[0]=x[1];x[1]=x[2];}f1=f2;f2=f3;}for(;;){h=2.0*h;for(i=0;i<n;i++)x[2]=x[1]+h*s[i];f3=obfunc(x[2]);if(f2<f3)break;else{for(i=0;i<n;i++){x[0]=x[1];x[1]=x[2];}f1=f2;f2=f3;}}if(h<0)for(i=0;i<n;i++){a[i]=x[2];b[i]=x[0];}elsefor(i=0;i<n;i++){a[i]=x[0];b[i]=x[2];}printf("%4d",n);}double gold(double a[],double b[],double eps,int n,double xx) double f1,f2,ff,q,w;double x[3];for(i=0;i<n;i++){x[0]=a[i]+0.618*(b[i]-a[i]);x[1]=a[i]+0.382*(b[i]-a[i]);}f1=obfunc(x[0]); f2=obfunc(x[1]);do{if(f1>f2){for(i=0;i<n;i++){b[i]=x[0];x[0]=x[1];}f1=f2;for(i=0;i<n;i++)x[1]=a[i]+0.382*(b[i]-a[i]);f2=obfunc(x[1]);}else{for(i=0;i<n;i++){a[i]=x[1];x[1]=x[0];}f2=f1;for(i=0;i<n;i++)x[0]=a[i]+0.618*(b[i]-a[i]);f1=obfunc(x[0]);}q=0;for(i=0;i<n;i++)q=q+(b[i]-a[i])*(b[i]-a[i]);w=sqrt(q);}while(w>eps);for(i=0;i<n;i++)xx=0.5*(a[i]+b[i]);ff=obfunc(xx);printf("xx=ff=%5.2f,,,,%5.2f",xx,ff);return(ff);}void main(){int n=1;double a[1],b[1],xx;double s[]={1},x0=0;double eps1=0.001,h0=0.1;jts(x0,h0,s,n,a,b);gold(a,b,eps1,n,xx);七、程序运行结果与分析(1)程序运行结果(截屏)(2)结果分析、对与函数S(X)=(4-2X)(3-2X)=4-14X+12,令(X)=8X-14=0可解的X=1.75,说明程序运行结果正确。
《机械优化设计》大作业讲解学习

高等流体力学班级:机设15学硕班学号: 2015200813 姓名:张湘楠授课老师:毕新胜日期: 2016年7月 1日一、研究报告内容:1、λ=0.618的证明、一维搜索程序作业;2、单位矩阵程序作业;3、连杆机构问题+自行选择小型机械设计问题或其他工程优化问题;(1)分析优化对象,根据设计问题的要求,选择设计变量,确立约束条件,建立目标函数,建立优化设计的数学模型并编制问题程序;(2)选择适当的优化方法,简述方法原理,进行优化计算;(3)进行结果分析,并加以说明。
4、写出课程实践心得体会,附列程序文本。
5、为响应学校2014年度教学工作会议的改革要求,探索新的课程考核评价方法,特探索性设立一开放式考核项目,占总成绩的5%。
试用您自己认为合适的方式(书面)表达您在本门课程学习方面的努力、进步与收获。
(考评将重点关注您的独创性、简洁性与可验证性)。
二、研究报告要求1、报告命名规则:学号-姓名-《机械优化设计》课程实践报告.doc2、报告提交邮址:weirongw@(收到回复,可视为提交成功)。
追求:问题的工程性,格式的完美性,报告的完整性。
不追求:问题的复杂性,方法的惟一性。
评判准则:独一是好,先交为好;切勿拷贝。
目录:λ=0.618的证明、一维搜索程序作业① 关于618.0=λ的证明……………………………………………………4 ② 一维搜索的作业采用matlab 进行编程…………………………………………… 5 采用C 语言进行编程……………………………………………… 7 单位矩阵程序作业① 采用matlab 的编程………………………………………………… 9 ② 采用c 语言进行编程………………………………………………… 9 机械优化工程实例① 连杆机构...........................................................................11 ② 自选机构...........................................................................16 课程实践心得.............................................................................. 20 附列程序文本.............................................................................. 21 进步,努力,建议 (25)一、λ=0.618的证明、一维搜索程序作业①关于618.0=λ的证明黄金分割法要求插入点1α,2α的位置相对于区间],[b a 两端具有对称性,即)(1a b b --=λα)(2a b a -+=λα其中λ为待定常数。
基于MATLAB优化工具箱的机械优化设计

Optimiza tion t erminated: first -order optimality measure less than options.TolFun
and maximum constraint violation is less than options.TolCon. Active inequalities(to within options.TolCon = 1e-006):
长江大学机械优化设计大作业

长江大学机械工程学院机械优化设计大作业要求根据目标函数和约束条件采用适合的MATLAB 优化函数求解优化问题。
问答题要求:(1)对该问题进行分析,写出该问题的优化模型(包括设计变量、目标函数、约束条件);(2)将优化模型转化为matlab 程序(m 文件); (3)利用matlab 软件求解该优化问题,写出最优解。
(4)作业打印打上交时,若发现同学作业雷同或拷贝,则无本课程成绩。
一、1、⎪⎪⎩⎪⎪⎨⎧≥≤-≤+≤+-⋅--=0,31232424min 2121212121x x x x x x x x t s x x f 2、72220:m in 321321≤++≤⋅-=x x x t s x x x f3、022:)1()2(m in 212221=-+⋅-+-=x x t s x x f4、2221)3(m in x x f +-=⎪⎩⎪⎨⎧≥-≥≥--⋅05.000412221x x x x t s5、求函数42121122(,)32(15)f x x x x x x =+++的极小点。
6、求表面积为2150m 的体积最大的长方体体积。
7、某车间生产甲(如轴)、乙(如齿轮)两种产品。
生产甲种产品每件需要用材料9㎏,3个工时、4kw 电,可获利60元;生产乙种产品每件需要用材料4㎏、10个工时, 5kw 电,可获利120元。
若每天能供应材料360㎏,有300个工时,能供电200kw 电,问每天生产甲、乙两种产品各多少件,才能够获得最大的利润。
8、已知:轴一端作用载荷 p=1000N/ cm ,扭矩 M=100N·m ;轴长不得小于8cm ;材料的许用弯曲应力 [σw]=120MPa ,许用扭剪应力 [τ]= 80MPa ,许用挠度 [f] = 0.01cm ;密度[ρ] = 7.8t /m ,弹性模量E=2×105MPa 。
要求:设计销轴,在满足上述条件的同时,轴的质量应为最轻。
研究生《工程优化设计》大作业,包含小型机械的优化!绝对的原创!

工程优化设计计算机编程实验报告一 、优化设计方法基本原理优化设计就是:根据给定的设计要求和现有的技术条件,应用专业理论和优化方法,在电子计算机上从满足给定的设计要求的许多可行方案中,按照给定的目标自动地选出最优的设计方案。
优化过程是:寻找约束空间下给定函数取极大值(以max 表示)或极小(以min 表示)的过程,优化方法也称数学规划。
现代优化设计方法就是:在计算机上进行的半自动或自动优化,以选出在现有工程条件下的最佳设计方案的一种现代设计方法。
机械优化设计就是:把机械设计与优化设计理论及方法相结合,借助电子计算机,自动寻找实现预期目标的最优设计方案和最佳设计参数。
1.一维优化方法求一元函数 f(x)的极小点和极小值问题就是一维最优化问题。
求解一维优化问题的方法称为一维优化方法。
实际优化问题中一维问题是很少的,大多数问题都是多维的,但一维问题是优化中最简单、最基本的方法,它是解决多维问题的基础。
一维优化方法分为两类:一类是直接法:按某种规律取若干点计算其函数值,然后通过函数值的直接比较来最后确定最优解。
确定初始区间的进退法、黄金分割法等;一类是间接法:要利用函数的导数,故称解析法,牛顿法和二次插值法。
本次实验用到黄金分割法和牛顿法,故重点介绍这两种方法。
1.1黄金分割法黄金分割法是通过不断缩短单峰区间的长度来搜索极小点的一种有效方法,它是搜索区间按比例λ缩小,通过计算和比较()f x 的函数值,以确定取舍区间,因按黄金分割原理:0.618λ=,故此法又称为0.618法。
在搜索区间[a,b]中取两点c 、d ,然后比较c 、d 两点的函数()f c 和()f d ,有三种情况:(1)如()()f c f d >,根据函数的单峰性,极值点必在[,]c b 区间。
(2)如()()f c f d <,极值点必在[,]a d 区间。
(3)如()()f c f d =,极值点在[,]c d 区间。
《机械优化设计》大作业

1、报告命名规则:学号-姓名-《机械优化设计》课程实践报告.doc
2、报告提交邮址:weirongw@(收到回复,可视为提交成功)。
追 求:问题的工程性,格式的完美性,报告的完整性。
不 追 求:问题的复杂性,方法的惟一性。
评判准则:独一是好,先交为好;切勿拷贝。
printf(“区间为(%lf,%lf),精度为%lf\n”,a,b,size);
printf(“序号\t a1\t\t a2\t\t f(a1)\t\t f(a2)\n”);
for(i=0;i<64;i++)
printf(“-“);
printf(“\n”);
i=0;
while((b-a)>size)/*****用精度控制循环次数*****/
如果要计算y=cosx;黄金分割法,则需要将图所示的f脚本中的函数写成如②所示
fun函数表示对matlab的主程序语言。
函数NO.2运算结果:
函数NO.1运算结果:
(2)采用C语言进行编程
#include<stdio.h>
#defineK 0.618
doublef(double);/*****函数值计算函数声明*****/
c1=b-r*(b-a);c2=a+r*(b-a);
y1=f(c1);y2=f(c2);
while (abs((b-a)/b)>e)&&(abs((y2-y1)/y2)>e)
if y1>=y2
a=c1;c1=c2;y1=y2;
c2=a+r*(b-a);y2=f(c2);
else
b=c2;c2=c1;y2=y1;
《机械优化设计》大作业

for(i=0;i<64;i++)
printf(“-“);
printf(“\n”);
i=0;
while((b-a)>size)/*****用精度控制循环次数*****/
{
i++;
a1=b-K*(b-a);/*****按0.618法插入两点*****/
a2=a+K*(b-a);
printf(“%2d:\t%f\ta%f\t%f\t%f\n”,I,a1,a2,f(a1),f(a2));
/*****输出每次计算后a1,a2,f(a1),f(a2)的值*****/
if(f(a1)>=f(a2))
a=a1;
else
b=a2;
}
printf(“所求极小值点为:x=%lf\t极小值f(x)=%f\n”,a,f(b));
(2)选择适当的优化方法,简述方法原理,进行优化计算;
(3)进行结果分析,并加以说明。
4、写出课程实践心得体会,附列程序文本。
5、为响应学校2014年度教学工作会议的改革要求,探索新的课程考核评价方法,特探索性设立一开放式考核项目,占总成绩的5%。
试用您自己认为合适的方式(书面)表达您在本门课程学习方面的努力、进步与收获。(考评将重点关注您的独创性、简洁性与可验证性)。
end
end
x=0.5*(a+b);
end
对f函数的确立
10function y=f(x)
y=(x-2)^2+3;
end
11function y=f(x)
y=cosx
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机械优化设计大作业姓名:刘刚班级:机械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 文件过程中,要注意中英文输入法的切换。