zoukankan      html  css  js  c++  java
  • 第三章 非线性规划

    注意:请安装 TeX All The Things 这款Chrome浏览器插件才能正确显示公式。

    链接如下:https://chrome.google.com/webstore/detail/tex-all-the-things/cbimabofgmfdkicghcadidpemeenbffn


     3.1 非线性规划的Matlab解法

    Matlab中非线性规划的数学模型:

    [egin{gathered}
    egin{array}{*{20}{c}}
    {}
    end{array}egin{array}{*{20}{c}}
    {}
    end{array}min egin{array}{*{20}{c}}
    {}
    end{array}f(x) hfill \
    s.t.left{ egin{gathered}
    A cdot x leqslant b, hfill \
    Aeq cdot x = beq, hfill \
    c(x) leqslant 0, hfill \
    ceq(x) = 0, hfill \
    lb leqslant x leqslant ub. hfill \
    end{gathered} ight. hfill \
    end{gathered} ]

    Matlab中的命令是:

    [x,fval]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)
    

    例 求下列非线性规划:

    [egin{gathered}
    egin{array}{*{20}{c}}
    {}
    end{array}egin{array}{*{20}{c}}
    {}
    end{array}min egin{array}{*{20}{c}}
    {}
    end{array}f(x) = x_1^2 + x_2^2 + x_3^2 + 8, hfill \
    s.t.left{ egin{gathered}
    x_1^2 - {x_2} + x_3^2 geqslant 0, hfill \
    {x_1} + x_2^2 + x_3^2 leqslant 20, hfill \
    - {x_1} - x_2^2 + 2 = 0, hfill \
    {x_2} + 2x_3^2 = 3, hfill \
    {x_1},{x_2},{x_3} geqslant 0. hfill \
    end{gathered} ight. hfill \
    end{gathered} ]

    Matlab 编程如下:

    共分为三部分:

    子函数1:

    function f=fun1(x);
    f=sum(x.^2)+8;

    子函数2:

    function [g,h]=fun2(x);
    g=[-x(1)^2+x(2)-x(3)^2
    x(1)+x(2)^2+x(3)^3-20];  %非线性不等式约束
    h=[-x(1)-x(2)^2+2
    x(2)+2*x(3)^2-3]; %非线性等式约束
    

    主函数:

    [x,y]=fmincon('fun1',rand(3,1),[],[],[],[],zeros(3,1),[],'fun2')

     


    3.2约束极值问题


    3.2.1二次规划

    [egin{gathered}
    min egin{array}{*{20}{c}}
    {}
    end{array}frac{1}{2}{{mathbf{x}}^T}{mathbf{Hx}} + {f^T}{mathbf{x}} hfill \
    s.t.left{ egin{gathered}
    {mathbf{Ax}} leqslant b, hfill \
    Aeq cdot {mathbf{x}} = beq, hfill \
    lb leqslant {mathbf{x}} leqslant ub. hfill \
    end{gathered} ight. hfill \
    end{gathered} ]

    Matlab中求解二次规划的命令是:

    [x,fval]=quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options)
    

      

    例子:

    [egin{gathered}
    egin{array}{*{20}{c}}
    {}
    end{array}egin{array}{*{20}{c}}
    {}
    end{array}min f(x) = 2x_1^2 - 4{x_1}{x_2} + 4x_2^2 - 6{x_1} - 3{x_2} hfill \
    s.t.left{ egin{gathered}
    {x_1} + {x_2} leqslant 3, hfill \
    4{x_1} + {x_2} leqslant 9, hfill \
    {x_1},{x_2} geqslant 0. hfill \
    end{gathered} ight. hfill \
    end{gathered} ]

    解:程序如下

    h=[4,-4;-4,8];
    f=[-6;-3];
    a=[1,1;4,1];
    b=[3;9];
    [x,value]=quadprog(h,f,a,b,[],[],zeros(2,1))
    

      

      

  • 相关阅读:
    使用axi_datamover完成ZYNQ片内PS与PL间的数据传输
    ZYNQ 的PS GEM DMA存在缺陷
    异构数据源离线同步工具
    58同城2015校招笔试、一面、二面经历
    深圳科陆集团2015校招软件开发笔试题
    华为2015校园招聘研发面试总结(获得offer)
    2015校园招聘360失败的惨痛经历
    数码视讯2015校园招聘JAVA笔试题及答案
    百度2015校园招聘一、二、三面面试经历(软件研发岗)
    2014美团网校园招聘研发类笔试(哈尔滨站)
  • 原文地址:https://www.cnblogs.com/250101249-sxy/p/11246270.html
Copyright © 2011-2022 走看看