cplex 与 gurobi 的优缺点对比

之前一直使用 cplex, 最近也接触了 gurobi,谈谈自己对二者的优缺点感受吧。

1. cplex 的优缺点

  • 使用人数最多的求解器,相关论文及论坛中关于 cplex 的问题比较多。gurobi虽然增长快,但仍然与 cplex 有一定差距。
  • 在数学建模中,cplex 不仅有自己的建模环境 Ilog,对 c, c++, java 等支持也比较充分。我发现 cplex 针对 java 有大量的类跟方法,非常方便使用,但 cplex 对 python 的类和方法目前却不多(可能是 python 语言最近几年才火了的缘故,还没来得及完善)。
  • 可以随便下载免费版,但求解问题规模有限制,提供的免费学术版也有规模限制。
  • cplex 自己生成的 mps 或 lp 文件有些特殊字段(例如分段线性字段 PWL,gurobi 对分段线性约束的处理没有 cplex 好),gurobi不能求解或无法正确求解。而 gurobi 生成的 mps 或 lp 文件 cplex 可以正确运行。
  • 对 callback 的支持比 Gurobi 多

2. gurobi 的优缺点

  • 在一些专业的测试中, gurobi 在一些指标上比 cplex 表现好,运算速度更快些。
  • 可以申请学术版,学术版没有规模限制。
  • 貌似对 python 支持的最好,对 java 支持的类跟方法比较少。即使对 python 的支持,也不如 cplex 对 java 支持的多。
  • gurobi 公司定期在网上有些培训会议,视频资料也比较多,这一点很不错。

实际上,gurobi 的创始人之前在 cplex 工作过,其中一个还是 cplex 的创始人,gurobi 是三个创始人姓氏中各取两个字母的组合。 其中一个创始人姓 顾(Gurobi 中的 Gu 来源), 是一位华裔,值得我们中国人自豪,毕业于佐治亚理工工业工程系。

你可能感兴趣的:(Cplex/Gurobi)