Кажется, что cvxpy не поддерживает более двух измерений, что вы делаете, когда индексируете arr
с u
, v
и w
.
КакВ качестве альтернативы, вы можете просто изменить эти индексные переменные так, чтобы они были одномерными:
u, v, w = [x.reshape(-1) for x in np.meshgrid(range(V), range(V), range(V))]
Тогда это прекрасно работает:
constraints = [arr[u, v] + arr[v, w] + arr[u, w] <= 1]
arr[u, v]
теперь является вектором длины 125:
Expression(AFFINE, UNKNOWN, (125,))