QpmtnriLmax — различия между версиями
(→Алгоритм решения) |
|||
Строка 34: | Строка 34: | ||
(А) Существует допустимое расписание. | (А) Существует допустимое расписание. | ||
− | (Б) В расширенной сети существует поток от s до t со значением <tex>\sum\limits_{i=1}^{n} p_i</tex> | + | (Б) В расширенной сети существует поток от s до t со значением <tex>\sum\limits_{i=1}^n p_i</tex> |
+ | |||
+ | |proof=(b) -> (a): | ||
+ | Consider a flow with value <tex>sum_{i = 1}^n {p_i}</tex> in the expanded network. Denote by x_{iK} the total flow which goes from J_i to I_K. Then <tex>sum_{i = 1}^n sum_{K = 2}^r X_{iK} = sum_{i = 1}^n p_i</tex>. It is sufficient to show that for each subset <tex>A ⊆ {1, . . . , n}</tex> we have <tex>sum_{i∈A} x_{iK} \le T_Kh(A)</tex>. | ||
+ | |||
+ | This means that condition (5.8) holds and the processing requirements <tex>x_{1K}, . . . , x_{nK}</tex> can be scheduled in <tex>I_K</tex> for <tex>K = 2, . . . , r</tex>. Consider in the expanded network the subnetwork induced by A and the | ||
+ | corresponding partial flow. The portion of this partial flow which goes through <tex>(K, j)</tex> is bounded by | ||
+ | |||
+ | <tex>min{j(s_j − s_{j + 1})T_K, |A|(s_j − s_{j+1})TK_} = T_K(s_j − s_{j+1}) \dot min{j, |A|}</tex>. | ||
+ | |||
+ | Thus, we have | ||
+ | |||
+ | <tex>sum_{i∈A} x_{iK} \ge T_K sum_{j = 1}^m(s_j − s_{j+1}) min{j, |A|} = T_Kh(A)</tex>. (5.9)� | ||
+ | |||
+ | That the equality in (5.9) holds can be seen as follows. If <tex>|A| \go > m</tex>, we have | ||
+ | |||
+ | <tex>sum_{j = 1}^m min{j, |A|}(s_j - s_{j + 1}) = s_1 - s_2 + 2s_2 - 2s_3 + 3s_3 - 3s_4 + ... + ms_s - ms_{m+1} = S_m = h(A)</tex>. | ||
+ | |||
+ | Otherwise | ||
+ | |||
+ | <tex>sum_{j = 1} min{j, |A|} (s_j - s_{j + 1}) = s_1 - s_2 + 2s_2 - 2s_3 + 3s_3 - ... + (|A| - 1)s_{|A| - 1} - (|A| - 1)s_{|A|} + |A|(s_{|A|} - s_{|A| - 1} - ... - s_m + s_m - s_{m + 1}) = S_{|A|} = h(A)</tex>. | ||
+ | |||
+ | (a) -> (b): Assume that a feasible schedule exists. For <tex>i = 1, ... , n </tex> and <tex>K = 2, ..., r</tex> let <tex>x_{iK}</tex> be the “amount of work” to be performed on job <tex>i</tex> in the interval <tex>I_K</tex> according to this feasible schedule. Then for all <tex>K = 2, ..., r</tex> and arbitrary sets <tex>A ⊆ {1, . . . , n}</tex>, the inequality | ||
+ | |||
+ | <tex>sum_{i∈A} x_{iK} \le T_Kh(A)</tex> (5.10) | ||
+ | |||
+ | holds. Furthermore, for <tex>i = 1, . . . , n</tex> we have <tex>p_i = sum_{K = 2}^r s_{iK}</tex>. It remains | ||
+ | to show that it is possible to send <tex>x_{iK}</tex> units of flow from <tex>J_i</tex> to <tex>I_K</tex> <tex>(i = 1, . . . , n; K = 2, . . . , r)</tex> in the expanded network. A sufficient condition for the existence of such a flow is that for arbitrary <tex>A ⊆ {1, . . . , n}</tex> and <tex>K = 2, . . . , r</tex> the value <tex>sum_{i∈A} x_{iK}</tex> is bounded by the value of a minimum cut in the partial network with sources <tex>J_i(i ∈ A)</tex> and sink <tex>I_K<tex>. However, this value is | ||
+ | |||
+ | <tex>T_K sum_{j = 1}^m min {j, |A|}(s_j - s_{j+1})</tex> | ||
+ | |||
+ | Using (5.10) and the right-hand side of (5.9), we get | ||
+ | |||
+ | <tex>sum_{i∈A} x_{iK} \le T_Kh(A) = T_K sum_{j = 1}^m min{j, |A|}(s_j - s_{j+1})</tex> | ||
+ | |||
+ | which is the desired inequality. | ||
}} | }} | ||
[[Файл:Figure_5.9.b.png|500px|thumb|right|Рис. 2.2 - Расширение сети]] | [[Файл:Figure_5.9.b.png|500px|thumb|right|Рис. 2.2 - Расширение сети]] |
Версия 20:55, 7 июня 2012
Постановка задачи
Рассмотрим еще одну задачу на нахождение расписания:
- Каждое задание имеет своё времени выпуска .
- Срок завершения(дедлайн) .
Требуется минимизировать опоздание
Алгоритм решения
Применим бинарный поиск. Таким образом сведем задачу к поиску потока сети.
Пусть
упорядоченная последовательности всех значений и . Определим для .Расширим сеть, показанную на Рис. 1 следующим образом:
- произвольный интервал-узел. Обозначим через набор предшественников узла , тогда замененная нами подсеть(Рис. 2.1) определяется как . Расширение сети показано на Рис. 2.2.
Cчитаем, что станки индексируются в порядке невозрастания скоростей
, кроме того .Расширенная подсеть строится путем добавления к вершинам
вершин . При , есть дуги от до с емкостью и для всех и существует дуга из в с емкостью .Для каждого
у нас есть такие расширения. Кроме того, мы сохраняем дуги из в емкостью и дуги из в емкостью (Рис. 1).Теорема: |
Следующие свойства эквивалентны:
(А) Существует допустимое расписание. (Б) В расширенной сети существует поток от s до t со значением |
Доказательство: |
(b) -> (a): Consider a flow with value in the expanded network. Denote by x_{iK} the total flow which goes from J_i to I_K. Then . It is sufficient to show that for each subset we have .This means that condition (5.8) holds and the processing requirements can be scheduled in for . Consider in the expanded network the subnetwork induced by A and the corresponding partial flow. The portion of this partial flow which goes through is bounded by. Thus, we have . (5.9)� That the equality in (5.9) holds can be seen as follows. If , we have. Otherwise . (a) -> (b): Assume that a feasible schedule exists. For and let be the “amount of work” to be performed on job in the interval according to this feasible schedule. Then for all and arbitrary sets , the inequality(5.10) holds. Furthermore, for we have . It remains to show that it is possible to send units of flow from to in the expanded network. A sufficient condition for the existence of such a flow is that for arbitrary and the value is bounded by the value of a minimum cut in the partial network with sources and sinkUsing (5.10) and the right-hand side of (5.9), we get which is the desired inequality. |
Время работы
Работа с максимальным потоком в расширенной сети занимает
шагов, проверка может быть сделана с такой же скоростью. Для решения мы используем бинарный поиск, получается алгоритм со сложностью , потому как , ограничен , при .представляет собой частный случай , и может быть решена более эффективно. Labetoulle, Lawler, Lenstra, и Rinnooy Kan разработали алгоритм работающий за специально для этого случая.
Утверждение: |
Задача может быть решена за шагов. |
Решение С другой стороны, решение эквивалентно нахождению наименьшего , такого, что задача с допустимым временным интервалом имеет решение. эквивалентно нахождению такого наименьшего , такого, что задача с временным интервалом или имеет решение. |
Таким образом, задачи
и симметричны.Источники
- Peter Brucker. «Scheduling Algorithms» — «Springer», 2006 г. — 379 стр. — ISBN 978-3-540-69515-8