QSumCi — различия между версиями
Shersh (обсуждение | вклад) (добавлен заголовок в нотации Грэхема) |
|||
Строка 1: | Строка 1: | ||
− | < | + | <tex dpi=200>Q\mid\mid\sum{C_i}</tex> |
+ | |||
+ | {{Задача | ||
|definition = Есть несколько станков с разной скоростью выполнения работ и несколько работ с заданным временем выполнения.<br>Цель {{---}} составить такое расписание, чтобы суммарное время окончания всех работ было минимальным.}} | |definition = Есть несколько станков с разной скоростью выполнения работ и несколько работ с заданным временем выполнения.<br>Цель {{---}} составить такое расписание, чтобы суммарное время окончания всех работ было минимальным.}} | ||
== Решение == | == Решение == |
Версия 22:01, 25 апреля 2016
Задача: |
Есть несколько станков с разной скоростью выполнения работ и несколько работ с заданным временем выполнения. Цель — составить такое расписание, чтобы суммарное время окончания всех работ было минимальным. |
Решение
Алгоритм
Пусть теореме о минимуме/максимуме скалярного произведения видно, что сумма оптимальна, когда последовательность не возрастает. Теперь введем неубывающую последовательность , которая состоит из минимальных элементов из множества (для поиска создадим приоритетную очередь, положим в нее числа и будем последовательно извлекать минимумов. После извлечения очередного минимума вида добавим в очередь число и продолжим извлечение). Тогда показывает на каком станке и какой по счету с конца должна выполняться работа с номером в отсортированном по длительности списке работ. Сопоставляя работы и составляем расписание.
последовательность работ, выполняемых на станке с номером . Тогда вклад этих работ в целевую функцию будет равен . ПоКорректность
Теорема: |
Приведенный алгоритм верен. |
Доказательство: |
|
Время работы
Начальная сортировка работ и инициализация приоритетной очереди занимают времени. Затем происходит выбор минимальных коэффициентов, посредством приоритетной очереди время работы составит . Итого суммарное время работы .
Источники информации
- Peter Brucker Scheduling Algorithms — Springer, 2006. — с. 133. — ISBN 978-3-540-69515-8