Можно ли изменить модель cp_sat после создания? - PullRequest
1 голос
/ 22 марта 2019

У меня есть модель для нахождения определенного класса целых чисел («чисел Кейта»), которая работает хорошо, но довольно медленно, поскольку требует многократного построения новой модели.Есть ли способ обновить модель, в частности изменить коэффициент в ограничении.Другими словами, изменить модель, чтобы она соответствовала другому mat, не восстанавливая целиком?

def _construct_model(self, mat):
  model = cp_model.CpModel()
  digit = [model.NewIntVar(0, 9, f'digit[{i}]') for i in range(self.k)]

  # Creates the constraint.
  model.Add(sum([mat[i] * digit[i] for i in range(self.k)]) == 0)

  model.Add(digit[0] != 0)
  return model, digit

1 Ответ

2 голосов
/ 22 марта 2019

Да, но ты сам по себе.

Вы можете получить доступ к базовому cp_model_proto протобуфу из модели и изменить его напрямую.

В настоящее время он не планирует добавлять API модификации поверх cp_model API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...