MATLAB第12章 工程优化设计实例

MATLAB第12章 工程优化设计实例
MATLAB第12章 工程优化设计实例

第12章 工程优化设计实例

优化设计的数学模型

优化设计的数学模型是描述实际优化问题的设计内容、变量关系、有关设计条件和意图的数学表达式,它反映了物理现象各主要因素的内在联系,是进行优化设计的基础。 优化设计数学模型的三大要素:

? 设计变量

? 约束条件

? 目标函数

1.设计变量

一个设计方案可以用一组基本参数的数值来表示,这些基本参数可以是构件尺寸等几何量,也可以是质量等物理量,还可以是应力、变形等表示工作性能的导出量。

设计变量:在设计过程中进行选择并最终必须确定的各项独立的基本参数,又叫做优化参数。 设计变量的全体实际上是一组变量,可用一个列向量表示

2.约束条件

设计空间是所有设计方案的集合,但这些设计方案有些是工程上所不能接受的。如一个设计满足所有对它提出的要求,就称为可行设计。

一个可行设计必须满足某些设计限制条件,这些限制条件称作约束条件,简称约束。

3.目标函数

为了对设计进行定量评价,必须构造包含设计变量的评价函数,它是优化的目标,称为目标函数,以F(X)表示。

在优化过程中,通过设计变量的不断向F(X)值改善的方向自动调整,最后求得F(X)值最好或最满意的X 值。在构造目标函数时,应注意:目标函数必须包含全部设计变量,所有的设计变量必须包含在约束函数中。

模型输入时需要注意的问题

使用优化工具箱时,由于优化函数要求目标函数和约束条件满足一定的格式,所以需要用户在进行模型输入时注意以下几个问题:

1.目标函数最小化

优化函数fminbnd 、fminsearch 、fminunc 、fmincon 、fgoalattain 、fminmax 和lsqnonlin 都要求目标函数最小化,如果优化问题要求目标函数最大化,可以通过使该目标函数的负值最小化即-f(x)最小化来实现。近似地,对于quadprog 函数提供-H 和-f ,对于linprog 函数提供-f 。

2.约束非正 12()()

n F x F x x x ,,

优化工具箱要求非线性不等式约束的形式为Ci(x)≤0,通过对不等式取负可以达到使大于零的约束形式变为小于零的不等式约束形式的目的,如Ci(x)≥0形式的约束等价于-

Ci(x)≤0;Ci(x)≥b形式的约束等价于- Ci(x)+b≤0。

3.避免使用全局变量

Fmincon 是matlab 最主要内置的求解约束最优化的函数,该函数的优化问题的标准形式为:1. 数学模型标准形式:

min f (X)

s.t. AX≤b (线性不等式约束)

AeqX=beq (线性等式约束)

C(X)≤0 (非线性不等式约束条件)

Ceq(X)=0(非线性等式约束)

Lb ≤X ≤Ub (边界约束条件)

Fmincon 函数使用的约束优化算法都是目前比较普适的有效算法:

(1)对于中等的约束优化问题fmincon使用序列二次规划(SQP sequential quadratic programming)算法;

(2)对于大规模约束优化问题fmincon 使用基于内点反射牛顿法的信赖域算法(subspace trust region method and is based on the interior-reflective Newton method);

(3)对于大规模的线性系统使用共轭梯度算法(PCG preconditioned conjugate gradients)。由于这些算法都具有一定的复杂性,具体算法这里不再详述。

12.1 螺栓组连接的优化设计

螺栓组联接的设计计算,主要根据被联接机械设备的载荷大小、功能要求和结构特点,确定螺栓的个数,规格和布置方式。螺栓组联接的优化设计,可以在保证机械设备的可靠性和提高寿命的前提下,达到降低成本的目的。

利用MATLAB解决工程中的实际问题,其具体步骤如下:

1)根据设计要求和目的定义优化设计问题,判断优化

问题的类型。分析时要区分:单目标与多目标问题;线性

与非线性问题;是否为线性规划问题等几种情况;

2)根据优化问题的类型建立数学模型,选定优化函数。

3)确定必要的数据和设计初始点;

4)根据目标函数的性态,预设优化选项;

5)在所有的输入参数定义后,调用优化函数进行优化程序调试;

6)根据优化过程的具体提示信息,修改优化选项的设置,直到达到满足优化函数所需的优化条件为止;

7)对所得数据进行合理性和适应性分析。

matlab优化设计

MATLAB优化设计 学院:机电学院 专业:机械设计制造及其自动化 班级:072&&&-** 学号:20131****** 姓名:大禹 指导老师:祯 2015年10月25日

