




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第7章 MATLAB辅助优化设计 7.1 辅助优化设计辅助优化设计 7.2 线性规划线性规划 7.3 无约束非线性规划无约束非线性规划 7.4 约束最优化约束最优化 7.5 多目标规划多目标规划 7.6 最小二乘优化最小二乘优化 7.7 方程求解方程求解7.1 辅助优化设计辅助优化设计 设x=(x1,x2,xn)T为n维欧氏空间En的一点,f(x),gi(x)(i=1,2,m),hi (x)(i=m+1,p)为给定的n元函数,则一般最优化问题的提法是在约束条件: gi(x)=0,i=1m和hi (x)=0,i=m+1p之下,求向量x使函数f(x)取最小值(或极大值)。这里f(x)称为目标函数,
2、 gi(x)=0; 线性规划的标准形式要求目标函数最小化,不符合条件的线性模型首先转换成标准形式。 在MATLAB工具箱中,可用linprog函数求解线性规划问题 数学建模如下 min f(x) A*x=b Aeq*x=beq lb=x=ub 函数格式: x=linprog(f,A,b) 求解问题min f(x),约束条件A*x=b x=linprog(f,A,b,Aeq,beq) 求解上面问题但增加了约束Aeq*x=beq,若无不等式存在则:A=,b= x=linprog(f,A,b,Aeq,beq,lb,ub)定义x的上下界若无等式存在则:Aeq=,beq= x=linprog(f,A,b
3、,Aeq,beq,lb,ub,x0)设置初始值x0。该选项只适合中型问题,大型算法将忽略初值。 x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)用options指定的优化参数进行最小化计算。x,fval=linprog()返回解x处的目标值x,lambda,exitflag=linprog()返回exitflag值,描述函数计算退出的条件x,lambda,exitflag,output=linprog()返回包含优化信息的输出变量outputx,fval,exitflag,lambda=linprog()将解x处的拉格郎日乘子返回到lambda参数中 例求使函
4、数f(x)=-5x1-4x2-6x3取最小的x值,且满足: x1-x2-x3=20 3x1+2x2+4x3=42 3x1+2x2=0f=-5,-4,-6;A=1,-1,1;3,2,4;3,2,0;b=20;42;30;lb=0,0,0;x,fval=linprog(f,A,b,lb) Optimization terminated successfully. x = 0.0000 15.0000 3.0000 fval = -78.0000 某人要用一笔资金投资,现在有四个项目,各项目的净收益占投入资金的百分比如下所示: 由于特殊原因用于A的投资不能大于其他各项投资之和,用于项目B和C的投资要
5、大于项目D的投资。试确定该人收益的最大值。投资项目ABCD收益(%) 1510812设x1,x2,x3,x4分别代表用于A、B、C、D的投资百分数,则根据提议则可建立如下数学模型f(x)=0.15x1+0.1x2-0.08x3+0.12x4x1=x2+x3+x4x2+x3=x4x1+x2+x3+x4=1x1,x2,x3,x4=0f(x)=-(0.15x1+0.1x2-0.08x3+0.12x4)-x1+x2+x3+x4= 0-x2-x3+x4=0f= -0.15,-0.1,-0.08,-0.12;A=1,-1,-1,-1;0,-1,-1,1;b=0;0;Aeq=1 1 1 1;beq=1;lb
6、 =0,0,0,0;x,fval=linprog(f,A,b,Aeq,beq,lb)Optimization terminated successfully.x = 0.5000 0.2500 0.0000 0.2500fval = -0.13007.3无约束非线性规划 目标函数或约束条件中包含自变量的非线性函数,则这类问题属于非线性规划。 求解无约束非线性规划的常用方法为数值解法,数值解法中常用的是迭代法,它的基本思想是在给出极小点位置的一个初始估计x0后,计算一系列的xk(k=1,2,),希望点列xk的极限 x*就是f(x)的极小点。 迭代法 一般用 xk+1-xk=ckdk 其中dk为一
7、个向量,ck为步长。由dk可以唯一确定dk+1。从而得到一个点列xk。如果这个点列逼近我们的极小点,便称他为极小化序列。各种迭代方法的区别在于ck和dk的选取不同,特别是方向的产生起着关键作用。选取的方法很多,但不是随机的,必须满足序列对应的函数值是逐渐减小的。其次算法应该收敛,即产生的序列具有收敛性,或者序列中的某一点本身就是f(x)的极小点,或者极限点就是极小点。这个要求是必须的,因为极小化序列不能收敛到极小点,那么我们构造的序列与极小点无关也就失去了意义。 一般最优化算法的迭代过程分四步 (1选择初始点x0各种方法、各类函数对初始点的要求不尽相同,但越靠近最优解越好 (2如果得到的迭代点
8、xk不是最优解则要建立一套以产生方向dk使目标函数f(x)从xk开始有所下降。 (3选取步长ck。在多数算法中, ck的选取使f(x)下降最多,即沿射线xk+ckdk求f(x)极小值,这是单变量c的函数极小点问题,称为一维搜索。 (4检验新的迭代点是否为最优解或其近似解,如果不是继续迭代。 一维搜索方法 试探法:通过一系列点的比较来确定极小点 函数逼近法:用简单的曲线来代替原来的曲线,用近似曲线的极小点来代替原来曲线的极小点。常用方法:牛顿法、抛物线法、三次插值法。 函数格式: fminsearch函数 x=fminsearch(fun,x0) x,fval=fminsearch() fun
9、目标函数 fval 返回目标函数在最优解x点的函数值 例求函数f(x)=sin(x)+3 f=inline(sin(x)+3); x0=2; x,fval=fminsearch(f,x0) x = 4.7124 fval = 2.0000 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,exitfla
10、g,output,grad,hessian=fminunc() fun 目标函数 options 设置优化选项参数 fval 返回目标函数在最优解x点的函数值 exitflag 返回算法中止标志 output 返回优化算法信息的一个数据结构 grad 返回目标函数在最优解x点的梯度 hessian返回目标函数在最优解x点的hessian矩阵值 例f(x)=3x(1)2+4x(1)x(2)+x(2)2 f=inline(3*x(1)2+4*x(1)*x(2)+x(2)2); x0=1,1; x,val=fminunc(f,x0) x = 1.0e-008 * -0.7512 0.2479 fva
11、l = 1.3818e-0167.4约束最优化 约束最优化的数学模型 c(x),ceq(x)为函数,可以线性或非线性函数min( ( )( )0( )0*f xc xceq xA xbAeq xbeqlbxub求解约束最优化的函数:fminbnd,fmincon,fseminf,quadprog,fminimax(1)fminbnd 已知函数f(x),fminbnd求解其在区间 内的最小值,即 。其中 , 均是标量,f(x)返回一个标量值。 x=fminbnd(fun,x1,x2)x=fminbnd(fun,x1,x2,options)x,val=fminbnd()fun 目标函数x1,x2
12、设置最优化变量给定区间的上下界options 设置优化选项参数 fval 返回目标函数在最优解x点的函数值12xxxmin( )xf x1x2x 例求函数 在区间0,5的最小值 f=inline(x-3)2-1); x,val=fminbnd(f,0,5) x = 3 val = -12( )(3)1f xx fmincon函数格式: x=fmincon(f,x0,A,b) x=fmincon (f,x0,A,b,Aeq,beq) x= fmincon (f,x0,A,b,Aeq,beq,lb,ub) x,fval,exitflag=fmincon () x,fval,exitflag,out
13、put= fmincon() x,fval,exitflag,output,grad= fmincon() 例: 取最小值的x值,设x0=10;10;10约束条件为 f=inline(-x(1)*x(2)*x(3); A=-1,-2,-2;1,2,2; b=0;72; x0=10;10;10; x,val=fmincon(f,x0,A,b); x = 24.0000 12.0000 12.0000 val = -3.4560e+003123( )f xx x x 12302272xxx7.7方程求解 线性方程和方程组 非线性方程 非线性方程组 非线性方程 函数格式:fzero求单变量连续函数的零点。 x=fzero(fun,x0) fun目标函数 x,fval=fzero() fval返回目标函数在最优解x点的函数值 x,fval,exitflag=fzero() x,fval,exitflag,output=fzero() 例求 在x=2附近的零点 y=inline(x.3-2*x-5); z=fzero(y,2) z = 2.09463( )25f xxx 非线性方程组 函数格式: x=fsolve(fun,x0); x=fsolve(fun,x0,options); x,fval=fsolve(); x,fval,exitflag=fsolve(); x,fv
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025写字楼出租合同全解析
- 2025电子金融服务合同范本
- 2024年宁波逸东诺富特酒店招聘考试真题
- 2024年汕尾市陆河县陆河未来学校招聘真题
- 2024年甘南州舟曲县特岗教师招聘真题
- 浙江省金兰教育合作组织2024-2025学年高二下学期4月期中考试信息技术试卷(含答案)
- 广西幼师学前专业儿童文学教案06儿童诗
- 2025年二手电商信用评价体系与品牌建设策略报告
- 历史研究与考古发现图书企业制定与实施新质生产力项目商业计划书
- 健康生活习惯行业跨境出海项目商业计划书
- 广东省广州市天河区2024年八年级下册数学期末考试试题含解析
- 土木工程专业毕业答辩常问问题
- 供水管网抢修管理课件
- 多学科疼痛护理
- 24春国家开放大学《统计学原理》形成性考核1-3参考答案
- 红色大气商务企业启动会企业启动仪式
- 徐州市中考英语英语-语法填空试题(含答案)
- 企业专职消防队建设标准
- 铁道概论(第八版)佟立本主编
- 腹腔镜手术麻醉教学查房
- 超星尔雅《中国古建筑欣赏与设计》期末考试答案三套
评论
0/150
提交评论