QpmtnriLmax — различия между версиями
(→Алгоритм решения) |
(→Алгоритм решения) |
||
Строка 32: | Строка 32: | ||
|statement=Следующие свойства эквивалентны: | |statement=Следующие свойства эквивалентны: | ||
− | ( | + | (a) Существует допустимое расписание. |
− | ( | + | (b) В расширенной сети существует поток от s до t со значением <tex>\sum\limits_{i=1}^n p_i</tex> |
− | |proof=(b) | + | |proof=<tex>(b) \Rightarrow (a)</tex>: |
− | Consider a flow with value <tex> | + | Consider a flow with value <tex>\sum\limits_{i = 1}^n {p_i}</tex> in the expanded network. Denote by <tex>x_{iK}</tex> the total flow which goes from <tex>J_i</tex> to <tex>I_K</tex>. Then <tex>\sum\limits_{i = 1}^n \sum\limits_{K = 2}^r x_{iK} = \sum\limits_{i = 1}^n p_i</tex>. It is sufficient to show that for each subset <tex>A \subseteq \{ 1, . . . , n \}</tex> we have <tex>\sum\limits_{i \in 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 | + | 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 <tex>A</tex> and the corresponding partial flow. The portion of this partial flow which goes through <tex>(K, j)</tex> is bounded by |
− | 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}) | + | <tex>\min \{ j(s_j − s_{j + 1})T_K, |A|(s_j − s_{j+1})T_K \} = T_K(s_j − s_{j+1}) \min \{ j, |A| \}</tex>. |
Thus, we have | Thus, we have | ||
− | <tex> | + | <tex>\sum\limits_{i \in A} x_{iK} \ge T_K \sum\limits_{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| | + | That the equality in (5.9) holds can be seen as follows. If <tex>|A| > m</tex>, we have |
− | <tex> | + | <tex>\sum\limits_{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} =\ </tex> |
+ | <tex>S_m = h(A)</tex>. | ||
Otherwise | Otherwise | ||
− | <tex> | + | <tex>\sum\limits_{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} -\ </tex> |
− | + | <tex>\ - (|A| - 1)s_{|A|} + |A|(s_{|A|} - s_{|A| - 1} - ... - s_m + s_m - s_{m + 1}) = S_{|A|} = h(A)</tex>. | |
− | <tex> | + | <tex>(a) \Rightarrow (b)</tex>: |
+ | 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 \subseteq \{ 1, . . . , n \}</tex>, the inequality | ||
− | + | <tex>\sum\limits_{i \in A} x_{iK} \le T_Kh(A)</tex> (5.10) | |
− | |||
− | <tex>T_K | + | holds. Furthermore, for <tex>i = 1, . . . , n</tex> we have <tex>p_i = \sum\limits_{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 \subseteq \{ 1, . . . , n \}</tex> and <tex>K = 2, . . . , r</tex> the value <tex>\sum\limits_{i \in A} x_{iK}</tex> is bounded by the value of a minimum cut in the partial network with sources <tex>J_i(i \in A)</tex> and sink <tex>I_K</tex>. However, this value is |
+ | |||
+ | <tex>T_K\sum\limits_{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 | Using (5.10) and the right-hand side of (5.9), we get | ||
− | <tex> | + | <tex>\sum\limits_{i \in A} x_{iK} \le T_K h(A) = T_K \sum\limits_{j = 1}^m \min \{ j, |A| \}(s_j - s_{j+1})</tex> |
which is the desired inequality. | which is the desired inequality. |
Версия 22:02, 7 июня 2012
Постановка задачи
Рассмотрим еще одну задачу на нахождение расписания:
- Каждое задание имеет своё времени выпуска .
- Срок завершения(дедлайн) .
Требуется минимизировать опоздание
Алгоритм решения
Применим бинарный поиск. Таким образом сведем задачу к поиску потока сети.
Пусть
упорядоченная последовательности всех значений и . Определим для .Расширим сеть, показанную на Рис. 1 следующим образом:
- произвольный интервал-узел. Обозначим через набор предшественников узла , тогда замененная нами подсеть(Рис. 2.1) определяется как . Расширение сети показано на Рис. 2.2.
Cчитаем, что станки индексируются в порядке невозрастания скоростей
, кроме того .Расширенная подсеть строится путем добавления к вершинам
вершин . При , есть дуги от до с емкостью и для всех и существует дуга из в с емкостью .Для каждого
у нас есть такие расширения. Кроме того, мы сохраняем дуги из в емкостью и дуги из в емкостью (Рис. 1).Теорема: |
Следующие свойства эквивалентны:
(a) Существует допустимое расписание. (b) В расширенной сети существует поток от s до t со значением |
Доказательство: |
: Consider a flow with value in the expanded network. Denote by the total flow which goes from to . 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 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
. : 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 sink . However, this value is
Using (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