Метод критического пути (CPM)

Материал из Systems analysis wiki
Перейти к навигации Перейти к поиску

Метод критического пути (CPM) (англ. Critical Path Method, CPM) — детерминированный метод сетевого планирования и управления проектами, применяемый для расчёта последовательности работ и минимально возможного срока завершения проекта. Критический путь — это самый длинный по длительности путь в сетевой модели; задержка любой работы на этом пути сдвигает окончание всего проекта[1][2].

История

CPM разработан в конце 1950‑х годов Джеймсом Келли (Remington Rand) и Морганом Уокером (DuPont). Их доклад 1959 года положил начало промышленному использованию метода; позднее авторы опубликовали исторический очерк о происхождении CPM[2][3]. Параллельно в США был создан вероятностный метод PERT, с которым CPM часто применяется совместно[1].

Основные понятия

  • Работа (activity) — действие с длительностью d и зависимостями от предшественников.
  • Событие/веха — момент без длительности, фиксирующий состояние проекта.
  • Критический путь — последовательность работ максимальной суммарной длительности между стартом и финишем модели; работы на нём имеют нулевой суммарный резерв[1].
  • Предшествование задаётся отношениями FS, SS, FF, SF с возможными лага́ми; на практике используется PDM / AON (работы — узлы), а исторический ADM / AOA встречается реже[4][5][6].

Расчёт дат и резервов

Расчёт выполняется прямым и обратным проходами по сети.

Прямой проход (ранние даты):

для начальных работ: ES = 0 (или согласно принятой шкале);
для каждой работы j: ESj = max{ EFi всех предшественников i };
EF = ES + d.

Обратный проход (поздние даты):

для завершающих работ: LF равен общему сроку проекта (или раннему финишу финальной вехи);
для каждой работы j: LS = LF − d; LFj = min{ LSs всех последователей s }[7][8].

Резервы (float/slack):

Полный резерв (TF): TF = LS − ES = LF − EF — насколько можно задержать работу без сдвига финиша проекта.
Свободный резерв (FF): FF = min{ ESsucc } − EF — задержка без влияния на ранние старты последователей[9][10].

Связи и лаги

В PDM поддерживаются четыре базовых типа зависимостей: FS (finish‑to‑start), SS (start‑to‑start), FF (finish‑to‑finish), SF (start‑to‑finish). Каждая связь может иметь лаг (положительный или отрицательный), например FS + 2d — начало последователя через два дня после окончания предшественника[6].

Сокращение сроков (crashing, fast‑tracking)

Сокращение длительности проекта возможно:

  • Crashing — целенаправленное уменьшение длительности критических работ за счёт дополнительных затрат; предпочтительно сокращать работы с минимальным «склоном» стоимости.
Склон стоимости (стоимость 1 единицы сокращения): (Ccrash − Cnormal) / (Dnormal − Dcrash)[11].
  • Fast‑tracking — перевод допустимых зависимостей в параллельное исполнение (например, FS → SS) с ростом рисков переработок[1].

Области применения

CPM используется для разработки календарных планов в строительстве, энергетике, машиностроении, ИТ‑проектах и НИОКР. Метод является базовым в стандартах управления проектами и системной инженерии (PMI, NASA) и широко поддерживается в программном обеспечении для планирования[1][12][13].

Преимущества

  • Чёткая идентификация критического пути и «узких мест»; приоритет внимания менеджера проекта[1].
  • Простые правила расчёта ранних/поздних дат и резервов; прозрачность влияния изменений[7].
  • Совместимость с PDM/диаграммами Ганта и инструментами анализа вариантов ускорения[4].

Ограничения

  • Базовая CPM‑модель не учитывает ресурсные ограничения и стохастическую природу длительностей; для этого применяют ресурсное выравнивание и расширения (например, critical chain)[1].
  • При использовании сложных зависимостей и лагов интерпретация резервов может быть нетривиальна; рекомендуется формальное определение и контроль правил вычисления float в контрактных документах[10].

Связь с другими подходами

  • PERT — вероятностная оценка длительностей (трёхточечные оценки, β‑приближение); CPM применяет детерминированные длительности.
  • Диаграмма Ганта — календарная визуализация расписания, часто используется вместе с CPM/PERT.
  • Сетевое планирование — обобщающая группа методов (CPM, PERT, ADM/AOA, PDM/AON).

См. также

  • PERT
  • Диаграмма Ганта
  • Сетевое планирование

Литература

  • Kelley, J. E.; Walker, M. R. (1959). Critical‑Path Planning and Scheduling. IRE‑AIEE‑ACM '59 (Eastern). ACM Digital Library. [14]
  • Kelley, J. E.; Walker, M. R. (1989). Origins of CPM: A Personal History. PM Network. PMI. [15]
  • PMI. PMBOK® Guide. [16]
  • NASA. Systems Engineering Handbook (SP‑2016‑6105 Rev2). [17]
  • «Critical path method». Wikipedia (en). [18]
  • «Precedence diagram method». Wikipedia (en). [19]
  • «Dependency (project management)». Wikipedia (en). [20]
  • «Arrow diagramming method». Wikipedia (en). [21]
  • Baker, S. L. Critical Path Method (CPM) — Analysis Steps. University of South Carolina. [22]
  • «Creating an Activity Network Diagram». CSU Pressbooks. [23]
  • «Crashing Example». An‑Najah National University (учебный пример). [24]

Примечание

  1. 1,0 1,1 1,2 1,3 1,4 1,5 1,6 «Critical path method». Wikipedia (en). [1]
  2. 2,0 2,1 Kelley, J. E., Jr.; Walker, M. R. (1959). «Critical-Path Planning and Scheduling». IRE‑AIEE‑ACM '59 (Eastern). ACM Digital Library. [2]
  3. Kelley, J. E.; Walker, M. R. (1989). «Origins of CPM: A Personal History». PM Network. Project Management Institute. [3]
  4. 4,0 4,1 «Precedence diagram method». Wikipedia (en). [4]
  5. «Arrow diagramming method». Wikipedia (en). [5]
  6. 6,0 6,1 «Dependency (project management)». Wikipedia (en). [6]
  7. 7,0 7,1 Baker, S. L. «Critical Path Method (CPM) — Analysis Steps». University of South Carolina. [7]
  8. «Fundamental Scheduling Procedures». Project Management, Carnegie Mellon University. [8]
  9. «Creating an Activity Network Diagram». Project Management — Navigating the Complexity. Cleveland State University Pressbooks. [9]
  10. 10,0 10,1 «Critical Path Method Calculations». PMI. [10]
  11. «Crashing Example». An‑Najah National University (учебный пример). [11]
  12. PMI. A Guide to the Project Management Body of Knowledge (PMBOK® Guide). [12]
  13. NASA. Systems Engineering Handbook (NASA/SP‑2016‑6105 Rev2). [13]