Я расширю ответ Ювала Фильмуса , предоставив интерпретацию, основанную на многоцелевых задачах оптимизации .
Единственная цель оптимизации и приближения
В компьютерных науках мы часто изучаем проблемы оптимизации с одной целью (например, минимизировать f ( x ) с некоторыми ограничениями). При доказательстве, скажем, NP-полноты обычно рассматривают соответствующую проблему бюджета . Например, в задаче с максимальной кликой цель состоит в том, чтобы максимизировать мощность клики, а проблема с бюджетом - это проблема определения, существует ли клика размером не менее k , где k задается как часть входных данных для эта проблема.
Когда невозможно эффективно вычислить оптимальное решение, как в случае задачи максимальной клики, мы ищем алгоритм приближения , функцию, которая выводит решение в мультипликативном множителе оптимального решения. Вы также можете рассмотреть алгоритм аппроксимации для бюджетной задачи, функцию, которая выводит решение, удовлетворяющее f ( x ) ≥ ck в случае задачи максимизации, где c - число меньше единицы. В этой ситуации решение может нарушить жесткое ограничение f ( x ) ≥ k , но «серьезность» нарушения ограничена c .
Многоцелевая оптимизация и двухкритериальное приближение
В некоторых случаях вы можете оптимизировать две цели одновременно. В качестве грубого примера я, возможно, захочу максимизировать свой «доход» при минимизации моей «стоимости». В такой ситуации не существует единого оптимального значения, поскольку существует компромисс между двумя целями; Для получения дополнительной информации см. статью в Википедии об эффективности Парето .
Один из способов превращения двухцелевой задачи оптимизации в одноцелевую задачу оптимизации (для которой мы можем рассуждать об оптимальном значении целевой функции) - это рассмотреть две проблемы ограничения , по одной для каждой цели. Если проблема состоит в том, чтобы одновременно максимизировать f ( x ) при минимизации g ( x ), первая проблема ограничения состоит в том, чтобы минимизировать g ( x ) с учетом ограничения f ( x ) ≥ k , где k задается как часть входных данных для это одноцелевая задача оптимизации. Вторая проблема ограничения определяется аналогично.
Алгоритм аппроксимации ( α , β ) - бикритериев для первой задачи с ограничениями - это функция, которая принимает параметр бюджета k в качестве входных данных и выводит решение x так , что
- f(x)≥αk
- g(x)≤βg(x∗)
x∗
- f(x)≥αf(x∗)
- g(x)≤βℓ
Другими словами, алгоритм бикритериальной аппроксимации является одновременно аппроксимацией для задачи бюджета в первой задаче и задачи оптимизации во второй задаче. (Это определение было адаптировано на четвертой странице « Субмодульная оптимизация с субмодульным покрытием и субмодульными ограничениями на рюкзак », Iyer and Bilmes, 2013.)
Неравенства меняют направление, когда цели переключаются с максимума на минимум или наоборот.