QSumCi — различия между версиями
Строка 1: | Строка 1: | ||
<includeonly>[[Категория: В разработке]]</includeonly> | <includeonly>[[Категория: В разработке]]</includeonly> | ||
− | + | <tex>Q\mid\mid\sum{C_i}</tex> | |
==Постановка задачи== | ==Постановка задачи== | ||
Есть несколько станков с разной скоростью выполнения работ и несколько работ с заданным временем выполнения. | Есть несколько станков с разной скоростью выполнения работ и несколько работ с заданным временем выполнения. |
Версия 20:56, 21 июня 2012
Постановка задачи
Есть несколько станков с разной скоростью выполнения работ и несколько работ с заданным временем выполнения.
Цель - составить такое расписание, чтобы суммарное время окончания всех работ было минимальным.
Алгоритм решения
Пусть
последовательность работ, выполняемых на станке с номером . Тогда вклад этих работ в целевую функцию будет равен . Отсюда видно, что сумма оптимальна, когда последовательность не убывает. Теперь введем неубывающую последовательность , которая состоит из минимальных элементов из множества . Тогда показывает на каком станке и какой по счету с конца должна выполняться работа с номером в отсортированном по длительности списке работ. Сопоставляя работы и составляем расписание.Теорема: |
Приведенный алгоритм верен. |
Доказательство: |
|
Время работы
Начальная сортировка работ занимается
времени. Затем происходит выбор минимальных коэффициентов, посредством приоритетной очереди время работы составит . Итого суммарное время работы .Литература
- Peter Brucker. «Scheduling Algorithms» — «Springer», 2006 г. — 133 стр. — ISBN 978-3-540-69515-8