Календарное планирование программ сетевыми методами

Батрова Р.Г., Глухов С.В.
Оренбургский государственный университет

В планировании работ по созданию новых сложных объектов возникает неопределенность, разрешение которой недоступно при традиционных методах планирования, например: установление продолжительности выполнения работ коллективами исполнителей, равномерное распределение ресурсов по видам работ, сокращение срока окончания всех работ при минимальном увеличении затрат и др. Организация планирования может быть существенно улучшена с помощью математических методов анализа и метода сетевого планирования и управления(СПУ).

Программа определяет совокупность взаимосвязанных операций, которые необходимо выполнить в определенном порядке, чтобы достигнуть поставленной в программе цели. Операции логически упорядочены в том смысле, что одни нельзя начать раньше, прежде чем будут завершены другие. Операция программы обычно рассматривается как работа, для выполнения которой требуется затраты времени и ресурсов. Как правило, совокупность операций не повторяется.

До появления сетевых методов календарное планирование программ (т.е. планирование во времени) осуществлялось в небольшом объеме. Наиболее известным средством такого планирования был ленточный (линейный) график Ганта, задававший сроки начала и окончания каждой операции на горизонтальной шкале времени. Его недостаток состоял в том, что он не позволял установить зависимости между различными операциями (определяющие в значительной мере темпы реализации программы). В связи с повышением сложности современных программ потребовалась разработка более четких и эффективных методов планирования. При этом эффективность интерпретируется как минимизация времени выполнения программы с учетом экономических факторов имеющихся ресурсов. Для этого и были разработаны почти одновременно (1956-1958 гг.) метод критического пути (МКП), первоначально применявшийся для управления программами строительства и метод оценки и пересмотра программ (ПЕРТ), разработанный по заказу военно-морского министерства США для календарного планирования научно-исследовательских и опытно-конструкторских работ создания ракет ``Поларис''. В настоящее время оба метода составляют единый метод сетевого планирования и управления (СПУ) программами. СПУ- это один из методов кибернетического подхода к управлению сложными динамическими системами с целью обеспечения определенных оптимальных показателей. Перейдем к теории СПУ.

Сетевое планирование и управление программами включает три основных этапа: структурное планирование, календарное планирование и оперативное управление.

Этап структурного планирования начинается с разбиения программы на четко определенные операции. Затем определяются оценки продолжительности операций и строится сетевая модель (сетевой график, стрелочная диаграмма), каждая дуга (стрелка) которой отображает работу. Вся сетевая модель в целом является графическим представлением взаимосвязей операций программы. Построение сетевой модели на этапе структурного планирования позволяет детально проанализировать все операции и внести улучшения в структуру программы еще до начала ее реализации. Однако еще более существенную роль играет использование сетевой модели для разработки календарного плана выполнения программы.

Конечной целью этапа календарного планирования является построение календарного графика, определяющего моменты начала и окончания каждой операции, а также ее взаимосвязи с другими операциями программы. Кроме того, календарный график должен давать возможность выявлять критические операции (с точки зрения времени), которым необходимо уделять особое внимание, чтобы закончить программу в директивный срок. Что касается некритических операций, то календарный план должен позволять определять их резервы времени, которые можно выгодно использовать при задержке выполнения таких операций или с позиции эффективного использования ресурсов. Если проект оказывается удовлетворительным, то необходимо закончить его составление, в противном случае необходимо выполнить дальнейший анализ сетевой модели, который помог бы ее улучшить.

Заключительным этапом является оперативное управление процессом реализации программы. Этот этап включает использование сетевой модели и календарного графика для составления отчетов о ходе выполнения программ. В случае необходимости сетевая модель корректируется.

Сетевая модель отображает взаимосвязи между операциями и порядок их выполнения. Событие определяется как момент времени, когда завершаются одни операции и начинаются другие. Начальная и конечная точки любой операции описываются, таким образом, парой событий, которые называют обычно начальным и конечным событием. Каждая операция в сети представляется только одной дугой (стрелкой). Ни одна пара событий не должна определяться одинаковыми начальными и конечными событиями. Для сохранения порядка следования событий на сетевом графике вводятся фиктивные операции. Они отображаются пунктирной стрелкой и не требуют ни затрат времени, ни затрат ресурсов.

Для построения СПУ используются следующие формулы:

