Нестандартный алгоритм - Out-of-kilter algorithm

В нестандартный алгоритм является алгоритм который вычисляет решение проблема минимальных затрат в проточная сеть. Он был опубликован в 1961 г. Д. Р. Фулкерсон[1] и описан здесь.[2] Аналог установившегося потока в сети узлов и дуг может описывать множество процессов. Примеры включают в себя транспортные системы и действия по назначению персонала. Дуги обычно имеют параметры стоимости и мощности. Постоянно возникающая проблема заключается в попытке определить маршрут с минимальной стоимостью между двумя точками в сети с ограниченными возможностями. Идея алгоритма состоит в том, чтобы идентифицировать дуги вне килтера и модифицировать сеть потоков до тех пор, пока все дуги не станут килтерами и не будет достигнут поток с минимальной стоимостью. Алгоритм можно использовать для минимизации общей стоимости ограниченного потока в ориентированной сети.

Алгоритм

Для начала алгоритм берет один цикл и набор номеров узлов. Затем выполняется поиск дуги с нарушением правил. Если ничего не найдено, алгоритм завершен. Если поток необходимо увеличить или уменьшить, чтобы привести дугу в разрез, алгоритм будет искать путь, который соответственно увеличивает или уменьшает поток. Если не найдены пути для улучшения системы, значит, нет приемлемого потока. Это делается до тех пор, пока все дуги не станут равными, и на этом алгоритм будет завершен.

Предположим, что сеть имеет n узлов и m ориентированных дуг. Мы пишем если дуга имеет начальный узел и конечный узел . Позволять быть потоком по дуге (из узла узел ). Определить и быть нижней и верхней границами пропускной способности потока в дуге . Емкости могут быть конечными или бесконечными на некоторых или всех дугах либо для нижней, либо для верхней границы. Проблема, которую необходимо решить, - это минимизировать: при условии:

для каждого (1)

, и:

для каждого (2)

Если данный поток x удовлетворяет (1), то поток сохраняется в каждом узле, и мы называем этот поток циркуляцией. Если поток x удовлетворяет (2), мы говорим, что он допустим.

Сложность

Время выполнения:

  • Алгоритм завершается в итерации
  • Преобладающее вычисление - вычисление кратчайшего пути
  • Общее время выполнения:

использованная литература

  1. ^ Д. Р. Фулкерсон (март 1961 г.). "Метод вне фильтра для задач с минимальными затратами". Журнал Общества промышленной и прикладной математики. 9 (1): 18–27. JSTOR  2099013.
  2. ^ Дурбин, EP; Кроенке, Д.М. (декабрь 1967 г.). Необычный алгоритм: учебник - Меморандум RM-5472-PR (PDF). Санта-Моника, Калифорния, США: Rand Corporation. Получено 2018-01-16.

[1]

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

  1. ^ Кембриджский университет (июль 2012 г.). "Алгоритм вне килтера" (PDF). https://www.maths.cam.ac.uk. Внешняя ссылка в | сайт = (Помогите)