Конфигурация линейной программы
Конфигурационная линейная программа ( configuration-LP ) — это метод линейного программирования, используемый для решения комбинаторной оптимизации задач . Оно было введено в контексте проблемы сокращения запасов . [1] [2] Позже он был применен к упаковке контейнера. [3] [4] и проблемы с планированием работы . [5] [6] В Configuration-LP существует переменная для каждой возможной конфигурации — каждого возможного мультинабора элементов, который может поместиться в одну корзину (эти конфигурации также известны как шаблоны ). Обычно количество конфигураций экспоненциально зависит от размера задачи, но в некоторых случаях можно получить приближенные решения, используя только полиномиальное количество конфигураций.
В мусорной упаковке
[ редактировать ]Интегральный ЛП
[ редактировать ]В задаче об упаковке корзин имеется n предметов разного размера. Цель состоит в том, чтобы упаковать предметы в минимальное количество контейнеров, где каждый контейнер может содержать не более B . — Допустимая конфигурация набор размеров с суммой не более B. это
- Пример : [7] предположим, что размеры элементов равны 3,3,3,3,3,4,4,4,4,4 и B =12. Тогда возможные конфигурации: 3333; 333; 33, 334; 3, 34, 344; 4, 44, 444. Если бы у нас было всего три элемента размера 3, то мы не смогли бы использовать конфигурацию 3333.
Обозначим через S множество различных размеров (и их количество). Обозначим через C множество различных конфигураций (и их количество). Для каждого размера s в S и конфигурации c в C обозначим:
- n s — количество элементов размера s .
- a s , c — количество вхождений размера s в конфигурации c .
- x c — переменная, обозначающая количество бункеров с конфигурацией c .
Тогда конфигурация LP упаковки в контейнер будет следующей:
для всех s в S (- все n s предметов размера s упакованы ).
для всех c в C (всего существует не более n контейнеров, то есть не более n каждой отдельной конфигурации).
Конфигурация LP представляет собой целочисленную линейную программу , поэтому в общем случае она NP-сложна. Более того, даже сама проблема, как правило, очень велика: в ней есть C переменных и S ограничений. Если наименьший размер элемента равен eB (для некоторой дроби e в (0,1)), то в каждом контейнере может находиться до 1/ e элементов, поэтому количество конфигураций C ~ S 1/ и , которое может быть очень большим, если e мало (если e считать константой, то целочисленную ЛП можно решить методом перебора: существует не более S 1/е конфигураций, и для каждой конфигурации существует не более n возможных значений, поэтому существует не более комбинации для проверки. Для каждой комбинации нам необходимо проверить S- ограничения, поэтому время выполнения равно , который является полиномиальным по n, когда S, e постоянны). [7]
Однако этот ILP служит основой для нескольких алгоритмов аппроксимации. Основная идея этих алгоритмов состоит в том, чтобы свести исходный экземпляр к новому экземпляру, в котором S мало, а e велико, поэтому C относительно мало. Тогда ЗЛП можно решить либо полным перебором (если S , C достаточно малы), либо релаксацией ее в дробную ЛП.
Дробный LP
[ редактировать ]Дробная конфигурация LP упаковки контейнеров. Это релаксация линейного программирования вышеупомянутой ILP. Он заменяет последнее ограничение с ограничением . Другими словами, каждую конфигурацию можно использовать дробное количество раз. Релаксацию впервые представили Гилмор и Гомори. [2] и ее часто называют линейной программой Гилмора-Гомори . [8]
- Пример : предположим, что имеется 31 элемент размера 3 и 7 элементов размера 4, а размер ячейки равен 10. Конфигурации: 4, 44, 34, 334, 3, 33, 333. Ограничения: [0,0 ,1,2,1,2,3]* x =31 и [1,2,1,1,0,0,0]* x =7. Оптимальным решением дробного LP является [0,0,0,7,0,0,17/3]. То есть: имеется 7 бункеров конфигурации 334 и 17/3 бункеров конфигурации 333. Обратите внимание, что только две разные конфигурации необходимы.
Вкратце дробный ЛП можно записать так:
Где 1 — вектор (1,...,1) размера C , A — S матрица размера на C , в которой каждый столбец представляет одну конфигурацию, а n — вектор ( n 1 ,..., n С ).
Решение дробной ЛП
[ редактировать ]Линейная программа без ограничений целостности может быть решена за время, полиномиальное по числу переменных и ограничений. Проблема в том, что количество переменных в дробной конфигурации LP равно числу возможных конфигураций, которое может быть огромным. Кармаркар и Карп [9] представить алгоритм, который решает эту проблему.
Сначала они строят двойственную линейную программу дробного ЛП:
.
Он имеет S переменных y 1 ,..., y S и ограничения C : для каждой конфигурации c существует ограничение , где — столбец A, представляющий конфигурацию c . 3Он имеет следующую экономическую интерпретацию. [9] Для каждого размера s мы должны определить неотрицательную цену y s . Наша прибыль — это общая стоимость всех товаров. Мы хотим максимизировать прибыль n y при условии, что общая цена товаров в каждой конфигурации не превышает 1.
Во-вторых, они применяют вариант метода эллипсоида , которому не нужно перечислять все ограничения — ему просто нужен оракул разделения . Оракул разделения — это алгоритм, который по заданному вектору y либо утверждает, что это осуществимо, либо находит ограничение, которое он нарушает. Оракул разделения для двойного ЛП может быть реализован путем решения задачи о рюкзаке с размерами s и значениями y : если оптимальное решение задачи о рюкзаке имеет общее значение не более 1, то y осуществимо; если оно больше 1, то значение невозможно , y а оптимальное решение задачи о рюкзаке определяет конфигурацию, для которой ограничение нарушается.
В-третьих, они показывают, что при приближенном решении задачи о рюкзаке можно получить приближенное решение двойственной ЛП, а отсюда — приближенное решение первичной ЛП; см. Алгоритмы упаковки контейнеров Кармаркара-Карпа .
В общем, для любого коэффициента допуска h находит базовое допустимое решение со стоимостью не более LOPT(I) + h и работает во времени:
,
где S — количество разных размеров, n — количество разных предметов, а размер наименьшего предмета — eB . В частности, если e ≥ 1/ n и h = 1, алгоритм находит решение с не более чем LOPT+1 интервалами во времени: . Рандомизированный вариант этого алгоритма выполняется за ожидаемое время:
.
Округление дробной ЛП
[ редактировать ]Кармаркар и Карп далее разработали способ округления дробной ЛП до приближенного решения целой ЛП; см. Алгоритмы упаковки контейнеров Кармаркара-Карпа . Их доказательство показывает, что аддитивная дыра целочисленности этой ЛП находится за O(log 2 ( н )). Позже Хоберг и Ротвосс [10] улучшили свой результат и доказали, что разрыв целочисленности находится за O(log( n )). Самая известная нижняя граница разрыва целочисленности — это константа Ω(1). Нахождение точного разрыва целостности является открытой проблемой.
В покрытии бункера
[ редактировать ]В задаче о покрытии контейнера имеется n предметов разного размера. чтобы упаковать предметы в максимальное количество контейнеров, причем каждый контейнер должен содержать как минимум B. Цель состоит в том , Естественная конфигурация LP для этой проблемы может быть такой:
где A представляет собой все конфигурации элементов с суммой не ниже B (можно брать только конфигурации, минимальные по включению). Проблема с этой ЛП заключается в том, что в задаче о покрытии контейнеров обработка мелких предметов проблематична, поскольку мелкие предметы могут быть необходимы для оптимального решения. При разрешении мелких предметов количество конфигураций может оказаться слишком большим даже для техники Кармаркара и Карпа. Чирик, Джонсон и Кеньон [11] представить альтернативный LP. Во-первых, они определяют набор элементов, которые называются small . Пусть T — общий размер всех мелких предметов. Затем они создают матрицу A, представляющую все конфигурации с суммой <2. Затем они рассматривают вышеуказанную ЛП с одним дополнительным ограничением: Дополнительное ограничение гарантирует, что «свободное место» в контейнерах может быть заполнено мелкими предметами. Двойной вариант этой ЛП более сложен и не может быть решен с помощью простого оракула разделения рюкзака. Чирик, Джонсон и Кеньон [11] представить другой метод решения этой задачи приблизительно за экспоненциальное время в 1/эпсилон. Янсен и Солис-Оба [12] представить улучшенный метод решения этой задачи приблизительно за экспоненциальное время в 1/эпсилон.
В машинном планировании
[ редактировать ]В задаче планирования несвязанных машин имеется m разных машин, которые должны обрабатывать n разных заданий. Когда машина i обрабатывает задание j занимает время pi , это , j . Цель состоит в том, чтобы распределить задания между машинами так, чтобы максимальное время завершения работы машины было как можно меньшим. Вариант решения этой проблемы таков: при заданном времени T существует ли раздел, в котором время завершения всех машин не превышает T ?
Для каждой машины i существует конечное число подмножеств заданий, которые могут быть обработаны машиной за время не более T. i Каждое такое подмножество называется конфигурацией машины i . Обозначим через C i ( T набор всех конфигураций для машины i в данный момент времени T. ) Для каждой машины i и конфигурации c в C i ( T ) определите переменную который равен 1, если фактическая конфигурация, используемая на машине i, равна c , и 0 в противном случае. Тогда ограничения LP таковы:
- для каждой машины i в 1,..., m;
- для каждого задания j в 1,..., n;
- для каждого i , j .
Характеристики
[ редактировать ]Разрыв целостности конфигурации-LP для планирования несвязанных машин равен 2. [5]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Эйземанн, Курт (1 апреля 1957 г.). «Проблема обрезки» . Наука управления . 3 (3): 279–284. дои : 10.1287/mnsc.3.3.279 . ISSN 0025-1909 .
- ^ Перейти обратно: а б Гилмор, ПК; Гомори, Р.Э. (1961). «Подход к линейному программированию к задаче резки». Исследование операций . 9 (6): 849–859. дои : 10.1287/опре.9.6.849 . JSTOR 167051 . S2CID 8079477 .
- ^ Кармаркар, Нарендра; Карп, Ричард М. (1 ноября 1982 г.). «Эффективная аппроксимационная схема одномерной задачи упаковки контейнеров» . 23-й ежегодный симпозиум по основам информатики (SFCS 1982) : 312–320. дои : 10.1109/SFCS.1982.61 . S2CID 18583908 .
- ^ Бансал, Нихил; Капрара, Альберто; Свириденко, Максим (01.10.2006). «Улучшенные алгоритмы аппроксимации для многомерных задач упаковки контейнеров» . 2006 г. 47-й ежегодный симпозиум IEEE по основам информатики (FOCS'06) . стр. 697–708. дои : 10.1109/FOCS.2006.38 . ISBN 0-7695-2720-5 . S2CID 7690347 .
- ^ Перейти обратно: а б Вершае, Хосе; Визе, Андреас (1 августа 2014 г.). "О конфигурации-LP для планирования на несвязанных машинах" . Журнал планирования . 17 (4): 371–383. arXiv : 1011.4957 . дои : 10.1007/s10951-013-0359-4 . ISSN 1099-1425 . S2CID 34229676 .
- ^ Кноп, Душан; Кутецкий, Мартин (04 марта 2020 г.). «Планирование ядер через конфигурацию LP». arXiv : 2003.02187 [ cs.DS ].
- ^ Перейти обратно: а б Клэр Матье. «Алгоритмы аппроксимации. Часть I, неделя 3: упаковка контейнеров» . Курсера . Архивировано из оригинала 15 июля 2021 г.
- ^ Ротвосс, Т. (1 октября 2013 г.). «Аппроксимация упаковки ячеек в ячейки O(log OPT · Log Log OPT)» . 54-й ежегодный симпозиум IEEE по основам информатики , 2013 г. стр. 20–29. arXiv : 1301.4010 . дои : 10.1109/FOCS.2013.11 . ISBN 978-0-7695-5135-7 . S2CID 15905063 .
- ^ Перейти обратно: а б Кармаркар, Нарендра; Карп, Ричард М. (ноябрь 1982 г.). «Эффективная аппроксимационная схема одномерной задачи упаковки контейнеров» . 23-й ежегодный симпозиум по основам информатики (SFCS 1982) : 312–320. дои : 10.1109/SFCS.1982.61 . S2CID 18583908 .
- ^ Хоберг, Ребекка; Ротвосс, Томас (2017). «Логарифмический аддитивный разрыв целостности для упаковки в контейнеры». Материалы двадцать восьмого ежегодного симпозиума ACM-SIAM по дискретным алгоритмам . Общество промышленной и прикладной математики. стр. 2616–2625. дои : 10.1137/1.9781611974782.172 . ISBN 978-1-61197-478-2 . S2CID 1647463 .
- ^ Перейти обратно: а б Чирик, Янош; Джонсон, Дэвид С.; Кеньон, Клэр (9 января 2001 г.). «Улучшенные алгоритмы аппроксимации покрытия ячеек» . SODA '01: Материалы двенадцатого ежегодного симпозиума ACM-SIAM по дискретным алгоритмам . Общество промышленной и прикладной математики. стр. 557–566. ISBN 978-0-89871-490-6 .
- ^ Янсен, Клаус; Солис-Оба, Роберто (21 ноября 2002 г.). «Асимптотическая полностью полиномиальная схема аппроксимации времени для покрытия контейнеров» . Алгоритмы и вычисления . Конспекты лекций по информатике. Том. 2518. Шпрингер-Верлаг. стр. 175–186. дои : 10.1007/3-540-36136-7_16 . ISBN 978-3-540-00142-3 .