《机械优化设计》大作业讲解学习
机械优化设计讲义
《机械优化设计》讲义第一讲第一课时:机械优化设计概论课程的研究对象:根据最优化原理和方法,利用计算机为计算工具,寻求最优设计参数的一种现代设计方法。
目标:本课程目标体系可以分为三大块:理论基础、算法的分析、理解和掌握,算法的设计、实现(编程)能力的培养。
将主要是对算法的学习为主,并兼顾培养一定的解决实际问题能力、上机编程调试能力。
首先,几个概念:优化(或最优化原理、方法)、优化设计、机械(工程)优化设计。
现代的优化方法,研究某些数学上定义的问题的,利用计算机为计算工具的最优解。
优化理论本身是一种应用性很强的学科,而工程优化设计(特别是机械优化设计)由于采用计算机作为工具解决工程中的优化问题,可以归入计算机辅助设计(CAD)的研究范畴。
再,优化方法的发展:源头是数学的极值问题,但不是简单的极值问题,计算机算法和运算的引入是关键。
从理论与实践的关系方面,符合实践-理论-实践的过程。
优化原理和方法的理论基础归根结底还是来源于实际生产生活当中,特别是工程、管理领域对最优方案的寻找,一旦发展为一种相对独立系统、成熟的理论基础,反过来可以指导工程、管理领域最优方案的寻找(理论本身也在实践应用中不断进步、完善)。
解决优化设计问题的一般步骤:相关知识:数学方面:微积分、线性代数;计算机方面:编程语言、计算方法;专业领域方面:机械原理、力学等知识内容:数学基础、一维到多维、无约束到有约束1.1数学模型三个基本概念:设计变量、目标函数、约束条件设计变量:相对于设计常量(如材料的机械性能)在设计域中变量是否连续:连续变量、离散变量(齿轮的齿数,)。
设计问题的维数,表征了设计的自由度。
每个设计问题的方案(设计点)为设计空间中的一个对应的点。
设计空间:二维(设计平面)、三维(设计空间)、更高维(超设计空间)。
目标函数:设计变量的函数。
单目标、多目标函数。
等值面的概念:设计目标为常量时形成的曲面(等值线、等值面、超等值面)。
机械优化设计讲义
机械优化设计理论与方法多媒体教学系统主讲:黄文权2005.02.第一章基本概念与理论基础主要内容:1 优化设计的基本思想2 优化设计的应用及发展概况3 优化设计数学模型、基本术语4 优化设计理论的数学基础5 优化设计的求解方法及其收敛判定条件要求:1 掌握优化设计的基本思想、数学模型、基本术语、一般过程、求解方法及收敛判定条件、数学基础2 了解优化设计的应用及发展概况1.1优化设计概述优化设计(Optimal Design)是20世纪60年代发展起来的一门新学科,将最优化原理和计算技术应用于设计领域,为工程设计提供的一种重要的科学设计方法,是现代设计理论和方法的一个重要领域。
设计原则:参数(过程)最优设计设计手段:计算机及其程序设计方法:最优化数学方法设计内容:物理模型->数学模型->数学模型求解1.1.1机械优化设计基本思想一设计过程图1-1机械产品设计过程二传统设计到优化设计1传统设计方法:参照相同或相似产品进行估算、经验类比或试验分析准则:安全-寿命设计;破损-安全设计过程:主要由人工完成图1-2传统设计计算方法2机械优化设计方法:建立产品优化模型并在约束条件下应用最优化方法求最优解准则:单(多)目标最优化过程:主要由计算机完成图1-3优化设计计算方法三优化设计基本思想根据机械设计的一般理论、方法以及设计规范和行业标准等,把工程设计问题按照具体要求建立一个能体现设计问题的数学模型,然后采用最优化技术与计算机计算技术自动找出它的最优方案,使问题的解决在某种意义上达到无可争议的完善化。
即在规定的各种设计限制条件下,优选设计参数,使某项或几项设计指标获得最优值,解决设计方案参数的最佳选择问题。
四优化设计过程1优化设计过程2优化设计过程应用图1-5优化设计过程应用1.1.2优化设计发展状况一优化设计方法学以数学规划、数值解法为理论基础,计算机技术和计算技术为手段,结合设计方法学,逐步发展成为一门新兴学科。
《机械优化设计》大作业
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讲
例1:一金属板,长为24cm,宽为50cm。要制成如图所示的对称型槽。 求斜边长a和倾角θ为多大时,容积最大。
设计变量:a,θ 目标函数: V (a, ) 1 (24 2a 24 2a
2
2a cos )a sin 50
约束条件:0≤a≤12, 0≤θ≤π
性能约束:针对性能要求而提出的约束。
边界约束:对设计变量的取值范围加以限制的约束。
2.按数学表达式的不同: 不等式约束: g j ( X ) 0
( j 1,2,, m)
等式约束: hk ( X ) 0
(k 1,2, , l )
上例中,约束条件: g1(a)=-a≤0 g2(a)=a-12≤0 g3(θ)= -θ≤0 g4(θ)=θ-π≤0
注意:
X [x1, x2 ,, xn ]T
1.向量中分量的次序是任意的,根据使用的方便任意选取。
2.由n个设计变量为坐标所组成的实空间称做设计空间, 一个“设计”对应设计空间中的一点。
3.设计变量视为连续有界的变量,机械设计中的离散性参数 以后再讨论(如模数) 。
1.2.2 约束条件 约束条件:一个可行设计必须满足的某些设计限制条件。 1.按约束的性质不同:
机
第1章 绪论
械
第2章 优化设计的数学基础
优
第3章 一维搜索方法
化
第4章 无约束优化方法
设
第5章 约束优化方法
计
第6章 多目标及离散变量优化方法
第1章 绪论
1.1 优化设计概述 1.2 优化设计问题的数学模型 1.3 优化设计问题的基本解法及收敛条件
1.1 优化设计概述
优化设计:最优化原理+计算技术 机械优化设计:是使某项机械设计在规定的各种设计限制条件下,
机械优化设计大作业二
机械优化设计大作业二设计某带式输送机减速器的高速级齿轮传动。
已知高速级输入功率P1 = 10kW,小齿轮转速n1 =960 r /min,传动比i = 3. 2。
齿轮材料和热处理:大齿轮45号钢(调质)硬度为217~255HBS,小齿轮40Cr(调质)硬度为241~286HBS,工作寿命15 年,假设每年工作300天,两班制,带式输送机工作平稳,转向不变。
常规设计方案采用直齿圆柱齿轮: m=2.5, z1=30, Φd=1。
解:1设计变量,单级直齿圆柱齿轮传动的中心距 :齿宽:将m,,作为设计变量,即:=2 目标函数根据多目标优化的线性加权法建立体积最小的目标函数:f ( x) =ω1·f1 ( x) +ω2·f2 ( x)=ω1·+ω2·其中:ω1 ,ω2 是加权系数,且ω1 +ω2 = 1,分别根据设计时径向和轴向安装位置的要求设定;取ω1 = 1表示要求中心距最小,取ω2 = 1则表示要求齿宽最小。
3 约束条件(1)模数的限制:对于传递动力的齿轮,通常要求模数不少于1. 5-2,得约束条件: >0(2)小齿轮齿数的限制:小齿轮齿数应不大于产生根切的最小齿数17 ,得约束条件:(3)齿宽系数的限制:由于min ≤≤max ,约束条件为:(4)齿面接触强度的限制,根据公式并查表得约束条件:(5)齿根弯曲强度的限制,根据公式查表得约束条件:4 建立数学优化模型高速级齿轮传动多目标优化设计的数学模型为:(ω1 取0.6,ω2取0.4)Fun(x)=min[ω1+ω2]=5 编写程序并运行结果目标函数M文件:function f=zhwm(x)f=0.6*2.1*x(1)*x(2)+0.4*x(1)*x(2)*x(3);约束函数M文件:function [c ceq]=zhwy(x)c(1)=1.04*10^7-2.916*10^5*(x(1)*x(2))^3*x(3);c(2)=1.04*10^7-8.95*10^6*(x(1)*x(2))^3*x(3);c(3)=1.51*10^6-303.57*x(1)^3*x(2)^2*x(3);c(4)=1.42*10^6-2445.92*x(1)^3*x(2)^2*x(3);ceq=[];优化函数M文件:x0=[2 32 1];lb=[1.5 17 0.7];ub=[2 inf 1.15];u=[];运算上述程序 ,优化结果:Max Line search Directional First-orderIter F-count f(x) constraint steplength derivative optimality Procedure0 4 106.24 01 8 89.4858 0 1 -14.2 132 12 84.0534 2.513e+004 1 -1.41 32.6 Hessian modified3 16 84.5275 0 1 47.2 0.993 Hessian modified twice4 20 84.5254 -6.54e-007 1 -19.7 9.33X =1.7911 27.4377 1.1499Fval =84.5254Exitflag =4经过Matlab优化并圆整后的齿轮参数如下:经过计算,最小体积为87.15。
北航机械优化大作业
现代机械优化设计授课老师:王春洁2014-12-17目录第一部分一、一维优化方法 (2)1. 进退法 (2)2. 格点法 (2)3. 牛顿法 (2)4. 二次插值 (3)应用原则: (4)二、多维无约束优化 (4)1. 梯度法 (4)2. 二阶牛顿法与阻尼牛顿法 (5)3. DFP变尺度法 (6)4. 单纯形法 (6)三、多维约束优化 (6)1. 随机方向搜索法 (8)2. 可行方向法 (8)3. 惩罚函数法 (8)第二部分一、采用有约束多维优化方法解决箱梁模板的设计问题 (10)问题的描述 (11)多维约束优化 (14)总结与致谢 (18)参考文献 (19)第一部分本部分为简述学过的优化算法(一维,多维无约束,多维有约束)的选择方法及应用原则。
一、 一维优化方法1. 进退法由单峰函数的性质可知,在极小点m x 左边函数值应严格下降,而在极小值右边函数值应严格上升。
因此,可从某一个给定的初始点0x 出发,以初始步长0h 沿着函数值的下降方向,逐步前进(或后退),直至找到相继的3个试点的函数值按“高---低---高”变化为止。
2. 格点法格点法是一种计算极其方便的方法,其迭代步骤可简要概括为把搜索区间等分成n 个点12,,n x x x …,,计算各个点对应的数值,取出函数值最小的点的横坐标m x ,之后,在m x 两侧取临点11,m m x x -+,作为新的区间并判断11m m x x eps +--<是否成立,倘若成立,则m x 就是最优解,对应的函数值m y 即为最优值;若不成立则以11[]m m x x -+为新区间重复以上过程直到满足条件为止。
3. 牛顿法牛顿法是用切线代替弧,逐渐逼近函数根值的方法。
当目标函数()f x 有一阶连续导数并且二阶导数大于零时,在曲线'()y f x =上作一系列切线,使之与x 轴的脚垫(0)(1)(2)(3),,,......x x x x 逐渐趋于'()0f x =的根*x 。
合肥工业大学机械优化设计大作业
合肥工业大学《机械优化设计》课程实践研究报告班级: 11级机设学号: 2011姓名:授课老师:王卫荣日期: 2014年 4月日一、研究报告内容:1、λ=0.618的证明、一维搜索程序作业;黄金分割法要求插入点α1、α2的位置相对于区间{a,b}两端点具有对称性,α1=b−λb−aα2=a+λ(b−a)除对称要求外,黄金分割法还要求在保留下来的区间内再插入一点所形成的区间新三段,与原来区间的三段具有相同的比例分布。
设原区间(a,b)长度为1,保留下来的区间(a,α2)长度为λ,区间缩短率为λ。
为了保持相同的比例分布,新插入点α3应在λ(1-λ)位置上,α1在原区间的1-λ位置应相当于在保留区间的λ2位置。
故有1-λ=λ2即λ2+λ-1=0取方程正数解,得λ=5−1≈0.61820.618法C语言程序:#include <stdio.h>#include <math.h>float m=0.618;float fun(float t){float y;y=cos(t);return y;}main(){ float a,b,eps;printf("\min=");scanf("%f",&a); %输入函数下限%printf("\max=");scanf("%f",&b); %输入函数上限%float t1,t2,t,f1,f2,min;printf("eps=");scanf("%f",&eps); %输入精度%while((b-a)/b>=eps){ t1=a+(1-m)*(b-a);t2=a+m*(b-a);f1=fun(t1);f2=fun(t2);if(f1>=f2){ a=t1;t1=t2;f1=f2;t2=a+m*(b-a);f2=fun(t2); }else{ b=t2;t2=t1;f2=f1;t1=a+(1-m)*(b-a);f1=fun(t1);}}t=(a+b)/2;min=fun(t);printf("最优点t=%f\n",t); %输出最优点t% printf("最优值f= %f\n",min);} %输出最优值f%1.Y= cos(t)2.y=(t-2)*(t-2)+32.单位矩阵程序作业程序如下所示:#include "stdio.h"void main (void){int i,j;int n;int a=1;int b=0;printf("阶数n=");scanf("%d",&n);for(i=1;i<=n;i++){for (j=1;j<=n;j++)if(i==j)printf("%2d",a);elseprintf("%2d",b);printf("\n");}}3连杆机构问题+自行选择小型机械设计问题或其他工程优化问题;一、连杆机构问题:问题描述:图1现优化一曲柄连杆机构,如图1所示,已知曲柄长度L1为44mm,机架长度L4为220mm,,要求当曲柄的转角在[φ0,φ+π/2]时,对应的摇杆的输出角为Ψi ,且两者满足对应函数关系Ψi=Ψ+( φ- φi)2,φ和Ψ分别对应于四连杆在初始位置时曲柄和摇杆的位置角。
机械优化设计讲义
机械优化设计讲义学院:专业:姓名:学号:第一讲绪论一、机械优化设计的基本概念1、什么是优化设计在机械产品设计过程中,根据问题的性质和给定的条件,在分析的基础上,综合各方面的要求因素,从全部可行的方案中,寻找出最优方案的方法和过程。
优化设计是利用高等数学中求极(最)值理论,以计算机为计算工具,用数值分析的方法,对机械产品设计问题求出最佳设计参数的工程方法。
“优化设计”对应的是“经验设计”.2、优化设计的过程A、分析设计任务的对象,提出设计思想B、建立优化数学模型,包括选取设计变量,建立目标函数和约束方程C、选择优化方法(自编程序或选择商品程序),上机计算D、对计算结果进行分析F、当结果不甚合理时,修改数学模型,返回B.3、优化设计的局限A、优化设计过程是人和机器合作完成的,“人”在其中起着巨大作用。
B、所谓“最优”是相对的,当设计思想、约束条件,甚C、“最优方案”是否合理、可行,还是要用经验来判断。
二、一个优化设计实例某空心圆柱压杆,压力载荷为P,长度L,截面外径D0,内径D1.变换成中径D和壁厚T;D= (D0+D1)/2T = (D0—D1)/2设材料已经选定,即材料的弹性模量E,许用应力【σ】,密度ρ等已确定。
设计要求:1、强度要求:σ压=P/(πDT)≤【σ】2、稳定要求:σ压=P/(πDT) ≤ 欧拉应力3、结构要求: D ≤ K1T ≥ K2K1,K2为定值T ≤ D/2杆的重量:W = πDTLρ整个问题可以归结为:设计一个压杆,在满足上述5个条件的前提下,使W最小.经验设计此问题,人工选取一对D和T,分别代入上述5个条件,都满足时即可。
是否重量最轻,材料最省,不予考虑,也不得而知。
用优化设计的语言表示上述问题:D,T(或者D0、D1)为设计变量,表示成: X =(x1, x2)W为目标函数,是设计变量的函数,表示成:W = F(x1, x2) = F(X)5个条件叫做约束方程,或者约束条件。
机械优化设计作业
机械优化设计综述( 机械设计11—4班XX )摘要:机械优化设计是一种将传统机械设计理论与现代设计方法相结合的更科学的优化设计方法,能有效的提高机械产品的质量与生产效率。
本文就机械设计优化方面展开论述,主要简述了机械设计优化的基本研究思路,优化设计方法和当前应用中遇到的问题。
[关键词] 优化设计研究思路优化方法趋势机械设计是机械工程中的一项基本技术,如何提高机械设计理论,优化改进设计方法,是当前机械工程学中重点研究内容之一。
近20年来,随着计算机技术的不断发展,机械设计的近代理论与技术等方面也得到很大发展,如机械优化设计,可靠性设计,价值分析原理等。
1 .机械优化设计基本思路机械优化设计是根据机械设计理论,方法及标注规范与设计要求等建立数学模型来反映工程设计问题,再以数学规范理论为求解基础,借助计算机找出设计问题的最优解。
而针对具体设计问题是否选择了合适的优化方法,相应的计算程序是否有效,数学模型构造是否合理,能否反应实际问题且尽量简化,这些都直接关系到机械优化设计进程及结果。
首先要分析设计变量的影响主次,要避免变量过多耦合,及对约束条件的分析;对于目标函数的确定要根据具体的实际问题,把主要突出的问题作为评判标准;数学模型的确立越精确,设计变量就越多,维数也越大,进而建模越复杂,优化进程越慢。
但数学模型忽略过多元素,又难以凸显问题的结构,故要进行认真分析后进行建模;最后要依据高效性,可靠性,稳定性原则(有时个人经验)选择一个合理的优化方法,在计算机上正确表达。
2 .优化设计方法目前根据设计问题分为无约束优化设计方法和有约束设计方法,以及20世纪70年代由美国密执根大学的Holland教授提出的一种全新概率优化方法。
无约束优化算法主要包括坐标轮换法,最速下降法,牛顿法;有约束的优化算法有可行方向法,惩罚函数法,Monte Carlo 法。
而机械优化设计问题一般多为有约束,有约束的算法是在无约束算法及线性规划算法的基础上发展的,所以有约束的优化问题又可以通过间接的方法,将其转化为无约束的优化问题等相对简单优化问题。
《机械优化设计》习题与答案
《机械优化设计》习题与答案机械优化设计习题及参考答案1-1.简述优化设计问题数学模型的表达形式。
答:优化问题的数学模型是实际优化设计问题的数学抽象。
在明确设计变量、约束条件、⽬标函数之后,优化设计问题就可以表⽰成⼀般数学形式。
求设计变量向量[]12Tn x x x x =L 使 ()min f x →且满⾜约束条件()0(1,2,)k h x k l ==L ()0(1,2,)j g x j m ≤=L2-1.何谓函数的梯度?梯度对优化设计有何意义?答:⼆元函数f(x 1,x 2)在x 0点处的⽅向导数的表达式可以改写成下⾯的形式:??=??+??=??2cos 1cos 212cos 21cos 1θθθθxo x f x f xo x f xo x f xo d fρ令xo Tx f x f x f x fx f ??=????=?21]21[)0(,则称它为函数f (x 1,x 2)在x 0点处的梯度。
(1)梯度⽅向是函数值变化最快⽅向,梯度模是函数变化率的最⼤值。
(2)梯度与切线⽅向d 垂直,从⽽推得梯度⽅向为等值⾯的法线⽅向。
梯度)0(x f ?⽅向为函数变化率最⼤⽅向,也就是最速上升⽅向。
负梯度-)0(x f ?⽅向为函数变化率最⼩⽅向,即最速下降⽅向。
2-2.求⼆元函数f (x 1,x 2)=2x 12+x 22-2x 1+x 2在T x ]0,0[0=处函数变化率最⼤的⽅向和数值。
解:由于函数变化率最⼤的⽅向就是梯度的⽅向,这⾥⽤单位向量p表⽰,函数变化率最⼤和数值时梯度的模)0(x f ?。
求f (x1,x2)在x0点处的梯度⽅向和数值,计算如下:()-=??+-==?120122214210x x x x f x f x f 2221)0(??+ =x f x f x f =5-=??????-=??=5152512)0()0(x f x f p ?2-3.试求⽬标函数()2221212143,x x x x x x f +-=在点X 0=[1,0]T 处的最速下降⽅向,并求沿着该⽅向移动⼀个单位长度后新点的⽬标函数值。
机械优化设计讲义第4讲
实验2:编写二次插值法计算程序,并计算书上例3-3。
令
c1
y3
3
y1
1
c2
y2
2
y1
1
c1
2 3
则: p
1 2
(1
3
c1 c2
)
还有两种情况需要考虑:
(1)c2
y2
2
y1
1
c1
2 3
0
时
即 y3 y1 = y2 y1 , 3 1 2 1
说明三个插值点共线,该直线与α轴平行,取α*=α2。
(2)若αp落在[α1,α3]之外,取α*=αp。
3.4 一维搜索的插值方法 利用插值方法建立函数的某种近似表达式,进而求出
函数的极小点,并用它作为原来函数极小点的近似值。这 种方法称作插值方法,又称作函数逼近法。
1.牛顿法:利用一个点的函数值、一阶导数值、二阶导数值来 构造二次函数。
2.二次插值法:利用三个点的函数值形成抛物线来构造二次函数。
一、牛顿法
f ( ) ( )
f
( )
f (0 )(
0)
1 2
f (0 )(
0 )2
根据极值必要条件:
( ) 0 即:f ( 0) f ( 0)(1 0) 0
得:1
0
f (0 ) f (0 )
依此类推,可得牛顿法迭代公式
k 1
k
f (k ) f (k )
k 1, 2,
牛顿法几何解释:
计算步骤:
给定α0,ε
1
0
f (0 ) f (0 )
F
T
α0=α1
|α1-α0|≤ε
优点:收敛速度快。
机械优化设计》讲义
《机械优化设计》讲义绪言优化设计是1960年代初发展起来的一门新学科,它是以电子计算机为工具,使用最优化理论寻求最优设计方案的一种现代设计方法。
最优化理论是一个重要的数学分支,它所研究的问题是讨论在众多的方案中什么样的方案最优以及如何找出最优方案。
这类问题普遍存在于各个领域中。
运筹学(Operations Research)用它研究生产、管理、商业、军事、决策等领域中的问题。
优化设计(Optimal Design)用它处理工程设计领域中的设计问题。
在机械设计领域,传统的设计过程通常按下面步骤进行:1、在调查分析的基础上,通过估算、经验类比或者实验来选择初始设计参数。
2、对尺寸、强度、刚度、稳定性……等各项设计要求进行计算和检查。
3、如果设计要求得不到全部满足,设计人员将调整修改某些设计参数,然后转第2步。
如此反复,直到所有的设计要求都得到满足为止。
由此可见,传统的机械设计过程本质上是人工反复试凑的过程。
用这种方法找到的设计方案,只是众多可行方案中的一个,一般都有再改进的余地。
使用优化设计方法进行机械设计,即用电子计算机的优化计算取代传统设计的人工试凑,不仅能够实现设计计算的自动化,把设计人员从反复检查、反复修改的繁琐计算中解放出来,而且能够获得人工试凑难以得到的、众多可行方案中最优的方案。
一个机械优化设计问题包括两方面内容:1、把实际的设计问题化为数学规划问题,即建立数学模型。
建立数学模型时,需要应用专业知识来确定设计的限制条件和追求的目标,以确立各设计变量之间的相互关系。
2、求解这个数学规划问题。
根据数学模型的特点,应用优化设计的理论,选择适当的优化算法,使用计算机求解。
第1章 优化设计的数学模型1.1 一个简单的优化设计问题例1.1 试设计一个用钢板焊接而成的密封圆筒形容器(图1.1)。
要求其容积为 2 m 3,能承受内部 p = 3MPa 的蒸汽压力。
受安装空间限制,要求其外部直径和高度分别为 1 m ≤ d ≤ 3 m 和 1 m ≤ h ≤ 3 m 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高等流体力学班级:机设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 -+=λα其中λ为待定常数。
此外,黄金分割法还要求在保留下来的区间内再插入一点所形成的区间新三段,与原来的区间三段具有相同的比例分布。
黄金分割法还要求在保留下来的区间内再插一点所形成的区间新三段,与原来的区间三段有相同的比例分布。
设原区间],[b a 的长度为1,如图一所示,保留下来的区间],[21αα长度为λ,区间缩短率为λ。
为了保持相同的分别比例。
插入新点3α应在()λλ-1位置上,1α在原区间的λ-11位置应相当于在保留区间的2λ位置。
故有:2-1λλ=01-2=+λλ解得618.021-5≈=λabα1α2aα2α3α1编写0.618的程序,并计算下列问题()osxxfbaNO c2:1.===π()()3210:2.2+-===xxfbaNO(1)采用MATLAB进行编程%%%fun.m:黄金分割法求极值点%输入数据% a –搜索区间下限% b –搜索区间上限% e –精度%输出数据:% x –极小值点%其他常量:% c1,c2,c3 –区间% r –黄金分割比例0.618%%%定义函数function x=fun(a,b,e)r=0.618;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>=y2a=c1;c1=c2;y1=y2;c2=a+r*(b-a);y2=f(c2);elseb=c2;c2=c1;y2=y1;c1=b-r*(b-a);y1=f(c1);endendx=0.5*(a+b);end对f函数的确立10function y=f(x)y=(x-2)^2+3;end11function y=f(x)y=cosxend程序框图如果要计算y=(x-2)^2+3;的黄金分割法,则需要将图所示的f 脚本中的函数写成如①所示 如果要计算y=cosx ;黄金分割法,则需要将图所示的f 脚本中的函数写成如②所示 fun 函数表示对matlab 的主程序语言。
函数NO.2运算结果:函数NO.1运算结果:(2)采用C语言进行编程#include <stdio.h>#define K 0.618double f(double); /*****函数值计算函数声明*****/void main(void){double a,b,size;double a1,a2;int I;printf(“请输入区间两端点(端点值应大于0):”);scanf(“%lf,%lf”,&a,&b); /*****输入端点值*****/printf(“请输入精度:”);scanf(“%lf”,&size); /*****输入精度*****/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) /*****用精度控制循环次数*****/{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;elseb=a2;}printf(“所求极小值点为:x=%lf\t极小值f(x)=%f\n”,a,f(b));}double f(double x) /*****函数值计算函数*****/{double f;f=(x-2)*(x-2)+3;return(f);}对于y=cosx,须在程序中加一个#include(math.h)头程序,以示我要调用函数语句。
再将倒数第三行函数改为y=cos(x),再次编译运算即可。
运行如图所示我们可以看出,大约在x=2处取到极值。
与理论相符。
运行如图所示我们可以看出,大约在π处取到极值。
与理论相符。
二、用简单的语句写一个单位矩阵①采用matlab构造:Matlab构造的矩阵最是简便,因为本身就有一个单位矩阵的函数。
由于matlab是基于C语言而设立的一个数学运用软件,所以他的集成度非常高,而且具有很好的开放性,于是我们得知eye函数,将其构造。
Eg:若要构造一个3维的单位矩阵,则输入eye(3)若要构造一个n为的单位矩阵,这输入eye(n)②用C语言构造程序如图所示:#include <stdio.h>int main() {int I,j,n;while(scanf(“%d”,&n) == 1) {for(I = 0; I < n; ++i) {for(j = 0; j < n; ++j)printf(“%d “,I == j);printf(“\n”);}}return 0;}三、机械优化设计工程实例① 连杆机构问题(1)连杆机构问题描述图 1 机构简图设计一曲柄连杆摇杆机构,要求曲柄1l 从︒+=900ϕϕm 时,摇杆3l 的转角最佳再现已知的运动规律:200)(32ϕϕπψψ-+=E 且1l =1,4l =5,0ϕ为极位角,其传动角允许在︒︒≤≤13545γ范围内变化。
(2)数学模型的建立设计变量:这里有两个独立参数2l 和3l 。
因此设计变量为[][]tTl l x x x 3221==目标函数:将输入角分成30等分,并用近似公式计算,可得目标函数的表达式()([)()]12301-=--=∑i i Ei i i x f ϕϕϕϕ约束条件:GX(1)=-X(1)≤0 GX(2)=-X(2) ≤0GX(3)=-(X(1)+X(2))+6.0≤0 GX(4)=-(X(2)+4.0)+X(1) ≤0 GX(5)=-(4.0+X(1))+X(2) ≤0GX(6)=-(1.4142*X(1)*X(2)-X(1)**2-X(2)**2)-16.0≤0 GX(7)=-(X(1)**2+X(2)**2+1.4142*X(1)*X(2))+36.0≤0(3)程序编制 C ====================== SUBROUTINE FFX(N,X,FX) C ====================== DIMENSION X(N)COMMON /ONE/I1,I2,I3,I4,NFX,I6 NFX=NFX+1P0=ACOS(((1.0+X(1))**2-X(2)**2+25.0)/(10.0*(1.0+X(1)))) Q0=ACOS(((1.0+X(1))**2-X(2)**2-25.0)/(10.0*X(2))) T=90.0*3.1415926/(180.0*30.0) FX=0.0DO 10 K=0,30PI=P0+K*TQE=Q0+2.0*(PI-P0)**2/(3.0*3.1415926)D=SQRT(26.0-10.0*COS(PI))AL=ACOS((D*D+X(2)*X(2)-X(1)*X(1))/(2.0*D*X(2))) BT=ACOS((D*D+24.0)/(10.0*D))IF(PI.GE.0.0 .AND. PI.LT.3.1415926) THEN QI=3.1415926-AL-BTELSEQI=3.1415926-AL+BTEND IFIF(K.NE.0 .OR. K.NE.30)THENFX=FX+(QI-QE)**2*TELSEFX=FX+(QI-QE)**2*T/2.0END IF12CONTINUERETURNENDC ========================= SUBROUTINE GGX(N,KG,X,GX)C =========================DIMENSION X(N),GX(KG)GX(1)=-X(1)GX(2)=-X(2)GX(3)=-(X(1)+X(2))+6.0GX(4)=-(X(2)+4.0)+X(1)GX(5)=-(4.0+X(1))+X(2)GX(6)=-(1.4142*X(1)*X(2)-X(1)**2-X(2)**2)-16.0GX(7)=-(X(1)**2+X(2)**2+1.4142*X(1)*X(2))+36.0 RETURNENDC ========================= SUBROUTINE HHX(N,KH,X,HX)C =========================DIMENSION X(N),HX(KH)X(1)=X(1)RETURNEND输入数据如下:2,7,04.3,3.22.,0.2,0.01,0.00001,0.000010,1,03.5,2.8,5.5,4.5(4)可执行程序的生成13将程序文本保存成文件t001.txt,存放在OPT_EXAM\FORTRAN\0-fortran目录下。