我想学点东西。谁能告诉我以下表达的含义:
from ortools.linear_solver import pywraplp
def main():
solver=pywraplp.Solver('TravellingSalesmanProblemMIP', pywraplp.Solver.CBC_MIXED_INTEGER_PROGRAMMING)
我猜它用于创建求解器。什么时候使用?而且,如果我们用CPLEX解决我们的python模型,那么这个表达式对cplex有什么特殊的对应关系吗?我在互联网上偶尔看过几次这些台词;我只是想学习。
谢谢
答案 0 :(得分:0)
你猜错了。这会创建一个Solver
类的实例,其中包含name
' TravellingSalesmanProblemMIP'和problem_type
CBC_MIXED_INTEGER_PROGRAMMING
。您必须创建Solver
的实例才能解决问题。如果您想使用CPLEX而不是CBC,则可以将CBC_MIXED_INTEGER_PROGRAMMING
替换为CPLEX_MIXED_INTEGER_PROGRAMMING
。该项目的文档是here,源代码(git repo)是here。有许多Python示例here。
这个项目似乎是用C ++编写的,Python包装器是从那里自动生成的。特定于Python的文档似乎缺乏。您可能需要研究源代码才能找到答案。如果这听起来令人生畏,你可能想要使用别的东西。