QSumCi — различия между версиями
(→Источники информации) |
|||
Строка 22: | Строка 22: | ||
* Peter Brucker Scheduling Algorithms {{---}} Springer, 2006. {{---}} с. 133. {{---}} ISBN 978-3-540-69515-8 | * Peter Brucker Scheduling Algorithms {{---}} Springer, 2006. {{---}} с. 133. {{---}} ISBN 978-3-540-69515-8 | ||
− | [[Категория: | + | [[Категория: Алгоритмы и структуры данных]] |
[[Категория: Теория расписаний]] | [[Категория: Теория расписаний]] |
Версия 01:05, 14 июня 2015
Задача: |
Есть несколько станков с разной скоростью выполнения работ и несколько работ с заданным временем выполнения. Цель — составить такое расписание, чтобы суммарное время окончания всех работ было минимальным. |
Решение
Алгоритм
Пусть теореме о минимуме/максимуме скалярного произведения видно, что сумма оптимальна, когда последовательность не возрастает. Теперь введем неубывающую последовательность , которая состоит из минимальных элементов из множества (для поиска создадим приоритетную очередь, положим в нее числа и будем последовательно извлекать минимумов. После извлечения очередного минимума вида добавим в очередь число и продолжим извлечение). Тогда показывает на каком станке и какой по счету с конца должна выполняться работа с номером в отсортированном по длительности списке работ. Сопоставляя работы и составляем расписание.
последовательность работ, выполняемых на станке с номером . Тогда вклад этих работ в целевую функцию будет равен . ПоКорректность
Теорема: |
Приведенный алгоритм верен. |
Доказательство: |
|
Время работы
Начальная сортировка работ и инициализация приоритетной очереди занимают времени. Затем происходит выбор минимальных коэффициентов, посредством приоритетной очереди время работы составит . Итого суммарное время работы .
Источники информации
- Peter Brucker Scheduling Algorithms — Springer, 2006. — с. 133. — ISBN 978-3-540-69515-8