题目 1 1、求解如下最优化问题 步骤一:对已有的数学模型matlab 编程 1. 编写.m 文件并保存: h=[2 ,-2;-2, 4]; %实对称矩阵 f=[-2;-6]; %列向量 a=[1, 1;-1, 2]; %对应维数矩阵 b=[2;2]; %列向量 lb=zeros(2, 1); [x,value]=quadprog(h, f, a ,b ,[] ,[], lb) 2. 运行.m 文件结果如图1.0所示: subject to 2 21≤+x x 22-21≤+x x 0 21≥x x ,2 2 2121212262)(m in x x x x x x x f +-+--=

图1.0题目一文件运行结果 步骤二:matlab运行结果分析阶段 由图1.0知,当x1=0.8,x2=1.2时,min f (x)= -7.2。 题目 2 2、某农场拟修建一批半球壳顶的圆筒形谷仓,计划每座谷仓容积为300立方米,圆筒半径不得超过3米,高度不得超过10米。半球壳顶的建筑造价为每平方米150元,圆筒仓壁的造价为每平方米120元,地坪造价为每平方米50元,求造价最小的谷仓尺寸为多少?

步骤一:题目分析阶段 设:圆筒的半径为R,圆筒的高度为H 。 谷仓的容积为300立方米,可得: 3003 232=+R H R ππ 圆筒高度不得超过10米,可得: 100≤≤H 圆筒半径不得超过3米,可得: 30≤≤R 当造价最小时: 2225021202150),(m in R H R R H R f πππ+?+?= 步骤二:数学模型建立阶段 2 225021202150),(m in R H R R H R f πππ+?+?=

机械优化设计实验指导书

机械优化设计实验指导 书 Document number【AA80KGB-AA98YT-AAT8CB-2A6UT-A18GG】

《机械优化设计》 实验指导书 武秋敏编写 院系:印刷包装工程学院 专业:印刷机械 西安理工大学 二00七年九月 上机实验说明 【实验环境】 操作系统: Microsoft Windows XP 应用软件:Visual C++或TC。 【实验要求】 1、每次实验前,熟悉实验目的、实验内容及相关的基本理论知识。 2、无特殊要求,原则上实验为1人1组,必须独立完成。 3、实验所用机器最好固定,以便更好地实现实验之间的延续性和相关性,并便于检查。 4、按要求认真做好实验过程及结果记录。 【实验项目及学时分配】 【实验报告和考核】 1、实验报告必需采用统一的实验报告纸,撰写符合一定的规范,详见实验报告撰写格式及规范。

(一)预习准备部分 1. 预习本次实验指导书中一、二、三部分内容。 2. 按照程序框图试写出汇编程序。 (二)实验过程部分 1. 写出经过上机调试后正确的程序,并说明程序的功能、结构。 2. 记录4000~40FFH内容在执行程序前后的数据结果。 3. 调试说明,包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。 (三)实验总结部分

实验(一) 【实验题目】 一维搜索方法 【实验目的】 1.熟悉一维搜索的方法-黄金分割法,掌握其基本原理和迭代过程; 2.利用计算语言(C语言)编制优化迭代程序,并用给定实例进行迭代验证。 【实验内容】 1.根据黄金分割算法的原理,画出计算框图; 2.应用黄金分割算法,计算:函数F(x)=x2+2x,在搜索区间-3≤x≤5时,求解其极小点X*。 【思考题】 说明两种常用的一维搜索方法,并简要说明其算法的基本思想。 【实验报告要求】 1.预习准备部分:给出实验目的、实验内容,并绘制程序框图; 2.实验过程部分:编写上机程序并将重点语句进行注释;详细描述程序的调过程(包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析。 3.实验总结部分:对本次实验进行归纳总结,给出求解结果。要求给出6重迭代中a、x1、x2、b、y1和y2的值,并将结果与手工计算结果进行比较。 4.回答思考题。

机械优化设计复习总结.doc

1. 优化设计问题的求解方法:解析解法和数值近似解法。解析解法是指优化对象用数学方程(数学模型)描述,用 数学 解析方法的求解方法。解析法的局限性:数学描述复杂,不便于或不可能用解析方法求解。数值解法:优 化对象无法用数学方程描述,只能通过大量的试验数据或拟合方法构造近似函数式,求其优化解;以数学原理 为指导,通过试验逐步改进得到优化解。数值解法可用于复杂函数的优化解,也可用于没有数学解析表达式的 优化问题。但不能把所有设计参数都完全考虑并表达,只是一个近似的数学描述。数值解法的基本思路:先确 定极小点所在的搜索区间,然后根据区间消去原理不断缩小此区间,从而获得极小点的数值近似解。 2. 优化的数学模型包含的三个基本要素:设计变量、约束条件(等式约束和不等式约束)、目标函数(一般使得目 标 函数达到极小值)。 3. 机械优化设计中,两类设计方法:优化准则法和数学规划法。 优化准则法:x ;+, = c k x k (为一对角矩阵) 数学规划法:X k+x =x k a k d k {a k \d k 分别为适当步长\某一搜索方向一一数学规划法的核心) 4. 机械优化设计问题一般是非线性规划问题,实质上是多元非线性函数的极小化问题。重点知识点:等式约束优 化问 题的极值问题和不等式约束优化问题的极值条件。 5. 对于二元以上的函数,方向导数为某一方向的偏导数。 函数沿某一方向的方向导数等于函数在该点处的梯度与这一方向单位向量的内积。梯度方向是函数值变化最快的方 向(最速上升方向),建议用单位向暈表示,而梯度的模是函数变化率的最大值。 6. 多元函数的泰勒展开。 7. 极值条件是指目标函数取得极小值吋极值点应满足的条件。某点取得极值,在此点函数的一阶导数为零,极值 点的 必要条件:极值点必在驻点处取得。用函数的二阶倒数来检验驻点是否为极值点。二阶倒数大于冬,取得 极小值。二阶导数等于零时,判断开始不为零的导数阶数如果是偶次,则为极值点,奇次则为拐点。二元函数 在某点取得极值的充分条件是在该点岀的海赛矩阵正定。极值点反映函数在某点附近的局部性质。 8. 凸集、凸函数、凸规划。凸规划问题的任何局部最优解也就是全局最优点。凸集是指一个点集或一个区域内, 连接 英中任意两点的线段上的所有元素都包含在该集合内。性质:凸集乘上某实数、两凸集相加、两凸集的交 集仍是凸集。凸函数:连接凸集定义域内任意两点的线段上,函数值总小于或等于用任意两点函数值做线性内 插所得的值。数学表达:/[^+(l-a )x 2]

机械优化设计MATLAB程序文件

机械优化设计作业1.用二次插值法求函数()()()22 ?极小值,精度e=0.01。 t t =t 1- + 在MATLAB的M文件编辑器中编写的M文件,如下: f=inline('(t+1)*(t-2)^2','t') a=0;b=3;epsilon=0.01; t1=a;f1=f(t1); t3=b;f3=f(t3); t2=0.5*(t1+t3);f2=f(t2); c1=(f3-f1)/(t3-t1); c2=((f2-f1)/(t2-t1)-c1)/(t2-t3); t4=0.5*(t1+t3-c1/c2);f4=f(t4); k=0; while(abs(t4-t2)>=epsilon) if t2f4 f1=f2;t1=t2; t2=t4;f2=f4; else f3=f4;t3=t4; end else if f2>f4 f3=f2;t3=t2; t2=t4;f2=f4; else f1=f4;t2=t4; end end c1=(f3-f1)/(t3-t1); c2=((f2-f1)/(t2-t1)-c1)/(t2-t3); t4=0.5*(t1+t3-c1/c2);f4=f(t4); k=k+1; end %输出最优解 if f2>f4 t=t4;f=f(t4); else t=t2;f=f(t2); end fprintf(1,'迭代计算k=%3.0f\n',k) fprintf(1,'极小点坐标t=%3.0f\n',t) fprintf(1,'函数值f=%3.4f\n',f)

运行结果如下: 迭代计算k= 7 极小点坐标t= 2 函数值f=0.0001 2.用黄金分割法求函数()32321+-=t t t ?的极小值,精度e=0.01。 在MATLAB 的M 文件编辑器中编写的M 文件,如下: f=inline('t^(2/3)-(t^2+1)^(1/3)','t'); a=0;b=3;epsilon=0.01; t1=b-0.618*(b-a);f1=f(t1); t2=a+0.618*(b-a);f2=f(t2); k=1; while abs(b-a)>=epsilon if f1

基于MATLAB的优化设计

基于MATLAB的曲柄摇杆机构优化设计 1.问题的提出 根据机械的用途和性能要求的不同,对连杆机构设计的要求是多种多样的,但这些设计要求可归纳为以下三种问题:(1)满足预定的运动规律要求;(2)满足预定的连杆位置要求;(3)满足预定的轨迹要求。在在第一个问题 里按照期望函数设计的思想,要求曲柄摇杆机构的曲柄与摇杆转角之间按照φ=f(?)(称为期望函数)的关系实现运动,由于机构的待定参数较少,故一 般不能准确实现该期望函数,设实际的函数为φ=F(?)(称为再现函数),而再 现函数一般是与期望函数不一致的,因此在设计时应使机构再现函数φ=F(?) 尽可能逼近所要求的期望函数φ=f(?)。这时需按机械优化设计方法来设计曲 柄连杆,建立优化数学模型,研究并提出其优化求解算法,并应用于优化模型的求解,求解得到更优的设计参数。 2.曲柄摇杆机构的设计 在图1所示的曲柄摇杆机构中,l1、l2、l3、l4分别是曲柄AB、连杆BC、摇杆CD和机架AD的长度。这里规定?0为摇杆在右极限位置φ0时的曲柄起始 位置角,它们由l1、l2、l3和l4确定。 图1曲柄摇杆机构简图 设计时,可在给定最大和最小传动角的前提下,当曲柄从?0转到?0+90?时,要求摇杆的输出角最优地实现一个给定的运动规律f(?)。这里假设要求: (?-?0)2(1)φE=f(?)=φ0+2 3π

s=30;qb=1;jj=5;fx=0; fa0=acos(((qb+x(1))^2-x(2)^2+jj^2)/(2*(qb+x(1))*jj)); %曲柄初始角 pu0=acos(((qb+x(1))^2-x(2)^2-jj^2)/(2*x(2)*jj));%摇杆初始角for i=1:s fai=fa0+0.5*pi*i/s; pui=pu0+2*(fai-fa0)^2?(3*pi); ri=sqrt(qb^2+jj^2-2*qb*jj*cos(fai)); alfi=acos((ri^2+x(2)^2-x(1)^2)/(2*ri*x(2))); bati=acos((ri^2+jj^2-qb^2)(/2*ri*jj)); if fai>0&fai<=pi psi=pi-alfi-bati; elseif fai>pi&fai<=2*pi psi=pi-alfi+bati; end fx=fx+(pui-psi)^2; end f=fx; (2)编写非线性约束函数M文件confun.m function[c,ceq]=confun(x); qb=1;jj=5;m=45*pi/180;n=135*pi/180; c(1)=x(1)^2+x(2)^2-(jj-qb)^2-2*x(1)*x(2)*cos(m); %最小传动角约束c(2)=-x(1)^2-x(2)^2+(jj+qb)^2+2*x(1)*x(2)*cos(n); %最大传动角约束ceq=[]; (3)在MATLAB命令窗口调用优化程序 x0=[6;4]; lb=[1;1]; ub=[]; %线性不等式约束 a=[-1-1;1-1;-11];b=[-6;4;4];[x,fn]=fmincon(@optimfun, x0,a,b,[],[],lb,ub,@confun); (4)运行结果

机械优化设计考试重点

机械优化设计复习点 判断题,分析题,计算题 一,优化问题的基本解法(简答填空题)p27 (1)画图法找最小点 (2)解析解法 (3)数值的近似解法 二,数学基础(简答题) (1)方向导数和梯度(概念,关系)p31 p32 (2)泰勒展开的物理含义及表达式p35 物理含义:泰勒展开在优化方法中十分重要,许多方法及其收敛性证明都是从泰勒出发的,是把方程g(x)=0的解,写成曲线方程的形式看看和x轴有什么交点。泰勒公式的应用一般有三个方面: 1、利用泰勒展开式做代换求函数的极限。 2、利用泰勒展开式证明一些等式或者不等式。 3、应用拉格朗日余项,可以估值,求近似值。 表达式:矩阵形式和线性代数形式 p35 (3)极值条件 在什么条件下判断找到最优解(极值条件)? p38 无约束优化问题:通过莫干函数求导等于0,等式约束:通过拉格朗日参数法求无约束优化物理含义:课件上(暂无) 线性组合概念:课件上(暂无) 不等式约束的基本条件: 通过一个双次(?)变量转换成等式约束,再利用拉格朗日来求极值条件。导数的kt条件和kuhn-taker条件 p46 不等式的表达条件和物理含义: 三,一维搜索方法(计算题为主) (1)一维搜入优化方法:p59 (2)计算题(书上和课件上题型) 模拟计算机计算流程,把一两个迭代步,计算过程写出来 (3)黄金分割法的原理及迭代的步骤 (4)二次插值法算法推导及原理 四,无约束的优化方法(最重点) (1)最速下降法,牛顿法,共轭方向法,变尺度法(大概)p69-p83 (2)牛顿法和最速下降法的区别p70-p74 最速下降法的优点是算法简单,每次迭代计算量小,占用内存量小,且对初始点要求不高,即使从一个不好的初始点出发,往往也能收敛到局部极小点,但它有一个严重缺点就是收敛速度慢,特别是当椭圆比较扁平时,最速下降法的收敛速度越慢牛顿法收敛速度非常快,具有二次收敛的优点,但它存在下面四个严重的

机械优化设计复习总结

10. 1. 优化设计问题的求解方法:解析解法和数值近似解法。解析解法是指优化对象用数学方程(数学模型)描述,用数学解析 方法的求解方法。解析法的局限性:数学描述复杂,不便于或不可能用解析方法求解。数值解法:优化对象无法用数学 方程描述,只能通过大量的试验数据或拟合方法构造近似函数式,求其优化解;以数学原理为指导,通过试验逐步改进 得到优化解。数值解法可用于复 杂函数的优化解,也可用于没有数学解析表达式的优化问题。但不能把所有设计参数都 完全考虑并表达,只是一个近似的数学描述。数值解法的基本思路:先确定极小点所在的搜索区间,然后根据区间消去 原理不断缩小此区间,从而获得极小点的数值近似解。 2. 优化的数学模型包含的三个基本要素:设计变量、约束条件(等式约束和不等式约束)、目标函数(一般使得目标函 数达到极小值)。 3. 机械优化设计中, 两类设计方法:优化准则法和数学规划法。 k 1 k k 优化准则法:X c X (为一对角矩阵) k 1 数学规划法:X k 1 k k k X k d ( k d 分别为适当步长某一搜索方向一一数学规划法的核心) 4. 机械优化设计问题一般是非线性规划问题, 实质上是多元非线性函数的极小化问题。 的极值问题和不等式约束优化问题的极值条件。 5. 对于二元以上的函数,方向导数为某一方向的偏导数。 重点知识点:等式约束优化问题 f | X o *kCOS i d i 1 X i 函数沿某一方向的方向导数等于函数在该点处的梯度与这一方向单位向量的内积。 速上升方向),建议用 单位向量 表示,而梯度的模是函数变化率的最大值。 6. 梯度方向是函数值变化最快的方向 (最 7. 8. 9. 多元函数的泰勒展开。 f X f x 0 T f X o -X T G X o 2 f X o f X i f X 2 X , X 2 1 2 X1 X 2 2f 2f 为X 2 2 f X 1 X 2 X 1 2 f X 2 -- 2 X 2 海赛矩阵: x o 2 f ~2 X 1 2 f 2 f X l X 2 X 1 X 2 2 f 2 X 2 (对称方 阵) 极值条件是指目标函数取得极小值时极值点应满足的条件。 某点取得极值, 要条件:极值点必在驻点处取得。用函数的二阶倒数来检验驻点是否为极值点。 导数等于零时,判断开始不为零的导数阶数如果是偶次,则为极值点, 在此点函数的一阶导数为零, 极值点的必 二阶倒数大于零,取得极小值 。二阶 奇次 则为拐点。二元函数在某点取得极值的充 分条件是在该点岀的海赛矩阵正定。 极值点反映函数在某点附近的局部性质 凸集、凸函数、凸规划。 凸规划问题的任何局部最优解也就是全局最优点 中任意两点 的线段上的所有元素都包含在该集合内。 凸函数:连接凸集定义域内任意两点的线段上, 。凸集是指一个点集或一个区域内,连接其 性质: 凸集乘上某实数、两凸集相加、两凸集的交集仍是凸集。 函数值总小于或等于用任意两点函数值做线性内插所得的值。 数学表 达:f ax, 1 a x 2 f X i f X 2 0 1,若两式均去掉等号,则 f X 称作严格凸函数。凸 函数同样满足倍乘, 加法和倍乘加仍为凸函数的三条基本性质。 优化问题。 等式约束优化问题的极值条件。两种处理方法:消元法和拉格朗日乘子法。也分别称作降维法和升维法。消元法 等式约束条件的一个变量表示成另一个变量的函数。减少了变量的个数。拉格朗日乘子法是通过增加变量 约束优化问题变成无约束优化问题,增加了变量的个数。 不等式约束优化问题的极值条件。不等式约束的多元函数极值的必要条件为库恩塔克条件。库恩塔克条件: 凸规划针对目标函数和约束条件均为凸函数是的约束 :将 将等式

简述基于MATLAB的优化设计

基于MATLAB 的曲柄摇杆机构优化设计 1. 问题的提出 根据机械的用途和性能要求的不同,对连杆机构设计的要求是多种多样的,但这些设计要求可归纳为以下三种问题:(1)满足预定的运动规律要求;(2)满足预定的连杆位置要求;(3)满足预定的轨迹要求。在在第一个问题里按照期望函数设计的思想,要求曲柄摇杆机构的曲柄与摇杆转角之间按照()f φ?=(称为期望函数)的关系实现运动,由于机构的待定参数较少,故一般不能准确实现该期望函数,设实际的函数为()F φ?=(称为再现函数),而再现函数一般是与期望函数不一致的,因此在设计时应使机构再现函数()F φ?=尽可能逼近所要求的期望函数()f φ?=。这时需按机械优化设计方法来设计曲柄连杆,建立优化数学模型,研究并提出其优化求解算法,并应用于优化模型的求解,求解得到更优的设计参数。 2. 曲柄摇杆机构的设计 在图 1 所示的曲柄摇杆机构中,1l 、2l 、3l 、 4l 分别是曲柄AB 、连杆BC 、摇杆CD 和机架AD 的长度。这里规定0?为摇杆在右极限位置0φ时的曲柄起始位置角,它们由1l 、2l 、3l 和4l 确定。 图1 曲柄摇杆机构简图 设计时,可在给定最大和最小传动角的前提下,当曲柄从0?转到090??+时,要求摇杆的输出角最优地实现一个给定的运动规律()f ?。这里假设要求: ()()2 0023E f φ?φ??π ==+ - (1)

对于这样的设计问题,可以取机构的期望输出角()E f φ?=和实际输出角 ()F φ?=的平方误差之和作为目标函数,使得它的值达到最小。 2.1 设计变量的确定 决定机构尺寸的各杆长度1l 、2l 、3l 和4l ,以及当摇杆按已知运动规律开始运行时,曲柄所处的位置角0?应列为设计变量,即: []12340T x l l l l ?= (2) 考虑到机构的杆长按比例变化时,不会改变其运动规律,通常设定曲柄长度 1l =1.0,在这里可给定4l =5.0,其他杆长则按比例取为1l 的倍数。若取曲柄的初始 位置角为极位角,则?及相应的摇杆l 位置角φ均为杆长的函数,其关系式为: ()()()()222221243230124225arccos 210l l l l l l l l l l l l ?????++-+-+==????++???????? (3) ()()22222124323034325arccos 210l l l l l l l l l l ????? +--+--==???????????? (4) 因此,只有2l 、3l 为独立变量,则设计变量为[][]2312T T x l l x x ==。 2.2目标函数的建立 目标函数可根据已知的运动规律与机构实际运动规律之间的偏差最小为指标来建立,即: ()()2 1min m Ei i i f x φφ==-→∑ (5) 式中,Ei φ-期望输出角;m -输出角的等分数;i φ-实际输出角,由图 1 可知: ()()02i i i i i i i παβ?πφπαβπ?π--≤≤??=?-+≤≤?? (6) 式中,222222322132arccos arccos 22i i i i i r l l r x x rl r x α???? +-+-== ? ????? (7) 222241424arccos arccos 210i i i i i r l l r rl r β???? +-+== ? ????? (8) i r == (9) 2.3约束条件

基于MATLAB的生产过程中最大利润问题的优化设计

基于MATLAB的生产过程中最大利润问题的优化设计

2010-2011 学年一学期研究生课程考核 (读书报告、研究报告) 考核科目:现代设计理论与方法 学生所在院(系):机电工程学院 学生所在学科:车辆工程 姓名:陈松 学号:Y100201802 题目:基于MATLAB的生产过程中最大利润问题的优化设计

基于MATLAB的生产过程中最大利润问题的优化设计 在工厂编制生产计划中,使产品的计划利润最大是通常的目标。可是,在生产过程中,总是有种种条件的限制,使得我们的生产成本增多,从而导致利润并没有达到理想值。为了解决如何在有约束条件下解决最大利润的问题,我们通常将这些有约束的最优化问题转化为无约束最优化问题。而通过MATLAB现成的优化工具箱,我们可以通过调用最佳优化函数求解,从而更好的计算出生产产品所获得最大利润。 1.数学模型的建立

建立数学模型,即用数学语言来描述最优化问题,模型中的数学关系式反 映了最优化问题所要达到的目标和各种约束条件。而通过这些约束条件,我们能更好的制定新的生产计划,以便克服生产过程中的某些不利于生产的约束,从而更大的降低产品生产成本,使利润最大化。 1.1设计变量的确定 设计变量是指设计过程中可以进行调整和优选的独立参数,分为连续变量和离散变量。而本文主要用的是连续变量,设计变量一般表示为: 式中,X i 表示生产产品的台数,而当我们确定了生产每台的利润后,我们 就能知道X i 台的利润。 1.2目标函数的确定 已知某工厂能生产A、B、C三种产品,每月生产的数量分别为X 1,X 2 , X 3,产品每台利润分别为m 1 ,m 2 ,m 3 ,则可知该厂每月的利润为: Y= m 1 *X 1 + m 2 *X 2 + m 3 *X 3 即目标函数为: X * m + X * m + X * m ) ( 3 3 2 2 1 1 = X F 简化为: F(X)= i i X M*i=1,2,3 1.3约束条件的建立 生产A、B、C三种产品需用到四种机器V1、V2、V3、V4,每种机器的生产能力分别为K1、K2、K3、K4,所以有: 1)用V1每月生产的A、B、C三种部件分别为N1、N2、 N3,则:g 1(x)=N1*X 1 +N2*X 2 +N3*X 3 ≤K1 2)用V2每月生产的A、B、C三种部件分别为N11、N12、 N13,则:g 2(x)=N11*X 1 +N12*X 2 +N13*X 3 ≤K2 3)用V3每月生产的A、B、C三种部件分别为N21、N22、N23, 则:g 3(x)=N21*X 1 +N22*X 2 +N23*X 3 ≤K3

