非线性优化汇总——Matlab优化工具箱(持续更新中)
原创不易,路过的各位大佬请点个赞
主要汇总非线性优化类型、应用
每个优化问题及求解器都对应的链接,如果没有未来会更新
对应Matlab优化工具包
目录性 博客
尽管题目为非线性优化,实际还包含了:Optimization Toolbox 快速入门、线性规划、最小二乘、二次规划、(二阶)锥规划,可能还专门会会讲解一下 优化问题的构建和设置
Optimization Toolbox? 提供了多个函数,这些函数可在满足约束的同时求出可最小化或最大化目标的参数。该工具箱包含适用于下列各项的求解器:线性规划 (LP)、混合整数线性规划 (MILP)、二次规划 (QP)、二阶锥规划 (SOCP)、非线性规划 (NLP)、约束线性最小二乘、非线性最小二乘和非线性方程。
1、优化算法汇总——优化工具包
1. 非线性优化:查找单变量函数在定区间上的最小值 (求解器:fminbnd)
2. 非线性优化:无约束非线性优化(Unconstrained nonlinear minimization)(求解器:fminsearch和fminunc) 无约束非线性优化:fminunc(https://blog.csdn.net/weixin_44044161/article/details/116032924?spm=1001.2014.3001.5501) 无约束非线性优化:fminsearch(https://blog.csdn.net/weixin_44044161/article/details/123826153)
3. 非线性优化:有约束非线性优化(Constrained nonlinear minimization)(求解器:fmincon)
4. 非线性优化:求解半无限约束多变量非线性函数的最小值(求解器:fseminf)
5. 最小二乘: 线性最小二乘(Linear least squares) (==求解器:lsqlin和lsqnonneg ==) 6. 最小二乘:非线性最小二乘(Nonlinear least squares)(求解器:lsqnonlin和lsqcurvefit) 7. 最小二乘:约束最小二乘(Constrained least squares)(求解器:lsqlin)
8. 线性规划 (Linear Programming, LP)(求解器:linprog) 9. 半正定规划(semidefinite programming, SDP)(求解器:CVX:sdp) 10. 二次规划/二次约束二次规划(Quadraitic Constraint Quadraitic Programming, QCQP)(求解器:quadprog) 11. (二阶)锥规划 (Second-Order Cone Programming, SOCP) (求解器:coneprog和secondordercone)
12. 未完待续(可留言推荐)
2、优化问题及对应求解器
2.1、非线性优化
2.2、最小二乘
2.3、线性规划
2.4、(二阶)锥规划 (Second-Order Cone Programming, SOCP)
类型 | 优化模型 | 求解器 |
---|
锥规划 | 见下面 | coneprog(锥规划)secondordercone(二阶锥约束)(也可以用CVX工具包求解) |
| second-order cone constraint(所谓二阶是指锥里面用到的是二范数,下面的表达式表示一个二阶锥。): 根据仿射变换的性质,变换后凹凸性不变,因此二阶锥仍然是一个凸锥。 注:对向量 x xx 仿射变换(相当于将一个图形平移,或变大变小,或旋转,或倒影):
y
=
A
x
+
b
y = A x + b
y=Ax+b,其中
A
x
A x
Ax 表示对
x
x
x变大或变小或旋转倒影,而
+
b
+ b
+b 表示平移。
二阶锥规划(标准形式):
2.5、二次规划/二次约束二次规划(Quadraitic Constraint Quadraitic Programming, QCQP)
由于二次约束可以转换为二阶锥约束,因此QCQP问题可以转化为二阶锥规划问题,并用 coneprog 或者 CVX 求解
二次约束二次规划: 由于二次约束可以转换为二阶锥约束,因此QCQP问题可以转化为二阶锥规划问题,并用 coneprog 或者 CVX 求解
2.6、半正定规划(semidefinite programming, SDP)
类型 | 优化模型 | 求解器 |
---|
锥规划 | 见下面 | CVX工具包(也可以用coneprog),实际上都用的内点法 |
注意:半正定规划问题可以转化为二阶锥规划问题,并用 coneprog 或者 CVX 求解,同理,SOCP也可以转换为SDP问题
对SDP理解:可以简单理解为:半正定规划是线性规划的矩阵形式
原创不易,路过的各位大佬请点个赞
|