1ridipi — различия между версиями
м (rollbackEdits.php mass rollback) |
|||
(не показаны 2 промежуточные версии 2 участников) | |||
Строка 3: | Строка 3: | ||
==Постановка задачи== | ==Постановка задачи== | ||
− | Дан один станок на котором нужно выполнить <tex>n</tex> работ. Для каждой работы известны моменты времени, когда можно начинать её выполнять - <tex>r_{i}</tex> и когда необходимо закончить её выполнение - <tex>d_{i}</tex>. Время | + | Дан один станок на котором нужно выполнить <tex>n</tex> работ. Для каждой работы известны моменты времени, когда можно начинать её выполнять - <tex>r_{i}</tex> и когда необходимо закончить её выполнение - <tex>d_{i}</tex>. Время выполнения <tex>p_{i}</tex> у всех работ одинаково и равно одному. Необходимо узнать, можно ли построить расписание для этого станка. |
==Алгоритм== | ==Алгоритм== |
Текущая версия на 19:33, 4 сентября 2022
Эта статья находится в разработке!
Постановка задачи
Дан один станок на котором нужно выполнить
работ. Для каждой работы известны моменты времени, когда можно начинать её выполнять - и когда необходимо закончить её выполнение - . Время выполнения у всех работ одинаково и равно одному. Необходимо узнать, можно ли построить расписание для этого станка.Алгоритм
Идея алгоритма в том, чтобы из тех работ, которые уже можно выполнить, ставить в расписание ту у которой наименьшее
. Если эта работа уже просрочена, значит расписание построить нельзя.Пусть
- множество ещё не включенных в расписание работ, к выполнению которых уже можно преступить. Изначально пустое. Отсортируем работы по порядку их появления.Алгоритм
Добавить в Пусть и минимально Расписание составить невозможно Удалить из
Сложность алгоритма
если в качестве использовать структуру, которая позволяет поиск элемента с минимальным за .Литература
- Peter Brucker. «Scheduling Algorithms» — «Springer», 2006 г. — 379 стр. — ISBN 978-3-540-69515-8