Комбинаторная оптимизация - Combinatorial optimization - Wikipedia

А минимальное остовное дерево взвешенного планарный граф. Нахождение минимального остовного дерева - распространенная проблема комбинаторной оптимизации.

Комбинаторная оптимизация является подполем математическая оптимизация это связано с исследование операций, теория алгоритмов, и теория сложности вычислений. Он имеет важные приложения в нескольких областях, в том числе искусственный интеллект, машинное обучение, теория аукционов, программная инженерия, Прикладная математика и теоретическая информатика.

Комбинаторная оптимизация это тема, которая состоит из поиска оптимального объекта из конечный набор объектов.[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.

Конкретные проблемы

Оптимальный тур для коммивояжера Германия 15 крупнейших городов. Это самый короткий из 43,589,145,600[10] Возможны туры с посещением каждого города ровно один раз.

Смотрите также

Примечания

  1. ^ Schrijver 2003, п. 1.
  2. ^ Дискретная оптимизация. Эльзевир. Получено 2009-06-08.
  3. ^ Сбихи, Абделькадер; Эглезе, Ричард В. (2007). «Комбинаторная оптимизация и зеленая логистика» (PDF). 4ИЛИ. 5 (2): 99–116. Дои:10.1007 / s10288-007-0047-3. S2CID  207070217.
  4. ^ Эскандарпур, Маджид; Деякс, Пьер; Мимчик, Джо; Петон, Оливье (2015). «Дизайн устойчивой сети поставок: обзор, ориентированный на оптимизацию» (PDF). Омега. 54: 11–32. Дои:10.1016 / j.omega.2015.01.006.
  5. ^ Хобе, Алекс; Фоглер, Даниэль; Сейболд, Мартин П .; Эбигбо, Анози; Settgast, Randolph R .; Саар, Мартин О. (2018). «Оценка расходов жидкости через сети трещин с использованием комбинаторной оптимизации». Достижения в области водных ресурсов. Дои:10.1016 / j.advwatres.2018.10.002.
  6. ^ Повар 2016.
  7. ^ Аузиелло, Джорджио; и другие. (2003), Сложность и приближение (Исправленное ред.), Springer, ISBN  978-3-540-65431-5
  8. ^ а б Хромкович, Юрай (2002), Алгоритмика для сложных задач, Тексты по теоретической информатике (2-е изд.), Springer, ISBN  978-3-540-44134-2
  9. ^ Канн, Вигго (1992), Об аппроксимируемости NP-полных задач оптимизации, Королевский технологический институт, Швеция, ISBN  91-7170-082-X
  10. ^ Возьмите один город и возьмите все возможные заказы из других 14 городов. Затем разделите на два, потому что не имеет значения, в каком направлении во времени они идут друг за другом: 14! / 2 = 43,589,145,600.

Рекомендации

  • Papadimitriou, Christos H .; Стейглиц, Кеннет (Июль 1998 г.). Комбинаторная оптимизация: алгоритмы и сложность. Дувр. ISBN  0-486-40258-4.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.

внешняя ссылка