1ripmtnsumwu — различия между версиями
Zernov (обсуждение | вклад) (Новая страница: «<tex dpi = "200">1 \mid r_i, pmtn \mid \sum w_{i}U_{i}</tex> {{Задача |definition=Дана задача на нахождение расписания: # ...») |
Zernov (обсуждение | вклад) (→Идея) |
||
Строка 19: | Строка 19: | ||
<tex>S</tex> выполнимо тогда и только тогда, когда все работы в EDD расписании выполняются без опозданий. Это прямое следствие из уже [[1precpmtnriLmax#correctness|доказанной теоремы]]. Если в <tex>S</tex> содержится <tex>n</tex> работ, то построение EDD расписание может быть выполнено за <tex>O(n \log n)</tex> времени. Наша задача сводится к тому, чтобы найти выполнимое множество работ с максимальным суммарным весом. | <tex>S</tex> выполнимо тогда и только тогда, когда все работы в EDD расписании выполняются без опозданий. Это прямое следствие из уже [[1precpmtnriLmax#correctness|доказанной теоремы]]. Если в <tex>S</tex> содержится <tex>n</tex> работ, то построение EDD расписание может быть выполнено за <tex>O(n \log n)</tex> времени. Наша задача сводится к тому, чтобы найти выполнимое множество работ с максимальным суммарным весом. | ||
+ | |||
+ | Для данного непустого множества <tex>S</tex> определим следующие величины | ||
+ | :<tex>r(S) = \min\limits_{i \in S} r_{i} ; p(S) = \sum\limits_{i \in S} p_{i}; w(S) = \sum\limits_{i \in S} w_{i}</tex> | ||
==Источники информации== | ==Источники информации== |
Версия 01:00, 6 июня 2016
Задача: |
Дана задача на нахождение расписания:
|
Описание алгоритма
Идея
Назовем множество работ EDD правила:
выполнимым(англ. feasible), если существует такое расписание для работ из , что все работы будут выполнены без опозданий. Чтобы проверить, является ли множество работ выполнимым, воспользуемся упрощенной версией- Составим расписание работ таким образом, чтобы первой в расписании стояла работа с наименьшим значением . В любой момент времени, когда появляется новая работа, либо заканчивает выполняться текущая, вставим в расписание работу с наименьшим оставшимся сроком.
доказанной теоремы. Если в содержится работ, то построение EDD расписание может быть выполнено за времени. Наша задача сводится к тому, чтобы найти выполнимое множество работ с максимальным суммарным весом.
выполнимо тогда и только тогда, когда все работы в EDD расписании выполняются без опозданий. Это прямое следствие из ужеДля данного непустого множества
определим следующие величиныИсточники информации
- Peter Brucker «Scheduling Algorithms», fifth edition, Springer — с. 88-93 ISBN 978-3-540-69515-8