Изменения

Перейти к: навигация, поиск

Pintreepi1Lmax

190 байт убрано, 16:35, 22 мая 2016
Нет описания правки
|definition=Рассмотрим задачу на нахождение расписания:
# У нас есть несколько станков, работающих параллельно. У станков могут быть разные скорости выполнения работ.
# Есть несколько заданий, каждое из которых имеет определенный порядок, который указан в направленном из корней в лист [[Классификация задач#Характеристики работ|intree-дерева]].
# Любая работа на любом станке выполняется единицу времени.
Требуется минимизировать максимальное опоздание <tex>L_{max} = \max\limits_i \{C_i - d_i\}</tex>.
=== Идея ===
Все вершины работы хранятся в дереве (англ. качестве вершин [[Классификация задач#Характеристики работ|intree), которое имеет несколько корней и один лист. Работы хранятся в дереве-дерева]], состоящем из <tex>n</tex> вершин с фиктивной нулевой работой, которая является родителем тех вершин, у которых изначально его не былонескольких корней и одного листа. В intree-дереве у одной вершины может быть два и более родителей.
Решение задачи состоит из двух шагов: на первом шаге мы меняем сроки выполнения работ в соответствии с их очередностью.
На первом шаге изменения сроков состоит в следующем: для * Для всех <tex>i, j</tex> таких, что существует ребро из <tex>i</tex> в <tex>j</tex> будем менять <tex>{d_i}</tex> на <tex>\min ({d_i}, {d_j} - 1) </tex>. На втором шаге работы * Работы расставляются в неубывающем порядке сроков.
=== Первый шаг ===
317
правок

Навигация