matlab(四连杆优化设计)

机械优化设计在matlab中的应用 东南大学机械工程学院** 一优化设计目的: 在生活和工作中,人们对于同一个问题往往会提出多个解决方案,并通过各方面的论证从中提取最佳方案。最优化方法就是专门研究如何从多个方案中科学合理地提取出最佳方案的科学。由于优化问题无所不在,目前最优化方法的应用和研究已经深入到了生产和科研的各个领域,如土木工程、机械工程、化学工程、运输调度、生产控制、经济规划、经济管理等,并取得了显著的经济效益和社会效益。 " 二优化设计步骤: 1.机械优化设计的全过程一般可以分为如下几个步骤: 1)建立优化设计的数学模型; 2)选择适当的优化方法; 3)编写计算机程序; : 4)准备必要的初始数据并伤及计算; 5)对计算机求得的结果进行必要的分析。 其中建立优化设计数学模型是首要的和关键的一步,它是取得正确结果的前提。优化方法的选取取决于数学模型的特点,例如优化问题规模的大小,目标函数和约束函数的性态以及计算精度等。在比较各种可供选用的优化方法时,需要考虑的一个重要因素是计算机执行这些程序所花费的时间和费用,也即计算效率。 2.建立数学模型的基本原则与步骤 ①设计变量的确定; — 设计变量是指在优化设计的过程中,不断进行修改,调整,一直处于变化的参数称为设计变量。设计变量的全体实际上是一组变量,可用一个列向量表示: x=。 ②目标函数的建立; 选择目标函数是整个优化设计过程中最重要的决策之一。当对某以设计性能有特定的要求,而这个要求有很难满足时,则针对这一性能进行优化会得到满意的效果。目标函数是设计变量的函数,是一项设计所追求的指标的数学反映,因此它能够用来评价设计的优劣。 目标函数的一般表达式为: 。 f(x)=,要根据实际的设计要求来设计目标函数。 ③约束条件的确定。 一个可行性设计必须满足某些设计限制条件,这些限制条件称为约束条件,简称约束。 由若干个约束条件构成目标函数的可行域,而可行域内的所有设计点都是满足设计要求的,一般情况下,其设计可行域可表示为

