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