1outtreesumwc
Эта статья находится в разработке!
Содержание
Постановка задачи
Мы должны составить расписание с произвольными временами обработки на одном станке. Минимизировать нужно взвешенную сумму времен завершения работ. Зависимости между работами заданы исходящим деревом — работа, которая соответствует корню, доступна в начале, все другие работы зависят от одной работы — отца в дереве. Тривиальным примером подобной задачи является демонтаж сложного механизма.
Алгоритм
Решение данной задачи было предложено Адольфсоном и Ху[1] в 1973 году.
Докажем некоторые свойства оптимального расписания, которые мы будем использовать в доказательстве корректности алгоритма.
Введем некоторые обозначения для удобства. Обозначим за
поддерево работы в дереве зависимостей. Для всех работ обозначим . Для множества работ :
Два непересекающихся множества работ
будем называть параллельными, если для всех выполняется: не является ни предком , ни потомком .Литература
- P. Brucker. Scheduling Algorithms (2006), 5th edition, стр. 73 - 78
Примечания
- ↑ D. Adolphson and T.C. Hu. Optimal linear ordering. SIAM Journal of Applied Mathematics, 25:403–423, 1973.