30586机械优化设计考纲

高纲1513 江苏省高等教育自学考试大纲 30586 机械优化设计 南京理工大学编 江苏省高等教育自学考试委员会办公室 Ⅰ课程性质与课程目标 一、课程性质和特点 《机械优化设计》是高等工科院校中机械设计制造及其自动化专业现代设计方法模块的一门选修课程,它综合运用先修课程所学到的数学、计算机编程和机械等方面知识与理论,来解决机械工程领域内有关机构、机械零部件、机械结构及机械系统的优化设计问题及机械工程领域的其他优化问题。通过课程的学习可以培养学生运用现代设计理论与方法来更好地解决机械工程设计问题的能力。为进一步深入学习现代机械设计的理论与方法及更好地从事机械工程方面的设计、制造和管理等相关工作打下良好的基础。本课程的特点是数学基础理论与计算机编程语言与机械设计专业知识高度结合的综合课程。 二、课程目标 本门课程通过授课、练习和上机实践等教学环节,使学生树立机械优化设计的基本思想,了解机械优化设计的基本概念,初步掌握建立优化数学模型的基本方法和要求,了解和掌握一维搜索、无约束优化和约束优化中的一些基本算法及各种基本优化方法的特点和相关优化参数的选用原则,具有一定的编制和使用优化软件工具的能力,并具备一定的将机械工程问题转化为最优化问题并求解的应用能力。 三、与相关课程的联系与区别 本课程教学需要的先修课程:高等数学、理论力学、材料力学、机械原理、机械设计、机械制造装备设计、计算机编程语言。 本门课程要利用高等数学中有关偏导数、函数、极值、线性代数和矩阵等知识来

