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