我是 CP 问题和 Python 中的 OR-Tools 的新手,我想做以下事情:
# declare variables
for i in range(I):
for k in range(K):
x[i,k]=solver.IntVar(0,N,"x %i %i " % (i,k))
#constraints
solver.Add(CustomFunction[(x[i,k])] == 1) # only consider the values of x[i,k] evaluated in CustomFunction is equal to 1
但我在评估时收到错误CustomFunction
:
IndexError:只有整数、切片 (
:
)、省略号 (...
)、numpy.newaxis (None
) 和整数或布尔数组是有效的索引
这是正确的,因为x
它是 IntVar。
另一方面,我在https://developers.google.com/optimization/reference/constraint_solver/constraint_solver/Solver/中看到 我可以添加自定义约束,但我不知道如何在 Python 中执行此操作。
我感谢您的帮助 :)