MATLAB在优化中的应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二次规划 约束极小 (非线性规划) 达到目标问题
s.t. Ax<=b Min F(X) s.t. G(X)<=0 Min r s.t. F(x)-wr<=goal Min max {Fi(x)}
X {Fi(x)}
极小极大问题
s.t. G(x)<=0
2.
优化函数的输入变量
使用优化函数或优化工具箱中其它优化函数时, 输入变量见下表:
(6)对结果数据和设计方案进行合理性和适用性分 析
优化设计数学模型
1,建立数学模型的基本原则 数学模型的建立要求确切、简洁的反映工程问题
2,数学模型的三要素
设计变量
目标函数
约束条件
无约束优化方法
最速下降法(梯度法) 牛顿型方法
共轭方向法
变尺度法
坐标轮换法
鲍威尔方法 单形变换法
最速下降法(梯度法)
优化设计是追求目标函数值f(x)最小,因此, 一个很自然的想法是从某点x出发,其搜索方向d 取该点的负梯度方向-▽f(x),使函数值在该点附 近的范围内下降最快。形成以下迭代算法
x
k 1
x ak f ( x ) (k 0,1,2,)
k k
为了使目标函数值沿搜索方向f ( x k ) 能够获得 最大的下降值,其步长因子 k 应取一维搜索的最佳 步长。即有 相邻的两个迭代点上的函
k k 数梯度相互垂直而搜索方 f ( x k 1 ) f [ x k ak f ( x k )] min f [ x a f ( x )] k a 向就是负梯度方向,因此 相邻的两个搜索方向相互 min ( ) a 垂直。这就是说在最速下 降法中,迭代点向函数极 根据一元函数极值的必要条件和多元复合 小点靠近的过程,走的是 函数求导公式,得 曲折的路线。
MATLAB具有非常强大的计算功能,其已成为世界 上应用最广泛的工程计算应用软件之一。 (Mathematica、Maple)
MATLAB主要功能和特点
主要功能 1,数字计算功能 主要特点 1,功能强大 含有四十多个应用于不同 领域的工具箱 2,界面友好 其指令表达方式与习惯 上的数学表达方式非常的接 近 3,扩展性强 用户可自发的开发自己的 应用程序
1
继续作下去,经10次迭代后,得到最优解 x 0
0 T
f ( x ) 0
梯度法的特点
(1)理论明确,程序简单,对初始点要求不严格。
(2)对一般函数而言,梯度法的收敛速度并不快,因
为最速下降方向仅仅是指某点的一个局部性质。
(3)梯度法相邻两次搜索方向的正交性,决定了迭代
全过程的搜索路线呈锯齿状,在远离极小点时逼近速度
直接解法通常适用于仅含不等式约束的问题,思路是在m 个不等式约束条件所确定的可行域内,选择一个初始点, 然后决定可行搜索方向S,且以适当的步长,沿S方向进行 搜索,得到一个使目标函数值下降的可行的新点,即完成 一次迭代。再以新点为起点,重复上述搜索过程,直至满 足收敛条件。 间接解法的基本思路是将约束优化问题中的约束函数进行 特殊的加权处理后,和目标函数结合起来,构成一个新的 目标函数,即将原约束优化问题转化成为一个或一系列的 无约束优化问题。再对新的目标函数进行无约束优化计算, 从而间接地搜索到原约束问题的最优解。
MATLAB在机械优化设计中的应用
林洋81530ห้องสมุดไป่ตู้5
目录
1 2 3 4 5
了解MATLAB相关内容 优化设计理论相关内容 无约束优化问题算法 有约束优化问题算法 案例分析
MATLAB简介
美国Mathworks公司推出了MATLAB以其强大的功能 和易用性受到越来越多的科技工作者的欢迎。
MATLAB由主包和功能各异的工具箱组成,其基本 数据结构是矩阵。
优化设计问题分类
函数优化问题
无约束
有约束
组合优化问题
优化设计的一般实施步骤
(1)根据设计要求和目的定义优化设计问题 (2)建立优化设计问题的数学模型
(3)选用合适的优化计算方法
(4)确定必要的数据和设计初始点
(5)编写包括数学模型和优化算法的计算机程序, 通过计算机的求解计算获取最优结构参数
fval
exitflag
output
所有优化函数
优化设计理论
优化设计 的必要性
质量问题 50%由于设 计不周
成本 70%设计阶 段决定
总周期 40%设计周 期 占据
优化设计的概念
优化设计是借助最优化数值计算方法和计算机技 术,求取工程问题的最优设计方案。 即:进行最优化设计时,必须首先将实际问题加 以数学描述,形成一组由数学表达式组成的数学 模型,然后选择一种最优化数值计算方法和计算 机程序,在计算机上运算求解,得到一组最优的 设计参数。
变量 f fun H A,b 描 述 线性规划的目标函数f*X 或二次规划的目标函 数X’*H*X+f*X 中线性项的系数向量 非线性优化的目标函数.fun必须为行命令对象 或M文件、嵌入函数、或MEX文件的名称 二次规划的目标函数X’*H*X+f*X 中二次项的系 数矩阵 A矩阵和b向量分别为线性不等式约束: AX b 中的系数矩阵和右端向量 Aeq矩阵和beq向量分别为线性等式约束: Aeq X beq 中的系数矩阵和右端向量 X的下限和上限向量:vlb≤X≤vub 迭代初始点坐标 函数最小化的区间 优化选项参数结构,定义用于优化函数的参数 调用函数 linprog,quadprog fminbnd,fminsearch,fminunc, fmincon,lsqcurvefit,lsqnonlin, fgoalattain,fminimax quadprog linprog,quadprog,fgoalattain, fmincon, fminimax linprog,quadprog,fgoalattain, fmincon, fminimax linprog,quadprog,fgoalattain, fmincon,fminimax,lsqcurvefit, lsqnonlin 除fminbnd外所有优化函数 fminbnd 所有优化函数
'( ) f [ x k f ( x )] f ( x k ) 0
k k T
[f ( x )] f ( x ) 0
k 1 T k
(s ) s 0
k 1 T k
例: 求目标函数 f ( x ) x12 25 x22 的极小点。 解:取初始点 x 0 [2,2]T 则初始点处函数值及梯度分别为 f ( x 0 ) 104
2,符号计算功能
3,数据分析和可视化分 析功能
4,文字处理功能
5,SIMULINK动态仿真功 能
Matlab优化工具箱简介
1.MATLAB求解优化问题的主要函数
类 型
一元函数极小 无约束极小 线性规划
模 型 Min F(x)s.t.x1<x<x2 Min F(X) Minc X s.t.AX<=b 1 Min xTHx+cTx
较快,而在接近极小点时逼近速度较慢。 (4)梯度法的收敛速度与目标函数的性质密切相关。 对于等值线(面)为同心圆(球)的目标函数,一次搜索 即可达到极小点。
牛顿型方法
1、牛顿法 在xk邻域内用一个泰勒二次函数φ(X)来近似 代替原目标函数,并将φ(X)的极小点作为对目标 函数的一次近似值,若此值不满足收敛精度要求, 则将其作为求优的下一次迭代的初始点。经多次 迭代,使之逼近目标函数的极小点。
建立数学模型
(1)确定目标变量 求质量最轻,也就是体积最小。
体积V取决于齿轮宽度B,小齿轮齿数z1,模数m, 轴的支承跨距l,主动轴直径d1',从动轮直径d2', 和传动比i等七个参数。其中传动比i为常量,有已 知条件给定。所以,该优化设计问题可取设计变量 为 X=(X1,X2,X3,X4,X5,X6)T=(B,z1,m,l,d1',d2')T
牛顿法
( x) f ( X
(K )
) [f ( X
(K )
)] ( X X
T
(K )
)
1 (K ) T (K ) (K ) ( X X ) H ( X )( X X ) 2
( X )的最小点即导数为 0的点, 求导得:
( x) f ( X ( K ) ) H ( X ( K ) )( X X ( K ) ) 0
X X
*
(K )
[H ( X
(K )
)] f ( X
1
(K )
)
3.5
约束优化方法
约束优化设计问题,其数学模型为
minf(X) s.t. gu(X)≤0 (u=1,2,…,m)
hv(X)=0 (v=1,2,…,p<n)
根据求解方式的不同,约束优化设计问 题可分为:直接解法、间接解法
Aeq,beq vlb,vub X0 x1,x2 options
3. 优化函数的输出变量下表:
变量 x 描 述 由优化函数求得的值.若exitflag>0,则x 为解;否则,x不是最终解,它只是迭代制止 时优化过程的值 解x处的目标函数值 描述退出条件: exitflag>0,表目标函数收敛于解x处 exitflag=0,表已达到函数评价或迭代 的最大次数 exitflag<0,表目标函数不收敛 包含优化结果信息的输出结构. Iterations:迭代次数 Algorithm:所采用的算法 FuncCount:函数评价次数 调用函数 所有优化函数 linprog,quadprog,fgoalattain, fmincon,fminimax,lsqcurvefit, lsqnonlin, fminbnd
约束优化方法
随机方向法 复合型法
直接解法
可行方向法
惩罚函数法
增广乘子法
间接解法
惩罚函数法
惩罚函数法是一种间接解法。它的基本原理是将 约束优化问题中的不等式和不等式约束函数经加 权后,和原目标函数结合为新的目标函数,将约 束优化问题转换为无约束优化问题。求解无约束 优化问题的极小值,从而得到原约束优化问题的 最优解。
2 x1 4 f ( x ) 50 x2 x0 100
0
沿负梯度方向进行一维搜索,有
2 4 0 x x 0 f ( x ) 2 100 0
1 0 0
0为一维搜索最佳步长,应满足极值必要条件
f ( x1 ) min (2 4 )2 25(2 100 ) 2 min ( )
2
T
基本函数名 x=fminbnd(‘F’,x1,x2) X=fminunc(‘F’,X0) X=fminsearch(‘F’,X0) X=linprog(c,A,b) X=quadprog(H,c,A,b) X=fmincon(‘FG’,X0) X=fgoalattain(‘F’,x,goal,w) X=fminimax(‘FG’,x0)
(2)建立目标函数
以齿轮减速器的重量最轻为目标函数,而此减速器的重量可以一对齿轮 和两根轴的重量之和近似求出。由此,减速器的重量W=(V1+V2+V3+V4)ρ, 因钢的密度为常数,所以可取减速器的体积为目标函数。将设计变量带 入减速器的体积公式,经整理后得目标函数为
'( ) 8(2 4 0 ) 5 000(2 100 0 ) 0
算出一维搜索最佳步长
626 0 0.020 030 72 31 252
第一次迭代设计点位置和函数值
2 4 0 1.919 877 x 2 2 100 0 0.307 178 5 10 k 1 k 1 | x - x | f ( x ) 3.686 164
按照惩罚函数在优化过程中迭代点是否可行,分 为:
内点法
外点法
混合法
案例分析
单级直齿圆柱齿轮传动减速器的优化设计
已知单级直齿圆柱齿轮减速器的输入扭矩T1=2674N·m, 传动比i=5,现要求确定该减速器的结构参数,在保证承 载能力条件下,使减速器的重量最轻。小齿轮拟选用实心 轮结构,大齿轮为四孔辐板式结构,其结构尺寸如图所示, 图中△1=280mm,△2=320mm。