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