Комбинаторная оптимизация - Combinatorial optimization
Комбинаторная оптимизация является подполем математическая оптимизация это связано с исследование операций, теория алгоритмов, и теория сложности вычислений. Он имеет важные приложения в нескольких областях, в том числе искусственный интеллект, машинное обучение, теория аукционов, программная инженерия, Прикладная математика и теоретическая информатика.
Комбинаторная оптимизация это тема, которая состоит из поиска оптимального объекта из конечный набор объектов.[1] Во многих таких проблемах исчерпывающий поиск не поддается. Он работает в области тех задач оптимизации, в которых множество возможные решения является дискретный или может быть сведено к дискретному, и цель которого - найти лучшее решение. Типичные проблемы: задача коммивояжера («ТСП»), проблема с минимальным остовным деревом ("MST"), а проблема с рюкзаком.
Некоторая исследовательская литература[2] считает дискретная оптимизация состоять из целочисленное программирование вместе с комбинаторной оптимизацией (которая, в свою очередь, состоит из проблемы оптимизации иметь дело с структуры графа ), хотя все эти темы тесно связаны между собой исследовательской литературой. Он часто включает определение способа эффективного распределения ресурсов, используемых для поиска решений математических задач.
Приложения
Приложения для комбинаторной оптимизации включают, но не ограничиваются:
- Логистика[3]
- Оптимизация цепочки поставок[4]
- Развитие лучшей авиационной сети спиц и направлений
- Решение, какие такси в парке выбрать, чтобы забрать плату за проезд
- Определение оптимального способа доставки посылок
- Разработка оптимального распределения рабочих мест между людьми
- Проектирование водопроводных сетей
- науки о Земле проблемы (например, резервуар расхода)[5]
Методы
Существует большое количество литературы по полиномиальные алгоритмы для некоторых специальных классов дискретной оптимизации значительная ее часть объединена теорией линейное программирование. Некоторые примеры задач комбинаторной оптимизации, которые попадают в эту структуру: кратчайшие пути и деревья кратчайшего пути, потоки и циркуляции, остовные деревья, соответствие, и матроид проблемы.
За НП-полный Проблемы дискретной оптимизации, текущая исследовательская литература включает следующие темы:
- полиномиальные точно решаемые частные случаи рассматриваемой проблемы (например, см. управляемый с фиксированными параметрами )
- алгоритмы, которые хорошо работают на "случайных" экземплярах (например, для TSP )
- аппроксимационные алгоритмы которые выполняются за полиномиальное время и находят решение, "близкое" к оптимальному
- решение реальных примеров, которые возникают на практике и не обязательно демонстрируют наихудшее поведение, присущее NP-полным задачам (например, экземпляры TSP с десятками тысяч узлов[6]).
Задачи комбинаторной оптимизации можно рассматривать как поиск лучшего элемента некоторого набора дискретных элементов; поэтому, в принципе, любые алгоритм поиска или же метаэвристический можно использовать для их решения. Возможно, наиболее универсально применимые подходы: разветвленный (точный алгоритм, который можно остановить в любой момент в качестве эвристики), разветвленный (использует линейную оптимизацию для создания границ), динамическое программирование (построение рекурсивного решения с ограниченным окном поиска) и табу поиск (жадный алгоритм подкачки). Однако не гарантируется, что общие алгоритмы поиска сначала найдут оптимальное решение, а также не гарантируют быстрое выполнение (за полиномиальное время). Поскольку некоторые задачи дискретной оптимизации НП-полный, например, задача коммивояжера[нужна цитата ], это ожидается, если P = NP.
Формальное определение
Формально задача комбинаторной оптимизации четверка[нужна цитата ] , куда
- это набор экземпляров;
- данный пример , - конечное множество допустимых решений;
- данный пример и возможное решение из , обозначает мера из , который обычно положительный настоящий.
- - целевая функция, либо или же .
Затем цель - найти какой-то экземпляр ан Оптимальное решение, то есть возможное решение с
Для каждой задачи комбинаторной оптимизации существует соответствующий проблема решения который спрашивает, есть ли возможное решение для некоторой конкретной меры . Например, если есть график который содержит вершины и , проблема оптимизации может заключаться в том, чтобы "найти путь из к который использует наименьшее количество ребер ". Эта проблема может иметь ответ, скажем, 4. Соответствующая проблема решения будет:" есть ли путь от к который использует 10 или меньше ребер? »На эту проблему можно ответить простым« да »или« нет ».
В области аппроксимационные алгоритмы, алгоритмы предназначены для поиска почти оптимальных решений сложных проблем. Обычный вариант решения тогда является неадекватным определением проблемы, поскольку он указывает только приемлемые решения. Несмотря на то, что мы могли бы ввести подходящие задачи решения, проблема более естественно характеризуется как проблема оптимизации.[7]
Задача оптимизации NP
An Задача NP-оптимизации (NPO) - задача комбинаторной оптимизации со следующими дополнительными условиями.[8] Обратите внимание, что указанные ниже многочлены являются функциями размера входных данных соответствующих функций, а не размером некоторого неявного набора экземпляров входных данных.
- размер каждого возможного решения полиномиально ограниченный в размере данного экземпляра ,
- языки и возможно признанный в полиномиальное время, и
- является вычислимый за полиномиальное время.
Это означает, что соответствующая проблема решения находится в НП. В информатике интересные задачи оптимизации обычно обладают указанными выше свойствами и, следовательно, являются проблемами NPO. Проблема дополнительно называется проблемой P-оптимизации (PO), если существует алгоритм, который находит оптимальные решения за полиномиальное время. Часто, имея дело с классом NPO, интересуются задачи оптимизации, для которых варианты решения НП-полный. Обратите внимание, что отношения жесткости всегда относятся к некоторому снижению. Из-за связи между алгоритмами аппроксимации и задачами вычислительной оптимизации редукции, которые в некотором отношении сохраняют аппроксимацию, для этого предмета предпочтительнее, чем обычные Тьюринг и Редукции Карпа. Примером такого сокращения может быть L-редукция. По этой причине задачи оптимизации с NP-полными версиями решений не обязательно называются NPO-полными.[9]
NPO делится на следующие подклассы в зависимости от их аппроксимируемости:[8]
- НПО (I): Равно FPTAS. Содержит Задача о рюкзаке.
- НПО (II): Равно PTAS. Содержит Makespan проблема планирования.
- НПО (III):: Класс проблем NPO, которые имеют алгоритмы с полиномиальным временем, которые вычисляют решения с затратами не более c раз оптимальной стоимости (для задач минимизации) или стоимости не менее оптимальной стоимости (для задач максимизации). В Громкович Из этого класса исключены все задачи NPO (II), за исключением P = NP. Без исключения равно APX. Содержит МАКС-СБ и метрическая TSP.
- НПО (IV):: Класс задач NPO с полиномиальными алгоритмами, приближающими оптимальное решение с помощью отношения, полиномиального от логарифма размера входных данных. В книге Хромковича все NPO (III) -задачи исключены из этого класса, если P = NP. Содержит установить обложку проблема.
- НПО (В):: Класс задач NPO с полиномиальными алгоритмами, приближающими оптимальное решение соотношением, ограниченным некоторой функцией от n. В книге Хромковича все NPO (IV) -задачи исключены из этого класса, если P = NP. Содержит TSP и Проблемы Max Clique.
Проблема НКО называется полиномиально ограниченный (PB) если для каждого экземпляра и для каждого решения , мера ограничена полиномиальной функцией размера . Класс NPOPB - это класс полиномиально ограниченных задач NPO.
Конкретные проблемы
- Проблема с присвоением
- Проблема закрытия
- Проблема удовлетворения ограничений
- Проблема раскроя материала
- Доминирующий набор проблема
- Целочисленное программирование
- Задача о рюкзаке
- Минимальные релевантные переменные в линейной системе
- Минимальное остовное дерево
- Проблема с расписанием медсестер
- Установить проблему с крышкой
- Проблема коммивояжера
- Проблема перепланирования автомобиля
- Проблема с маршрутизацией автомобиля
- Проблема с назначением цели оружия
Смотрите также
Примечания
- ^ Schrijver 2003, п. 1.
- ^ Дискретная оптимизация. Эльзевир. Получено 2009-06-08.
- ^ Сбихи, Абделькадер; Эглезе, Ричард В. (2007). «Комбинаторная оптимизация и зеленая логистика» (PDF). 4ИЛИ. 5 (2): 99–116. Дои:10.1007 / s10288-007-0047-3. S2CID 207070217.
- ^ Эскандарпур, Маджид; Деякс, Пьер; Мимчик, Джо; Петон, Оливье (2015). «Дизайн устойчивой сети поставок: обзор, ориентированный на оптимизацию» (PDF). Омега. 54: 11–32. Дои:10.1016 / j.omega.2015.01.006.
- ^ Хобе, Алекс; Фоглер, Даниэль; Сейболд, Мартин П .; Эбигбо, Анози; Settgast, Randolph R .; Саар, Мартин О. (2018). «Оценка расходов жидкости через сети трещин с использованием комбинаторной оптимизации». Достижения в области водных ресурсов. Дои:10.1016 / j.advwatres.2018.10.002.
- ^ Повар 2016.
- ^ Аузиелло, Джорджио; и другие. (2003), Сложность и приближение (Исправленное ред.), Springer, ISBN 978-3-540-65431-5
- ^ а б Хромкович, Юрай (2002), Алгоритмика для сложных задач, Тексты по теоретической информатике (2-е изд.), Springer, ISBN 978-3-540-44134-2
- ^ Канн, Вигго (1992), Об аппроксимируемости NP-полных задач оптимизации, Королевский технологический институт, Швеция, ISBN 91-7170-082-X
- ^ Возьмите один город и возьмите все возможные заказы из других 14 городов. Затем разделите на два, потому что не имеет значения, в каком направлении во времени они идут друг за другом: 14! / 2 = 43,589,145,600.
Рекомендации
- Бизли, Дж. Э. «Целочисленное программирование» (конспект лекций).CS1 maint: ref = harv (связь)
- Кук, Уильям Дж.; Каннингем, Уильям Х .; Pulleyblank, Уильям Р.; Шрайвер, Александр (1997). Комбинаторная оптимизация. Вайли. ISBN 0-471-55894-X.CS1 maint: ref = harv (связь)
- Кук, Уильям (2016). «Оптимальные туры ТСП». Университет Ватерлоо.CS1 maint: ref = harv (связь) (Информация о крупнейших на сегодняшний день случаях TSP решена.)
- Крещенци, Пьерлуиджи; Канн, Вигго; Халльдорссон, Магнус; Карпинский, Марек; Woeginger, Герхард (ред.). «Сборник проблем оптимизации NP».CS1 maint: ref = harv (связь) (Это постоянно обновляемый каталог результатов аппроксимируемости для задач оптимизации NP.)
- Дас, Арнаб; Чакрабарти, Бикас К, ред. (2005). Квантовый отжиг и связанные с ним методы оптимизации. Конспект лекций по физике. 679. Springer. Bibcode:2005qnro.book ..... D.CS1 maint: ref = harv (связь)
- Дас, Арнаб; Чакрабарти, Бикас К. (2008). «Коллоквиум: квантовый отжиг и аналоговые квантовые вычисления». Ред. Мод. Phys. 80 (3): 1061. arXiv:0801.2193. Bibcode:2008RvMP ... 80.1061D. CiteSeerX 10.1.1.563.9990. Дои:10.1103 / RevModPhys.80.1061. S2CID 14255125.CS1 maint: ref = harv (связь)
- Лоулер, Юджин (2001). Комбинаторная оптимизация: сети и матроиды. Дувр. ISBN 0-486-41453-1.CS1 maint: ref = harv (связь)
- Ли, Джон (2004). Первый курс комбинаторной оптимизации. Издательство Кембриджского университета. ISBN 0-521-01012-8.CS1 maint: ref = harv (связь)
- Papadimitriou, Christos H .; Стейглиц, Кеннет (Июль 1998 г.). Комбинаторная оптимизация: алгоритмы и сложность. Дувр. ISBN 0-486-40258-4.CS1 maint: ref = harv (связь)
- Шрайвер, Александр (2003). Комбинаторная оптимизация: многогранники и эффективность. Алгоритмы и комбинаторика. 24. Springer. ISBN 9783540443896.CS1 maint: ref = harv (связь)
- Шрайвер, Александр (2005). «К истории комбинаторной оптимизации (до 1960 г.)» (PDF). В Аардал, К.; Nemhauser, G.L .; Weismantel, R. (ред.). Справочник по дискретной оптимизации. Эльзевир. С. 1–68.CS1 maint: ref = harv (связь)
- Шрайвер, Александр (1 февраля 2006 г.). Курс комбинаторной оптимизации (PDF).CS1 maint: ref = harv (связь)
- Сирксма, Жерар; Гош, Диптеш (2010). Сети в действии; Текстовые и компьютерные упражнения по оптимизации сети. Springer. ISBN 978-1-4419-5512-8.CS1 maint: ref = harv (связь)
- Жерар Сирксма; Йори Зволс (2015). Линейная и целочисленная оптимизация: теория и практика. CRC Press. ISBN 978-1-498-71016-9.
- Pintea, C-M. (2014). Достижения в области биологических вычислений для задач комбинаторной оптимизации. Справочная библиотека интеллектуальных систем. Springer. ISBN 978-3-642-40178-7.CS1 maint: ref = harv (связь)