PpmtnriLmax — различия между версиями
Proshev (обсуждение | вклад) (Новая страница: «==Постановка задачи== Имеется N работ и M однородных машин.») |
Proshev (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
==Постановка задачи== | ==Постановка задачи== | ||
− | Имеется N работ и | + | # Имеется <tex>M</tex> однородных машин, работающих параллельно. |
+ | # Есть <tex>N</tex> работ, каждое имеет своё время появления <tex>r_i</tex> и время окончания <tex>d_i</tex>. | ||
+ | # Работа может быть прервана и продолжена позже. | ||
+ | |||
+ | Необходимо составить такое расписание, чтобы значение <tex>L_{max} = max_{i=1}^n (C_i - d_i)</tex> было минимальным. | ||
+ | |||
+ | == Решение == | ||
+ | |||
+ | Для начала научимся отвечать на следующий вопрос: пусть дано некоторое <tex>L</tex>, сможем ли мы составить расписание так, чтобы <tex>L_{max} \le L</tex> и <tex>\forall i : C_i \le d_i^L = L + d_i</tex>. Затем обратимся к проблеме нахождения такого расписания, что работа выполняется в интервале <tex>[r_i; d_i]</tex>. | ||
+ | |||
+ | Сведем эту задачу к поиску максимального потока в сети, построенной указанным ниже образом. | ||
+ | |||
+ | Пусть <tex>t_1 < t_2 < \ldots < t_r</tex> - упорядоченная последовательность <tex>r_i</tex> и <tex>d_i</tex>. Определим интервалы <tex>I_K = [t_K; t_{K+1}]</tex> с длиной <tex>T_K = t_{K+1} - t_K</tex> для всех <tex>K = 1 \ldots r-1</tex>. | ||
+ | |||
+ | Работам сопоставим свой тип вершин, а интервалам <tex>I_K</tex> свой. Добавим две фиктивные вершины <tex>s</tex> и <tex>t</tex>. Из вершины <tex>s</tex> в вершины с работами идут направленные ребра с пропускной способностью <tex>p_i</tex>, из вершин с интервалами в вершину <tex>t</tex> идут направленные ребра с пропускной способностью <tex>mT_K</tex>. Ребро между вершиной с работой и вершиной с интервалом существует, если <tex>r_i \le t_K, t_{K+1} \le d_i</tex>. Пропускная способность этого ребра - <tex>T_K</tex>. |
Версия 17:39, 9 июня 2012
Постановка задачи
- Имеется однородных машин, работающих параллельно.
- Есть работ, каждое имеет своё время появления и время окончания .
- Работа может быть прервана и продолжена позже.
Необходимо составить такое расписание, чтобы значение
было минимальным.Решение
Для начала научимся отвечать на следующий вопрос: пусть дано некоторое
, сможем ли мы составить расписание так, чтобы и . Затем обратимся к проблеме нахождения такого расписания, что работа выполняется в интервале .Сведем эту задачу к поиску максимального потока в сети, построенной указанным ниже образом.
Пусть
- упорядоченная последовательность и . Определим интервалы с длиной для всех .Работам сопоставим свой тип вершин, а интервалам
свой. Добавим две фиктивные вершины и . Из вершины в вершины с работами идут направленные ребра с пропускной способностью , из вершин с интервалами в вершину идут направленные ребра с пропускной способностью . Ребро между вершиной с работой и вершиной с интервалом существует, если . Пропускная способность этого ребра - .