У меня есть модель для нахождения определенного класса целых чисел («чисел Кейта»), которая работает хорошо, но довольно медленно, поскольку требует многократного построения новой модели.Есть ли способ обновить модель, в частности изменить коэффициент в ограничении.Другими словами, изменить модель, чтобы она соответствовала другому 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