\begin{displaymath}
\begin{array}{l}
T_i(E) = 0, \quad \text{если} \quad i = 0;\...
...text{где} \quad d(i,j) - \text{длительность работы}
\end{array}\end{displaymath}

Рис. 1. Сетевая модель
\begin{figure}\begin{center}
\epsfxsize=12cm %%\epsfysize=12cm
\epsfbox{fig1.eps}
\end{center}\end{figure}

где $T_i(E)$ - ранний срок начала всех операций, выходящих из события $i$; $T_i(L)$ - поздний срок окончания всех событий, входящих в $i$; $R_i$ - свободный резерв времени события $i$. Если $R_i = 0$, то выполнение события не может быть задержано, так как оно лежит на критическом пути; $R_{ij}$ - полный резерв времени работы $ij$, определяет на сколько можно задержать выполнение данной работы без задержки последующих работ; $R_{ij} = 0$ - работа лежит на критическом пути и не может быть задержана; $FF_{ij}$ - свободный резерв времени операции $i-j$, определяется в предположении, что все операции в сети начинаются в ранние сроки.

Применяя вышеперечисленные формулы, находится критический путь 0-2-3-4-7-6. На рисунке 1 представлена сетевая модель. Цифра над стрелкой показывает продолжительность операции. Штрихованная стрелка определяет фиктивную операцию 3-4,а перечеркнутые стрелки - критический путь.

Исходным для расчета параметров сетевого графика является окончательный оптимизированный график с оценками продолжительности каждой работы. Такая оценка по предстоящим работам может быть определена однозначно по нормативным данным(если они имеются), но чаще ответственные исполнители выдают вероятностную продолжительность работы в определенном диапазоне $t_{min}-t_{max}$, где $t_{min}$ - продолжительность выполнения работы при благоприятных условиях и обстоятельствах, дни(недели); $t_{max}$ - то же, при неблагоприятных условиях и обстоятельствах, дни(недели). По этим исходным данным рассчитывается ожидаемая продолжительность $t_{\text{ож}} = (3t_{min}+2t_{max})/5$ и проставляется в графике над стрелкой, обозначающей данную работу.

При построении календарного графика необходимо учитывать наличие ресурсов, так как одновременное (параллельное) выполнение некоторых операций из-за ограничений, связанных с рабочей силой, оборудованием и другими видами ресурсов, может оказаться невозможным. Именно в этом отношении представляют ценность полные резервы времени некритических операций. Сдвигая некритическую операцию в том или ином направлении, но в пределах ее полного резерва времени, можно добиться снижения максимальной потребности в ресурсах. Однако даже при отсутствии ограничений на ресурсы полные резервы обычно используются для выравнивания потребностей в ресурсах на протяжении всего срока реализации программы. Это означает, что программу удается выполнить более или менее постоянным составом рабочей силы.

Роль полных и свободных резервов времени при выборе календарных сроков выполнения некритических операций объясняется двумя общими правилами.

Если полный резерв равен свободному, то календарные сроки некритической операции можно выбрать в любой точке между ее ранним началом и поздним окончанием.

Если свободный резерв меньше полного, то срок начала некритической операции можно сдвинуть по отношению к ее раннему сроку начала не более чем на величину свободного резерва, не влияя при этом на выбор календарных сроков непосредственно следующих операций.

При реализации некоторых программ может ставиться цель не просто обеспечения равномерного использования ресурсов, а ограничения максимальной потребности в них определенным пределом. Если этой цели не удается достичь путем перепланирования календарных сроков некритических операций, то, чтобы снизить потребность в ресурсах, приходится увеличивать продолжительность некоторых критических операций. Однако из-за математических трудностей пока что не разработан метод, обеспечивающий оптимальное решение задачи минимизации максимальной потребности в ресурсах в любой момент процесса выполнения программы. Поэтому приходится пользоваться эвристическими алгоритмами.

