【发布时间】:2018-04-19 03:13:46
【问题描述】:
我是 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 中执行此操作。
感谢您的帮助:)
【问题讨论】:
标签: python constraint-programming or-tools