首页 Matlab机械优化设计实例教程

Matlab机械优化设计实例教程

举报
开通vip

Matlab机械优化设计实例教程nullMATLAB机械优化设计 实例指导教程MATLAB机械优化设计 实例指导教程null 利用Matlab的优化工具箱,可以求解线性规划、非线性规划和多目标规划问题。具体而言,包括线性、非线性最小化,最大最小化,二次规划,半无限问题,线性、非线性方程(组)的求解,线性、非线性的最小二乘问题。另外,该工具箱还提供了线性、非线性最小化,方程求解,曲线拟合,二次规划等问题中大型课题的求解方法,为优化方法在工程中的实际应用提供了更方便快捷的途径。 概 述1.1 优化工具箱中的函数1.1 优化工...

Matlab机械优化设计实例教程
nullMATLAB机械优化设计 实例指导教程MATLAB机械优化设计 实例指导教程null 利用Matlab的优化工具箱,可以求解线性规划、非线性规划和多目标规划问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 。具体而言,包括线性、非线性最小化,最大最小化,二次规划,半无限问题,线性、非线性方程(组)的求解,线性、非线性的最小二乘问题。另外,该工具箱还提供了线性、非线性最小化,方程求解,曲线拟合,二次规划等问题中大型课题的求解方法,为优化方法在工程中的实际应用提供了更方便快捷的途径。 概 述1.1 优化工具箱中的函数1.1 优化工具箱中的函数优化工具箱中的函数包括下面几类: 最小化函数1.2有边界非线性最小化1.2有边界非线性最小化 [函数] fminbnd 功能:找到固定区间内单变量函数的最小值。 [格式] x = fminbnd(fun,x1,x2) x = fminbnd(fun,x1,x2,options) [x,fval] = fminbnd(…) [x,fval,exitflag] = fminbnd(…) [x,fval,exitflag,output] = fminbnd(…) [应用背景]给定区间x1 评价 LEC评价法下载LEC评价法下载评价量规免费下载学院评价表文档下载学院评价表文档下载 次数。 1.2有边界非线性最小化1.2有边界非线性最小化算法: fminbnd是一个M文件。其算法基于黄金分割法和二次插值法。 局限性: 1.目标函数必须是连续的。 2.fminbnd函数可能只给出局部最优解。 3.当问题的解位于区间边界上时,fminbnd函数的收敛 速度常常很慢。此时,fmincon函数的计算速度更快,计算精度更高。 4.fminbnd函数只用于实数变量。1.2有边界非线性最小化1.2有边界非线性最小化1.2.1 应用实例 [例一] 在区间(0,2π)上求函数sin(x)的最小值: x = fminbnd(@sin,0,2*pi) x = 4.7124 所以区间(0,2π)上函数sin(x)的最小值点位于x=4.7124处。 最小值处的函数值为: y = sin(x) y = -1.0000 null[例二] 对边长为3m的正方形铁板,在四个角处剪去相等的正方形以制成方形无盖水槽,问如何剪法使水槽的容积最大? 假设剪去的正方形的边长为x,则水槽的容积为 现在要求在区间(0,1.5)上确定一个x,使 最大化。 首先编写M文件opt21_3o.m: function f = myfun(x) f = -(3-2*x).^2 * x; 然后调用fminbnd函数(磁盘中M文件名为opt21_3.m): x = fminbnd(@opt21_3o,0,1.5) 得到问题的解: x = 0.5000 即剪掉的正方形的边长为0.5m时水槽的容积最大。 水槽的最大容积计算: y =-2.0000 所以水槽的最大容积为2.0000m3。1.3线性规划及其优化函数1.3线性规划及其优化函数线性规划问题是目标函数和约束条件均为线性函数的问题,MATLAB解决的线性规划问题的 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 形式为 : min sub.to: 其中:其中f、x、b、beq、lb、ub为向量,A、Aeq为矩阵。 其它形式的线性规划问题都可经过适当变换化为此标准形式。 1.3线性规划及其优化函数1.3线性规划及其优化函数[函数] linprog [格式] x = linprog(f,A,b,Aeq,beq) x = linprog(f,A,b,Aeq,beq,lb,ub) x = linprog(f,A,b,Aeq,beq,lb,ub,x0) x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options) [x,fval] = linprog(…) [x,fval,exitflag] = linprog(…) [x,fval,exitflag,output] = linprog(…) [x,fval,exitflag,output,lambda] = linprog(…) 1.3线性规划及其优化函数1.3线性规划及其优化函数[说明] f: 是优化参数x的系数矩阵; lb,ub: 设置优化参数x的上下界; fval: 返回目标函数在最优解x点的函数值; exitflag:返回算法的终止标志; output: 返回优化算法信息的一个数据结构。 lambda:解x的Lagrange乘子 1.3线性规划及其优化函数1.3线性规划及其优化函数说明: 若exitflag>0 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示函数收敛于解x,exitflag=0表示超过函数估值或迭代的最大数字,exitflag<0表示函数不收敛于解x;若lambda=lower 表示下界lb,lambda=upper表示上界ub,lambda=ineqlin表示不等式约束,lambda=eqlin表示等式约束,lambda中的非0元素表示对应的约束是有效约束;output=iterations表示迭代次数,output=algorithm表示使用的运算 规则 编码规则下载淘宝规则下载天猫规则下载麻将竞赛规则pdf麻将竞赛规则pdf ,output=cgiterations表示PCG迭代次数。1.3线性规划及其优化函数1.3线性规划及其优化函数[应用举例] 求使函数 取最小值的x值, 且满足约束条件: 1.3线性规划及其优化函数1.3线性规划及其优化函数[代码]f = [-5; -4; -6]; A = [1 -1 1;3 2 4;3 2 0]; b = [20; 42; 30]; lb = zeros(3,1); [x,fval] = linprog(f,A,b,[],[],lb) [结果] x = 0.0000 15.0000 3.0000 fval = -78.00001.3线性规划及其优化函数1.3线性规划及其优化函数应用实例 [ [例三] 生产决策问题 某厂生产甲乙两种产品,已知制成一吨产品甲需用资源A 3吨,资源B 4m3;制成一吨产品乙需用资源A 2吨,资源B 6m3,资源C 7个单位。若一吨产品甲和乙的经济价值分别为7万元和5万元,三种资源的限制量分别为90吨、200m3和210个单位,试决定应生产这两种产品各多少吨才能使创造的总经济价值最高? 令生产产品甲的数量为x1,生产产品乙的数量为x2。由题意可以建立下面的模型: 该模型中要求目标函数最大化,需要按照Matlab的要求进行转换,即目标函数为 首先输入下列系数: f = [-7;-5]; A = [3 2 4 6 0 7];1.3线性规划及其优化函数1.3线性规划及其优化函数b = [90; 200; 210]; lb = zeros(2,1); 然后调用linprog函数: [x,fval,exitflag,output] = linprog(f,A,b,[],[],lb) x = 14.0000 24.0000 fval = -218.0000 exitflag = 1 output = iterations: 5 cgiterations: 0 algorithm: 'lipsol' 由上可知,生产甲种产品14吨、乙种产品24吨可使创建的总经济价值最高。最高经济价值为218万元。exitflag=1表示过程正常收敛于解x处。1.3线性规划及其优化函数[例四] 生产计划的最优化问题 某工厂生产A和B两种产品,它们需要经过三种设备的加工,其工时如表9-16所示。设备一、二和三每天可使用的时间分别不超过12、10和8小时。产品A和B的利润随市场的需求有所波动,如果预测未来某个时期内A和B的利润分别为4和3千元/吨,问在那个时期内,每天应安排产品A、B各多少吨,才能使工厂获利最大? 表1 生产产品工时表 设每天应安排生产产品A和B分别为x1吨和x2吨,由题意建立下面的数学模型: 首先转换目标函数为标准形式: 输入下列系数:1.3线性规划及其优化函数1.3线性规划及其优化函数f = [-4;-3]; A=[3 4 3 3 4 2]; b=[12;10;8]; lb = zeros(2,1); 然后调用linprog函数: [x,fval,exitflag,output,lambda] = linprog(f,A,b,[],[],lb); x = 0.8000 2.4000 fval = -10.4000 所以,每天生产A产品0.80吨、B产品2.40吨可使工厂获得最大利润。 1.3线性规划及其优化函数null[例五] 工件加工任务分配问题 某车间有两台机床甲和乙,可用于加工三种工件。假定这两台机床的可用台时数分别为700和800,三种工件的数量分别为300、500和400,且已知用三种不同机床加工单位数量的不同工件所需的台时数和加工费用(如表2所示),问怎样分配机床的加工任务,才能既满足加工工件的要求,又使总加工费用最低? 表2 机床加工情况表设在甲机床上加工工件1、2和3的数量分别为x1、x2和x3,在乙机床上加工工件1、2和3的数量分别为x4、x5和x6。根据三种工种的数量限制,有null x1+x4=300 (对工件1) x2+x5=500 (对工件2) x3+x6=400 (对工件3) 再根据机床甲和乙的可用总台时限制,可以得到其它约束条件。以总加工费用最少为目标函数,组合约束条件,可以得到下面的数学模型: 首先输入下列系数: f = [13;9;10;11;12;8]; A = [0.4 1.1 1 0 0 0 0 0 0 0.5 1.2 1.3]; b = [700; 800]; Aeq=[1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1]; beq=[300 500 400]; lb = zeros(6,1);null然后调用linprog函数: [x,fval,exitflag,output,lambda] = linprog(f,A,b,Aeq,beq,lb); x = 0.0000 500.0000 0.0000 300.0000 0.0000 400.0000 fval = 1.1000e+004 exitflag = 1 可见,在甲机床上加工500个工件2,在乙机床上加工300个工件1、加工400个工件3可在满足条件的情况下使总加工费最小。最小费用为11000元。收敛正常。null[例六] 确定职工编制问题 某厂每日八小时的产量不低于1800件。为了进行质量控制,计划聘请两种不同水平的检验员。一级检验员的标准为:速度 25件/小时,正确率 98%,计时工资 4元/小时;二级检验员的标准为:速度 15件/小时,正确率 95%,计时工资 3元/小时。检验员每错检一次,工厂要损失2元。现有可供厂方聘请的检验员人数为一级8人和二级10人。为使总检验费用最省,该工厂应聘一级、二级检验员各多少名? 设需要一级和二级检验员的人数分别为x1名和x2名,由题意可以建立下面的模型: 利用Matlab进行求解之前需要将第三个约束条件进行转换,两边取负以后得到 首先输入下列系数: f= [40;36]; A= [1 0 0 1 -5 -3]; b=[8;10;-45]; lb = zeros(2,1);null然后调用linprog函数: [x,fval,exitflag,output,lambda] = linprog(f,A,b,[],[],lb); x = 8.0000 1.6667 fval = 380.0000 exitflag = 1 可见,招聘一级检验员8名、二级检验员2名可使总检验费最省,约为380.00元。计算收敛。1.4无约束非线性及其优化函数1.4无约束非线性及其优化函数[函数]fminunc [格式]x = fminunc(fun,x0) x = fminunc(fun,x0,options) [x,fval] = fminunc(…) [x,fval,exitflag] = fminunc(…) [x,fval,exitflag,output] = fminunc(…) [x,fval,exitflag,output,grad] = fminunc(…) [x,fval,exitflag,output,grad,hessian] = fminunc(…)1.4无约束非线性及其优化函数1.4无约束非线性及其优化函数[说明] fun 是目标函数 options 设置优化选项参数 fval 返回目标函数在最优解x点的函数值 exitflag 返回算法的终止标志 output 返回优化算法信息的一个数据结构 grad 返回目标函数在最优解x点的梯度 hessian 返回目标函数在最优解x点的Hessian矩阵值 1.4无约束非线性及其优化函数1.4无约束非线性及其优化函数[应用举例] 的最小值 [代码]%首先编写目标的.m文件 function f=myfun(x) f=3*x(1)^2+2*x(1)*x(2)+x(2)^2 %然后调用函数 fminunc %起始点 x0=[1,1]; [x,fval]=fminunc(@myfun,x0) [结果] x = 1.0e-008 * -0.7512 0.2479 fval = 1.3818e-0161.4无约束非线性及其优化函数1.4无约束非线性及其优化函数[函数] fminsearch [格式] x = fminsearch(fun,x0) x = fminsearch(fun,x0,options) [x,fval] = fminsearch(…) [x,fval,exitflag] = fminsearch(…) [x,fval,exitflag,output] = fminsearch(…) 1.4无约束非线性及其优化函数1.4无约束非线性及其优化函数[说明] fun 是目标函数 options 设置优化选项参数 fval 返回目标函数在最优解 x点的函数值 exitflag 返回算法的终止标志 output 返回优化算法信息的一个数据结构1.4无约束非线性及其优化函数1.4无约束非线性及其优化函数[应用举例]求函数 取最小值时的值。 [代码]%首先编写f(x)的.m 文件 function f=myfun(x) f=sin(x)+3; %然后调用函数fminsearch x0=2 ; %起始点 [x,fval]=fminsearch(@myfun,x0) [结果] x = 4.7124 fval = 2.0000null局限性: 1.目标函数必须是连续的。fminunc函数有时会给出局部最优解。 2.fminunc函数只对实数进行优化,即x必须为实数,而且f(x)必须返回实数。当x为复数时,必须将它分解为实部和虚部。 1.应用fminsearch函数可能会得到局部最优解。 2.fminsearch函数只对实数进行最小化,即x必须由实数组成,f(x)函数必须返回实数。如果x时复数,必须将它分为实数部和虚数部两部分。 注意:当函数的阶数大于2时,使用fminunc比fminsearch更有效,但当所选函数高度不连续时,使用fminsearch效果较好。本节结束本节结束Thank You!
本文档为【Matlab机械优化设计实例教程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_838594
暂无简介~
格式:ppt
大小:132KB
软件:PowerPoint
页数:0
分类:工学
上传时间:2011-03-14
浏览量:132