УДК 638.354.8
ПОСТРОЕНИЕ ОПТИМАЛЬНОГО КАЛЕНДАРНОГО ПЛАНА ВЫПОЛНЕНИЯ
ВСЕХ РАБОТ ПРОЕКТА
Д.И. Голенко-Гинзбург, П.В. Павлов, А.В. Сенюшкин
Рассматривается модель построения оптимального календарного плана выполнения всех работ проекта, который позволяет выполнить проект не позднее директивного срока с минимальными затратами, с учетом ограничений на динамику потребления основного ресурса в течение календарного периода
Ключевые слова: задача, затраты, работа, проект
Задача распределения ресурсов внутри проекта возникает на этапах управления ходом разработки, начиная с этапа аванпроекта/ Эта задача лежит в основе формирования оперативного календарного плана по теме (разработке), сводного квартального тематического плана, планов по выпуску технической документации, постройки изделия, подготовки производства, месячных планов цехов основного производства. Основную цель, на выполнение которой направлено решение поставленной задачи, можно сформулировать следующим образом: «необходимо построить оптимальный календарный план выполнения всех работ проекта, который позволяет выполнить проект не позднее директивного срока с минимальными затратами». При этом следует выдержать ограничения на динамику потребления основного ресурса в течение календарного периода.
Как правило, выделяемые для выполнения проекта ресурсы (например, людские, материальные и др.) распределены в течение планового периода равномерно. Поэтому календарный план должен быть составлен таким образом, чтобы уровень ресурсов, потребных для его выполнения в течение планового периода, в любой момент времени был постоянным.
Решение поставленной задачи лежит в основе управления ходом разработки (проекта), т. е. управления на нижнем уровне иерархии рассматриваемой многоуровневой системы. Ход разработки проекта, как объекта управления, в свою очередь представляет собой сложную кибернетическую систему с многочисленными связями, динамическая модель которой достаточно хорошо описывается сетевыми графиками. Состояние этой системы определяется календарным планом или набором упорядоченных пар (Тн, t) по каждой работе проекта, где t - начало выполнения работы, а Тн - ее продолжительность. Задача отыскания оптимального календарного плана сводит-
Голенко-Гинзбург Дмитрий Иванович - Университет Беер-Шева, д-р техн. наук, профессор, e-mail:
dimitry @bgu.ac.il
Павлов Павел Владимирович - ВГАСУ, аспирант, тел. (4732) 76-40-07
Сенюшкин Александр Васильевич - ВГАСУ, аспирант, тел. (4732) 76-40-07
ся к решению некоторой экстремальной задачи на сети, для математического описания которой мы будем попользовать общепринятые обозначения. Постановка задачи
Пусть О = {Р, и} - сетевой график, определяемый следующей парой множеств; Р - множество событий (вершин); и - множество работ (дуг); Тн = {т); tij, где (,-)еи} - календарный план
выполнения проекта. Здесь Т. - плановое начало выполнения работы (/, -) , I - - продолжительность ее выполнения.
Каждой работе (,-)еи соответствует числовая функция С. = ^), где t е Т-, т- - область
определения этой функции; 5 - директивный
срок выполнения проекта; С - плановая стоимость выполнения проекта в целом.
При этих обозначениях сформулируем задачу отыскания оптимального плана-графика выполнения работ проекта следующим образом.
Пусть календарный план Т удовлетворяет ограничениям:
Т/ + t / < 5дир для всех (А -) е и, (1)
С (Л с
У -д.. ()----------------------< 0, 0 < t < 5 , (2)
, / V/ о ’ дир ’ V '
(,/)еи - дир
где
д (0=ю при
[0 в противном случае;
ет-;
Т- > tp,1е Р, (,/)е и. (3)
В области Б, описанной ограничениями (1)
- (3), требуется найти план Т*, который обращает в минимум целевую функцию стоимости следующего вида:
С(Т)= У С/ ^ ) (4)
(,/)еи
Сформулированная задача (1) - (4) относится к задаче математического целочисленного программирования [1,2]. Учитывая большую размерность задачи (число работ проекта может достигать нескольких тысяч), при ее решении использовалось одно упрощающее допущение. Это допущение состояло в том, что решение исходной задачи заменя-
лось последовательными решениями следующих задач.
Задача I. Требуется найти план продол-
жительностей
который
удовлетворяет ограничению
Т (7)-5 < 0 (5)
кр \ / дир V /
и обращает в минимум целевую функцию
С й= У с- ()
(,-)еи
Задача II. При заданном векторе продолжительностей t* = {, (-) е и} требуется найти вектор Т* = {, ,(,-)еи}, характеризующий начало выполнения каждой работы, который удовлетворяет условию (1) и обращает в минимум целевую функцию следующего вида:
Ж (Т ) =
тах
с
(6)
Другими словами, Ж (т *) = тт Ж (Т )
Разработанные методы решения задач I и II позволяют, на наш взгляд, преодолеть трудности, связанные с большой их размерностью благодаря учету специфических особенностей топологии рассматриваемых сетевых графиков. Эти особенности состоят в возможности выделения фрагментов и замене каждого из этих фрагментов одной работой или же небольшим количеством укрупненных работ. Идея выделения фрагментов в свое время широко использовалась при расчете временных параметров сетей большого размера, например, в работе [3]. В настоящем разделе эта идея обобщается на решение задачи укрупнения исходной информации по времени - стоимости при замене фрагмента укрупненными работами.
Переходим к рассмотрению основных типов выделяемых фрагментов и рассмотрим методы укрупнения исходной информации по укрупненным работам фрагмента.
I. Последовательность («цепочка») работ. Этот тип фрагментов обладает тем свойством, что начало выполнения любой (последующей) работы (кроме первой работы цепочки) является концом выполнения только одной (предыдущей) работы. Обозначим все работы цепочки через (, -), (л,-2)•••,(/,-) и пронумеруем их в порядке следования.
Пусть варианты выполнения работы
(Л Л Ь где к = 1 П,1 = ]0, - = -п+1 , задаются числовой функцией вида:
С, = /к (t), где г етк.
Далее, пусть Сц = / ^) - числовая функция, отражающая варианты выполнения работы ( , -) или цепочки в целом. Очевидно, что эта функция имеет следующую зависимость от вариантов выполнения каждой работы цепочки:
/ ,(і) = тіп2ск (/*), і є [а,Ь],
21к ^ к=1
где а = 2 тіп тк , Ь = 2 тах тк .
В формуле (7) минимум берется по всем наборам ^1, ...,tn} , которые в сумме не превосходят заданного числа t и tk е тк . Функция / (^
является монотонно невозрастающей и имеет следующий технико-экономический смысл.
Каждому набору {,...,tn} однозначно соп
ответствует значение длины цепочки t = 2 tl и за-
к=1
п
трат С = 2 Ск (к). Если каждое 1к пробегает тк ,
к=1
то все наборы 1^,..., 1п} отображаются в множество М точек плоскости с осями координат С^. Эти наборы можно пронумеровать для случая конечных
тк.
Каждая из точек множества М представляет собой вариант выполнения цепочки (, -). Однако из множества М можно удалить те варианты с номером Р (им соответствуют пары Ср, Тр), для каждого из которых найдется вариант с номером ц(С Т)> если выполняются условия
С < С , Т < Т .
ц р ц р
Оставшиеся после удаления точки в плоскости (спозволяют построить функцию / () .
Для этого перенумеруем точки в порядке возрастания t и проведем из любой точки влево прямую, параллельную оси t до тех пор, пока координата t не примет значение координаты предыдущей точки.
Нетрудно видеть, что предложенная процедура построения зависимости / () позволяет
лишь раскрыть ее сущность, однако является практически нереализуемой даже для небольшого количества работ и вариантов. Например, для цепочки с количеством работ, равным 10, и одинаковым числом вариантов, равным 3, для построения функции / ^) требуется «просматривать» поряд-
о10
ка 3 точек.
Для построения зависимости / () будем
использовать весьма эффективный метод динамического программирования [3.5]. При этом вычисление / для любого t сводится к последовательному вычислению на к-м шаге (к = 1, п) значения 1к е тк так, чтобы получить минимальное значе-
пп
ние суммы 2 Ск Цк ) при условии 2 tk < ^
к=1 к=1
N-1
Обозначим через С*(^-1 ) = „тип 2Ск()
2 ^ <■*N-1 к =1
затраты, соответствующие оптимальному распре-
к
к
делению величины xN-1 по (TV-i)-My шагу, и через (х*,...,x"N l) - варианты распределения накоп-
N-1
ленной суммы 2t-i до (N - 1)-го шага, запишем
N=1
функциональное уравнение, которому удовлетворяет оптимальное распределение после N шагов:
С' (XN) = ^ [С *(XN-i) + CN (tN ) ] ,
XN-1+tN <xN
N=2, ... , n.
Исходя из сказанного, запишем алгоритм вычисления f и (t) для любого t в пределах
T . < t < T .
min max
Исходная информация для алгоритма.
1. Массивы значений (СN, tkN) - вариантов выполнения N-й работы, где N=1,..., n, n - количество разработок.
2. Значения А.
Используемые обозначения в алгоритме.
N - номер шага выбора tN по N-й работе цепочки;
X‘N-l - запоминаемое значение накоплен-
N-1
ной суммы 2 tt после (N-1)-ro шага для опти-
N=1
мального варианта;
у—^ n
CN-1 - соответствующее значение затрат;
А - интервал дискретности для просмотра
°Трезка [Tmin,Tmax] •
Поэтапная реализация алгоритма для последовательной цепочки работ имеет следующий вид:
Этап 1. N : = 1, x00 = 0, xj = да, C0N = 0.
N
Этап 2. aN : 2tt, где tt = minrN.
N=1
N
Этап 3. : = 2tt, где tt = maxrN.
Этап 4. Вычисление M = [x] - целая часть х.
bN - aN
А
+ 1, где
Этап 5. m: = 0
Этап 6. N:= 0, С; = да.
Этап 7. Вычисление zm := aN + m • А.
Этап 8. Вычисление: 8N = ^m - xN , .
m m N -1
Этап 9. Сравнение 8m > 0 . Если нет, то переход к этапу 17.
Этап 10. s:=1.
Этап 11. Сравнение 8m - tsN > 0. Если нет, то переход к этапу 14.
Этап 12. s: = s +1.
Этап 13. Переход к этапу 11.
Этап 14. Вычисление С; = CtN_l + CN(t^-1).
Этап 15. Сравнение С; - с; < 0 . Если нет, то переход к этапу 17.
Этап 16. с; := с; ; xmN := x^ + С .
Этап 16'. N : N +1. Переход к этапу 8.
Этап 17. m : = m +1.
Этап 18. Сравнение m > M . Если нет, то переход к этапу 7.
Этап 19. N := N +1.
Этап 20. Сравнение N > n . Если да, то переход к этапу 22.
Этап 21. Переход к этапу 2.
Этап 22. Вычисление M : C; = min с; .
m
Окончание работы алгоритма и выдача результатов: xM, CM и значения tN, CN(tN) при N=1, ... , n.
Литература
1. Ашимов А.А., Бурков В.Н., Джапаров Б.А., Кондратьев В.В. Согласованное управление активными производственными системами. - М.: Наука, 1986.
2. Баркалов С.А., Бурков В.Н., Курочка П.Н., Образцов Н.Н. Задачи управления материальнотехническим снабжением в рыночной экономике. М.: ИПУ РАН, 2000. - 58 с.
3. Бурков В.Н., Буркова И.В. Задачи дихотомической оптимизации. - М.: Радио и связь. - 2003. - 156 с.
N=1
Университет Беер-Шева (Израиль),
Воронежский государственный архитектурно-строительный университет
CONSTRUCTION OF THE OPTIMUM PLANNED SCHEDULE OF PERFORMANCE
OF ALL WORKS OF THE PROJECT
D.I. Golenko-Ginzburg, P.V. Pavlov, A.V. Senjushkin
The model of construction of the optimum planned schedule of performance of all works of the project which allows to execute the project not later directive term with the minimal expenses is considered, at in view of restrictions on dynamics of consumption of the basic resource during the calendar period
Key words: a problem, expenses, work, the project