Глобальные ограничения
Задачи удовлетворения ограничений с конечными доменами используют глобальные ограничения. Глобальное ограничение ‑ это ограничение над подмножеством переменных (пример – ограничение all-different). У глобальных ограничений есть два преимущества. Во-первых, глобальные ограничения облегчают задачу моделирования прикладной проблемы в виде ЗУО. Во-вторых, можно разработать алгоритм распространения ограничений[5] специального вида, учитывающий особенности ограничения и поэтому намного более эффективный. Классическим примером глобального ограничения служит all-different ‑ ограничение, которое определяет, что переменные должны быть попарно различными.
Помимо ''all-different'', типичным примером служат ограничение ''atmost'', устанавливающее лимит на число переменных с определенным значением, а также кумулятивное ограничение и кардинальное ограничение, используемые при составлении расписаний, упорядочении работ и в календарном планировании. Глобальное кардинальное ограничение над множеством переменных и значений определяет условие, что число переменных, которым присвоены значения, должно быть между данными верхней и нижней границами, причем эти границы могут быть различны для каждого значения. Кумулятивное ограничение над множеством переменных, представляющих время выполнения различных работ, гарантирует, что работы упорядочены так, что в любое время , не превышаются имеющиеся в наличии величины ресурсов.
Мягкие ограничения
При разработке приложений, имеющих практическое значение, выяснилось, что ограничений с конечными доменами недостаточно для адкватного моделирования реальных задач, так как реальные задачи обычно не могут быть описаны только с помощью «классических» ограничений, которые могут быть истинны либо ложны, поскольку в реальных задачах имеются такие характеристики, как предпочтения, вероятности, стоимости, а также степень неопределенности.
Многие прикладные задачи УО обычно являются переограниченными (overconstrained), в которых задано слишком много ограничений, так что невозможно все их одновременно удовлетворить. В таких случаях, вначале нужно выяснить, имеются ли решения задачи УО вообще[6], а затем нужно решить, какие из ограничений ослабить, чтобы задача стала разрешимой.
В связи с этим было введено понятие мягкого ограничения (soft constraint): мягкое ограничение ‑ это само ограничение плюс его дополнительная характеристика (критерий), которая может интерпретироваться как стоимость, уровень важности, степень неопределенности или нечто подобное. Нахождение решения не означает далее нахождение такового, удовлетворяющего всем ограничениям, но получение значений переменных, для которых достигается «наилучшее» значение для выбранного критерия.
Дата добавления: 2016-06-05; просмотров: 2190;