版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三讲Matlab优化工具一、简介在建模过程中,许多问题都可归结为“最优化(optimization)”问题,如最大利润、最小成本、最短路径等,最优化问题也称数学规划。要描述一个最优化问题,应明确三个基本要素:决策变量(decisionvariables):它们是决策者所控制的变量,它们取什么值需要决策者来决策,最优化问题的求解就是找出决策变量的最优取值。约束条件(constraints):它们是决策变量在现实世界中所受到的限制,或者说决策变量在这些限制范围之内取值才有实际意义。目标函数(objectivefunction):它代表决策者希望对其进行优化的那个指标,目标函数是决策变量的函数。最优化问题的分类,按决策变量是否是时间的函数分为动态优化和静态优化。按目标函数与约束条件是否是决策变量的线性函数分为线性规划和非线性规划,按决策变量是否为整数分为整数规划和非整数规划,此外还有0-1规划、二次规划、多目标优化、最小最大优化问题等。可行解(feasiblesolution):满足全部约束条件的决策向量。可行域:全部可行解构成的集合。最优解:使目标函数达到最优值(最大或最小值,并且有界)的可行解。无界解:若求极大化则目标函数在可行域中无上界,若求极小化
则目标函数在可行域中无下界。二、线性规划(Linearprogramming)Matlab中,线性规划问题的标准形式为mincTxAx<bs.t<Ax=beqeqlb<x<ub其中c=(c,c,Lc)t,x=(x,x,Lx)t12n12n思考:最大值问题maxcTx和不等式约束Ax>b怎样转化为上述标准形式?(加负号;两边同乘-1)Matlab中解上述线性规划问题的指令:x=linprog(c,A,b,Aeq,beq,lb,ub)或[x,fval]=linprog(c,A,b,Aeq,beq,lb,ub)说明:当上述指令中某个输入参数缺省时应在相应位置填上空矩阵[],若从某项输入参数开始往后各项参数都缺省,则可以将其全部
省略而不用补上[]。例如线性规划问题mincTx,s.t.Ax<b,可以表示
为x=linprog(c,A,b);而问题mincTx,s.t;Ax<b则必须表示为Ilb<x<ubx=linprog(c,A,b,[],[],lb,ub)例:解下列线性规划问题minz=-5x-4x-6x123x-xminz=-5x-4x-6x123x-x+x<20
1231、3x+2x+4x<42st\1233x+2x<3012
Ix>0,i=1,2,3i2、12—2x+x+x=02342x+3x<1612s.t<3x+4x<24120<x<53x>0,x>0,x>0124解:1、>>c=[-5-4-6];A=[1-11;324;320];>>b=[204230];lb=zeros(3,1);>>[x,fval]=linprog(c,A,b,[],[],lb)2、>>c=[4001000300-200];c=-c;>>A=[2300;3400];b=[1624];>>Aeq=[0-211];beq=[0];>>lb=zeros(4,1);ub=[infinf5inf]';>>[x,fval]=linprog(c,A,b,Aeq,beq,lb,ub)三、非线性规划(Nonlinearprogramming)当目标函数、约束条件中至少有一个表达式是非线性函数时称为非线性规划,一般形式:minf(x)Ax<b,Ax=b线性约束eqeqs.t<c(x)<0,ceq(x)=0非线性约束lb<x<ub其中c(x),ceq(x)都是函数向量。Matlab中求解非线性规划的指令:x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)调用格式与linprog函数的调用格式相同。其中x0是最优值x的初始值(估计值),fun和nonIcon是目标函数和非线性约束函数文件的函数句柄。例:求解非线性规划问题1minf(x)=-xxx的汁/古1、123取初值x=[10,10,10]s.t0<x+2x+2x<720123>>obj=inline('-x(1)*x(2)*x(3)','x')>>x0=[101010];A=[-1-2-2;122];b=[072];>>[x,fval]=fmincon(obj,x0,A,b)minz=x2+x2122、fx+x二4s.t彳12I(x-4)2+x2<212先建立目标函数文件[obj1・m]和非线性约束条件函数文件[nonlcon1.m]然后在命令窗口输入:>>Aeq=[11];beq=4;x0=[11];>>[xfval]=fmincon(@obj1,x0,[],[],Aeq,beq,[],[],@nonlcon1);四、整数线性规划(IntegerLinearprogramming)目标函数和约束条件都是线性函数,且决策变量都取整数值的数学规划,称为整数线性规划,简记为ILP,解整数线性规划问题的主要方法是分支定界法。Matlab中没有现成的解整数规划的库函数,可以参考外编程序[intprog・m]。基本语法为x=intprog(c,A,b,Aeq,beq,lb,ub,x0,id,options)其用法与相关参数说明同linprog.m,该程序不仅可以解纯整数规划,还可以解混合规划问题(即只有部分变量取整数的情况),输入参数id是标记整数变量索引号的列向量,1表示整数,0表示实数,默认情况是全1向量即纯整数规划。例:求解下列整数规划问题
maXf=X1+X2-4X3x+x+2x<9123x+x-x<2s.t.s.t.v—x+x+x<4123x>0,j=1,2,3jx,x,x取整数I123>>c=-1*[11-4];A=[112;11-1;-111];b=[924];lb=[000];>>[x,fval]=intprog(c,A,b,[],[],lb)五、0-1型整数线性规划(Binaryintegerprogramming)作为整数线性规划的一种特殊情况,0-1型整数线性规划要求决策变量的值只取0或者1。Matlab中解0-1规划问题的函数是bintprog,其用法与linprog相似。x=bintprog(c,A,b,Aeq,beq)例:求解下列0-1型整数线性规划maXf=—3x1+2x2—5x3x+2x—x<2123x+4x+x<4s.t.s.t.vx+x<3124x+x<623x,x,x为0或1I123>>c=-1*[-32-5];>>A=[12-1;141;110;041];b=[2436];>>[x,fval]=bintprog(c,A,b)六、二次规划问题(Quadraticprogramming)非线性规划问题的一种特殊情况,二次规划要求目标函数是决策变量的二次函数,而约束条件是线性的。其一般形式为:min2min2xtHx+ftxAx<bs.t<Aeqx=beqlb<x<ubMatlab中解二次规划问题的语法为x=quadprog(H,f,A,b,Aeq,beq,lb,ub)其用法同linprog函数。例:求解下列二次规划问题minz=x2一2xx+2x2一2x-6x112212x+x<212st<-x+2x<212x>0,x>012>>H=[2-2;-24];f=[-2-6];>>A=[11;-12];b=[22];lb=[00];>>[x,fval]=quadprog(H,f,A,b,[],[],lb)七、无约束优化问题(Unconstrainednonlinearprogramming)类似于高等数学中的极值问题,即求函数的极小值或极大值。Matlab中与此有关的主要是两个函数:fminbnd和fminsearch。[x,fmin]=fminbnd(fun,a,b)求一元函数fun在[a,b]区间上的局部极小值点及极小值。[x,fmin]=fminsearch(fun,x0)求多元函数fun在初值x0附近的局部极小值点及极小值。这里x,x0均为向量。例1、求函数y=2e-xsinx在[0,5]上的最大值和最小值。>>[xmin,fmin]=fminbnd('2*exp(-x)*sin(x)',0,5)>>[xmax,fmax]=fminbnd('-2*exp(-x)*sin(x)',0,5)%fmax=-fmax例2、求函数f(x,y)二(4x2+2y2+4xy+2y+1)ex在点(-1,1)附近的极小值。>>f=inline('(4*x(1)A2+2*x(2)A2+4*x(1)*x(2)+2*x(2)+1)*exp(x(1))')>>x0=[-1,1];>>[xmin,fmin]=fminsearch(f,x0)注意:1、多元函数要写成向量函数的形式。2、上面的函数找到的都是局部最优解,不一定是全局最优,如果要求全局最优解,在精度要求不是很高的情况下可以尝试使用min和max函数。其它还有多目标优化问题、最小最大值问题等,可参考相关资料。上机练习1、求解下列数学规划问题:⑹minf⑹minf(x)=—xx—2x—6x1212(1)minf=一3x+4x-2x+5x12344x—x+2x—x=—2TOC\o"1-5"\h\z1234x+x+3x—x<14S・t<1234—2x+3x—x+2xn21234x,x,x>0,x无约束1234(⑶minf(x)=xxx123—x+2x+2x>0123x+2x+2x<72s.t<12310<x<202x—x=1012⑸)minf=4x+3x+2xTOC\o"1-5"\h\z1232x—5x+3x<41234x+x+3x>3s..<123x+x>123x,x,x为0或1123
(2)minf=5x+4x+8x123x+2x+x=6123—2x+x>—4<125x+3x<1512x>0,j=1,2,3j⑷maxf=3x—x123x—2x<3125x+4x>10s.t<1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024面向智能制造专业领域的服务内容资源跨媒体关联规范
- 《食品生物化学》题集
- 职工薪酬的会计处理分录-记账实操
- WPS办公应用(高级)习题及答案汇 ch1 文字文档的高级处理-ch4 WPS协作办公
- 三维数字内容制作-三维动画场景搭建制作流程规范
- 专项24-正多边形与圆-重难点题型
- 音乐教学期末总结
- 饭店服务员聘用合同书(33篇)
- 生物组教研工作计划8篇
- 高三工作计划(17篇)
- 微测网题库完整版行测
- 中国介入医学白皮书(2021 版)
- 2023年中级会计实务试题及答案大全
- T-CPQS C010-2024 鉴赏收藏用潮流玩偶及类似用途产品
- 代运营合作服务协议
- 有限空间作业应急管理制度
- 2024全国普法知识考试题库及答案
- 慢性肾衰竭-课件
- 罗兰贝格-正泰集团品牌战略项目-品牌战略设计与高阶落地建议报告-20180627a
- 2024砍伐树木合同书
- 2024年02月重庆市沙坪坝区事业单位2024年第一季度公开招聘167名工作人员0笔试历年典型考题及考点研判与答案解析
评论
0/150
提交评论