Fpij1sumwu
Версия от 20:36, 3 июня 2015; Sergej Arkhipov (обсуждение | вклад)
Задача: |
Дано | станков, на которых нужно обработать деталей. Каждую деталь нужно обработать по очереди на всех станках. Любая работа на любом станке выполняется единицу времени. Для каждой работы есть дедлайн — время, до которого она должна быть закончена, и штраф , который нужно будет выплатить в случае, если работа была закончена после . Необходимо минимизировать суммарный штраф, который придется выплатить.
Алгоритм
Описание алгоритма
Утверждение: |
Существует оптимальное расписание, в котором каждая работа делается непрерывно. |
Рассмотрим расписание, в котором есть работы, которые делаются не непрерывно. Рассмотрим самый ранний разрыв: работа делалась в моменты , где , но не делалась в момент времени . Докажем, что в момент времени , -й станок простаивает и можно продолжить делать -ю работу.Пусть в момент времени После устранения каждого разрыва получим расписание без разрывов, в котором каждая работа заканчивает выполняться не позже, чем в изначальном. на -м станке делается работа . В -й момент времени -й станок был занят выполнением -й работы, а значит, не мог выполнять -ю. Значит, разрыв был раньше, что противоречит тому, что был выбран самый ранний разрыв. Значит, в -й момент -й станок свободен и туда можно поставить -ю работу, устранив разрыв. |
По этому утверждению, если работу
начали делать в , то закончена она будет в . Найдем время такое, что начав выполнять в него работу , мы успеем выполнить ее до : . Таким образом, вычтя из всех число , мы свели задачу к .Построив оптимальное расписание для
, мы найдем времена, в которые нужно начинать выполнять работы. По утверждению выше, работы можно выполнять непрерывно.Сложность алгоритма
Задача
за сводится к задаче . Задача решается за . После решения этой задачи, нужно вывести ответ, имеющий размер . Значит, итоговая сложность алгоритма — .См. также.
Источники информации
- Лазарев А.А., Мусатова Е.Г., Кварацхелия А.Г., Гафаров Е.Р. Пособие по теории расписаний.
- Vladimír Modrák, R. Sudhakara Pandian. FLOW SHOP SCHEDULING ALGORITHM TO MINIMIZE COMPLETION TIME FOR -JOBS -MACHINES PROBLEM