Полный резерв времени работы сетевого графика: формула
Полный резерв времени работы - это запас, на который можно сдвинуть начало или растянуть длительность конкретной работы сетевого графика, не отодвигая при этом срок завершения всего проекта. Понятие возникает в сетевом планировании и управлении (СПУ), когда график уже построен и посчитаны ранние и поздние времена событий: остаётся спросить не «когда наступит событие», а «сколько свободы есть у конкретной работы». Ниже разберём точную формулу полного резерва, отличие от свободного резерва той же работы и разберём числовой пример на сети из шести работ, где у одной из них резерв оказывается неожиданно большим. Чтобы сразу увидеть, как резерв меняется при других длительностях, покрутите калькулятор ниже - он выполняет прямой и обратный проход мгновенно и подставляет числа в формулу для выбранной работы.
Что такое полный резерв времени работы
Каждая работа сетевого графика соединяет начальное событие и конечное событие и занимает время . Раннее время события - это , самый ранний момент, когда все предшествующие работы уже завершены и работа может начаться. Позднее время события - это , самый поздний момент, к которому событие обязано наступить, чтобы не сорвать срок всего проекта.
Полный резерв работы отвечает на вопрос: сколько времени есть у этой работы между самым ранним возможным стартом и самым поздним допустимым финишем сверх её собственной длительности. Если этот запас больше нуля, работу можно начать позже расчётного срока, растянуть, или разбить паузой - и на общий срок проекта это не повлияет. Если запас равен нулю, у работы нет свободы вообще: любая задержка немедленно сдвигает финиш проекта. Такие работы образуют критический путь - самую длинную по времени цепочку от старта к финишу.
Формула полного резерва
Полный резерв времени работы вычисляется по формуле:
где - позднее время конечного события работы, - раннее время её начального события, а - длительность самой работы. Смысл вычитания прозрачен: из всего временного окна, доступного между ранним стартом и поздним финишем , вычитается время, которое работа реально занимает, - остаток и есть резерв.
Прямой проход считает для каждого события от старта к финишу: по всем входящим работам от суммы раннего времени предшественника и длительности этой работы. Обратный проход считает от финиша к старту: по всем исходящим работам от разности позднего времени преемника и длительности работы, ведущей к нему. Оба прохода нужно выполнить один раз для всей сети, а дальше формула резерва подставляет уже готовые числа и для конкретной пары событий.
⚠️ Важное отличие полного резерва работы от резерва события: событие имеет собственный резерв , но обнуление резервов ОБОИХ событий работы не гарантирует, что резерв самой работы тоже нулевой - подробный разбор этого нюанса и полный расчёт критического пути на графике из восьми работ есть в статье про расчёт критического пути сетевого графика. Здесь же формула , применённая прямо к работе, - точный и достаточный критерий критичности без всяких оговорок.
Числовой пример на сети из шести работ
Возьмём сеть с пятью событиями (0 - старт, 4 - финиш) и шестью работами:
| Работа | Дуга | Длительность, дни |
|---|---|---|
| A | 0→1 | 5 |
| B | 0→2 | 3 |
| C | 1→3 | 4 |
| D | 2→3 | 8 |
| E | 1→4 | 6 |
| F | 3→4 | 5 |
Работа E нарочно проведена «в обход»: она ведёт из события 1 сразу в финишное событие 4, минуя событие 3. Такая диагональ - типичный источник большого резерва: у неё нет обязанности укладываться в цепочку через D и F.
Прямой проход: , (через A), (через B), (через D), (через F). Значит, срок проекта дней, и на финиш ведёт цепочка B-D-F.
Обратный проход от : , , , - совпало с , значит расчёт согласован.

Теперь подставим числа в формулу резерва для работы E: дней. Для сравнения, у работы A: дня, у работы C: дня. А у работ B, D и F резерв равен нулю - это и есть критический путь длиной 16 дней.
Что означает резерв в 5 дней для работы E
Резерв дней не означает «работа E не важна» - он означает конкретную управленческую свободу: работу E можно начать на 5 дней позже расчётного раннего срока, или растянуть её длительность на те же 5 дней, или разбить паузой суммарно в 5 дней - и ни один из этих вариантов не сдвинет финиш проекта. Это ценный ресурс при нехватке людей или оборудования: если исполнитель работы E нужен ещё где-то, его можно временно перебросить на критическую работу, а к E вернуться позже, оставаясь в пределах резерва.

