非线性优化汇总——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、非线性优化
![在这里插入图片描述](https://img-blog.csdnimg.cn/77caab61d44d48d5b8df63f2b058200c.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/e3042ae08ac14ce09bd1924ab914f58c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ISR5aOz5LqM,size_20,color_FFFFFF,t_70,g_se,x_16)
2.2、最小二乘
![在这里插入图片描述](https://img-blog.csdnimg.cn/b80e39678b564d5e9e2518e865416564.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ISR5aOz5LqM,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/271c49847bf14d6fb0e1fa50cf576522.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ISR5aOz5LqM,size_20,color_FFFFFF,t_70,g_se,x_16)
2.3、线性规划
![在这里插入图片描述](https://img-blog.csdnimg.cn/d4a3219c2bab419c81b37b2454c90fa8.png)
2.4、(二阶)锥规划 (Second-Order Cone Programming, SOCP)
类型 | 优化模型 | 求解器 |
---|
锥规划 | 见下面 | coneprog(锥规划)secondordercone(二阶锥约束)(也可以用CVX工具包求解) |
| second-order cone constraint(所谓二阶是指锥里面用到的是二范数,下面的表达式表示一个二阶锥。): ![在这里插入图片描述](https://img-blog.csdnimg.cn/9733d37a539b4d5c860748fba8252527.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/062e7d89c598499bb60f6688e004d1ff.png) 根据仿射变换的性质,变换后凹凸性不变,因此二阶锥仍然是一个凸锥。 注:对向量 x xx 仿射变换(相当于将一个图形平移,或变大变小,或旋转,或倒影):
y
=
A
x
+
b
y = A x + b
y=Ax+b,其中
A
x
A x
Ax 表示对
x
x
x变大或变小或旋转倒影,而
+
b
+ b
+b 表示平移。
二阶锥规划(标准形式):
![在这里插入图片描述](https://img-blog.csdnimg.cn/331e702bdfaa4853a5e68d98ad17d82a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ISR5aOz5LqM,size_20,color_FFFFFF,t_70,g_se,x_16)
2.5、二次规划/二次约束二次规划(Quadraitic Constraint Quadraitic Programming, QCQP)
![在这里插入图片描述](https://img-blog.csdnimg.cn/bf34ac3680dc48e283b41653235b9990.png) 由于二次约束可以转换为二阶锥约束,因此QCQP问题可以转化为二阶锥规划问题,并用 coneprog 或者 CVX 求解
二次约束二次规划: ![在这里插入图片描述](https://img-blog.csdnimg.cn/19944279b77042e381771a93769ac241.png) 由于二次约束可以转换为二阶锥约束,因此QCQP问题可以转化为二阶锥规划问题,并用 coneprog 或者 CVX 求解
2.6、半正定规划(semidefinite programming, SDP)
类型 | 优化模型 | 求解器 |
---|
锥规划 | 见下面 | CVX工具包(也可以用coneprog),实际上都用的内点法 |
注意:半正定规划问题可以转化为二阶锥规划问题,并用 coneprog 或者 CVX 求解,同理,SOCP也可以转换为SDP问题
对SDP理解:可以简单理解为:半正定规划是线性规划的矩阵形式 ![在这里插入图片描述](https://img-blog.csdnimg.cn/36b7ad61fc7a4a50b4d0b2fd4e27c71a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ISR5aOz5LqM,size_20,color_FFFFFF,t_70,g_se,x_16)
原创不易,路过的各位大佬请点个赞
|