数学模型MATLAB简介--第六部分MATLAB优化算法.ppt_第1页
数学模型MATLAB简介--第六部分MATLAB优化算法.ppt_第2页
数学模型MATLAB简介--第六部分MATLAB优化算法.ppt_第3页
数学模型MATLAB简介--第六部分MATLAB优化算法.ppt_第4页
数学模型MATLAB简介--第六部分MATLAB优化算法.ppt_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六部分 MATLAB优化算法 一、线性规划算法 调用格式: x, fval, exitflag= linprog(f,A,b, Aeq,beq,lb,ub, x0) 说明: 返回值x为最优解向量,fval为最优值; 若没有不等式约束,则令A= 、b= ; lb ,ub为变量x的下界和上界,x0为初值点; exitflag 描述函数计算的退出条件:若为正值, 表示目标函数收敛于解x处;若为负值,表示目 标函数不收敛;若为零值,表示已经达到函数评 价或迭代的最大次数。 例1、求解线性规划问题 max f=70x1+120x2 s.t 9x1+4x23600 4x1+5x22000 3x1+10x23000 x1,x20 将其转换为标准形式: min f=-70x1-120x2 s.t 9x1+4x23600 4x1+5x22000 3x1+10x23000 x1,x20 算法如下: f=-70 -120; A=9 4 ;4 5;3 10 ; b=3600;2000;3000; lb=0 0; ub=; x,fval,exitflag=linprog(f,A,b,lb,ub) maxf=-fval 例2、求解线性规划问题 max f=0.15x1+0.1x2+0.08 x3+0.12 x4 s.t x1-x2- x3- x40 x2+ x3- x40 x1+x2+x3+ x4=1 xj0 , j=1,2,3,4 将其转换为标准形式: min z=-0.15x1-0.1x2-0.08 x3-0.12 x4 s.t x1-x2- x3- x40 -x2- x3+ x40 x1+x2+x3+ x4=1 xj0 , j=1,2,3,4 算法如下: f = -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 = zeros(4,1); x,fval,exitflag = linprog(f,A,b,Aeq,beq,lb) f=-fval 二、二次规划算法 调用格式: x,fval,exitflag=quadprog(H,f,A,b,Aeq,beq,lb,ub,x 0) 说明: 输出参数中,x是返回最优解;fval是返回解所对 应的目标函数值; 输入参数中,x0为初始点; 若无等式约束或无不等式约束,就将相应的矩阵 和向量设置为空; exitflag是描述搜索是否收敛。 例3、求解二次规划问题 min f(x)= x1-3x2+3x1+4x2 -2x1x2 s.t 2x1+x22 -x1+4x23 算法如下: f=1;-3; H=6 -2;-2 8; A=2 1;-1 4; b=2;3; x,fval,exitflag=quadprog(H,f,A,b) 例4、求解二次规划问题 min x1+2x2-2x1x2-4x1-12x2 s.t x1+x22 -x1+2x22 2x1+x23 x10, x20 算法如下: H=2 -2;-2 4; f=-4;-12; A=1 1;-1 2;2 1; b=2;2;3; lb=zeros(2,1); x,fval,exitflag=quadprog(H,f,A,b,lb) 三、非线性规划算法 调用格式: x, fval, exitflag= fmincon(f,x0,A,b,Aeq,beq,lb,ub,nonlcon) 说明: 返回值x为最优解向量,fval是返回解所对应的 目标函数值;exitflag是描述搜索是否收敛。 f为目标函数,x0为初始点,A,b为不等式约束 的系数矩阵和右端列向量, 若没有不等式约束, 则令A= 、b= 。lb ,ub为变量x的下界和上界; nonlcon=fun,由M文件fun.m给定非线性不等 式约束c (x) 0和等式约束g(x)=0。 例5、求解非线性规划问题 min 100(x2-x1 ) +(1-x1) s.t x12; x22 首先建立ff6.m文件: function f=ff6(x) f=100*(x(2)-x(1)2)2+(1-x(1)2; 然后在命令窗口键入命令: x0=1.1,1.1; A=1 0;0 1; b=2;2; x,fval, exitflag=fmincon(ff6,x0,A,b) 例6、求解非线性规划问题 min f=e (6x1 +3x2 +2x1x2+4x2+1) s.t x1x2-x1-x2+10 -2x1x2-50 首先建立目标函数文件ff8.m文件: function f=ff8(x) f=exp(x(1)*(6*x(1)2+3*x(2)2+2*x(1)*x(2)+4*x (2)+1); 再建立非线性的约束条件文件:ff8g.m function c,g=ff8g(x) c(1)=x(1)*x(2)-x(1)-x(2)+1; c(2)=-2*x(1)*x(2)-5; g=; 然后在命令窗口键入以下命令: x0=1,1; nonlcon=ff8g; x, fval, exitflag =fmincon(ff8,x0,nonlcon) 四、整数线性规划算法 说明:下面给出用分枝定界法求解整数线性规 划的M函数文件ILp.m,其中第一行是 function x, f = ILp(c,A,b,vlb,vub,x0, neqcstr,pre) 返回值x为最优解向量,f为最优值; x0为初值点,可以用 代替; neqcstr表示约束条件Ax b中的前neqcstr个是 等式,neqcstr=0时可以省略,此时也可以省略 x0; vlb ,vub为变量x的下界和上界; pre是精度。 文件ILp.m单独给出,见WORD文档。 例7、求解整数规划问题 max f=20x1+10x2 s.t 5x1+4x224 2x1+5x213 xj0 , i=1,2 x1,x2 为整数 先建立M函数文件ILp.m,然后在MATLAB命 令窗口键入: clear; c=-20,-10; %求max转换为求min a=5,4;2,5; b=24;13; x,f=ILp(c,a,b,0;0,inf; inf, ,0,0.0001) f=-f 五、0-1整数线性规划算法 说明:下面的隐枚举法求解01线性规划的M函 数文件L01p_ie.m中用到命令B=de2bi(D),其作用 是将十进制数向量D转换为相应的二进制数按位 构成的以0,1为元素的矩阵B。 M函数文件 de2bi.m单独给出,见WORD文档。 说明:下面给出用隐枚举法求解01线性规划的 M函数文件L01p_ie.m,其中第一行是 function x, f = L01p_ie(c,A,b,N) 返回值x为最优解向量,f为最优值; N表示约束条件Ax b中的前N个是等式,N =0 时可以省略。 M函数文件L01p_ie.m单独给出,见WORD文档。 例8、求解01整数规划问题 max f=-3x1+2x2-5x3 s.t x1+x2-x32 x1+4x2+x34 x1+x23 4x2+x36 xj

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论