第二章—Matlab解决悬置多目标解耦的非线性优化问题.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 Matlab 解决 悬置 多目标 非线性 优化 问题
- 资源描述:
-
悬置系统的多方向解耦率优化可以简化为一个多目标非线性优化问题。 解决多目标的非线性优化问题,此问题可以归结为如下模型: min γ (x) 使得:F(x) − weight *γ ≤ goal A*x ≤ b ,Aeq *x = beq c(x) ≤ 0, ceq(x) = 0 lb ≤ x ≤ ub 其中x、weight、goal、b、beq、lb和ub是向量,A和Aeq是矩阵;c(x)、ceq(x)和F(x)是返回向量的函数,他们可以是非线性函数。F(x)是目标函数,goal是欲达到的目标。 调用形式 x = fgoalattain(fun,x0,goal,weight) x = fgoalattain(fun,x0,goal,weight,A,b) x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq) x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub) x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon) x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,...lb,ub,nonlcon,options) [x,fval] = fgoalattain(...) [x,fval,attainfactor] = fgoalattain(...) [x,fval,attainfactor,exitflag] = fgoalattain(...) book.iLoveM [x,fval,attainfactor,exitflag,output] = fgoalattain(...) [x,fval,attainfactor,exitflag,output,lambda] = fgoalattain(...) 调用说明 fgoalattain函数用于获得目标函数fun中设置的参数x(x可为向量)的值,使得fun的值接近于目标值goal,达到优化fun函数的目的。 x = fgoalattain(fun,x0,goal,weight); x0是为fun中未知参数x设置的初始值,x的取值将从x0开始搜索,goal为欲达到的目标值,weight为模型中所加的权重。 x = fgoalattain(fun,x0,goal,weight,A,b); 增加了线性约束条件A*x <= b,缩小了参数x的取值范围。 x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq); 使得x的取值必须满足线性方程组Aeq*x = beq,当无约束条件A*x <= b。时应将A和b置为:A=[],b=[]。 x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub); 为x设定了上限ub和下限lb,使得lb <= x <= ub。 x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon); nonlcon为关于x的非线性函数ceq(x) = 0,增加了参数x的非线性约束条件;当x不需设定上下限时,设置:lb=[],ub=[]。 x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon,... options) ; options为fgoalattain可选的优化选项,可通过函数optimset来设置。 [x,fval] = fgoalattain(...); fval为目标函数fun中设定的参数值取x时获得的结果。 [x,fval,attainfactor] = fgoalattain(...); attainfactor返回代表fval与goal逼近程度的数字。 [x,fval,attainfactor,exitflag] = fgoalattain(...) ; exitflag的值用于描述fgoalattain获得结果的状态。 [x,fval,attainfactor,exitflag,output]= fgoalattain(...); output返回一个结构体,描述fgoalattain在计算过程中用到的优化算法及其计算情况。 [x,fval,attainfactor,exitflag,output,lambda] = fgoalattain(...) ; lambda返回一个结构体,它的域中包含了参数x的拉格朗日乘子。 参数说明 nonlcon参数: 该函数计算非线性不等式约束c(x) <=0和非线性等式约束ceq(x)=0。nonlcon函数是一个包含函数名的字符串,该函数可以是M文件、内部函数或MEX文件。nonlcon函数需要输入向量x,返回两个变量—x处的非线性不等式向量c和x处的非线性等式向量ceq。例如,若nonlcon='mycon',则M文件的形式如下: function [c,ceq] = mycon(x) c = ... 计算x处的非线性不等式。 ceq = ... 计算x处的非线性等式。 若约束函数的梯度可以计算,且options.GradConstr设为'on',即 options = optimset('GradConstr','on') ,则函数nonlcon也必须在第三个和第四个输出变量中输出c(x)的梯度GC和ceq(x)的梯度GCeq。注意,可以通过核对nargout参数来避免计算GC和GCeq。 function [c,ceq,GC,GCeq] = mycon(x) c = ... x处的非线性不等式。 ceq = ... x处的非线性等式。 if nargout > 2 被调用的nonlcon函数,有4个输出。 GC = ... 不等式的梯度。 GCeq = ... b 等式的梯度。 end 若nonlcon函数返回m元素的向量c和长度为n的x,则c(x)的梯度GC是一个n*m的矩阵,其中GC(i,j)是c(j)对x(i)的偏导数。同样,若ceq是一个p元素的向量,则ceq(x)的梯度Gceq是一个n*p的矩阵,其中Gceq(i,j)是ceq(j)对x(i)的偏导数。 options变量 :优化参数选项。你可以用optimset函数设置或改变这些参数的值。 DerivativeCheck – 比较用户提供的导数(目标函数或约束函数的梯度)和有限差分导数。 Diagnostics – 打印将要最小化或求解的函数的诊断信息。 Matlab中文论坛 DiffMaxChange – 变量中有限差分梯度的最大变化。 DiffMinChange - 变量中有限差分梯度的最小变化。 Display – 显示水平。设置为'off'时不显示输出;设置为'iter'时显示每一次迭代的输出;设置为'final'时只显示最终结果。 GoalExactAchieve – 使得目标个数刚好达到,不多也不少。 GradConstr – 用户定义的约束函数的梯度。 GradObj – 用户定义的目标函数的梯度。使用大型方法时必须使用梯度,对于中型方法则是可选项。 《Simulink与信号处理》 MaxFunEvals – 函数评价的允许最大次数。 MaxIter – 函数迭代的允许最大次数。 MeritFunction – 如果设为'multiobj',则使用目标达到或最大最小化目标函数的方法。若设置为'singleobj',则使用fmincon 函数计算目标函数。 TolCon – 约束矛盾的终止容限。 TolFun – 函数值处的终止容限。 TolX – x处的终止容限。 weight变量 :为权重向量,可以控制低于或超过fgoalattain函数指定目标的相对程度。当goal的值都是非零值时,为了保证活动对象超过或低于的比例相当,将权重函数设置为abs(goal) (活动对象为阻止解处目标改善的对象集合)。 实例分析: 某轿车上采用三点悬置,悬置的初始参数已给定,需要对悬置参数进行优化从而提高悬置系统的解耦率,初始参数为x0。 首先编写通过初始参数计算出悬置系统解耦率函数: Energy.m 然后找出解耦率矩阵中需要优化的目标,垂向和侧倾解耦率,设为目标函数: Objfun.m 编写优化函数MutliObjOpti.m 优化函数中主要设置参数: Options = optimset (Display,final, MaxFunEvals,100000, MaxIter,5000,) Options中可设置更多参数。 [x,fval,attainfactor,exitflag] = fgoalattain (@Objfun, x0, goal, weight, A, b, Aeq, beq,...lb,ub,nonlcon,options) Goal为[100,100] A, b, Aeq, beq均为[ ],表示不起约束作用 lb,ub主要设置为悬置参数中位置、刚度、角度所允许变化的范围。 Nonlcon为非线性约束,其中Ceq = [ ],主要利用不等式约束C来对刚度间的关系进行约束,对频率进行约束。例: 一号悬置刚度k1/k2<3,第一阶频率10Hz<f(1)<15Hz,设置为 C(1)=x(4,1) - 3*x(5,1) %表示一号悬置刚度关系 C(2)=10- f(1) %一阶频率大于10Hz C(3)= f(1)-15 %一阶频率小于15Hz 由于本地电脑上没有完整程序,没有完整程序运行结果,对此深表歉意。展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




第二章—Matlab解决悬置多目标解耦的非线性优化问题.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/6528784.html