非线性规划:如果目标函数或约束条件中包含非线性函数,就称这种规划问题为非线性规划问题。
一般说来,解非线性规划不像线性规划有单纯形法这一通用方法,非线性规划目前还没有适于各种问题的一般算法,各个方法都有自己特定的适用范围。下面针对不同问题提出相应算法。
1.无约束一维函数--->fminbnd:黄金分割法、牛顿法、抛物线法等)
2.无约束多维函数--->fminimax(fminsearch、fminunc):模式搜索法、信赖域法等. a3
3.约束优化--->fmincon:罚函数法、可行方向法等
4.非线性最小二乘优化--->lsqnonlin:目标函数是平方和的形式,基于牛顿法例:%matlab运行:
5.二次规划. 1)拉格朗日法:引入拉格朗日因子,将约束条件转化到拉格朗日函数中,求解函数得到最优解。(求解等式约束的凸二次规划,新手必备!!!!!)2)起作用集算法:在每步迭代中将起作用约束作为等式约束,然后用拉格朗日法求解,直到求出最优解。(求解含不等式约束的二次规划)3)路径跟踪法:引入中心路径概念,将求最优解转换为求中心路径问题matlab函数应用--->quadprog:求解如下二次规划问题
1.拉格朗日法2.起作用集算法3.路径跟踪法
三种方法求解的代码在附件里,拉格朗日可以说新手必须得接触和学会的,不必要会拉格朗日原理,只需要懂它解决什么问题,优缺点就好。