构建优化的方法;利用力学、机械设计和机械制造等方面的专业知识将工程问题转化成规范的优化设计数学模型,并利用计算机编程语言将优化方法和数学模型转化成可以执行的计算机程序,从而得到优化问题的解。因此,它既区别于基础的数学、力学课程和计算机编程语言课,又不同于机械设计和机械制造等机械专业课程,是利用数学方法和编程语言来解决机械工程设计问题的综合性课程。需要培养学生综合应用各选修课程知识解决工程设计问题的能力。 四、课程的重点和难点 本课程的重点内容:机械优化设计的基本概念、一维搜索优化方法、基本的无约束优化方法和约束优化方法。 本课程的次重点内容:机械优化数学模型建立方法和原则、优化设计的数学基础、线性规划方法、多目标和离散变量的优化方法。 本课程的的难点内容:约束优化方法、优化方法在机械工程设计中的实际应用。 Ⅱ考核目标 本大纲在考核目标中,按照识记、领会和应用三个层次规定其应达到的能力层次要求。三个能力层次是递升的关系,后者必须建立在前者的基础上。各能力层次的含义是: 识记(Ⅰ):要求考生能够识别和记忆本课程中有关优化设计数学模型和各种基本优化方法基本概念、基本原理、算法特点、算法步骤等主要内容并能够根据考核的不同要求,做正确的表述、选择和判断。 领会(Ⅱ):要求考生能够领悟和理解本课程中有关优化问题数学建模、求解及各种基本优化方法的概念及原理的内涵及外延,理解各种优化方法的数学基础和求解步骤的确切含义,掌握每种方法的适用条件和优化参数选用原则;理解相关知识的区别和联系,做出正确的判断、解释和说明。 应用(Ⅲ):要求考生能够根据所学的方法,对简单的优化问题求解,得出正确的结论或做出正确的判断。能够针对具体、实际的工程情况发现问题,并能探究解决问题的方法,建立合理的数学模型,用所学的优化方法进行求解,并学会编程或利用现有优化软件求解优化问题。 Ⅲ课程内容与考核要求 绪论 一、学习目的与要求 了解机械优化设计的特点、发展概况以及本课程的主要内容。 二、课程内容 传统设计和优化设计的特点和区别,机械优化设计发展概况及本课程的主要内容。 三、考核知识点与考核要求 1. 传统设计和优化设计 识记:传统设计特点,传统设计流程; 领会:优化设计特点,现代设计流程。 2. 机械优化设计发展概况

