or-tools 6.8.5调用Solver.CreateSolver('CBC')无属性错误如何解决
OR-Tools 6.8版本调用CBC求解器解决方案
报错原因
你使用的6.8.5452属于or-tools的早期版本,Solver.CreateSolver静态方法是7.0及更高版本才新增的API,因此调用时会抛出属性不存在的错误。
正确调用方式
6.8版本直接通过Solver类的构造函数实例化CBC求解器即可,示例代码如下:
from ortools.linear_solver import pywraplp # 第一个参数为自定义的问题名称,可任意填写 model = pywraplp.Solver( "custom_problem_name", pywraplp.Solver.CBC_MIXED_INTEGER_PROGRAMMING )
补充说明
- 如果你求解的是不包含整数、布尔变量的纯线性规划问题,可以将第二个参数替换为
pywraplp.Solver.CLP_LINEAR_PROGRAMMING,调用CBC套件自带的CLP线性规划求解器,运算效率更高。 - 后续如果你将or-tools升级到7.0以上版本,即可使用你原本写法中的
CreateSolver('CBC')接口。
内容的提问来源于stack exchange,提问作者Manglu
相关产品推荐
相关产品推荐