Стоимостной аспект вводится в схему календарного планирования программ путем определения зависимости ``затраты (стоимость) - продолжительность'' для каждой операции программы. Рассматриваются только элементы прямых затрат. Однако косвенные затраты типа затрат на управление учитываются при выборе окончательного календарного плана программы. Линейная зависимость ``затраты - продолжительность'' принимается из соображения удобства, так как ее можно определить для любой операции всего по двум точкам ($D_n$, $C_n$) и ($D_c$, $C_c$). Точка ($D_n$, $C_n$), где $D_n$ - продолжительность операции, а $C_n$ - ее стоимость, соответсвует нормальному режиму выполнения операции. Точка ($D_c$, $C_c$) - точка максимально интенсивного режима, где $D_c$ - минимальная продолжительность операции, а $C_c$ - ее стоимость (максимальная для данной операции). Чтобы добиться сокращения продолжительности выполнения программы при минимально возможных затратах, необходимо в максимально допустимой степени сжать ту критическую операцию, у которой наклон кривой ``затраты - продолжительность'' наименьший.

\begin{displaymath}\text{Наклон} = (C_c-C_n)/(D_n-D_c).\end{displaymath}

Отрезок, на который можно ``сжать'' продолжительность операции, ограничен точкой максимально интенсивного режима. Продолжительность программы сокращается в точности на одну единицу времени на каждом цикле вычислений. Эту процедуру повторяют для нового получившегося календарного плана (и нового критического пути (путей) если они появляются), пока не получают календарный план для режима максимальной интенсивности.


Использование систем календарного планирования строительными компаниями


Календарное планирование нашло широкое применение в жизни. Оно используется в строительстве, геологии, производстве и многих других областях. Мне хотелось бы подробнее остановиться на особенностях применения СПУ в строительстве, ведь, как известно, строительные проекты лежали у истоков сетевого планирования. Собственно метод критического пути был разработан для координации работ по строительству заводов химического концерна ``Дюпон''. В настоящее время всё большее количество строительных компаний в России начинает применять системы календарного планирования для повышения эффективности своей работы.

Итак, в организациях строительного комплекса существует высокая потребность в программном обеспечении именно по календарному планированию. Поскольку нахождение оптимального способа реализации проекта по времени при максимально эффективном использовании ресурсов являются ключевыми факторами успеха, а при растущей с каждым днем конкуренции - гарантом выживания организации. В современном строительном бизнесе все более активно используются информационные технологии и специализированное программное обеспечение. Это САПР и ГИС, системы управления проектной документацией и сметное ПО. Сметные системы дают оценку проекта (под проектом мы будем понимать объект инвестиций) с точки зрения объемов работ, стоимости, общей потребности в ресурсах по проекту, но не предоставляют таких важных для успешного выполнения проекта сведений, как календарный план работ, график потребности в ресурсах, календарный профиль затрат.

Среди требований строительных компаний с подобного рода программным комплексам практически всегда фигурируют следующие пункты:

Часто объем расчетов в СПУ настолько велик, что требует применения ЭВМ, поэтому для решения подобных задач используется специальный класс программного обеспечения - системы календарного планирования и контроля реализации проектов или по-другому системы управления проектами (СУП). Эти системы обеспечивают поддержку основных процессов временного, ресурсного и стоимостного планирования и контроля на основе алгоритмов сетевого планирования и метода критического пути (некоторые даже ресурсно-критического).


Использование систем управления проектами (СУП) в строительной отрасли на разных этапах инвестиционного процесса

Прединвестиционная стадия

Прединвестиционная стадия, как правило, отличается отсутствием точной и подробной информации о проекте. Это может быть общая концепция проекта, ориентировочные сроки его реализации, технико-экономическое обоснование, первоначальная стоимостная оценка, другие укрупненные показатели. Поэтому и задачи, для решения которых возможно использование СУП так же носят общий характер:

В этом случае, СУП просто удобный инструмент, позволяющий сконцентрировать внимание на проекте. Для укрупненных оценок довольно часто используются стоимостные и временные параметры аналогичных объектов инвестирования, поэтому весьма привлекательным представляется потенциал использования информации из уже реализованных проектов. При этом имеется возможность интеграции систем управления проектами с другим программным обеспечением, например сметным.

На этой стадии систему управления проектами могут использовать инвестор-застройщик, управляющая компания, технический заказчик и т.п.

Стадия тендерных торгов

На этой стадии использование систем управления проектами позволяет подрядным организациям решать следующие задачи:

Сочетание гибкости систем календарного планирования и подробной информации о проекте дает возможность представить оптимальное тендерное предложение. Причем подрядная организация уже на этой стадии может учитывать загруженность своей материально-технической базы на других проектах компании. То есть, в этом контексте, система управления проектами становится одним из инструментов формирования портфеля заказов.


