QSumCi — различия между версиями
Строка 11: | Строка 11: | ||
==Псевдокод== | ==Псевдокод== | ||
− | for <tex> | + | for <tex>j</tex> = 1 to <tex>m</tex> do |
<tex>\Pi_j = {\o} </tex> | <tex>\Pi_j = {\o} </tex> | ||
<tex>w_j = \frac{1}{s_j}</tex> | <tex>w_j = \frac{1}{s_j}</tex> |
Версия 18:01, 21 июня 2012
Постановка задачи
Есть несколько станков с разной скоростью выполнения работ и несколько работ с заданным временем выполнения.
Цель - составить такое расписание, чтобы суммарное время окончания всех работ было минимальным.
Алгоритм решения
Пусть
последовательность работ, выполняемых на станке с номером . Тогда вклад этих работ в целевую функцию будет равен . Отсюда видно, что сумма оптимальна, когда последовательность не убывает. Теперь введем неубывающую последовательность , которая состоит из маленьких элементов из множества . Если , то на -том станкеПсевдокод
for= 1 to do for = 1 to do Find the largest index of = ;