Использование ADD_IMPLICATIONS в CP-SAT SOLVER (Google или Tools)Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Использование ADD_IMPLICATIONS в CP-SAT SOLVER (Google или Tools)

Сообщение Anonymous »

Я работаю над тем, чтобы научиться использовать CP Solver в Ortools. Я создал тестовую проблему, которая пытается найти возможные варианты размещения собак, которые не ладят в клетках, поэтому несовместимые пары не рядом друг с другом. Проблема, которую я собрал, имеет только два возможных решения, но решатель не выбирает ни одного из них. Неверно ли я использую add_implication, так как это часть кода, где я тестирую плохие комбинации? В настоящее время я не использую какие -либо другие ограничения, кроме того, что все собаки должны быть в клетке и только одну собаку на клетку. < /P>
Вот мой простой тестовый код. Он должен создавать одно из возможных возможных решений (бун в A или D, с Кенси рядом с ним), но обычно нет. Я пробовал другие операции, кроме Add_implication, но ни один из них, кажется, не показывает возможных значений. < /P>
from ortools.sat.python import cp_model

# Data
animals = ["Lulu", "Abby", "Boone", "Kensey"]
cages = ["cage_A", "cage_B", "cage_C", "cage_D"]

# Incompatible pairs (cannot be next to each other)
incompatible_pairs = [("Boone", "Lulu"), ("Boone", "Abby")]

# Cage adjacencies (represented as pairs)
adjacent_cages = [("cage_A", "cage_B"), ("cage_B", "cage_C"), ("cage_C", "cage_D")]

# Model
model = cp_model.CpModel()

# Variables
x = {}
for animal in animals:
for cage in cages:
x[(animal, cage)] = model.new_bool_var(f"x_{animal}_{cage}")

# Constraints

# Each animal goes into exactly one cage
for animal in animals:
model.add(sum(x[(animal, cage)] for cage in cages) == 1)

# Each cage holds at most one animal
for cage in cages:
model.add(sum(x[(animal, cage)] for animal in animals)

Подробнее здесь: https://stackoverflow.com/questions/797 ... e-or-tools
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Использование ADD_IMPLICATIONS в CP Solver (Google или Tools)
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Используя CP SAT Solver, я хочу использовать 2 условия в «только для», но не могу найти, как
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Условное ограничение OR-Tools CP SAT
    Anonymous » » в форуме Python
    0 Ответы
    32 Просмотры
    Последнее сообщение Anonymous
  • Пример Python OR-Tools CP-SAT завершается после создания решателя
    Anonymous » » в форуме Python
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • ИЛИ Tools cp sat гибкая мастерская с гибкой продолжительностью оптимального решения не найдено
    Anonymous » » в форуме Python
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»