Стадия реализации проекта


Наиболее полно возможности систем управления проектами раскрываются именно на стадии реализации проекта. Это и не удивительно, ведь именно для этого - управления проектами они и предназначены.

Стадия исполнения проекта делится на два этапа:

  1. Этап разработки проекта управления строительством (ПУС).
  2. Этап его утверждения и контроля исполнения.

Эта стадия, как правило, разбивается на два зависимых друг от друга процесса:

  1. Процесс разработки проекта управлением строительством (ПУС) (планирование).
  2. Процесс контроля исполнения и управления проектом

Рассмотрим задачи, относящиеся к процессу разработки проекта управлением строительства:


Плюсы и минусы при использовании СУП на этапе планирования:


Как и любые программные системы (бухгалтерские, сметные, САПР и .т.п.) системы управления проектами несвободны от недостатков. Представляется, что весовой коэффициент достоинств заметно больше. Ниже мы перечислим наиболее очевидные достоинства и недостатки.

Достоинства

Возможность хранить сколь угодно много вариантов проекта;


Недостатки

Существует несколько способов разработки расписаний. Их может быть как минимум два:

1. Метод ``от смет'' -- при этом расписание формируется из сметы. Позиции сметы экспортируются в СУП (конечно же, включая кроме наименования и все другие данные - объемы, ресурсы, стоимостные характеристики и т.д.), затем в СУП накладываются технологические связи, ограничения по срокам, ресурсам; накладываются соответствующие кодировки (топология, WBS и т. п.). После расчета расписания получается проект. Такой проект может быть весьма подробным, но при этом не совсем удобным при отслеживании прогресса.

2. Метод ``от технологии'' заключается в том, что расписание делается ``с нуля'', причем имеет значение только технология производства, а дискретность выбирается исходя из разумной конечности операций. И уже после оптимизации расписания с технологической точки зрения, начинается наполнение голого расписания сведениями о ресурсах, стоимостях. При этом сведения о затратах могут быть учтены разными способами.

Достаточно сложно говорить о том, какой метод наиболее оптимальный. На рынке есть готовые решения для использования первого метода (примеры: ``А-ноль'' и ``Примавера'', ``WinАВеРС'' и MS Project/ Open Plan). В зависимости от традиций, каждая строительная организация может выбрать любой метод. Причем нет никаких особых проблем при комбинировании этих методов. Если речь идет о желании получать процентовки после внесении сведений о прогрессе, то речь наверняка пойдет о первом методе. Если же мы говорим о том, что важно отслеживать проект - вероятнее всего оптимальней использовать второй метод.

Мне хочется отметить, что использование календарного планирования программ в строительстве имеет широкие перспективы, учитывая объемы строительства, потоки информации, множественность участников инвестиционного процесса. Вот пример из жизни.

Фирма ``Зеленоградстрой'' ЗАО ``Моспромстрой'' осуществляет практически все виды строительных работ в городе Зеленограде. Применяя календарное планирование программ сетевыми методами, ей удалось частично сдвинуть непосредственных производителей работ в сторону повышения технологической и организационной дисциплины. Строительство начало двигаться по разработанным технологическим ``захваткам''. Сроки возведения этажей плавно снижались до 9-10 суток/этаж на ``приоритетном'' корпусе ``А'' (технологический предел составляет 8,5 суток), с начальных 23-27 суток/этаж! Пример говорит сам за себя. Освоив теорию календарного планирования программ сетевыми методами, предприятия смогут наиболее оптимально планировать свою деятельность и, следовательно, их прибыль будет расти. Поэтому необходимо готовить квалифицированных специалистов в этой области. Однако, во время изучения теории, я понял, что в России недостаточно хорошей литературы по данной тематике, в отличие от Запада.


Программное обеспечение календарного планирования и контроля


Первые программы для управления проектами были разработаны почти сорок лет назад. В основе данных систем лежали алгоритмы сетевого планирования и расчета временных параметров проекта по методу критического пути. Первые системы позволяли представить проект в виде сети, рассчитать ранние и поздние даты начала и окончания работ проекта и отобразить работы на временной оси в виде диаграммы Ганта. Позже в системы были добавлены возможности ресурсного и стоимостного планирования, средства контроля за ходом выполнения работ.

