zoukankan      html  css  js  c++  java
  • 求解二次规划问题——外点罚函数法/内点罚函数法

    外点罚函数法

    做法就是在可行域之外设置障碍,可解决等式和不等式约束问题,但求出的最优解往往不在可行域内。

    将约束条件转化成函数表达式的一部分,使新的函数式变为无约束的二次规划问题:

    约束条件转换:

     将等式和不等式转换后的式子融合:

    算法步骤:

    1 确定初始点x0,初始罚银子Mk(可取M1=1),设置精确度

    2 用解析法或者其他方法求解驻点,得到x

    3 当Mk*p(x)<精确度将此x作为最优解,若不满足将持续增大Mk

    (很多算例上直接在算出驻点表达式后,将Mk趋近无穷来求解)

    内点罚函数法

     做法就是在可行域内部设限制,靠近边缘的域设置较大的障碍,边缘的障碍无穷大,用来解决不等式约束问题,算出的解必在可行域内部

    同外点法一样将约束条件转化为函数的一部分,使之成为无约束二次规划问题:

    约束条件转化:

    倒数障碍函数和对数障碍函数(使用其中的一种就可以)

    算法步骤:和外点法类似,但当前解不满足精度要求时,rk会缩小,甚多算例将rk趋近0来求解函数最小值

  • 相关阅读:
    mvc3在各个IIS版本中的部署
    linq学习
    常用的正则表达式
    Jenkins+Git+Maven+Tomcat的初步学习
    12个用得着的JQuery代码片段
    JQuery原理介绍及学习方法
    【前端学习】javascript面向对象编程(继承和复用)
    c# throw和throw ex
    .net 信息采集ajax数据
    C# FileSystemWatcher 并发
  • 原文地址:https://www.cnblogs.com/niulang/p/9207568.html
Copyright © 2011-2022 走看看