PpmtnriLmax — различия между версиями
Proshev (обсуждение | вклад) (→Решение) |
Proshev (обсуждение | вклад) |
||
| Строка 24: | Строка 24: | ||
# <tex>\sum_{i=1}^n x_{iK} \le mT_K, K = 1 \ldots r - 1</tex> | # <tex>\sum_{i=1}^n x_{iK} \le mT_K, K = 1 \ldots r - 1</tex> | ||
# <tex>x_{iK} \le T_K</tex> для всех ребер <tex>(J_i, I_K)</tex> | # <tex>x_{iK} \le T_K</tex> для всех ребер <tex>(J_i, I_K)</tex> | ||
| + | |||
| + | Исходя из этого, расписание строится выполнением работы <tex>J_{iK}</tex> с временем выполнения <tex>x_{iK}</tex> в интервале <tex>I_K</tex>. | ||
Версия 23:46, 9 июня 2012
Постановка задачи
- Имеется однородных машин, работающих параллельно.
- Есть работ, каждое имеет своё время появления и время окончания .
- Работа может быть прервана и продолжена позже.
Необходимо составить такое расписание, чтобы значение было минимальным.
Решение
Сведем эту задачу к поиску максимального потока в сети, построенной указанным ниже образом.
Пусть - упорядоченная последовательность и . Определим интервалы с длиной для всех .
Работам сопоставим свой тип вершин, а интервалам свой. Добавим две фиктивные вершины и . Вершина соединена с вершинами ребрами с пропускной способностью , вершина соединена с вершинами ребрами с пропускной способностью . Ребро между вершиной и вершиной существует, если . Пропускная способность этого ребра - .
Нетрудно понять, что расписание существует, если максимальный поток через эту сеть равен .
Если это так, то поток на дуге соответствует тому, что работа будет выполняться во временном интервале , и будет справедливо следующее:
- для всех ребер
Исходя из этого, расписание строится выполнением работы с временем выполнения в интервале .