Я хочу выразить ограничение, утверждающее, что все мои переменные должны иметь разные значения (их домен — {0, 1, 2, 3... N} для заданного целого числа N), то есть x_1 != x_2 != x_3 ... != x_N.
Решатель дает мне решение, когда я не добавляю никаких ограничений, связанных с тем, что я упомянул выше, но когда я это делаю, он сообщает мне, что система неосуществима, даже если у нее есть одно решение.
Чтобы добавить ограничение «все разные», я сделал следующее:
Код: Выделить всё
for x_i in variables:
for x_j in variables:
if the following constraint has not been already added and x_i != x_j:
my_problem += x_i - x_j >= 1, "unique name for the constraint"
Подробнее здесь: https://stackoverflow.com/questions/504 ... rogramming