Как запрограммировать двумерную задачу CSP с ограничением Python

Мне нужно использовать python-constraintдля решения проблемы с укладкой. У меня есть 2 разных типа контейнеров (стандартный S и охлаждаемый R) и два возможных направления. Контейнеры должны быть размещены, как показано в следующей таблице, которая

      N N N N
N N N N
X E E X
X X X X

Информация о контейнерах - это список кортежей, в которых (idx, standard|energized, destination), В качестве примера:

      containers = [(1,S,1), (2,R,2), ...] 

Где N - нормальное положение, а E - под напряжением, X - неиспользуемое положение.

Я пытался использовать python-constrainраздача контейнеров на корабле. Сначала мои переменные

      problem = constraint.Problem()
problem.addVariables(range(1,len(containers)+1), containers)

И затем мне нужно закодировать мою задачу, чтобы назначить коинтейнеры на позицию на корабле, но пока безуспешно, так как я не знаю, как кодировать сетку и назначать их каждому контейнеру. N-queens не работает с этой проблемой.

Какие-либо предложения.

0 ответов

Другие вопросы по тегам