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