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

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

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

Комбинаторная оптимизация - это тема, которая состоит из поиска оптимального объекта из конечного набора объектов. Во многих таких задачах исчерпывающий поиск не поддается решению. Он работает в области тех задач оптимизации, в которых набор допустимых решений является дискретным или может быть сокращен до дискретного, и в которых цель состоит в том, чтобы найти лучшее решение. Типичными проблемами являются задача коммивояжера («TSP»), задача о минимальном остовном дереве («MST») и задача о рюкзаке .

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

Приложения

Приложения для комбинаторной оптимизации включают, но не ограничиваются:

  • Логистика
  • Оптимизация цепочки поставок
  • Развитие лучшей авиационной сети спиц и направлений
  • Решение, какие такси в парке выбрать, чтобы забрать плату за проезд
  • Определение оптимального способа доставки посылок
  • Разработка оптимального распределения рабочих мест между людьми
  • Проектирование водопроводных сетей
  • Проблемы наук о Земле (например, дебиты пластов )

Методы

Существует большое количество литературы по алгоритмам с полиномиальным временем для некоторых специальных классов дискретной оптимизации, значительная часть которых объединена теорией линейного программирования . Некоторые примеры задач комбинаторной оптимизации, которые попадают в эту структуру, - это кратчайшие пути и деревья кратчайших путей , потоки и обращения , остовные деревья , сопоставления и задачи матроидов .

Для задач NP-полной дискретной оптимизации текущая исследовательская литература включает следующие темы:

  • полиномиально-точно решаемые частные случаи рассматриваемой проблемы (например, см. фиксированный параметр, управляемый )
  • алгоритмы, которые хорошо работают на "случайных" экземплярах (например, для задачи коммивояжера )
  • алгоритмы аппроксимации, которые работают за полиномиальное время и находят решение, "близкое" к оптимальному
  • решение реальных примеров, которые возникают на практике и не обязательно демонстрируют наихудшее поведение, присущее NP-полным задачам (например, экземпляры TSP с десятками тысяч узлов).

Задачи комбинаторной оптимизации можно рассматривать как поиск лучшего элемента некоторого набора дискретных элементов; поэтому, в принципе, для их решения можно использовать любой поисковый алгоритм или метаэвристику . Возможно, наиболее универсально применимые подходы - это ветвление и граница (точный алгоритм, который может быть остановлен в любой момент времени для использования в качестве эвристики), ветвление и разрезание (использует линейную оптимизацию для генерации границ), динамическое программирование (рекурсивный алгоритм ). построение решения с ограниченным окном поиска) и табу-поиск (жадный алгоритм подкачки). Однако не гарантируется, что общие алгоритмы поиска сначала найдут оптимальное решение, а также не гарантируют, что они будут работать быстро (за полиномиальное время). Поскольку некоторые задачи дискретной оптимизации являются NP-полными , например задача коммивояжера, это ожидается, если P = NP .

Формальное определение

Формально задача комбинаторной оптимизации - это четверка , где

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

Цель состоит в том, чтобы найти то для некоторого экземпляра в оптимальное решение , то есть, допустимое решение с

Для каждой задачи комбинаторной оптимизации существует соответствующая проблема решения, которая спрашивает, существует ли допустимое решение для некоторой конкретной меры . Например, если есть граф, содержащий вершины и , проблема оптимизации может заключаться в «найти путь от до, который использует наименьшее количество ребер». Эта проблема может иметь ответ, скажем, 4. Соответствующая проблема с решением будет звучать так: «Есть ли путь от до, который использует 10 или меньше ребер?» На эту проблему можно ответить простым «да» или «нет».

В области приближенных алгоритмов алгоритмы предназначены для поиска почти оптимальных решений сложных проблем. Тогда обычная версия решения является неадекватным определением проблемы, поскольку в ней указываются только приемлемые решения. Несмотря на то, что мы могли бы ввести подходящие проблемы решения, проблема более естественно характеризуется как проблема оптимизации.

Задача оптимизации NP

Проблема NP-оптимизация (НПО) является комбинаторной задачей оптимизации с помощью следующих дополнительных условий. Обратите внимание, что указанные ниже полиномы являются функциями размера входных данных соответствующих функций, а не размера некоторого неявного набора экземпляров входных данных.

Это означает, что соответствующая проблема решения находится в NP . В информатике интересные задачи оптимизации обычно обладают указанными выше свойствами и, следовательно, являются проблемами NPO. Проблема дополнительно называется проблемой P-оптимизации (PO), если существует алгоритм, который находит оптимальные решения за полиномиальное время. Часто, имея дело с классом NPO, интересуются задачами оптимизации, для которых версии решения являются NP-полными . Обратите внимание, что отношения жесткости всегда относятся к некоторому уменьшению. Из-за связи между алгоритмами аппроксимации и задачами вычислительной оптимизации редукции, которые в некотором отношении сохраняют аппроксимацию, для этого предмета предпочтительнее, чем обычные редукции Тьюринга и Карпа . Примером такого уменьшения может быть L-редукция . По этой причине задачи оптимизации с NP-полными версиями решений не обязательно называются NPO-полными.

NPO делится на следующие подклассы в зависимости от их аппроксимируемости:

  • НПО (I) : равно FPTAS . Содержит задачу о ранце .
  • НПО (II) : равно ПТАС . Содержит проблему планирования Makespan .
  • NPO (III) :: Класс проблем NPO, которые имеют алгоритмы с полиномиальным временем, которые вычисляют решения со стоимостью не более чем в c раз оптимальной стоимости (для задач минимизации) или стоимостью не менее оптимальной стоимости (для задач максимизации). В книге Хромковича из этого класса исключены все задачи NPO (II), за исключением P = NP. Без исключения равно APX. Содержит MAX-SAT и метрический TSP .
  • NPO (IV) :: Класс задач NPO с алгоритмами с полиномиальным временем, приближающими оптимальное решение с помощью отношения, полиномиального от логарифма размера входных данных. В книге Хромковича все NPO (III) -задачи исключены из этого класса, если P = NP. Содержит заданную проблему обложки .
  • NPO (V) :: Класс задач NPO с полиномиальными алгоритмами, аппроксимирующими оптимальное решение соотношением, ограниченным некоторой функцией от n. В книге Хромковича все NPO (IV) -задачи исключены из этого класса, если P = NP. Содержит задачи TSP и Max Clique .

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

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

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

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

Заметки

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

  • Жерар Сирксма; Йори Зволс (2015). Линейная и целочисленная оптимизация: теория и практика . CRC Press. ISBN 978-1-498-71016-9.

Внешние ссылки