QpmtnriLmax
Постановка задачи
Рассмотрим задачу нахождения расписания со следующим свойством:
- Каждое задание имеет своё времени выпуска и срок завершения(дедлайн) .
Алгоритм решения
Применим бинарный поиск для общего решения задачи. Сведем задачу к поиску потока сети.
Пусть упорядоченная последовательности всех значений и .
Также определим для .
Далее мы расширяем сеть, показанную на рисунке 1 следующим образом:
- произвольный интервал узел на рисунке, обозначим через набор предшественников узла . Тогда замененная нами подсеть определяется как , которая показана на рисунке 2.1; Расширение сети показано на рисунке 2.2.
Cчитаем, что машины индексируются в порядке невозрастания скоростей , кроме того .
Расширенная подсеть строится путем добавления к вершинам вершин . При , есть дуги от до с емкостью и для всех и существует дуга из в с емкостью .
Для каждого у нас есть такие расширения. Кроме того, мы сохраняем дуги из в емкостью и дуги из в емкостью (см. рисунок 1).
| Теорема: |
Следующие свойства эквивалентны:
(А) Существует допустимое расписание. (Б) В расширенной сети существует поток от s до t со значением |
Время работы
Из-за максимального потока в расширенной сети могут быть рассчитаны в шагов, возможность проверки может быть сделано с такой же сложности. Для решения задачи мы используем бинарный поиск. Получается алгоритм со сложностью , потому что , ограничен , при .
представляет собой частный случай , и может быть решена более эффективно. Labetoulle, Lawler, Lenstra, and Rinnooy Kan разработали алгоритм работающий за специально для этого случая.
| Утверждение: |
Задача может быть решена за шагов. |
|
Решение эквивалентно нахождению наименьшего , такого, что задача с "временными окнами" имеет решение. С другой стороны, решение эквивалентно нахождению такого наименьшего , такого, что задача с "временными окнами" или с "временными окнами" имеет решение. |
Таким образом, задачи и симметричны.