RSumCi — различия между версиями
Qradimir (обсуждение | вклад) (Конспект создан) |
Qradimir (обсуждение | вклад) м (→Время выполнения) |
||
Строка 24: | Строка 24: | ||
===Время выполнения=== | ===Время выполнения=== | ||
− | Время выполнения mincost-maxflow равно <tex> O(V \cdot E^2) </tex>. Количество вершин в получаемой сети равно <tex> O(m \cdot n) </tex>. Количество ребер в сети равно <tex> O(m \cdot n^2) </tex>. Следственно, ассимптотика алгоритма равна <tex> O(m^3 \cdot n^5) </tex>. | + | Время выполнения mincost-maxflow равно <tex> \mathcal{O}(V \cdot E^2) </tex>. Количество вершин в получаемой сети равно <tex> \mathcal{O}(m \cdot n) </tex>. Количество ребер в сети равно <tex> \mathcal{O}(m \cdot n^2) </tex>. Следственно, ассимптотика алгоритма равна <tex> \mathcal{O}(m^3 \cdot n^5) </tex>. |
==См. также== | ==См. также== | ||
* [[Поток минимальной стоимости]] | * [[Поток минимальной стоимости]] | ||
* [[Методы решения задач теории расписаний]] | * [[Методы решения задач теории расписаний]] |
Версия 12:38, 6 июня 2016
Задача: |
Дано | работ и станков, причем для каждого станка длительность выполнения на нем -й работы своя и равна . Необходимо минимизировать сумму времени выполнения работ.
Алгоритм
Описание алгоритма
Рассмотрим произвольное допустимое расписание для этой задачи. Рассмотрим какую-то станок
, пусть на нем выполняется работ. Тогда вклад этого станка в целевую функцию (не теряя общности, пронумеруем работы на этом станке от до ) рассчитывается как:
Заметим, что в каждом допустимом расписании перед каждой работой окажется коэффициент
, означающий, что соответствующая работа выпллняется -й с конца. Понятно, что в различных расписаниях может принимать значения от до .Сведем задачу к назначению каждой работы mincost-maxflow. Поместим в левую долю графа работы, в правую долю — пары из станка и коэффициента и проведем соответствующие ребра пропускной способности и стоимости , соответствующие вкладу работы в целевую функцию, если она окажется в позиции с конца на станке . Проведем из стока в левую долю ребра стоимости и пропускной способности , из правой доли в сток — также ребра стоимости и пропускной способности . Максимальный поток минимальной стоймости в построенной сети будет ответом на исходную задачу.
позиции с конца на станке с помощью задачиУтверждение: |
Eсли ребро насыщено потоком, то работа в оптимальном расписании должна стоять на станке в позиции с конца. |
|
Время выполнения
Время выполнения mincost-maxflow равно
. Количество вершин в получаемой сети равно . Количество ребер в сети равно . Следственно, ассимптотика алгоритма равна .