
cplex是我们优化里面的神器,真的是又快又好用
但是针对于线性问题(LP,MILP等)
而且集成在各种软件中 matlab, gams, yalmip等等
快快使用吧
朔夕茂·40.00
2017-05-10回答
cplex的求解速度更快一些,能解决常用的数学优化问题,不能用来求解需要时域仿真的问题,所以一般的数学规划都可以,尤其是混合整数规划这种非常难求解的,用cplex会比matlab快很多,但你要学习一下他的编程语言,不是很难。
LeeJasper·0.00
2017-02-11回答
Cplex能求解解决线性规划 (Linear Programming,LP)、二次方程规划 (Quadratic Programming,QP)、二次方程约束规划 (Quadratically Constrained Programming,QCP) 和混合整型规划 (Mixed Integer Programming,MIP) 、二阶锥规划(second-order cone program,SOCP)等问题。
写成数学模型后,Cplex会根据约束条件的形式识别出是LP、QP、QCQP、SOCP中到底哪种形式,并自动选择相应的optimizer去求解问题,也即,它在求解问题时,接口统一,使用简单。你在两种情况下最好使用Cplex:
1. MIP问题:
对于LP引入的MIP问题,CPlex有两条求解思路: 一是Branch&Cut, 二是Column Generation。前者是主流方法,后者只在少数情况下使用。对于QP, QCQP, SOCP引入的MIP问题,唯一的方法是Branch&Cut。
2. SOCP问题:
Cplex求解SOCP问题的步骤与求解LP、QP、QCQP问题完全一样,其用的优化器是Barrier, 也就是内点算法, 几乎和MOSEK不相上下。
需要注意的是:求解过程中,有可能在过于严格的最优性准则上浪费过多时间。此时 你需要:
(1)调整EpGap(默认0.0001=0.01%)、容差间隙调大即可。
(2) 若很多整数解都有类似的目标函数,调整ObjDif(目标函数的绝对差异)、RelObjDef(目标函数的相对差异)如、ObjDif=100.0,Cplex搜索进程会跳过比当前最优目标函数100以内的整数解的搜索;RelObjDef=0.01,只要新的整数解优于当前最优解不超过1%,Cplex就会跳过搜索它们。
wx·1280.00
2017-02-04回答