PSumCi
Версия от 19:16, 4 июня 2016; 188.227.78.59 (обсуждение)
| Задача: | 
| Дано  работ с заданными временами выполнения .  И  параллельных станков с одинаковой скоростью выполнения работ. Цель — составить такое расписание, чтобы суммарное время окончания всех работ было минимальным. | 
Описание алгоритма
Идея
Пусть заданы в порядке невозрастания (). Пусть теперь . Тогда в оптимальном расписании работа с номером будет выполнена на станке , -ой с конца.
Псевдокод
list<int> schedule[m]  //Заведём список работ для каждого станка. Ответ будет храниться в нём.
    for i = 0 to n
        schedule[i mod m].push(i) //ставим работу с номером i на станок i mod m в конец.
    //Заметим что расписание для каждого станка получилось перевёрнутым
    //Поэтому развернём расписание для каждого станка.
    for i = 0 to m
        schedule[i].reverse()
