MOSEK学习总结1_from Yuquan (bill) Du

论坛 期权论坛 脚本     
匿名技术用户   2021-1-2 00:22   53   0

1、简单地说,MOSEK可以求解LP,QCQP,SOCP,以及相应的MIP(MILP,MIQCQP,MISOCP),这与Cplex是相同的,在求解效果上感觉应该与Cplex差不多吧;但同时,MOSEK又可以求解Entropy Optimization(非线性项以X_j*ln(X_j)的线性组合形式出现,对应的优化器是mskenopt),Geometric Programming(非线性项以x_1^a1*x_2^a2*...*x_n^an正单项式形式出现在目标函数和约束中,MOSEK不能直接求解GP问题,而是用mskgpopt优化器求解一个转化后的问题,所以如果要取得原问题的解,需要做在程序中一些额外的变换), Separable Convex Optimization(目标函数和约束中的非线性项是可分的,即,f(x_1,x_2,...,x_n)=a1*f1(x_1)+a2*f2(x_2)+...+an*fn(x_n) ); 当然如同Cplex, MOSEK也支持并行计算。所以MOSEK其自身功能比Cplex还多,性能也并不一定会逊色多少。跟Cplex一样,MOSEK也是商业软件,但是,对我们研究者而言,这几乎成为替代Cplex的不二选择,因为MOSEK对研究者提供完全功能的免费Licence,只要有一个edu邮箱就可以申请。故我再次重申,Cplex不是必须的,如果你所在的单位没有条件购买Cplex,就用MOSEK吧!
2、MOSEK功能上与Cplex一样强悍(或者说比Cplex还强悍),但商业化程度显然比Cplex差一些,具体表现在:技术文档读起来很学术化(你要具备很扎实的优化理论基础才能读懂很多细节,不过好好读读确实能使自己的优化理论上一个台阶);使用接口不
够方便和友好,比如,你需要把不同组的Decision Variables x[i],y[i],w[i]等拼成一个长数组X[i]才能进行优化,约束条件的输入有点类似Matlab优化工具箱,你需要定位系数矩阵A中每一个非零元素的位置和取值,用起来很不方便,这一点比Cplex差远了,在Cplex里,你总能轻轻松松地把模型建好。
3、在优化研究领域,引领研究主流的大部分软件都提供基于Matlab的接口,且Matlab接口是数学家们使用和测试新算法的主流接口。
4. 有正版Cplex的情况下, 只在如下情况下用MOSEK:(i)解SOCP或MISOCP,用以与Cplex对比;(ii)解Entropy optimization,Geometric Programming, Separable Convex Optimization问题

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP