sedumi 的优化能力真不是吹的,尤其搞 MATLAB 的,应该都听过它。半定规划、二次规划这种“硬茬”,它起来还挺顺溜。安装也不复杂,zip 包解压一下,加到toolbox
路径,再addpath
下就能用了,响应也快。
安装的时候有几个.c
文件看着挺眼熟,像symfct.c
、blkchol2.c
这些,其实都是优化过程里的底层“干活的”。比如symfct.c
是对称矩阵的,搞控制系统的会频繁用到。
再比如blkchol2.c
和blkchol.c
,主要用来加速线性求解,有点类似块状版本的 Cholesky 分解。懂矩阵分解的你应该知道,这玩意用得好,能节省不少计算资源。
实际用在哪?控制系统设计、信号、支持向量机训练……你能想到的大部分优化类任务,它都能搭一脚。尤其是要解什么 LMI、稀疏矩阵优化时,sedumi 表现还蛮稳定的。
提醒一句,sedumi 是跟cvx
这些工具搭配用的,如果你在搞convex optimization
,这俩配起来效果更佳。如果你想了解点底层实现,那几个子程序文件值得研究一下。
对了,参考文章我也找了一些,像MATLAB 优化工具箱 SEDUMI、半定规划全局方案这些,讲得还挺细的。可以顺手点进去看看。
如果你正在 SDP、QP 类问题,还想深入理解 MATLAB 下的优化流程,那这个sedumi 安装包-zip
真可以一试。