В математике ограничение является условием оптимизации проблема, которую должно удовлетворить решение. Есть несколько типов ограничений - в первую очередь ограничения равенства, ограничения неравенства и целочисленные ограничения. Набор возможных решений, удовлетворяющих всем ограничениям, называется допустимым набором.
Следующая простая задача оптимизации:
с учетом
и
где обозначает вектор (x 1, x 2).
В этом примере первая строка определяет функцию, которую нужно минимизировать (называемую целевой функцией, функцией потерь или функцией стоимости). Вторая и третья строки определяют два ограничения, первое из которых является ограничением неравенства, а второе - ограничением равенства. Эти два ограничения являются жесткими ограничениями, что означает, что требуется, чтобы они выполнялись; они определяют возможный набор возможных решений.
Без ограничений решением будет (0,0), где имеет наименьшее значение. Но это решение не удовлетворяет ограничениям. Решение задачи ограниченной оптимизации, указанное выше: , что является точка с наименьшим значением , которое удовлетворяет двум ограничениям.
Если проблема требует, чтобы ограничения были удовлетворены, как в вышеприведенном обсуждении, ограничения иногда упоминаются как жесткие ограничения. Однако в некоторых задачах, называемых проблемами удовлетворения гибких ограничений, предпочтительно, но не требуется, чтобы выполнялись определенные ограничения; такие необязательные ограничения известны как мягкие ограничения. Мягкие ограничения возникают, например, в планировании на основе предпочтений. В задаче MAX-CSP допускается нарушение ряда ограничений, а качество решения измеряется количеством удовлетворенных ограничений.
Глобальные ограничения - это ограничения, представляющие конкретное отношение для ряда переменных, взятых вместе. Некоторые из них, такие как ограничение alldifferent
, можно переписать как соединение атомарных ограничений на более простом языке: ограничение alldifferent
выполняется для n переменных , и выполняется, если переменные принимают значения, которые попарно различны. Он семантически эквивалентен конъюнкции неравенств . Другие глобальные ограничения расширяют выразительность структуры ограничений. В этом случае они обычно фиксируют типичную структуру комбинаторных задач. Например, ограничение regular
выражает, что последовательность переменных принимается детерминированным конечным автоматом.
Глобальные ограничения используются для упрощения моделирования ограничения проблемы удовлетворения, чтобы расширить выразительность языков ограничений, а также улучшить разрешение ограничений : действительно, если рассматривать все переменные вместе, недопустимые ситуации можно увидеть раньше в процессе решения. Многие глобальные ограничения указаны в онлайн-каталоге.