Matlab的优化工具箱
最近做了些东西,用到了Matlab的优化工具箱,optimization toolbox。因为以前没用过这东西,今天把这个工具箱的帮助文档基本上翻了一遍。
这个工具箱的确非常之强大,如它所说,所有的优化问题都能解,包括自定义的目标函数,甚至自定义的限制条件。最后解出来是什么样子就不确定了。
以下是Matlab推荐的各种优化问题对应的Solver。
|
限制条件 |
优化目标 |
||||
| 线性 | 二次(正定) | 自定义函数 | 不光滑 | ||
|
无 |
quadprog | fminsearch fminunc |
fminsearch * |
||
|
线性 |
linprog | quadprog | fmincon fseminf |
* | |
|
自定义函数 |
fmincon | fmincon | fmincon fseminf |
* | |
|
整数 |
bintprog | ||||
Matlab的帮助文档里用了很小一个片段说明了,以上所有的规划问题,都只是寻找局部解。不过如果优化函数是凸函数,那么局部最优(最小)解就是全局最优解。而线性、二次函数都是凸的,所以对线性和二次目标函数而言找的都是全局最优解。
Q.E.D., ©zhiqiang, 2010.09.23。请参考右边的相关文章列表。
最近正在整理 Matlab 技巧,做成 PPT 在业内交流。优化是一个重点章节。你这个表格我考虑借鉴一下,不介意吧。
当然可以,这个表格是matlab帮助里自带的,我只不过稍作整理了下。
如果可以的话,到时候给我也发一份哈,我也算业内吧
Matlab 的优化问题处理比NAG要差点。
我手头的问题用matlab自带的优化函数做效果很不好,我已经改用YALMIP工具包。
你说的NAG是啥东西,是指那个NAG Numerical Libraries吗?