RSumCi — различия между версиями
Qradimir (обсуждение | вклад) м (точки) |
Qradimir (обсуждение | вклад) м (точки) |
||
Строка 9: | Строка 9: | ||
<tex> | <tex> | ||
− | \sum\limits_{i=1}^{n_j} \left( p_ij + \sum\limits_{q=1}^{i-1} | + | \sum\limits_{i=1}^{n_j} \left( p_ij + \sum\limits_{q=1}^{i-1} p_qj \right) = |
n_j \cdot p_{1j} + (n_j - 1) \cdot p_{2j} + \dots + 2 p_{(n_j-1)j} + p_{n_jj} | n_j \cdot p_{1j} + (n_j - 1) \cdot p_{2j} + \dots + 2 p_{(n_j-1)j} + p_{n_jj} | ||
</tex> | </tex> |
Версия 05:47, 7 июня 2016
Задача: |
Дано | работ и станков, причем для каждого станка длительность выполнения на нем -й работы составляет . Необходимо минимизировать сумму времени выполнения работ.
Алгоритм
Описание алгоритма
Рассмотрим произвольное допустимое расписание для этой задачи. Рассмотрим какую-то станок
, пусть на нем выполняется работ. Тогда вклад этого станка в целевую функцию (не теряя общности, пронумеруем работы на этом станке от до ) рассчитывается как:
Заметим, что в каждом допустимом расписании перед каждой работой окажется коэффициент
, означающий, что соответствующая работа выпллняется -й с конца. Понятно, что в различных расписаниях может принимать значения от до .Сведем задачу к назначению каждой работы поиска максимального потока минимальной стоимости. Поместим в левую долю графа работы, в правую долю — пары из станка и коэффициента и проведем соответствующие ребра пропускной способности и стоимости , соответствующие вкладу работы в целевую функцию, если она окажется в позиции с конца на станке . Проведем из стока в левую долю ребра стоимости и пропускной способности , из правой доли в сток — также ребра стоимости и пропускной способности . Максимальный поток минимальной стоймости в построенной сети будет ответом на исходную задачу.
позиции с конца на станке с помощью алгоритмаУтверждение: |
Eсли ребро насыщено потоком, то работа в оптимальном расписании должна стоять на станке в позиции с конца. |
|
Время выполнения
Время выполнения алгоритма поиска максимального потока минимальной стоймости равно
. Количество вершин в получаемой сети равно . Количество ребер в сети равно . Следовательно, ассимптотика алгоритма равна .