RpmtnCmax — различия между версиями
Веда (обсуждение | вклад) (Новая страница: «{{Задача |definition = Имеется <tex>m</tex> машин, работающих параллельно. Есть <tex>n</tex> работ, причем ...») |
м (rollbackEdits.php mass rollback) |
||
(не показаны 3 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
+ | <tex dpi = "200" >R \mid pmtn \mid C_{max}</tex> | ||
+ | |||
{{Задача | {{Задача | ||
|definition = | |definition = | ||
Строка 11: | Строка 13: | ||
Вычислим для каждой работы время <tex>t_{ij}</tex>, которое работа <tex>i</tex> будет выполняться на <tex>j</tex>-ом станке в оптимальном расписании. | Вычислим для каждой работы время <tex>t_{ij}</tex>, которое работа <tex>i</tex> будет выполняться на <tex>j</tex>-ом станке в оптимальном расписании. | ||
− | Пусть <tex>t_{ij} | + | Пусть <tex>\dfrac {t_{ij} } {p_{ij}} </tex> {{---}} часть времени, которое работа <tex>i</tex> будет выполняться на <tex>j</tex>-ом станке. Тогда <tex> \sum\limits_{j=1}^m \dfrac {t_{ij} } {p_{ij}} = 1</tex> верно, если работа завершена. |
Теперь оптимальное расписание должно удовлетворять следующим условиям: | Теперь оптимальное расписание должно удовлетворять следующим условиям: | ||
− | # <tex> \sum\limits_{j=1}^m t_{ij} | + | # <tex> \sum\limits_{j=1}^m \dfrac {t_{ij} } {p_{ij}} = 1, \quad i = 1,\ldots, n</tex> |
# <tex> \sum\limits_{j=1}^m t_{ij} \leqslant C_{max}, \quad i = 1,\ldots, n</tex> | # <tex> \sum\limits_{j=1}^m t_{ij} \leqslant C_{max}, \quad i = 1,\ldots, n</tex> | ||
# <tex> \sum\limits_{i=1}^n t_{ij} \leqslant C_{max}, \quad j = 1,\ldots, m</tex> | # <tex> \sum\limits_{i=1}^n t_{ij} \leqslant C_{max}, \quad j = 1,\ldots, m</tex> | ||
Строка 22: | Строка 24: | ||
Можем получить ответ на задачу за <tex>O(n)</tex>. Расписание, удовлетворяющее этой оценке строится аналогично <tex>O \mid pmtn \mid C_{max}</tex> <ref>Peter Brucker «Scheduling Algorithms», fifth edition, Springer — с. 15-17</ref> за полиномиальное время. | Можем получить ответ на задачу за <tex>O(n)</tex>. Расписание, удовлетворяющее этой оценке строится аналогично <tex>O \mid pmtn \mid C_{max}</tex> <ref>Peter Brucker «Scheduling Algorithms», fifth edition, Springer — с. 15-17</ref> за полиномиальное время. | ||
− | |||
− | |||
− | |||
== См. также == | == См. также == | ||
Строка 33: | Строка 32: | ||
<references/> | <references/> | ||
− | [[Категория: | + | ==Источники информации== |
+ | * Peter Brucker. «Scheduling Algorithms» {{---}} «Springer», 2006 г. {{---}} 137-139 стр. {{---}} ISBN 978-3-540-69515-8 | ||
+ | |||
+ | [[Категория: Алгоритмы и структуры данных]] | ||
[[Категория: Теория расписаний]] | [[Категория: Теория расписаний]] |
Текущая версия на 19:40, 4 сентября 2022
Задача: |
Имеется | машин, работающих параллельно. Есть работ, причем для каждого станка длительность выполнения на нем -й работы составляет . Работа может быть прервана и продолжена позже. Необходимо составить такое расписание, чтобы значение было минимальным.
Содержание
Алгоритм
Будет строить расписание по нижней оценке.
Вычислим для каждой работы время
, которое работа будет выполняться на -ом станке в оптимальном расписании.Пусть
— часть времени, которое работа будет выполняться на -ом станке. Тогда верно, если работа завершена.Теперь оптимальное расписание должно удовлетворять следующим условиям:
Обозначим нижнюю оценку как
.Можем получить ответ на задачу за [1] за полиномиальное время.
. Расписание, удовлетворяющее этой оценке строится аналогичноСм. также
Примечания
- ↑ Peter Brucker «Scheduling Algorithms», fifth edition, Springer — с. 15-17
Источники информации
- Peter Brucker. «Scheduling Algorithms» — «Springer», 2006 г. — 137-139 стр. — ISBN 978-3-540-69515-8