Главная arrow книги arrow Копия Глава 5. Задачи удовлетворения ограничений arrow Распространение информации с помощью ограничений
Распространение информации с помощью ограничений

Возможно, более важным ограничением высокого порядка является ресурсное ограничение (resource constraint), иногда называемое ограничением "самое большее" (atmost). Например, допустим, чтообозначают количество персонала, назначенного для выполнения каждого из четырех заданий. Ограничение, согласно которому может быть всего назначено не больше 10 членов персонала, записывается как. Несовместимость можно обнаружить, проверяя сумму минимальных значений текущих областей определения; например, если каждая переменная имеет область определения {3 , 4, 5, 6}, то ограничение atmost не может быть удовлетворено. Кроме того, можно принудительно добиться совместимости, удаляя максимальное значение из любой области определения, если оно не совместимо с минимальными значениями других областей определения. Таким образом, если каждая переменная в данном примере имеет область определения {2, 3, 4, 5, 6}, то из каждой области определения можно удалить значения 5 и 6.

При решении крупных задач проверки ресурсных ограничений с целочисленными значениями (таких как задачи снабжения, в которых предусматривается перемещение тысяч людей в сотнях транспортных средств) обычно не существует возможности представлять область определения каждой переменной в виде большого множества целых чисел и постепенно сокращать это множество с применением методов проверки совместимости. Вместо этого области определения представляются в виде верхнего и нижнего пределов и управляются с помощью метода распространения этих пределов. Например, предположим, что имеются два рейса, Flight271 и Flight272, в которых самолеты имеют соответственно вместимость 165 и 385 пассажиров. Поэтому начальные области определения для количества пассажиров в каждом рейсе определяются следующим образом:

Теперь допустим, что имеется дополнительное ограничение, согласно которому в этих двух рейсах необходимо перевести 420 человек:

Распространяя ограничения пределов, можно сократить области определения до таких величин:

Задача CSP называется совместимой с пределами (bounds-consistent), если для каждой переменной х, а также одновременно для нижнего и верхнего предельных значений X существует некоторое значение Y, которое удовлетворяет заданному ограничению между X и Y для каждой переменной Y. Такого рода распространение пределов (bounds propagation) широко используется в практических задачах с ограничениями.