Использование систем долгое время ограничивалось традиционными областями -- крупными строительными, инженерными или оборонными проектами и требовало профессиональных знаний. Однако, за последнее десятилетие ситуация в области использования ПО календарного планирования резко изменилась.

Благодаря повышению мощности и снижению стоимости персональных компьютеров, а также, при участии таких корпораций, как Microsoft и Symantec, буквально заваливших рынок дешевыми системами для управления проектами, программное обеспечение и методики управления, доступные раньше только состоятельным организациям, пришли на рабочие столы и вошли в повседневную практику менеджеров и сотрудников средних и малых компаний.

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

Различия между пакетами могут заключаться в поддерживаемых ими вычислительных платформах, мощности, наличии дополнительных средств, и в качестве реализации предоставляемых ими функций. Оценка мощности пакета включает в себя тестирование качества работы системы (скорость вычислений, печати, изменения экранов) и качество представления информации по проекту (диаграммы Ганта и PERT), а также оценку полноты и гибкости функций, необходимых для разработки плана и оперативного управления.

В настоящее время на рынке представлено значительное количество универсальных программных пакетов для персональных компьютеров, автоматизирующих функции планирования и контроля календарного графика выполнения работ.

На рынке программных средств управления проектами в России наряду с известными зарубежными пакетами, такими как Microsoft Project, Open Plan, Suretrak, Primavera Project Planner присутствует и Российский пакет Spider Project. В России этот пакет наиболее популярен и используется крупнейшими корпорациями для управления самыми престижными проектами. У пакета Spider Project много отличий от своих зарубежных аналогов, которые делают его привлекательным для Российских потребителей. Это связано и с принятой в России технологией управления проектами, которая отличается от той, которая лежит в основе зарубежных пакетов, и с тем вниманием, которое в России традиционно уделяется оптимизации использования ресурсов и адекватности математических моделей объектов. Так, например, в России практически во всех областях приложения управления проектами планируются физические объемы работ, а длительность рассчитывается исходя из производительностей назначенных ресурсов, а не является исходной информацией.

СУП и Интранет

В настоящее время редкие программные продукты не интегрируются с веб-технологиями. СУП - не исключение. На самом деле, весьма привлекательные возможности и перспективы при этом возникают. Во-первых, для просмотра отчетов о выполнении, финансах и прочих данных не обязательно инсталлировать на каждую машину дорогие клиентские места СУП. Вполне достаточно броузера (средство просмотра гипертекстовой страницы). Причем, мы знаем, что большинство из них вообще бесплатны. Во вторых, даже для изменения информации в базах данных СУП бывает достаточно ``тонкого'' клиента. Подобные решения уже входят в стандартные поставки наиболее мощных и современных систем.

Заключение

Сетевое планирование при реализации сложных проектов увеличивает эффективность работ и способствует уменьшению затрат.

Сетевое планирование и управление программами включает три основных этапа: структурное планирование, календарное планирование и оперативное управление. В настоящее время календарное планирование нашло большое применение в строительстве.

Существует специальный класс программного обеспечения- системы календарного планирования и контроля реализации проектов или по-другому системы управления проектами (СУП). Во все системы управления программами заложены математические алгоритмы оптимизации использования различных типов ресурсов.

Литература

1
Managing Complex Projects on PC Software by Richard Billows, 2000, The Hampton Group, Inc.

2
Таха X. Введение в исследование операций // Москва, Мир 1985

3
Моудер Дж., Филлипс С. Метод сетевого планирования и организации работ (Перт) // - М-Л,: Энергия 1966

4
Технологии управления Спайдер http://www.spiderproject.ru/


Ваши комментарии
[SBRAS]
[Головная страница]
[Конференции]
[СО РАН]

© 2001, Сибирское отделение Российской академии наук, Новосибирск
© 2001, Объединенный институт информатики СО РАН, Новосибирск
© 2001, Институт вычислительных технологий СО РАН, Новосибирск
© 2001, Институт систем информатики СО РАН, Новосибирск
© 2001, Институт математики СО РАН, Новосибирск
© 2001, Институт цитологии и генетики СО РАН, Новосибирск
© 2001, Институт вычислительной математики и математической геофизики СО РАН, Новосибирск
© 2001, Новосибирский государственный университет
Дата последней модификации Tuesday, 04-Sep-2001 14:15:27 NOVST