我对Python总体来说是新手,特别是在OR工具中进行优化,并且我尝试运行的任何模型都会收到此错误。
根据我所做的研究,它可能与 ortools 本身有关,并且 id 必须更改其代码中的一些内容,但我不确定。有什么想法吗?
我也遇到了这个问题,事实证明,根据文档,我试图在“不属于求解器”的变量上设置一个系数。
例如,以下代码(借自此示例)重现了该问题:
from ortools.linear_solver import pywraplp
solver = pywraplp.Solver.CreateSolver('GLOP')
ct = solver.Constraint(0, 2, 'ct')
x = None # This is a contrived bug
ct.SetCoefficient(x, 1)
x
的值是错误的,它需要类似于x = solver.NumVar(0, 1, 'x')
,以便在我们尝试对其设置系数之前,solver
知道x
。
您不太可能犯我在代码示例中设计的错误,但可能在代码中的某个地方您的变量混淆了,并且您为第一个参数发送了错误的值,从而导致了它使用
SetCoefficient
来出错。