Здесь же скрыта ловушка: резерв в 5 дней принадлежит РАБОТЕ E целиком, а не событию 1, из которого она выходит. Из события 1 выходит ещё работа C со своим резервом (2 дня), рассчитанным по той же формуле, но с другим конечного события. Если задержать само событие 1 (а не одну работу), это «съедает» резерв сразу обеих исходящих работ одновременно - за этим нужно следить отдельно.
Полный резерв vs свободный резерв
Полный резерв отвечает на вопрос «на сколько можно сдвинуть работу, не срывая срок всего проекта». Рядом с ним существует свободный резерв:
который использует РАННЕЕ время конечного события вместо позднего . Свободный резерв отвечает на более осторожный вопрос: «на сколько можно сдвинуть работу, не сдвигая ранний срок ни одного последующего события». Поскольку всегда, свободный резерв никогда не превышает полный: . Для работы E в нашем примере событие 4 - финишное, поэтому и оба резерва совпадают: . А вот для работы C, ведущей в промежуточное событие 3, - тоже совпадает с полным здесь, потому что в событие 3 сходятся C и D, и обе используют его целиком. Расхождение между резервами становится заметным на более разветвлённых сетях - иногда полный резерв большой, а свободный равен нулю, потому что растягивание работы, даже не срывая общий финиш, всё равно сдвигает ранний старт следующей.
Частые ошибки
- Подстановка позднего времени начального события вместо раннего. В формуле для события берётся именно РАННЕЕ время , а не позднее - перепутав их, получите заниженный или отрицательный резерв.
- Путаница полного резерва со свободным. Полный резерв использует конечного события, свободный - . Это разные числа и разный управленческий смысл, подменять одно другим нельзя.
- Резерв работы через резервы обоих её событий. Обнуление резервов событий и - необходимое, но не всегда достаточное условие критичности самой работы; надёжнее считать напрямую по формуле, а не выводить его из резервов событий.
- Забытый обратный проход. Без вычисленного полный резерв найти невозможно - обратный проход от финишного события к стартовому обязателен, даже если интересует только одна работа в середине сети.
- Отрицательный резерв как «нормальный» результат. Если расчёт даёт , это признак ошибки в построении сети или в длительностях, а не законный случай - при корректных данных полный резерв не бывает отрицательным.
FAQ
Может ли полный резерв работы быть больше резерва события, из которого она выходит? Нет, для работы, выходящей из события , резерв работы ограничен резервом события: , а на практике полный резерв работы всегда согласован с резервами обоих её событий - он не может «превысить» свободу, доступную сети в целом.
Что происходит с полным резервом при увеличении длительности критической работы? Ничего не остаётся нулевым - весь проект удлиняется на ту же величину, потому что у критической работы и расти ей некуда: любое увеличение немедленно сдвигает следующих событий и финишный срок.
Зачем вообще считать полный резерв, если известен критический путь? Критический путь показывает, ГДЕ нет свободы, а полный резерв - ЧТО делать с оставшимся временем: перераспределять ресурсы между некритическими работами, сдвигать их без риска для срока и находить дополнительный запас на случай накладок.
Коротко
Полный резерв времени работы сетевого графика вычисляется по формуле : из окна между ранним стартом и поздним финишем работы вычитается её собственная длительность. Резерв, равный нулю, означает критическую работу без права на задержку; резерв больше нуля - управленческий запас, который можно расходовать на сдвиг сроков или перераспределение ресурсов. Полный резерв отличается от свободного тем, что использует позднее, а не раннее время конечного события, и потому никогда не меньше свободного резерва той же работы.
Читайте также

Расчёт критического пути сетевого графика: формулы
Как посчитать критический путь сетевого графика: прямой и обратный проход, резерв события, полный и свободный резерв работы - разбор формул CPM на числовом примере с калькулятором.

Сетевое планирование: построение сетевого графика
Как построить сетевой график проекта: прямой и обратный проходы, ранние и поздние времена событий, критический путь и резервы работ - с примером расчёта и калькулятором.

Атрибуты сущности в ER-модели: пять типов и примеры
Разбираем пять типов атрибутов сущности в ER-модели: простой, составной, ключевой, многозначный, производный, с примерами и переходом к столбцам и таблицам реляционной схемы.

Циркуляция векторного поля по контуру: формула и смысл
Циркуляция векторного поля по контуру: что это такое, как вычислить линейный интеграл по параметризации и через ротор поля с теоремой Грина, разбор типичных ошибок и примеров расчёта.

Динамическое программирование: основы и идея мемоизации
Что такое динамическое программирование простыми словами: перекрывающиеся подзадачи, оптимальная подструктура, мемоизация и табуляция на примере чисел Фибоначчи, разница с наивной рекурсией.

Кодировка Unicode и UTF-8: как кодируются символы
Кодировка Unicode и UTF-8 простыми словами: как код символа превращается в байты, почему кириллица и эмодзи занимают 2-4 байта и как устроены префиксы 110, 1110, 10.