机械优化设计MATLAB程序

t t t 机械优化设计作业 1.用二次插值法求函数?( )= ( +1)( - 2)2 极小值,精度 e=0.01。 在 MA TLAB 的 M 文件编辑器中编写的 M 文件,如下: f=inline('(t+1)*(t -2)^2','t') a=0;b=3;epsilon=0.01; t1=a;f1=f(t1); t3=b;f3=f(t3); t2=0.5*(t1+t3);f2=f(t2); c1=(f3-f1)/(t3-t1); c2=((f2-f1)/(t2-t1)-c1)/(t2-t3); t4=0.5*(t1+t3-c1/c2);f4=f(t4); k=0; while(abs(t4-t2)>=epsilon) if t2f4 f1=f2;t1=t2; t2=t4;f2=f4; else f3=f4;t3=t4; end else if f2>f4 f3=f2;t3=t2; t2=t4;f2=f4; else f1=f4;t2=t4; end end c1=(f3-f1)/(t3-t1); c2=((f2-f1)/(t2-t1)-c1)/(t2-t3); t4=0.5*(t1+t3-c1/c2);f4=f(t4); k=k+1; end %输出最优解 if f2>f4 t=t4;f=f(t4); else t=t2;f=f(t2); end fprintf(1,'迭代计算 k=%3.0f\n',k) fprintf(1,'极小点坐标 t=%3.0f\n',t) fprintf(1,'函数值 f=%3.4f\n',f)

