背景
- ortools在求解MIP问题时默认使用CBC求解器,但支持调用第三方求解器:GLPK、Gurobi、CPLE和SCIP,调用第三方求解器时需要单独安装,同时ortools源码编译。
- 很多人遇到CBC求解器不能求得最优解的情况,实际上默认求解器是基于启发式求解的,如果仍然使用ortools进行建模,需要调用第三方求解器。
- 网上几乎没有介绍如何利用ortools调用第三方求解器,各种第三方求解器安装方法比较繁琐,按照官方介绍的步骤踩了超级多的坑才形成本文(按照我的步骤,绝对没问题)。
- 即使默认求解器能够求得最优解,你也可以尝试第三方求解器(快的飞起)。
GLPK求解器
- GLPK (GNU Linear Programming Kit) 是 GNU 项目开发并维护的一个线性规划工具包,用于建立大规模线性规划LP和混合型整数规划MIP问题,并对模型进行最优化求解。由于是GNU下的项目,因此没有商业非商业的版本限制,可以自由使用。
- 链接:http://ftp.gnu.org/gnu/glpk/,下载最新版本glpk-4.60.tar.gz
- tar -xzvf glpk-4.60.tar.gz
- cd glpk-4.60
- configure --prefix=你的路径/glpk (记住路径很重要,是安装的第一层路径,默认在usr/local,求解器glpsol在bin目录下)
- make
- make install
CPLEX求解器
- CPLEX 是 IBM 开发的一个商用线性规划求解器。该软件