Как определить ограничение для OR-Tools, которое ограничивает количество переменных, которые могут иметь конкретное значение? - PullRequest
0 голосов
/ 16 марта 2020

Допустим, у меня есть P человек (переменные), которые я хочу присвоить N группам (значениям). Некоторые из этих людей несовместимы друг с другом, поэтому я sh назначу их в разные группы (эти ограничения довольно просты и не являются проблемой). Но как я могу также добавить ограничение (или ограничения), которое гарантирует, что не более чем p (или p+1, см. Примеры ниже) люди распределены в каждой группе (т.е. не более чем p переменным присваивается значение n)?

Например, для набора из P = 7 человек, которых я хочу разделить на группы по 2 человека, мне потребуются 2 группы по 2 человека и одна группа из 2 + 1 человека (в данном случае ) для размещения оставшегося человека. Для P = 8 и групп из 3 мне понадобятся N = 3 группы (одна группа из 2 и 2 группы из 3) и т. Д.

Надеюсь, это постановка задачи достаточно ясна. Я использую OR-Tools для C#, любая помощь приветствуется.

...