Н. В. Катаргин
Оптимизация сетевого графика выполнения комплекса работ
Предлагается методика оптимизации сетевого графика выполнения комплекса работ, а также решение проблемы превращения некритических путей в критические при перераспределении ресурсов. Введено понятие «опорное событие», что позволило минимизировать число ограничений. Разработана методика оценки времени выполнения проекта при стохастическом характере длительностей отдельных операций, основанная на методе Монте-Карло. Расчеты проведены в среде Excel с использованием сервиса «Поиск решения» (Solver) и Visual Basic.
Ключевые слова: оптимизация плана, сетевой график, стохастическая модель, метод Монте-Карло.
Цель сетевого планирования — построение рационального плана проведения сложного комплекса работ (операций), состоящего из отдельных элементарных взаимно обусловленных работ, когда выполнение некоторых операций нельзя начать раньше, чем будут завершены другие, опорные работы. При составлении сетевого графика используется структурная таблица комплекса работ, содержащая перечень элементарных работ, перечень работ, на которые опираются элементарные работы и время выполнения каждой работы1. Сетевое планирование на основе
этой информации позволяет указать время выполнения всего комплекса работ, выявить определяющие его критические работы (то есть лежащие на критическом пути — самой длинной последовательности работ), вычислить время, необходимое для выполнения всего комплекса работ, а также оптимизировать план путем перераспределения ресурсов и, соответственно, сроков выполнения работ с целью сокращения времени выполнения проекта в целом.
На рис. 1 приведен пример сетевого графика, соответствующего выполнению неко-
Рисунок 1. Сетевой график до (А) и после оптимизации (Б).
1 Исследование операций в экономике / Под ред. Н. Ш. Кремера. М.: Банки и биржи, ЮНИТИ, 1997.
Николай Викторович Катаргин — кандидат физико-математических наук, доцент кафедры «Математическое моделирование экономических процессов» Финансового университета при Правительстве Российской Федерации.
E-mail: [email protected]
его проекта. Кругами обозначены события, стрелками — работы. Расположение кружков соответствует времени наступления событий; проекции стрелок на временную ось пропорциональны временам работ, резервы времени обозначены пунктиром.
Обычно оптимизацию плана комплекса работ проводят после нахождения критических работ, напряжённостей операций и ресурсов, которые можно перебросить с некритических работ на критические. В данном случае критический путь 1 = >4=>6=>7=>10, соответственно, новое время выполнения комплекса работ
Рисунок 2. Зависимость времени работы от дополнительных затрат
t — t +t +t +t +t
крит.нов. 1нов 4нов 6нов 7нов 10нов
(1)
Предполагается, что время выполнения работ можно сократить, вкладывая дополнительные ресурсы, причем сокращение времени пропорционально дополнительным ресурсам Х:
г = г-ьх (2)
нов к '
Под ресурсами можно понимать деньги, людей, технику. На рис. 2 видно, что используемая линейная зависимость время/затраты
справедлива в некотором диапазоне; имеются асимптоты слева (затраты, при которых работа никогда не будет сделана) и справа: минимальное время выполнения работы при любых затратах. Ограничения дополнительных затрат обозначены Х- (сколько затрат можно вычесть) и Х+ (сколько можно добавить). Эти величины могут отличаться по модулю. Величины C и C — полные
~J min max
стоимости работ для обеспечения их выполнения за минимальное и максимальное время соответственно.
Таблица 1
Исходные данные для оптимизации сетевого графика2
События Опорные события Работа Время работ, t Перераспределение ресурсов, Х Новое время раб°^ U.
1 1-2 10 0 10
1-3 8 0 8
1-4 6 0 6
2 1 2-5 5 0 5
3 1 3-5 7 0 7
4 1 4-6 9 0 9
5 2, 3 5-7 6 0 6
5-8 6 0 6
6 4 6-7 8 0 8
6-8 4 0 4
6-9 5 0 5
7 5, 6 7-10 9 0 9
8 5, 6 8-10 3 0 3
9 6 9-10 11 0 11
10 7, 8, 9
IX 0
^<рит 32
Дополнительные ресурсы можно привлечь извне, а можно перераспределить внутри проекта, перебросив с малонапряженных работ на критические.
В данной работе предлагается принципиально новая методика оптимизации сетевого графика, основанная на использовании итерационной градиентной процедуры (метод Ньютона или аналогичный), включенной в сервис «Поиск решения» (Solver) электронных таблиц Excel. Исходные данные, соответствующие сетевому графику (рис. 1А), и расчётные формулы размещаются в табл. 1.
Новое время работ t вычисляется по форму-
ле (2), в данном примере b=0,1. Без дополнительных затрат t =32. Целевую функцию t надо
* крит ' J т J ~ крит ^
минимизировать, изменяя ячейки вектора Х.
Ограничения: X >= Х-, X <= Х+, ZX = 0, то есть ресурсы перераспределяются внутри проекта, дополнительных затрат нет. В данном примере ограничения затрат Х- = -50, Х+ = 50. В реальных проектах ограничения и коэффициенты затрат на ускорение работ b. устанавливаются экспертами для каждой работы отдельно, в таблице появляются еще три столбика-вектора: b, Х-, Х+.
На рис. 3 представлено окно программы Excel «Поиск решения».
Рисунок 3. Окно программы Excel «Поиск решения»
Результаты минимизации критического пути3
Таблица 2
События Опорные события Работа Время работ, t Перераспределение ресурсов, Х Новое время раб°^ tHCB
1 ї-2 10 -5 o 15
ї-З 8 -5 o 13
1-4 6 5О 1
2 1 2-б 5 -50 10
З 1 З-б 7 -31,25 10,125
4 1 4-6 9 5О 4
б 2, 3 5-У 6 -3,125 6,3125
б-В 6 -3,125 6,3125
б 4 6-7 8 5О 3
б-В 4 -3,125 4,3125
6-g 5 -3,125 5,3125
7 5, 6 7-10 9 5О 4
В 5, 6 В-ї0 3 -3,125 3,3125
g 6 9-ю 11 -3,125 11,313
10 7, 8 , 9
IX 0
tкрит 12
Выполнив «Поиск решения», получим результат, представленный в табл. 2. В результате максимальных вложений в критические работы путь 1 = >4=>6=>7=>10 сократился до 12, но удлинились другие пути, а время выполнения проекта увечилось до 35,31. Очевидно, в ограничения «Поиск решения» надо вводить запрет на удлинение других путей по сравнению с критическим. Но даже в нашей простой задаче это приводит большому числу ограничений, так как надо предусмотреть все возможные пути. Поэтому предлагается принципиально новая технология расчета, основанная на понятии опорных событий, а не опорных работ, как обычно, и вычислении времен наступления событий.
Опорные события — это события непосредственно предшествующие данному событию и связанные с ним стрелками-работами. В табл. 3 представлены результаты расчетов, а на рис. 1Б — соответствующий сетевой график.
Время новых событий t событий вы-
£ новых
числяется в последних четырех столбцах таблицы. Если опорное событие только одно, то время его наступления складывается из времени наступления опорного события и времени соответствующей работы. Если опорных событий несколько, то время наступления каждого вычисляется по всем опорным событиям в трех последних столбцах, и максимум по этим ячейкам принимается за t ..
г новых событии
Если для каких-либо событий опорных событий больше, то и число соответствующих столбцов увеличивается. Дополнительные ограничения: время критического пути, вычисленное по формуле (1), должно быть больше или равно времени наступления конечного события 10, вычисленного в последних трех ячейках соответствующей строки. Соответствующие настройки в окне программы Excel «Поиск решения» представлены на рис. 4, результаты расчетов — в табл. 3. Полученный результат: tK =27,168, остальные пути,
Таблица 3
Результаты оптимизации сетевого графика4
События Опорные события Работа Время работ, t Перераспределение ресурсов, Х Время новых работ, t г ’ нов Максимальное время новых событий, "макс. новых событий Время новых событий "нов. событий
1 1-2 10 -20,85 12,08
1-3 8 -6,048 8,60
1-4 6 26,575 3,34
2 1 2-5 5 8,7497 4,12 12,08
3 1 3-5 7 -6,048 7,60 8,60
4 1 4-6 9 13,448 7,65 3,34
5 2, 3 5-7 6 13,036 4,69 16,21 16,21 16,20
5-8 6 -9,425 6,94
6 4 6-7 8 -19,08 9,90 10,99
6-8 4 -15,89 5,58
6-9 5 -0,619 5,06
7 5, 6 7-10 9 27,385 6,26 20,90 20,90 20,90
8 5, 6 8-10 3 -10,15 4,01 23,15 23,15 16,58
9 6 9-10 11 -1,079 11,10 16,06
10 °о ~ 27,168 27,168 27,168 27,168
IX 0
"крит 27,168
4 Шрифтом выделены события, работы и параметры критического пути.
90
Поиск решения В
Установить целевую ячейку: 1крИТ [ Выполнить |
Равной: О максимальному значению Означению: 0 Закрыть
0 минимальному значению
$U$3Ü:$U$43 X И 1 Предположить 1
| Параметры ]
1 чуі ціаппчоппн.
ÎUÎ30 : $U$43 <= $Х$28 Х<=Л+ $и$30 : $U$43 >= $Х$26 X>=JY-$14,45 = о Sum X = 0 $V$47 >= ¥Х¥44 $'''$47 >= $Y$44 ІКЮИТ >= ДРУГИХ t. $V$47 >= $Z$44 Добавить Изменить
¡Восстановить
Удалить Справка
Рисунок 4. Окно программы Excel «Поиск решения»
приводящие к событию 10, то есть к окончанию проекта, имеют ту же длину.
Данная задача и технология ее решения являются нелинейными. Это может привести к появлению различных планов Х, в том числе неоптимальных, и зависимости результатов от начальных значений Х.
Возможна другая постановка задачи: вычислить и минимизировать объем дополнительных ресурсов ЕХ для достижения заданной величины 1;крит. В этом случае целевой ячейкой окна «Поиск решения» становится ЕХ, и устанавливается ограничение t .
' г крит
Оценить время выполнения оптимизированного проекта очень сложно, если время выполнения каждой работы и всего проекта — случайные величины. Обычно для каждой работы задаются три оценки: оптимистическая (а), наиболее вероятная (т), пессимистическая (Ь).
Воспользуемся формулами для оценки следующих параметров:
- средней продолжительности работы te
te = (а+4т+Ь)/6 или te = (2а+3Ь)/5 (3)
- стандартного отклонения продолжительности операции о(
о( = (Ь-а)/6 (4)
- дисперсии времени выполнения проекта
о2
о2 = Z о2,
t sum t1
(5)
t I
дисперсии продолжительностей критических работ.
Предполагается, что длительности работ не зависят друг от друга и подчиняются нормальному закону распределения. На этой основе можно вычислить вероятности разных
сроков завершения проекта и вероятность превышения срока по сравнению с заданным (квантиль). Если сетевой график оптимизирован и длительности различных путей совпадают, то любой путь может оказаться критическим, и сложность расчётов резко возрастает. Кроме того, в экономике часто работает закон не нормального распределения (Гаусса), а распределения с «толстыми хвостами», например, логнормальный. «Толстый хвост» означает, что вероятность аномально длительных работ (>3 а ) достаточно велика.
Современные информационные технологии позволяют построить распределение вероятностей длительности проекта для любого распределения вероятных длительностей работ, полученного на основании экспертных оценок. Предположим, что на основе экспертных оценок построено распределение возможных длительностей работ, представленное на рис. 5, и для каждой работы оценены масштабные коэффициенты «ширины» распределения К, аналоги стандартного отклонения, представленные в табл. 4. Для проведения расчетов удобен метод Монте-Карло: имитированные длительности всех работ t
.г ^ г имит I
многократно варьируются случайным образом в соответствии с законом распределения и К.: t = t. + S • К.
имит I I I
где t. — детерминированная длительность работы,
5 — случайная величина, распределенная по закону, представленному на рис.5.
Затем вычисляются времена наступления событий, в том числе конечного времени (Т ),
г к проекта
которое может отличаться от длительности
старого критического пути tpum. Процедура повторяется многократно (1000 и более раз), получаемые значения Т сохраняются,
' проекта г
и по ним строится гистограмма частотных распределений (в Excel сервис «Анализ данных — Гистограмма»), а также вычисляются среднее значение и стандартное отклонение (не использованием функции «СР. ЗНАЧ.» и «СТАНД. ОТКЛОН.»). Для генерации случай-
Рисунок 5. Эмпирический закон распределения длительности работы
ных величин S и t , а также сохранения вы-
имит і *
численных значений Т нами использован
проекта
программный модуль на языке Visual Basic. Процедура повторена 1000 раз. Результаты одного из циклов процедуры представлены в табл. 4, гистограмма вероятностей (х1000) длительности проекта представлена на рис. 6. По частотам длительностей можно оценить, например, вероятность длительности проекта
Рисунок 6. Вероятности (х1000) времени окончания проекта
Таблица 4
Результаты одного из циклов имитационного моделирования длительности выполнения проекта5
События Работа Время работ, t Масштабные коэффициенты, К Имитированные длительности р^О^ ^мит Имитированные времена событий, ^мит. событий
t 1-2 12,1 2 12,1 Max
1-3 8,6 2 8,8
1-4 3,3 2 3,3
2 2-5 4,1 2 2,9 12,1
3 3-5 7,6 2 6,2 8,8
4 4-6 7,7 3 6,8 3,3
5 5-7 4,7 2 4,7 15,0 15,0 15,0
5-8 6,9 2 7,1
6 6-7 9,9 2 10,1 10,1
6-8 5,6 1 5,3
6-9 5,1 1 5,1
7 7-10 6,3 2 5,3 20,2 19,7 20,2
8 8-10 4,0 1 4,4 22,2 22,2 15,4
9 9-10 11,1 3 11,1 15,2
10 Тпроекта 26,6 25,5 26,6 26,3
t крит 25,5
более 34 дней в 3,5 %, а более 35 дней — в 1,8 %. Гистограмма показывает, что при стохастическом характере длительностей работ время выполнения проекта увеличивается, причем может увеличиться очень существенно — на 10 дней.
Таким образом, с помощью сервиса Excel
«Поиск решения» (Solver) можно эффективно оптимизировать сетевой график выполнения комплекса работ, а метод Монте-Карло позволяет оценить вероятности сроков окончания проекта при любом законе распределения длительностей работ.
Литература
1. Исследование операций в экономике / под ред. Н. Ш. Кремера. - М. : Банки и биржи, ЮНИТИ, 1997.