В любом графике ремонта — سواء это плановый останов завода, капремонт оборудования или ремонт здания — существуют работы, перенос которых даже на один день сдвигает дату завершения всего проекта. Эти операции имеют нулевой полный резерв времени (total float) и формируют критический путь. Умение быстро и достоверно их выявлять — базовый навык планировщика, от которого зависит управляемость сроков. Ниже разбираем, как это сделать на практике: от теории расчёта до настройки программного обеспечения и контроля качества модели.
- Что такое резерв времени и почему ноль — это сигнал к действию
- Математика выявления: прямой и обратный ход
- Прямой ход (Forward Pass) — расчёт ранних дат
- Обратный ход (Backward Pass) — расчёт поздних дат
- Формула полного резерва
- Специфика ремонтных графиков: от чего зависит достоверность нулевого резерва
- 1. Жёсткий дедлайн (Must Finish By)
- 2. Множественные календари
- 3. Ограничения ресурсов (Resource Leveling)
- 4. Типы связей и задержки (Lags)
- Инструментарий: как найти нулевой резерв в Primavera P6 и MS Project
- Primavera P6 Professional / EPPM
- Microsoft Project (Desktop / Online)
- Spider Project (часто используется в РФ для крупных остановов)
- Пошаговый алгоритм выявления и проверки критических операций
- Типичные ошибки, дающие ложный нулевой резерв
- Что делать после выявления: управление критическим путём в ремонте
- Практический пример: фрагмент графика капремонта колонны
- Чек-лист для планировщика перед сдачей графика в работу
- Ответы на частые вопросы
- Может ли у операции быть нулевой полный резерв, но ненулевой свободный?
- Что делать, если критический путь «прыгает» от пересчёта к пересчёту?
- Нужно ли показывать заказчику/заказчику операции с резервом 1–2 дня?
- Как учитывать погоду в графике наружных работ?
- Отличается ли подход для EPC-контракта и для внутреннего ремонта собственной базы?
- Главный принцип: критический путь — это не статичная картинка, а инструмент ежедневного управления
Что такое резерв времени и почему ноль — это сигнал к действию
Резерв времени (float, slack) — это интервал, на который можно задержать начало или завершение операции не нарушая заданную дату окончания проекта (или следующей по логике работы). В планировании ремонтов используют два основных вида резерва:
- Полный резерв (Total Float, TF) — максимальное время, на которое можно сдвинуть операцию без переноса даты завершения всего проекта. Рассчитывается как разница между поздними и ранними датами: TF = LS — ES = LF — EF.
- Свободный резерв (Free Float, FF) — время, на которое можно задержать операцию без сдвига раннего начала любой последующей операции. Он всегда меньше или равен полному резерву.
Операция с нулевым полным резервом (TF = 0) называется критической. Последовательность таких операций от начала до конца проекта образует критический путь. В контексте ремонта это значит: любая задержка по этим работам — срыв пуска установки, простой всего завода, штрафы по контракту или упущенная выгода от производства.
Важно понимать: нулевой резерв не всегда означает «самую важную» работу по трудоёмкости или стоимости. Это чисто временная характеристика логической структуры графика. Короткая операция «подписание акта приёмки» может быть критической, если она стоит в конце цепочки и не имеет запаса времени, в то время как месячный монтаж колонны может иметь резерв в две недели.
Математика выявления: прямой и обратный ход
Алгоритм нахождения нулевого резерва стандартён и реализован во всех профессиональных планировщиках (Primavera P6, MS Project, Spider Project, Asta Powerproject). Понимание его механики позволяет не просто нажать кнопку, а проверить адекватность результата.
Прямой ход (Forward Pass) — расчёт ранних дат
Движение от даты начала проекта к концу по логическим связям (преемникам).
- Раннее начало (Early Start, ES) — максимальное из ранних окончаний всех предшественников с учётом задержек (lags). Для стартовых работ — дата начала проекта.
- Раннее окончание (Early Finish, EF) = ES + Duration (продолжительность по рабочему календарю операции).
Обратный ход (Backward Pass) — расчёт поздних дат
Движение от заданной даты завершения проекта (или контрактной дедлайн-даты) к началу по обратным связям (предшественникам).
- Позднее окончание (Late Finish, LF) — минимальное из поздних начал всех преемников. Для финишных работ — дата завершения проекта (Must Finish By).
- Позднее начало (Late Start, LS) = LF — Duration.
Формула полного резерва
Total Float = LS — ES (или LF — EF). Если результат равен нулю (или отрицателен — см. ниже), операция критическая.
На практике планировщик не считает это вручную для сотен строк. Задача — правильно настроить входные данные: календари, логику связей, типы связей (FS, SS, FF, SF), задержки (lags) и ограничения (constraints). Ошибка в любом из этих элементов даст ложный критический путь.
Специфика ремонтных графиков: от чего зависит достоверность нулевого резерва
Ремонтные проекты (turnaround, shutdown, капремонт) отличаются от строительства нового объекта или разработки ПО. Это накладывает отпечаток на то, как выглядит критический путь и где искать нулевой резерв.
1. Жёсткий дедлайн (Must Finish By)
В 90% случаев ремонт привязан к дате пуска производства. Это задаётся ограничением Mandatory Finish или Finish On на финальном вехе (milestone) «Пуск установки» / «Сдача объекта». От этой даты запускается обратный ход. Если сумма продолжительностей критической цепочки превышает доступное время — резерв станет отрицательным. Это сигнал: график нереален, нужны меры сжатия (крашинг, фаст-трекинг, увеличение ресурсов).
2. Множественные календари
Работы на объекте часто идут по разным календарям: общий 5-дневный, сменный 6/1 или 7/24 для непрерывных процессов (сварка трубопроводов, бетонирование, химическая очистка). Резерв считается в рабочих днях календаря операции. Операция по календарю 7/24 может иметь нулевой резерв, тогда как параллельная по 5-дневному — резерв в 10 дней. Сравнивать их напрямую в днях нельзя — нужно смотреть в даты (ES/EF vs LS/LF).
3. Ограничения ресурсов (Resource Leveling)
Классический CPM считает резерв только по логике связей (неограниченные ресурсы). В ремонте ресурсы (краны, сварщики, НДТ-лаборатория, спецтехника) всегда ограничены. Уровнирование ресурсов (leveling) вставляет задержки (leveling delay), которые увеличивают ES/EF и уменьшают резерв. После уровняния критический путь часто меняется: операции, имевшие резерв по логике, становятся критическими из-за ожидания ресурса. Поэтому выявление нулевого резерва нужно проводить после уровняния, а не до.
4. Типы связей и задержки (Lags)
В ремонтах часто используют связи Start-to-Start (SS) с задержкой (например, «Начало утепления через 3 дня после начала монтажа труб») или Finish-to-Finish (FF). Неправильно заданная задержка или тип связи — частая причина «скрытого» критического пути, когда визуально операции идут параллельно, но по расчёту одна тянет за собой другую с нулевым резервом.
Инструментарий: как найти нулевой резерв в Primavera P6 и MS Project
Разные программы показывают одно и то же по-разному. Ниже — практическая шпаргалка для двух основных инструментов отрасли.
Primavera P6 Professional / EPPM
- Откройте Layout с колонками: Total Float, Free Float, Early Start, Early Finish, Late Start, Late Finish, Critical (флаг).
- Нажмите F9 (Schedule) — запуск расчёта прямого/обратного хода с учётом текущих настроек.
- Сортируйте или фильтруйте по колонке Total Float ≤ 0 (или используйте стандартный фильтр «Critical»).
- Проверьте настройку критичности: Enterprise → Projects → Settings → General → Critical Activities. Обычно ставят Total Float ≤ 0 или Longest Path. Для ремонтов с жёстким дедлайном правильнее Total Float ≤ 0, так как Longest Path игнорирует отрицательный резерв и показывает только самую длинную цепочку.
- Включите отображение критического пути на диаграмме Ганта: правый клик на барчарте → Bars → Critical (обычно красные полосы).
Microsoft Project (Desktop / Online)
- Добавьте колонки: Total Slack, Free Slack, Early Start, Late Start, Early Finish, Late Finish.
- Расчёт автоматический (по умолчанию). Если ручной — Project → Calculate Project (F9).
- Фильтр: View → Filter → Critical (показывает Total Slack ≤ 0).
- Настройка порога критичности: File → Options → Advanced → Tasks are critical if slack is less than or equal to (по умолчанию 0 дней). Для ремонтов можно поставить 1–2 дня как буфер внимания.
- На диаграмме Ганта: Format → Critical Tasks (галочка) — критические полосы станут красными.
Spider Project (часто используется в РФ для крупных остановов)
Логика та же: расчёт (F9) → колонка «Резерв» (Total Float) → фильтр «Резерв ≤ 0». Особенность: Spider позволяет считать критический путь по нескольким календарям корректнее за счёт встроенного моделирования ресурсов. Обратите внимание на флаг «Критическая» в таблице операций.
Пошаговый алгоритм выявления и проверки критических операций
Не ограничивайтесь нажатием кнопки «Schedule». Используйте этот чек-лист, чтобы убедиться, что найденные нулевые резервы реальны, а не артефакт ошибок модели.
- Обновите фактические данные. Внесите Actual Start / Actual Finish / Remaining Duration по всем запущенным работам. График с устаревшими остатками покажет ложный критический путь.
- Проверьте календари. У каждой операции должен быть назначен правильный календарь (5дн, 6дн, 7/24, погодный). Сравните ES/EF с календарём вручную на 2–3 операциях.
- Запустите расчёт (F9). Дождитесь завершения без ошибок (циклы логики, невозможные ограничения).
- Отфильтруйте Total Float ≤ 0. Получите список критических операций.
- Проследите непрерывность цепочки. Критический путь — это непрерывная цепочка предшественников-преемников от старта до финиша. Если в списке есть «островки» — операции с нулевым резервом, не связанные логически с финалом — проверьте их связи и ограничения (часто это лишнее ограничение Finish On или Mandatory Start).
- Проверьте отрицательный резерв. Если TF < 0 — график не вписывается в дедлайн. Нужно сжимать длительности, менять логику (параллелим), добавлять ресурсы или договариваться о сдвиге дедлайна. Не оставляйте отрицательный резерв «как есть» — это нерабочий график.
- Сравните с Longest Path (если есть функция). В P6: Schedule Options → Define Critical Activities as Longest Path. Если Longest Path отличается от TF=0 — значит, есть ограничения, ломающие чистую логику (например, зафиксированные даты). Разберитесь, почему.
- Оцените свободный резерв (Free Float). Операции с TF=0, но FF>0 — редкий случай (обычно при связях SS/FF с лагами). Они критичны для проекта, но задержка их не тянет сразу следующую операцию. Тем не менее, их нельзя сдвигать без согласования.
- Документируйте вывод. Выгрузите список критических операций (ID, название, ES, EF, TF, ответственный, ресурсы) в отчёт для руководителя остановка/проекта. Это рабочий документ для ежедневного контроля.
Типичные ошибки, дающие ложный нулевой резерв
Опытный планировщик знает: если критический путь выглядит «странно» — в 90% случаев ошибка в данных, а не в алгоритме.
| Ошибка в модели | Как проявляется на резерве | Как найти и исправить |
|---|---|---|
| Лишние жёсткие ограничения (Mandatory Start/Finish, Finish On) на промежуточных вехах | Множество коротких критических цепочек, «островки» нулевого резерва, отрицательный резерв без видимой причины | Фильтр по колонке Constraint Type «As Soon As Possible». Уберите все Mandatory/Finish On, кроме финальной вехи. Используйте логику связей вместо фиксации дат. |
| Разорванная логика (dangling logic) — нет преемника у операции | Операция в конце графика имеет огромный резерв, хотя должна быть критической; или наоборот — «висит» с нулевым резервом, не влияя на финиш | Фильтр: Successors = пусто (кроме финальной вехи). Добавьте логическую связь к следующей работе или к финалу. |
| Неправильный тип связи (FS вместо SS/FF) или нереалистичный лаг | Искусственное растяжение цепочки, нулевой резерв там, где работы могут идти параллельно | Проверьте связи на критическом пути. Замените FS на SS+лаг там, где технология позволяет накладывание (монтаж/утепление, сварка/контроль). |
| Календарь операции не совпадает с календарём ресурса/преемника | Резерв «прыгает» при смене календаря, ES/EF не совпадают с реальными рабочими днями | Назначьте календари по типу работы: 7/24 для непрерывных, сменные для сменных. Проверьте календарь проекта (Project Calendar) — он используется для расчёта LF/LS при обратном ходе. |
| Уровнирование ресурсов не запущено или запущено с неправильными приоритетами | По логике резерв есть, а реально ресурс занят — операция ждёт, сдвигая всё дальше | |
| Остаточная длительность (Remaining Duration) = 0 у незавершённой работы | Операция исчезает из критического пути, хотя физически не сделана | Регулярно сверяйте % Complete и Remaining Duration с фактом. В P6: Activity % Complete Type = Physical % Complete для работ, где % не линейно зависит от времени. |
Что делать после выявления: управление критическим путём в ремонте
Найти операции с нулевым резервом — полдела. В ремонте (shutdown/turnaround) критический путь — это объект ежедневного управления. Основные действия:
- Ежедневный мониторинг (Daily Schedule Review). На утреннем совещании (toolbox meeting) разбирают статус каждой критической операции: началась ли вовремя, есть ли риск задержки, нужны ли ресурсы/материалы/разрешения. Любая задержка по критической операции = задержка пуска.
- Буферное управление (Buffer Management). Если методология позволяет (Critical Chain), заделывают проектный буфер в конец. В классическом CPM — выделяют «внимание» на операции с малым резервом (1–3 дня), так как они могут стать критическими при малейшем сдвиге.
- Сжатие графика (Crashing / Fast-tracking) заранее. Если на этапе планирования критический путь не вписывается в дедлайн (отрицательный резерв), ищите возможности: параллелим работы (SS вместо FS), добавляем вторую смену/бригаду на критических операциях, закупаем префабрикаты вместо сборки на месте. Делайте это до начала остановка, а не в его ходу.
- Управление рисками по критическому пути. Для каждой критической операции заведите риск-регистр: что может пойти не так (нет материала, брак сварки, погода, отсутствие ключевого специалиста), вероятность, влияние на дату, план митигации. Это переводит планирование из реактивного в проактивное.
- Сценарийный анализ (What-if). В P6 / Spider / MS Project используйте копии графика для моделирования: «Что если сварщики придут на 2 дня позже?», «Что если НДТ задержится на сутки?». Смотрите, как меняется резерв и дата финиша. Готовьте планы Б для топ-3 рисков.
Практический пример: фрагмент графика капремонта колонны
Рассмотрим условный фрагмент (пример для понимания логики, не реальный объект).
| ID | Операция | Длительность (раб. дн) | Календарь | ES | EF | LS | LF | Total Float | Критична? |
|---|---|---|---|---|---|---|---|---|---|
| R-100 | Демонтаж наладки и обвязки | 3 | 5-дневный | 01.05 | 03.05 | 01.05 | 03.05 | 0 | Да |
| R-110 | Внутренний осмотр / дефектoscopy | 2 | 5-дневный | 06.05 | 07.05 | 06.05 | 07.05 | 0 | Да |
| R-120 | Замена трайцев (критическая сварка) | 5 | 7/24 (две смены) | 08.05 | 12.05 | 08.05 | 12.05 | 0 | Да |
| R-130 | НДТ швов (РТ/УТ) | 2 | 5-дневный | 13.05 | 14.05 | 13.05 | 14.05 | 0 | Да |
| R-140 | Гидроиспытание | 1 | 5-дневный | 15.05 | 15.05 | 15.05 | 15.05 | 0 | Да |
| R-150 | Монтаж наладки и обвязки | 3 | 5-дневный | 16.05 | 19.05 | 16.05 | 19.05 | 0 | Да |
| R-200 | Покраска внешней поверхности (параллельно R-120..R-140) | 4 | 5-дневный | 08.05 | 13.05 | 15.05 | 19.05 | 4 | Нет |
В примере цепочка R-100 → R-110 → R-120 → R-130 → R-140 → R-150 имеет нулевой полный резерв — это критический путь. Операция R-200 (покраска) имеет резерв 4 дня: её можно начать позже или замедлить, не сдвигая пуск. Обратите внимание: R-120 идёт по календарю 7/24, остальные — 5-дневный. Резерв считается в рабочих днях своего календаря, поэтому сравнивать «5 дней сварки» и «4 дня покраски» напрямую нельзя — смотрим на даты ES/EF/LS/LF.
Чек-лист для планировщика перед сдачей графика в работу
- [ ] Все операции имеют хотя бы одного предшественника (кроме старта) и одного преемника (кроме финиша).
- [ ] Жёсткое ограничение (Must Finish By) стоит только на финальной вехе «Пуск/Сдача».
- [ ] Календари назначены корректно и соответствуют режиму работы бригад.
- [ ] Логика связей отражает технологическую последовательность, а не желаемую параллельность.
- [ ] Лаги (задержки) обоснованы технологически (выдержка краски, охлаждение, ожидание лаборатории).
- [ ] Уровнирование ресурсов выполнено, приоритеты критическим операциям = максимальные.
- [ ] Отрицательного полного резерва нет (или есть обоснованный план сжатия).
- [ ] Критический путь непрерывен от старта до финиша.
- [ ] Выгружен реестр критических операций с ответственными и датами для ежедневного контроля.
- [ ] Проведён What-if анализ по топ-3 рискам критического пути.
Ответы на частые вопросы
Может ли у операции быть нулевой полный резерв, но ненулевой свободный?
Да, это возможно при связях типа Start-to-Start или Finish-to-Finish с лагами. Пример: операция А (SS+3 дн) → операция Б. Если А критическая (TF=0), то Б тоже может иметь TF=0, но FF>0, потому что задержка Б не тянет следующую операцию, если она не нарушает лаг от А. На практике такие операции всё равно требуют строгого контроля дат начала/окончания.
Что делать, если критический путь «прыгает» от пересчёта к пересчёту?
Это признак нестабильной модели. Причины: почти равные по длительности параллельные цепочки (разница в 1–2 дня), плавающие календари (погодные), нечёткие остаточные длительности. Решение: увеличьте детализацию (разбейте крупные работы), зафиксируйте реалистичные остатки, используйте вероятностное моделирование (Monte Carlo в Primavera Risk Analysis / Spider) для оценки вероятности критичности каждой операции.
Нужно ли показывать заказчику/заказчику операции с резервом 1–2 дня?
Да. В ремонте с жёстким дедлайном резерв 1–2 дня — это «near-critical» зона. Любой мелкий сдвиг (опоздание бригады, брак сварки, отсутствие болтов) переводит их в критическую. В отчёте выделяйте их отдельным цветом (жёлтый/оранжевый) и управляйте так же внимательно, как красными.
Как учитывать погоду в графике наружных работ?
Используйте погодный календарь (Weather Calendar) с нерабочими днями по исторической статистике или прогнозу. В P6: назначьте календарь операциям наружного монтажа/покраски/изоляции. Резерв посчитается с учётом вероятных простой. Дополнительно заведите риск «продолжительные осадки» с планом митигации (навесы, смена последовательности).
Отличается ли подход для EPC-контракта и для внутреннего ремонта собственной базы?
Математика одна. Разница в управлении: при EPC критический путь — основа расчёта пени/премии за сроки, требуется строгая процедура Change Order на любое изменение логики/даты. Во внутреннем ремонте — гибче, можно быстрее перераспределять ресурсы, но ответственность за пуск выше (нет контрагента, с которым можно поделиться риском).
Главный принцип: критический путь — это не статичная картинка, а инструмент ежедневного управления
Выявление операций с нулевым резервом — это не разовое действие «нажал кнопку, получил отчёт». Это цикл: расчёт → проверка качества модели → анализ рисков → ежедневный контроль → обновление фактов → перерасчёт. График ремонта живёт: фактические даты начинают отличаться от плановых, ресурсы приходят и уходят, обнаруженные дефекты добавляют работы. Только регулярный пересчёт с актуальными остатками (Remaining Duration) и корректной логикой даёт достоверный список критических операций на сегодня.
Начните с настройки качественной базовой модели (логика, календари, ресурсы), запустите расчёт, отфильтруйте Total Float ≤ 0, проверьте непрерывность цепочки и отсутствие артефактов. Передайте список критических операций в производственный штаб остановка с чёткими датами ES/EF и ответственными. Ведите ежедневный мониторинг именно этого списка. Любая операция, вышедшая из нулевого резерва в положительную сторону (задержка) — требует немедленного решения: сжатие последующих работ, подбрасывание ресурсов, перенос некритических ресурсов на критический путь. Именно так управляется сроком ремонта.
Материал носит информационный характер и описывает общие принципы планирования по методу критического пути (CPM). Конкретные параметры графика (календари, длительности, логика связей, ограничения, пороги критичности) должны определяться на основе технического задания, технологических регламентов, контракта и решений проектной команды. Для принятия управленческих решений по конкретному объекту обращайтесь к квалифицированному планировщику-инженеру (Planning Engineer) и руководству остановка/ремонта.
