第1章 优化设计和工程软件应用概述.docx
- 文档编号:3409907
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:46
- 大小:404.15KB
第1章 优化设计和工程软件应用概述.docx
《第1章 优化设计和工程软件应用概述.docx》由会员分享,可在线阅读,更多相关《第1章 优化设计和工程软件应用概述.docx(46页珍藏版)》请在冰豆网上搜索。
第1章优化设计和工程软件应用概述
第1章优化设计和工程软件应用概述
1.1优化设计概述
1.1.1常规设计与优化设计
一、常规设计
当人们开始做一件不太熟悉的事情,他或许只要能把事情办成就感到满意了。
当他做这件事有了一些经验,就会考虑如何把事情做得更好,追求完美是人类社会进步的动力之一。
早年设计一辆汽车,主要考虑能安全运行,后来进一步要求如何平稳,如何节能,现在还需要内部装修舒适,外部造型优美。
一言以蔽之,把事情作得更好,这就是优化。
一项机械产品的设计,一般需经过提出课题、调查分析、技术设计、结构设计、绘图和编写设计说明书等环节。
传统设计方法通常在调查分析的基础上,参照同类产品通过估算、经验类比或实验来确定初始设计方案。
然后根据初始设计方案的设计参数进行强度、刚度、稳定性等性能分析计算,检查各项性能指标是否满足设计指标要求。
如果不完全满足性能指标的要求,设计人员将凭经验或直观判断对参数进行修改。
这样反复进行分析计算→性能检验→参数修改,直到性能完全满足设计指标的要求为止。
整个传统设计过程就是人工试凑和定性分析比较的过程,主要是工作性能的重复分析,至于每次参数的修改,仅仅凭借经验或直观判断,并不是根据某种理论精确计算出来的。
这样往往只能得到有限方案中较好的方案,而不是一切方案的“最优设计方案”。
例1-1:
设计一体积为5m3的薄板包装箱,其中一边长度不小于4m。
要求使薄板耗材最少,试确定包装箱的尺寸参数:
长a、宽b、和高h。
解1:
常规设计
设计方案
1
2
3
4
5
…
包装箱尺寸
宽度b/m
高度h/m
表面积s/m2
可见过程繁琐复杂
二、优化设计
“最优化设计”是在现代计算机广泛应用的基础上发展起来的一项新技术。
是根据最优化原理和方法综合各方面的因素,以人机配合的方式或“自动探索”方式,在计算机上进行半自动或自动设计,以选出在现有工程条件下的最佳设计方案的一种现代设计方法。
1、最优化问题
例1-1:
解2:
建立最优化模型
约束:
目标:
求解:
,
,
总结:
优化设计是用数学规划理论和计算机自动探优技术来求解最优化问题。
2、机械/工程优化设计
就是使某项机械设计在规定的各项设计限制条件下,优选设计参数,使某项或某几项设计指标获得最优值。
(也即在给定设计要求下,寻求工程机械产品、零部件的最好设计方案,最好设计参数或最好的结构尺寸)
3、工程优化设计过程
工程设计问题数学模型优化方法和计算程序求解
数学描述模型特点
4、机械优化设计与传统设计的联系与区别
(1)联系:
机械优化设计是在传统基础上的提高,它是在传统设计基础上,抽象成数学模型,然后利用数学理论和电子计算机来求解。
(2)区别:
设计思想:
最优化设计→建立正确的数学模型
设计方法:
优化方法→计算机自动寻优
设计手段:
计算机→速度快,可保证从大量方案中选出最优方案。
可见:
机械优化设计=专业理论+数学规划论+电子计算机
1.1.2优化设计的发展概况
1、数学规划:
最早的优化设计。
最优化方法是一门古老而又年轻的学科,这门学科的源头可以追溯到法国数学家拉格朗日关于一个函数在一组等式约束条件下的极值问题。
50年代以前,用于解决最优化问题的数学方法仅限于古典的微分法和变分法。
(1)50年代末数学规划方法被首次用于结构优化,并成为优化设计中求优化问题的理论基础。
(2)60年代初电子计算机的引入,使得在数学规划基础上发展起来的最优化设计成为一种有效的设计方法,它不仅可以使得设计周期大大缩短,计算精度显著提高,并且可以解决传统方法所不能解决的比较复杂的最优化设计问题。
例:
(1)贝尔公司,450维,机翼质量设计,减轻35%
(2)播音747机身设计,减轻重量,缩短周期,降低成本;
(3)美P.N.SINGH设计机床主轴,十个档,九个设计变量,八十四个约束条件,目标函数是各轴中心距总和为最小。
中心距578降低至482.3mm,重量减轻。
(4)某化工优化系统,根据所给数据,进行了16000个可行性设计,从中选出一个成本最低、产量最大的方案,并给出了必须的精确的数据,仅用了16小时;而在此之前,一组工程师用了一年,仅作出三个可行方案,但效率却没有一个可以与上述方案相媲美的。
如今电子计算机和计算技术迅速发展,我们可借助于计算机,从大量可行设计方案中寻找一种最优的设计方案。
优化方法不仅用于产品结构的设计、工艺方案的选择,也用于运输路线的确定,商品流通量的调配、产品配方的配比等等。
目前,优化方法在机械、冶金、石油、化工、电机、建筑、宇航、造船、轻工等部门都已得到广泛应用。
2、近年优化设计的探索
(1)面向产品创新设计的优化技术;
(2)面向产品寿命周期的优化技术;
(3)智能化优化设计技术;
(4)模糊优化设计技术;
(5)广义优化设计技术
3、机械优化设计的发展概况
(1)机械学方面:
是机械优化设计开展较早的领域
●门座式起重机连杆变幅机构设计:
过去均用作图法,精度和设计水平低,应用优化后,设计性能指标超过70年代进口同类起重机水平。
●连杆机构的优化
(2)机械零部件方面:
是近十年来的发展
对轴结构,弹簧结构优化设计。
例如:
对简单结构进行优化,比传统方法可节料7%左右;对稍复杂的可节料20%左右;单级圆柱齿轮减速器用优化设计可减小体积10~25%。
(3)机械结构参数和形状的优化设计:
近年来发展的重要内容之一。
●高速内燃机配气凸轮,过去用双圆弧曲线,丰满系数大,但最大正负加速度变化剧烈,造成冲击、振动和噪声大。
采用高次多项式凸轮,用复合形法优化后,在最大负加速度不超过原有数值和丰满系数及最小曲率半径不小于原有数值的情况下,加速度曲线变化平滑,减少了冲击、振动和噪音,减小了接触应力,延长了寿命。
●任何一部机器都是由某些专用构件和典型零件组合而成,其中存在大量的依靠接触和挤压传递载荷进行工作的零部件,如轧辊,齿轮传动的齿轮,滚动轴承的滚子与滚道,这些零件的寿命大多与其接触面上的挤压和接触应力的大小有关。
若我们改变这些零件的接触面形状,其应力大小分布也会随之改变。
于是如何通过合理的构件形状,去改善构件的力学性能,就成为优化结构领域的一个重要研究课题。
(4)亟待解决的问题
整机优化设计模型及方法的研究,多目标决策问题,动态系统,随机模型等。
1.1.3工程软件在优化设计分析中的应用
1、“六五”期间合肥工大和华中工学院牵头15所高校联合开发的
●OPB常用优化方法程序库
●常用机械零部件及机构优化设计程序库
2、“七五”期间开发的
●OPB-2优化方法程序库
●处理离散变量的“MOD”
3、合肥工大“综合模块化优化方法程序库的研究”
4、MathWorks公司1994年推出的科技应用软件MATLAB
所附带的优化工具箱optimizationToolbox中包含一系列优化算法和模块。
5、Pro/Engineer是美国PTC公司为微机开发的参数化设计和基于特征设计的实体造型的三维集成化软件,可以参数实体建模,使得产品设计全过程的自动化和智能化得以实现,即MDA(机械设计自动化)。
6、UG是美国麦道(MD)公司推出的。
7、Solidworks
1.1.4本课程的主要内容和先修课程
一、主要内容
(1)建立优化设计问题的数学模型:
由于机械优化设计是应用数学方法寻求机械设计的最优方案,所以首先要根据实际的机械设计问题建立相应的数学模型,即用适当的形式来描述实际设计问题。
这就需要应用专业知识确定设计的限制条件和所追求的目标,确立各设计变量之间的相互关系。
(2)选择恰当的优化方法与程序:
数学模型一旦建立,机械优化设计问题就变成一个数学问题,应用数学规划的理论,根据数学模型的特点,可以选择适当的优化方法,进而可以选取或自行编制计算机程序,以计算机作为工具求得最佳设计参数。
二、本课程先修课程
1、高等数学
2、专业基础课程以及部分专业课程,以满足专业知识的需要
3、一门程序语言
三、本课程有关规定
考试成绩组成:
平时作业(30%编写程序或是建立模型)+考试成绩(70%)
1.2MATLAB系统简介
MATLAB意为矩阵(Matrix和Laboratory的组合),是美国MathWorks公司用C语言开发出来的优秀的科技应用软件,是一种面向科学与工程计算的科学计算语言。
1.2.1MATLAB的主要特点
1、编程容易
(1)有丰富的库函数可直接调用,避免了对大量算法的重复编程;
(2)语句采用通用的数学形式,语法规则与一般结构化高级编程语言相差不大;
(3)在命令窗口中输入命令即可直接得出结果。
2、调试方便
MATLAB是一种解释执行语言,将编辑、编译、连接、执行和调试等步骤融为一体,并在同一个窗口的处理程序中给出语法错误或逻辑错误。
3、扩充性好
(1)MATLAB的库函数名称与用户文件保持形式一致,用户可以根据需要方便地建立或扩充库函数。
(2)MATLAB的核心文件和工具箱文件都是可读写的源文件,用户可以根据需要对其进行修改或编制新的工具箱。
4、交互性好
5、计算功能
(1)具有强大的矩阵数值计算功能、可方便地处理许多特殊矩阵;
(2)工具箱中许多高性能的数值计算方法,可以解决实际应用中的许多数学问题。
6、绘图功能
(1)可以绘制一般的二维或三维图形;
(2)可以绘制工程特性较强的特殊图形;
(3)其可视化功能可以绘制一些用于数据分析的图形。
7、系统仿真
1.2.2MATLAB的工作界面
1、命令窗口(CommandWindow)
(1)是与MATLAB编译器连接的主要交互窗口,用于输入命令、函数、数组和表达式等信息,并显示输出结果;
(2)“>>”是运算提示符,表示MATLAB处于准备状态
2、工作间管理窗口(Workspace)
(1)用于显示MATLAB在内存空间中存储的所有变量的名称、数学结构、字节数和类型;
(2)在该窗口中,可对变量进行观察、编辑、提取和保存。
3、当前目录浏览器(CurrentDirectory)
(1)用于显示当前工作目录下的文件名、文件类型和目录;
(2)与工作间管理窗口同时位于MATLAB界面左侧上方,通过窗口标签进行切换
4、历史命令窗口(CommandHistory)
(1)记录已经运行过的命令、函数和表达式等信息,可以在该窗口中对它们进行重复运行或复制。
5、开始按钮
菜单形式,其中有部分菜单子项与交互界面窗口相似,此外还有桌面窗口设置、访问MATLAB公司网站、帮助文件、运行演示等。
6、当前目录的浏览与修改
7、M文件编辑/调试器
在缺省情况下,该编辑/调试器不随操作截面的出现而启动。
只有当进行“打开文件”等操作时,该编辑/调试器才启动。
8、每个窗口右上角的“”:
使该窗口成为独立窗口;
“”:
使该窗口回到交互界面;
“×”:
关闭该窗口。
1.2.3CommandWindow运行入门
MATLAB有许多使用方法。
但最基本的,也是入门时首先要掌握的是:
MATLAB指令窗的基本表现性态和操作方式。
一、CommandWindow指令窗简介
1、基本外形
2、指令窗中“>>”是指令行提示符;
3、指令窗对关键词(如if,for等)、字符串、注释、普通指令表达式等采用不同颜色表示。
其用色的缺省设置与MATLAB编辑器中情况相同。
用户若想改变设置,可以通过下拉菜单【File:
Preferences】进行操作。
二、最简单的计算器使用法
本节以算例归纳一些MATLAB最基本的规则和语法结构。
例1-2:
求
的算术运算结果
说明:
(1)“>>”是指令输入提示符;
(2)MATLAB的运算符(如+,-等)都是各种计算程序中常见的习惯符号;
(3)本例计算结果显示中的“ans”是英文“answer”的缩写,其含义是“运算答案”。
它是MATLAB的一个默认变量。
例1-3:
简单矩阵
的输入步骤。
说明:
(1)MATLAB中的所有命令都必须在英文状态下输入,包括标点符号;
(2)在全部键入一个指令行内容后,必须按下【enter】键,该指令才会被执行;
(3)直接输入矩阵时,矩阵元素用空格或逗号分隔;矩阵行用分号分隔;整个矩阵放在[]内;
(4)在MATLAB中不必实现对矩阵维数做任何说明,存贮将自动配置。
(5)指令被执行后,矩阵A被保存在MATLAB的工作空间(Workspace)中,以备后用。
如果用户不用clear指令清除它,或对它重新赋值,那么该矩阵会一直保存在工作空间中,直到本MATLAB指令窗被关闭为止;
(6)MATLAB对字母大小写是敏感的。
例1-4:
矩阵的分行输入。
说明:
(1)本列采用这种输入法是为了视觉习惯。
较大矩阵多用此法;
(2)这种输入方法中,“回车”符用来分隔矩阵中的行。
例1-5:
指令的续行输入。
说明:
(1)MATLAB用3个或3个以上的连续黑点表示“续行”,即表示下一行是上一行的继续;
(2)在指令窗中续行号可用,在Notebook中则得任其自动“回绕”。
(3)MATLAB采用表达式语言。
用户输入语句由MATLAB系统解释运行。
MATLAB语言有两种常用形式:
●表达式,如例1-2
●变量=表达式,如例1-3、1-4、1-5
1.2.4数值、变量和表达式
一、数值的记述
1、MATLAB的数值采用习惯的十进制,可以带小数点或负号。
以下记述都合法:
3-990.0019.4561.3e-34.5e33
2、采用IEEE浮点算法的计算机上,数值的相对精度是eps,即大约保持有效数字16位。
数值范围大致为10e-308~10e308,即1×10-309~1×10309。
二、变量命名规则
1、变量名、函数名对字母大小写敏感。
如myvar和MyVar是两个不同的变量;sin是MATLAB定义的正弦函数名,但SIN,Sin则是两个变量名。
2、变量名的第一个字符必须是英文字母。
变量名最多可包含63个字符(英文字母、数字和下连符)。
3、变量名中不能包含空格、标点,但可以包含下划线。
三、MATLAB默认的预定义变量
1、MATLAB中的预定义变量(Predefinedvariable),每当MATLAB启动时,这些变量就被产生。
预定义变量
含义
预定义变量
含义
ans
计算结果的缺省变量名
NaN或nan
不是一个数,如0/0,∞/∞
eps
机器零阈值
nargin
函数输入宗量数目
Inf或inf
无穷大,如1/0
nargout
函数输出宗量数目
i或j
虚单元i=j=
realmax
最大正实数
pi
圆周率π
realmin
最小正实数
2、几点说明
(1)表中的变量名假如没有被用户赋值,那么该变量将取表中的预定义值;
(2)若用户对任何一个预定义变量赋值,则该变量的默认值将被用户的新赋值“临时”覆盖,直至用户执行clear指令,或MATLAB指令窗关闭后重启。
(3)在遵循IEEE算法规则的机器上,除0是被允许的。
它不会导致程序执行的中断,只是在给出警告信息的同时,用一个特殊名称(如Inf,NaN)记述。
这个特殊的名称将在以后的计算中以合理的形式发挥作用。
四、运算符和表达式
1、算术运算符在MATLAB中的表达方式
数学表达式
MATLAB运算符
MATLAB表达式
加
a+b
+
a+b
减
a-b
-
a-b
乘
a×b
*
a*b
除
a÷b
/或\
a/b或b\a
幂
ab
^
a^b
2、说明
(1)所有运算都定义在复数域上。
对于方根问题,运算值返还处于第一象限的解;
(2)MATLAB用左斜杠或右斜杠分别表示“左除”或“右除”。
对标量,二者作用没有区别;但对矩阵,“左除”和“右除”将产生不同影响。
(3)MATLAB书写表达式的规则与“手写算式”几乎完全相同。
●表达式由变量名、运算符和函数名组成;
●表达式按照与常规相同的优先级自左至右执行运算;
●优先级:
指数>乘除>加减
●书写表达式是,赋值符“=”和运算符两侧允许有空格,以增加可读性。
1.2.5CommandWindow操作要旨
一、指令窗显示方式操作
1、缺省显示方式
(1)颜色:
if,for等关键词采用蓝色字体;输入的指令、表达式以及计算结果等采用黑色字体;字符串采用着赭红色字体;
(2)显示位数:
计算结果多以“短(short)”格式显示,但实际存储和运作时都以双精度进行。
2、显示方式的设置
(1)【File:
Preferences】中设置;
(2)这种设置生效将会永久保留,并不因为MATLAB的关闭和开启而改变。
二、数值计算结果的显示格式
指令
含义
举例说明
format/formatshort
通常保证小数点后4位有效数字,最多不超过7位
314.159被显示为314.1590
formatlong
15位数字表示
3.14159265358979
formatshorte
15位科学记数表示
3.1416e+00
formatlonge
从formatshort和formatshote中自动选择最佳记述方式
3.1416
说明:
还有很多,不不一一列举。
三、指令行中的标点符号
名称
标点
作用
空格
1、输入量与输入量之间的分隔符,方便机器辨认;
2、数组元素分隔符
逗号
,
1、输入量与输入量之间的分隔符;
2、数组元素分隔符号;
3、要显示计算结果的指令与其后面的指令之间的分隔
黑点
.
数值表示中的小数点
分号
;
1、不显示计算结果指令的“结尾”标志;
2、不显示计算结果指令与其后指令的分隔;
3、数组的行间分隔符
冒号
:
1、用以生成一维数组;
2、用作单下标援引时,表示全部元素构成的长列;
3、用作多下标援引时,表示那维上的全部
注释号
%
由它“启首”后的所有物理行部分被看做非执行的注释
单引号对
‘’
字符串记录符
圆括号
()
1、在数组援引时用;
2、函数指令输入宗量列表时用
方括号
[]
1、输入数组时用;
2、函数指令输出宗量列表时用
下连符
_
用作一个变量、函数或文件名中的连字符
续行号
…
由三个以上连续黑点组成。
它把其下的物理行看做该行的“逻辑”继续,以构成一个“较长”的完整指令
“At”号
@
1、放在函数名前,形成函数句柄;
2、放在目录名前,形成“用户对象”类目录
说明:
以上符号,一定要在英文状态下输入,因为MATLAB不能识别中文标点。
四、指令窗的常用控制指令
指令
含义
指令
含义
cd
设置当前工作目录
exit
关闭/退出MATLAB
clf
清除图形窗
quit
关闭/退出MATLAB
clc
清除指令窗中显示的内容
md
创建目录
clear
清除MATLAB工作空间保存的变量
more
使其后的显示内容分页进行
dir
列出指定目录下文件和子目录清单
type
显示指定M文件的内容
edit
打开M文件编辑器
which
指出其后文件所在的目录
说明:
(1)clear指令,也可以在工作空间浏览器交互界面中实现;
(2)edit命令,也可以从下拉菜单【File:
New:
M-file】,或点击实现。
五、指令窗中指令行的编辑
键名
作用
键名
作用
↑
前寻式调回已输入的指令行
Home
使光标移到当前行的首端
↓
后寻式调回已输入的指令行
End
使光标移到当前行的尾端
←
在当前行中左移光标
Delete
删去光标右边的字符
→
在当前行中右移光标
Backspace
删去光标左边的字符
PageUp
前寻式翻阅当前窗中内容
Esc
清除当前行的全部内容
PageDown
后寻式翻阅当前窗中内容
例1-6:
指令操作实现:
求解
;
然后用指令行编辑法,求解
1.2.6数组
一、数组的建立
1、逐个元素输入法
例1-7:
生成数组x,其中
2、冒号法
方法:
这是通过“步长”设定,生成一维“行”数组的方法,格式如下:
x=[初始量:
步长:
终止量]
例1-8:
生成数组x,其中
说明:
(1)当步长为1时,可省略。
(2)方括号可省略
3、特殊用法
●x=linspace(a,b,n):
在a和b间均匀n个采样
●y=logspace(a,b,n):
在10a和10b间均匀n个采样;
当b=pi时,则为10a和pi间均匀n个采样
例1-9:
生成一维数组x,其中
例1-10:
在1~100间生成一维数组x,其中包含5个元素
例1-11:
在10~pi间生成一维数组x,其中包含5个元素
4、全零数组的创建
例1-12:
创建(2×4维全零数组)
二、引用数组
1、一维数组
格式:
x(n);%一维数组中的第n个元素
x(n1:
n2);%一维数组中的第n1至n2个元素
例1-13:
产生均匀分布的一维伪随机数组,含5个元素,并对其第3个元素进行寻访。
例1-14:
以上面产生的数组为原始数组,指出下面语句执行的结果。
x([125]%寻访数组x的第1、2、5个元素组成的子数组
x(1:
3)%寻访前3个元素组成的子数组
x(3:
end)%寻访从3个元素至最后一个元素,end是最后一个元素的下标
x(3:
-1:
1)%寻访由前3个元素倒排组成的子数组
x(find(x>0.5))%寻访由>0.5的元素组成的子数组
x=([12344321])%对元素寻访可重复,使所得数组长度大于原数组
x(3)=0%对第3个元素赋值为0
x([14])=[11]%将当前数组中第1、4个元素赋值为1
说明:
(1)寻访元素序号n,可以是单个正整数或正整数数组,但必须在原数组长度内;
(2)被重新赋值的子数组长度与送入的数组长度相同。
2、二维数组
格式:
x(m,:
);%二维数组中的第m行所有元素
x(:
n);%二维数组中的第n列所有元素
x(m,n1:
n2);%二维数组中的第m行中的n1至n2个元素
例1-15:
二维数组x=[123;234;245],求x(2,2:
3)。
1.2.7数组运算和矩阵运算
从外形和数据结构上看,二维数组和矩阵没有区别。
但矩阵作为一种变换或映射算子的体现,有着明确而严格的数学规则。
而数组运算是MATLAB软件所定义的规则,其目的是为了数据管理方便、操作简单、指令形式自然和执行计算的有效。
说明:
(1)数组“除、乘方、转置”运算符前的小黑点绝对不能遗漏,否则不按数组规则运算进行。
(2)在执行数组与数组之间的运算时,参与运算的数组必须同维,运算所得结果数据也总与原数组同维。
例1-16:
数组
,
,
,分别求AB,AC,A+B,A+C
数组运算
矩阵运算
指令
含义
指令
含义
A.’
非共轭转置
A’
共轭转置
A=s
把标量s幅值给A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第1章 优化设计和工程软件应用概述 优化 设计 工程 软件 应用 概述
![提示](https://static.bdocx.com/images/bang_tan.gif)