QSumCi — различия между версиями
(→Постановка задачи) |
|||
Строка 4: | Строка 4: | ||
Есть несколько станков с разной скоростью выполнения работ и несколько работ с заданным временем выполнения. | Есть несколько станков с разной скоростью выполнения работ и несколько работ с заданным временем выполнения. | ||
− | Цель - составить такое расписание, чтобы суммарное время окончания всех работ было минимальным. | + | Цель {{---}} составить такое расписание, чтобы суммарное время окончания всех работ было минимальным. |
==Алгоритм решения== | ==Алгоритм решения== |
Версия 22:53, 21 июня 2012
Постановка задачи
Есть несколько станков с разной скоростью выполнения работ и несколько работ с заданным временем выполнения.
Цель — составить такое расписание, чтобы суммарное время окончания всех работ было минимальным.
Алгоритм решения
Пусть
последовательность работ, выполняемых на станке с номером . Тогда вклад этих работ в целевую функцию будет равен . Отсюда видно, что сумма оптимальна, когда последовательность не убывает. Теперь введем неубывающую последовательность , которая состоит из минимальных элементов из множества . Тогда показывает на каком станке и какой по счету с конца должна выполняться работа с номером в отсортированном по длительности списке работ. Сопоставляя работы и составляем расписание.Теорема: |
Приведенный алгоритм верен. |
Доказательство: |
|
Время работы
Начальная сортировка работ занимается
времени. Затем происходит выбор минимальных коэффициентов, посредством приоритетной очереди время работы составит . Итого суммарное время работы .Литература
- Peter Brucker. «Scheduling Algorithms» — «Springer», 2006 г. — 133 стр. — ISBN 978-3-540-69515-8