版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第九章 数学规划求解,线性规划、二次规划、无约束非线 性规划、有约束非线性规划、极大极小化问题,一、线性规划,基本模型 % min f(x) % s.t .(约束条件): Ax=b % (等式约束条件): Aeqx=beq % lb=x=ub,调用格式,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)x,fval=linprog(f,A,b,Aeq,beq,lb,ub,x0)x,fval,exitflag
2、=linprog(f,A,b,Aeq,beq,lb,ub,x0,)x,fval,exitflag,output=linprog(f,A,b,Aeq,beq,lb,ub,x0)x,fval,exitflag,output,lambda=linprog(f,A,b,Aeq,beq,lb,ub,x0),说明:f:是优化参数x的系数矩阵:lb,ub:设置优化参数x的上下界:fval:返回目标函数在最优解x点的函数值:exitflag:返回算法的终止标志:output:返回优化算法的信息的一个数据结构。,例:求使函数f(x)=-5x1-4x2-6x3取最小值的x值,且满足约束条件:x1-x2+x3=0,
3、x2=0,x3=0求解的MATLAB代码: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.0000,例1:,c=-1,-3; A=-1,1;1,1;2,-1; b=3;7;8; lb=0;0; ub=1e+10*1;1; x=linprog(c,A,b,lb,ub) x = 2.0000 5.0000 f=c*x f = -17.0000,例2:,c=-0.5,-1,-0.5,-1; A=1,1,1,1;0
4、.2,0.5,1,2;2,1,0.5,0.2; b=10;10;10;Aeq=1,1,1,-2;beq=6; lb=0;0;0;0; ub=1e+10*1;1;1;1; x0=0;0;0;0; x=linprog(c,A,b,Aeq,beq,lb,ub,x0) x = 0.0000 8.6667 0.0000 1.3333 f=c*x f = -10.0000,二、二次规划,二次规划的标准形式为:minf=(1/2)XTHX+fTX约束条件:A.x=b,Aeq.x=beq,lbxub其中:c、b、beq、lb、ub、x是矢量,H、A、Aeq为矩阵。在MATLAB中可以使用quadprog函数来
5、求最小值。,调用格式: x=quadprog (H,f,A,b)x=quadprog (H,f,A,b,Aeq,beq)x=quadprog (H,f,A,b,Aeq,beq,lb,ub)x=quadprog (H,f,A,b,Aeq,beq,lb,ub,x0)x,fval= quadprog ()x,fval,exitflag= quadprog ()x,fval,exitflag,output= quadprog ()x,fval,exitflag,output,lambda= quadprog ( ),其中:H,f,A,b为标准形中的参数,x为目标函数的最小值;x0为初值;Aeq,beq
6、满足等式约束Aeq.x=beq;lb,ub满足lbxub;fval为目标函数的最优值; lambda是Lagrange乘数,它体现有效约束的个数;output输出优化信息;exitflag为终止迭代的条件:若exitflag0,表示函数收敛于解x;若exitflag=0,表示超过函数估值或迭代的最大次数;exitflag0表示函数不收敛于解x;output为优化信息:若参数output=iterations表示迭代次数,output=funccount表示函数赋值次数,output=algorithm表示所使用的算法。,例3:计算下面二次规划问题 minf(x)= (1/2)x12+x22-
7、x1x2-2x1-6x2约束条件: x1+x2 2;-x1+2x2 2 ;2x1+x2 3;0 x1,0 x2,解:把二次规划问题写成标准形式:(1/2)XTHX+fTX这里:H= 1 -1 f= -2 X= x1 -1 2 -6 x2 H=1 -1;-1 2;f=-2;-6;A=1 1;-1 2;2 1;b=2;2;3;lb=zeros(2,1);x,fval,exitflag,output,lambda=quadprog(H,f,A,b,lb),x= 0.6667 1.3333 %最优值点fval= -8.2222 %最优值exitflag= 1 %收敛状况output=iteration
8、s:3algorithm:medium-scale:active-setfirstorderopt:cgiterations:lambda=lower:2x1 doubleupper:2x1 doubleeqlin:0 x1 doubleineqlin:3x1 double,1. 首先建立M文件fun.m,定义目标函数F(X): function f=fun(X); f=F(X);,2、一般非线性规划,其中X为n维变元向量,G(X)与Ceq(X)均为非线性函数组成的向量,其它变量的含义与线性规划、二次规划中相同.用Matlab求解上述问题,基本步骤分三步:,3. 建立主程序.非线性规划求解的函
9、数是fmincon,命令的基本格式如下: (1) x=fmincon(fun,X0,A,b) (2) x=fmincon(fun,X0,A,b,Aeq,beq) (3) x=fmincon(fun,X0,A,b, Aeq,beq,VLB,VUB) (4) x=fmincon(fun,X0,A,b,Aeq,beq,VLB,VUB,nonlcon) (5)x=fmincon(fun,X0,A,b,Aeq,beq,VLB,VUB,nonlcon,options) (6) x,fval= fmincon(.) (7) x,fval,exitflag= fmincon(.) (8)x,fval,exit
10、flag,output= fmincon(.),输出极值点,M文件,迭代的初值,参数说明,变量上下限,1、写成标准形式: s.t.,2x1+3x2 6 s.t x1+4x2 5 x1,x2 0,例2,2、先建立M-文件 fun3.m: function f=fun3(x); f=-x(1)-2*x(2)+(1/2)*x(1)2+(1/2)*x(2)2,3、再建立主程序youh2.m: x0=1;1; A=2 3 ;1 4; b=6;5; Aeq=;beq=; VLB=0;0; VUB=; x,fval=fmincon(fun3,x0,A,b,Aeq,beq,VLB,VUB),4、运算结果为:
11、x = 0.7647 1.0588 fval = -2.0294,1先建立M文件 fun4.m,定义目标函数: function f=fun4(x); f=exp(x(1) *(4*x(1)2+2*x(2)2+4*x(1)*x(2)+2*x(2)+1);,x1+x2=0 s.t. 1.5+x1x2 - x1 - x2 0 -x1x2 10 0,例3,2再建立M文件mycon.m定义非线性约束: function g,ceq=mycon(x) g=x(1)+x(2);1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10;,3主程序youh3.m为: x0=-1;1; A=;
12、b=; Aeq=1 1;beq=0; vlb=;vub=; x,fval=fmincon(fun4,x0,A,b,Aeq,beq,vlb,vub,mycon),3. 运算结果为: x = -1.2250 1.2250 fval = 1.8951,例4,1先建立M-文件fun.m定义目标函数: function f=fun(x); f=-2*x(1)-x(2);,2再建立M文件mycon2.m定义非线性约束: function g,ceq=mycon2(x) g=x(1)2+x(2)2-25;x(1)2-x(2)2-7;,3. 主程序fxx.m为: x0=3;2.5; VLB=0 0;VUB=5
13、 10; x,fval,exitflag,output =fmincon(fun,x0,VLB,VUB,mycon2),4. 运算结果为: x = 4.0000 3.0000 fval =-11.0000 exitflag = 1 output = iterations: 4 funcCount: 17 stepsize: 1 algorithm: 1x44 char firstorderopt: cgiterations: ,非线性规划(非线性一元函数的最小值) x,fval,exitflag=fminbnd(fun,a,b)求函数fun在a,b区间上的最小值 x是函数取最小值的点,fval是函数最小值,exitflag=1时有最小值求f(x)=x3+10*x2-2*sin(x)-50在-12,5的最小值fun=x3+10*x2-2*sin(x)-50;x,fval,exitflag=fminbnd(fun,-12,5) x = -12fval =-339.0731exitflag = 1,程序与编程,指定次数重复循环语句 For vi=s1:s3:s2 Sta End,不定次数重复循环语句 While va Sta End,条件转移语句,简单if语句 If e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年六安职业技术学院单招职业适应性测试题库带答案详解(研优卷)
- 2026年语言学习与跨文化交流能力测试题目适用于语言学习类
- 2026年地理地质与环境保护知识测试题集
- 2026年电力系统与电气设备知识综合笔试题
- 2025年实验室结构性面试题库及答案
- 信息安全事件处理手册
- 2026年佛山新高考地理全程复习规划与备考指南(一轮+二轮+三轮)含易考题、常考题、易错题
- 2025年衡水社会工作者面试题库及答案
- 2025年沈阳事业编10月份考试及答案
- 某家政公司垃圾桶使用规定
- 2025-2026学年外研版(三起)(新教材)小学英语三年级下册教学计划附进度表
- 2026春节后建筑施工复工复产开工第一课
- 2025年律师事务所党支部书记年终述职报告
- 2025-2026 学年第一学期大一高等数学期末考试试卷
- 围术期精准管理:个体化麻醉与镇痛
- 2026年湖南理工职业技术学院单招职业倾向性考试题库附答案详解
- 2025年高考(新高考Ⅱ卷)数学试题及答案
- 《无人机组装与调试》课程标准 -
- 医院外联部主任述职报告
- 2025年广东省高考语文试卷(含标准答案)
- 2025年驾照三例测试题及答案
评论
0/150
提交评论