3.用牛顿法、阻尼牛顿法及变尺度法求函数 的极小点。( ) ( ) ( )21121 22, xxxxxf -+-= 4 2 (1)在用牛顿法在 MATLAB 的 M 文件编辑器中编写的 M 文件,如下: function [x,fx,k]=niudunfa(x0) syms x1 x2 f=(x1-2)^4+(x1-2*x2)^2; fx=0; v=[x1,x2]; df=jacobian(f,v); df=df.'; G=jacobian(df,v); epson=1e -12; g1=subs(df,{x1,x2},{x0(1,1),x0(2,1)}); G1=subs(G,{x1,x2},{x0(1,1),x0(2,1)}); k=0; p=-G1\g1; x0=x0+p; while(norm(g1)>epson) p=-G1\g1; x0=x0+p; g1=subs(df,{x1,x2},{x0(1,1),x0(2,1)}); G1=subs(G,{x1,x2},{x0(1,1),x0(2,1)}); k=k+1; end x=x0; fx=subs(f,{x1,x2},{x(1,1),x(2,1)}); 运行结果如下: >> [x,fx,k]=niudunfa([1;1]) x =1.9999554476059523381489991377897 0.99997772380297616907449956889483 fx =0.0000000000000000039398907941382470301534502947647 k =23 (2)用阻尼牛顿法在 MA TLAB 的 M 文件编辑器中编写的 M 文件,如下: function [x,fx,k]=zuniniudunfa(x0)%阻尼牛顿法 syms x1 x2 f=(x1-2)^4+(x1-2*x2)^2; fx=0; v=[x1,x2]; df=jacobian(f,v); df=df.'; G=jacobian(df,v); epson=1e -12;%停机原则

matlab与优化设计

机械优化设计课程设计 题目:齿轮减速器最优化设计班级:机械班 成员

2013年6月19日 一.设计题目:二级斜齿圆柱减速器的最优化设计二.设计要求:要求减速器有最小的体积和最紧凑的结

构 三.原始数据: 四.设计内容 1.设计方案的拟定及说明 2.电动机的选择及参数计算 3.带轮的初选与计算 4.计算圆柱斜齿轮的输入转矩、传动比、转速,然 后建立数学模型编写matlab语言程序,运行 程序包括geardesign. m 齿轮系统设计主程序 Gearobjfun. m目标函数子程序 Gearconstr. m 约束条件子程序 Gearparameter.m许用应力计算子程序 5.输出结果

