Я изучал API-интерфейсы CP-SAT для извлечения всего решения для данного набора ограничений.
Согласно документации API, функция onSolutionCallback () вызывается для каждого найденного решения. Однако, если мне нужно найти все решения для данной модели, есть ли способ определить последнее решение или выполнимость отсутствия других решений с помощью функции onSolutionCallback () или других средств?
Я обнаружил, что searchAllSolutions () Можно использовать API, и мы можем устанавливать условия завершения в зависимости от времени или количества решений. Предполагая, что я могу ждать неограниченное количество времени, как я могу обнаружить, что больше нет возможных решений?
https://developers.google.com/optimization/cp/cp_tasks
Еще один связанный с этим вопрос: существует ли какой-либо отдаленный шанс для решателя CP SAT перейти в недетерминированное состояние c или столкнуться с бесконечным циклы (или такие), даже когда существует возможное решение для данного набора ограничений? Я планирую использовать CPSAT для производственного использования и, следовательно, хотел бы знать его детерминизм и верхние границы для выполнения.
Редактировать: Добавлен второй вопрос.