Изменения

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

QpmtnCmax

106 байт добавлено, 17:25, 22 июня 2012
Алгоритм построения расписания
'''WHILE''' существуют работы с положительным level
Assign(t)
<tex>t1 \leftarrow min(s>t |</tex>работа выполненная в момент времени находим следующую выполненную работу,где <tex> s</tex> - время ее окончания <tex> )</tex> <tex>t2 \leftarrow </tex> найти минимальное s > t. Для которого выполняется для некоторых работ i , j:<tex> level_i(t)>level_j(t)</tex> && и <tex> level_i(s) == level_j(s)</tex>
<tex> t \leftarrow min(t1,t2) </tex> //поиск следующего момента времени ,в который нужно будет перераспределить машины/работы
Построение расписания
<tex>J </tex> - множество работ с положительным level
<tex>M = \{M_1,...,M_m\}</tex> - множество всех станков
'''WHILE''' (множества <tex>J</tex> != 0 && и <tex>M</tex> != 0не пустые)
Найти множество работ <tex>I</tex> подмножество <tex>J</tex> ,level которых максимальный
<tex>r \leftarrow min</tex>(|<tex>M</tex>|,|<tex>I</tex>|)
Назначаем работы из мн-ва множества <tex>I</tex> на <tex>r</tex> самых быстрых машин из мн-ва множества <tex>M</tex>
<tex>J \leftarrow J</tex>\<tex>I</tex>
удаляем из мн-ва <tex>M</tex> <tex>r</tex> самых быстрых машин
Анонимный участник

Навигация