1.该减速器为二级斜齿圆柱减速器,低速级采用二级斜齿圆 柱齿轮传动,选择三相交流异步电动机,v带传动 2.确定电动机的容量: 选择电动机的容量应保证电动机的额定功率大于等于工作机所需要的功率 电动机参数t=60/40=1.5s v=s/t=6.0*10^-3m/s P=0.5FV=0.5*110*60*0.001=3.3kw 1.η=η1* η32*η23*η4*η5 其中齿轮传动η1=0.96滚动轴承η2=0.98齿轮传动η3=0.97联轴器η4=0.99卷筒η5=1.0 η=0.96*0.98^3*0.97^2*0.99*1.00=0.84 P d=3.3\0.84=2.93kw 三,确定电动机的转速 已知压片机的转速40piece/min带传动的传动比i1=2~4 二级齿轮减速器的传动比i2=8~40,所以电动机的转动范围n=i1i2n=640~6400r/min 可行方案如下 确定电动机的转速具体数据如下 计算减速器输入转矩T1,输入转速n,总传动比i

转向梯形优化设计matlab程序

优化计算MATLAB程序 首先,将目标函数写成M文件,其程序语句如下; function f = fun (x) global K L thetamax alpha for i=1:61 f = 0 betae = atan(tan(alpha(i)/(1-(K/L)*tan(alpha(i)))); A(i)=2*x(1).^2*sin(x(2)+alpha(i)); B(i)=2*K*x(1)-2*x(1).^2*cos(x(2)+alpha(i)); C(i)=2*x(1).^2-4*x(1).^2*(cos(x(2)).^2+4*K*x(1)*cos(x(2))-2*K*x(1)* cos(x(2)+alpha(i)); theta3(i)= 2*acot((A(i)+sqrt(A(i).^2+B(i).^2-C(i).^2))/(B(i)+C(i))); beta(i)=x(2)+theta3(i)-pi; if alpha(i)<=pi/18 f(i)=1.5*abs(beta(i)-betae3(i)); elseif alpha>=pi/18,alpha(i)<=pi/9;f(i)=abs(betaa(i)-betae3(i)); elsef(i)=0.5*abs(beta(i)-betae3(i)); global K L thetamax alpha K=input L=input thetamax=input x0(1)=input

x0(2)=input thetamax = thetamax*pi/180; x0(2)=x0(2)*pi/180;lb(1)=0.17K; lb(2)=0.17*K; ub(1)=acot(K/(1.2*L))ub(2)=pi/2; alpha=linspace (0, theamax ,61); lb=[lb(1),lb(2)]; ub=[ub(1),ub(2)];x(0)=[x0(1),x0(2)]; options = optimset ( ‘TolFun’,‘le-10’,‘TolCon’,‘le-6’) [x,resnorm] = lsqnonlin(‘fun’,x0,lb,ub,options) g lobal K L thetamax alpha K = input L= input thetamax= input x ( 1) = input x ( 2) = input thetamax = thetamax * pi/ 180; x ( 2) = x ( 2) * pi/ 180; alpha= linspace( 0, thetamax , 61) ; fo r i= 1∶61 betae= atan( tan( alpha( i) ) / (( 1- K/ L) * tan( alpha( i) ) ) ) ; A ( i) = 2* ( x ( 1) ) .∧2* sin ( x ( 2) + alpha( i) ) ; B( i) = 2* K* x( 1) - 2* ( x ( 1) ) . ∧2* cos( x( 2) + alpha( i) ) ) ;

(完整word版)优化设计Matlab编程作业

优化设计

无约束优化 min f(x)= 21x +22x -21x 2x -41x 初选x0=[1,1] 程序: Step 1: Write an M-file objfun1.m. function f1=objfun1(x) f1=x(1)^2+2*x(2)^2-2*x(1)*x(2)-4*x(1); Step 2: Invoke one of the unconstrained optimization routines x0=[1,1]; >> options = optimset('LargeScale','off'); >> [x,fval,exitflag,output] = fminunc(@objfun1,x0,options) 运行结果: x = 4.0000 2.0000 fval = -8.0000 exitflag = 1 output = iterations: 3 funcCount: 12 stepsize: 1 firstorderopt: 2.3842e-007 algorithm: 'medium-scale: Quasi-Newton line search' message: [1x85 char] 非线性有约束优化 1. Min f(x)=321x +2 2x +21x -32x +5

Subject to: 1g (x)=1x +2x +18≤0 2g (x)=51x -32x -25≤0 3g (x)=131x -412 2x 0≤ 4g (x)=14≤1x 130≤ 5g (x)=2≤2x 57≤ 初选x0=[10,10] Step 1: Write an M-file objfun2.m function f2=objfun2(x) f2=3*x(1)^2+x(2)^2+2*x(1)-3*x(2)+5; Step 2: Write an M-file confun1.m for the constraints. function [c,ceq]=confun1(x) % Nonlinear inequality constraints c=[x(1)+x(2)+18; 5*x(1)-3*x(2)-25; 13*x(1)-41*x(2)^2; 14-x(1); x(1)-130; 2-x(2); x(2)-57]; % Nonlinear inequality constraints ceq=[]; Step 3: Invoke constrained optimization routine x0=[10,10]; % Make a starting guess at the solution >> options = optimset('LargeScale','off'); >> [x, fval] = ... fmincon(@objfun2,x0,[],[],[],[],[],[],@confun1,options) 运行结果: x = 3.6755 -7.0744 fval = 124.1495

相关文档
最新文档