收藏 分销(赏)

Matlab求解优化问题.doc

上传人:天**** 文档编号:2402430 上传时间:2024-05-29 格式:DOC 页数:6 大小:83.68KB 下载积分:6 金币
下载 相关 举报
Matlab求解优化问题.doc_第1页
第1页 / 共6页
Matlab求解优化问题.doc_第2页
第2页 / 共6页


点击查看更多>>
资源描述
预备知识:M文件简介 在MATLAB中,用户可以利用Edtior(编辑器)建立M文件,然后在命令窗口中的“>>”提示符下键入M文件的主文件名,回车执行. MATLAB的M文件有两类:命令文件和函数文件。将原本要在MATLAB环境下直接输入的语句,放在一个以 .m为后缀的文件中,这一文件就称为命令文件;函数文件由五部分组成:函数定义行、H1行、函数帮助文本、函数体、注释,MATLAB的内部函数都是由函数文件定义的。 1.11 优化(最值、数学规划) 在数学上,优化问题包括最值问题和数学规划问题等,后者又包括线性规划、整数规划(含0-1规划)、二次规划等. 在MATLAB中,求解最值问题的命令主要有: fminbnd(f,x1,x2) 求一元函数f在区间[x1,x2]上的最小值点 [x,fval]=fminbnd(f,x1,x2) 求一元函数f在区间[x1,x2]上的最小值点和最小值 fminsearch(’f’,x0) 求多元函数f在点x0附近的最小值点 [x,fval]=fminsearch(’f’,x0) 求多元函数f在点x0附近的最小值点和最小值 例1.11.1 求函数在区间上的最小值点和最小值. >> [x,fval]=fminbnd('x^2+3*x+2',-5,5) x = -1.5000 fval = -0.2500 例1.11.2 求函数在点附近的最小值点和最小值. >> [x,fval]= fminsearch('x(1)*x(2)+2/x(1)+2/x(2)',[1 1]) x = 1.2599 1.2599 fval = 4.7622 在MATLAB中,求解数学规划问题的命令主要有: (1)线性规划 命令:[x,fval]=linprog(c,A,b,Aeq,beq,lb,ub) 在上述命令中,当某些参数空缺时,可用[]代替或省略,下同。 例1.11.3 求解线性规划问题. >> c=[2;3;6;5]; >> A=[1 -1 -2 -4;0 -1 -1 1]; >> b=[0;0]; >> Aeq=[1 1 1 1]; >> beq=[1]; >> lb=[0;0;0;0]; >> [x,fval]=linprog(c,A,b,Aeq,beq,lb,[]) Optimization terminated. x = 0.5000 0.5000 0.0000 0.0000 fval = 2.5000 (2)0-1规划 命令:[x,fval]=bintprog(c,A,b,Aeq,beq) 例1.11.4 求解0-1规划问题. >> c=[-1;-1.2;-0.8]; >> A=[2.1,2,1.3;0.8,1,0;1,2.5,2;0,2,0]; >> b=[5;5;8;8]; >> [x,fval]=bintprog(c,A,b,[],[]) Optimization terminated. x = 1 1 0 fval = -2.2000 (3)二次规划 命令:[x,fval]=quadprog(H,c,A,b,Aeq,beq,lb,ub) 例1.11.5 求解二次规划问题. >> H=[1 -1;-1 2]; >> c=[-2;-6]; >> A=[1 1;-1 2]; >> b=[2 2]; >> Aeq=[2 1]; >> beq=[3]; >> lb=[0;0]; >> [x,fval]=quadprog(H,c,A,b,Aeq,beq,lb,[]) Warning: Large-scale method does not currently solve this problem formulation, switching to medium-scale method. > In quadprog at 242 Optimization terminated. x = 1.0000 1.0000 fval = -7.5000 (4)非线性规划 命令:[x,fval]=fmincon(’fun’,x0,A,b,Aeq,beq,lb,ub,’nonlcon’) 在上述命令中,fun为定义目标函数的M文件的主文件名,x0为初值,nonlcon为定义非线性约束条件的M文件的主文件名. 例1.11.6 求解非线性规划问题,初始点为. 首先,建立fun.m文件,定义目标函数: function f=fun(x); f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1); 其次,建立nonlcon.m文件,定义非线性约束条件: function [D,Deq]=nonlcon(x) D(1)=1.5+x(1)*x(2)-x(1)-x(2); D(2)=-x(1)*x(2)-10; Deq=[]; 最后,输入如下命令并执行: >> x0=[-1;1]; >> Aeq=[1 1];beq=[0]; >> [x,fval]=fmincon('fun',x0,[],[],Aeq,beq,[],[],'nonlcon') Warning: Large-scale (trust region) method does not currently solve this type of problem, switching to medium-scale (line search). > In fmincon at 274 Optimization terminated: first-order optimality measure less than options. TolFun and maximum constraint violation is less than options. TolCon. Active inequalities (to within options.TolCon = 1e-006): lower upper ineqlin ineqnonlin 1 x = -1.2247 1.2247 fval = 1.8951 显然,利用MATLAB求解数学规划问题(特别是非线性规划)较为不便. 为此,第二章将要介绍功能更为强大、操作更为便捷的LINGO软件. 实验9 1. 求如下函数的最小值和最小值点: (1) ;(2) 2. 求解线性规划问题: (1) (2) 3. 求解0-1规划问题: (1) (2) 4. 求解二次规划问题: 5. 求解非线性规划问题: (1) (2)
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服