Научная статья на тему 'О задаче минимизации стоимости проекта'

О задаче минимизации стоимости проекта Текст научной статьи по специальности «Математика»

CC BY
436
84
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЗАДАЧА / МИНИМИЗАЦИЯ / ПРОЕКТ / СТОИМОСТЬ / ЭФФЕКТИВНОСТЬ / A PROBLEM / MINIMIZATION / THE PROJECT / COST / EFFICIENCY

Аннотация научной статьи по математике, автор научной работы — Баркалов С. А., Бурков В. Н., Курносов В. Б., Стеганцев Д. Н.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ABOUT THE PROBLEM OF MINIMIZATION OF COST OF THE PROJECT

The problem of minimization of cost of the project is considered at set time of its end. For each equipment design various variants of the performance, differing are set by cost and duration. For the decision of a problem the method of network programming is offered

Текст научной работы на тему «О задаче минимизации стоимости проекта»

УДК 554.12

О ЗАДАЧЕ МИНИМИЗАЦИИ СТОИМОСТИ ПРОЕКТА

С.А. Баркалов, В.Н. Бурков, В.Б. Курносов, Д.Н. Стеганцев

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

Ключевые слова: задача, минимизация, проект, стоимость, эффективность

Введение

Задача оптимизации сети по стоимости является классической задачей оптимального распределения ресурсов в управлении проектами, известной еще в 60-х годах прошлого века. Для кусочно линейных выпуклых зависимостей стоимости работы от ее продолжительности известен алгоритм Кэлли, в котором решение задачи сводится к последовательному определению разреза минимальной пропускной способности в сети из критических работ [1]. Для ... зависимостей В. Н. Бурковым доказано, что существует всего одна величина - эквивалентный объем проекта, определяющая зависимость стоимости проекта от его продолжительности [1]. Для случая дискретных зависимостей задача становится сложной ЫР--трудной задачей. В работе предлагается алгоритм решения на основе метода дихотомического программирования [2].

Постановка задачи

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

Наиболее распространенными являются связи между парами работ, которые называются зависимостями. Зависимость двух работ означает, что одну из них нельзя начинать, пока не закончена другая. Это зависимость типа «старт-финиш».

Баркалов Сергей Алексеевич - ВГАСУ, д-р техн. наук, профессор, тел. (4732) 76-40-07

Бурков Владимир Николаевич - ИПУ РАН, д-р техн. наук, профессор, тел. (495) 334-79-00 Курносов Владислав Борисович - ВГАСУ, канд. экон. наук, доцент, тел. (4732) 76-40-07

Стеганцев Дмитрий Николаевич - ВГАСУ, аспирант, тел. (4732) 76-40-07

Работам соответствуют вершины сетевого графика, а зависимостям между работами - дуги. Номера работ указаны в верхней части соответствующей вершины, их продолжительности - в нижней левой, а ранние моменты окончания - в нижней правой. Продолжительность всего проекта Т0 определяется длиной критического пути (самого длинного пути в сетевом графике). В нашем примере продолжительность проекта - составляет 15 месяцев. Если полученный срок завершения проекта не удовлетворяет требуемому сроку (То >

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

Сокращение продолжительности работ, естественно, потребует увеличения затрат. Задача заключается в сокращении продолжительности работ таким образом, чтобы программа была реализована в требуемые сроки, а дополнительные затраты были минимальными. Это известная в управлении проектами задача оптимизации сети по стоимости [3].

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

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

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

Утверждение 1. Продолжительность проекта, как функция продолжительностей работ, допускает дихотомическое представление.

Докажем это утверждение. Обозначим через Qi множество работ, непосредственно предшествующих работе 1. Пусть Я - множество конечных работ сетевого графика, то есть работ, не имеющих исходящих дуг.

Очевидно, что

Т = тах Ъ

¿ей

где ^ - момент окончания работы I.

Как известно, функция «тах» допускает дихотомическое представление. В свою очередь

* = Г> * в!

где т, - продолжительность работы 1.

Обе функции и ^ и допускают дихотомическое представление. Далее

где

О, = max tq

и т. д.

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

Последовательное множество работ

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

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

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

Сетевой график называется агрегируемым, если путем агрегирования последовательных и (или) параллельных множеств работ его можно свести к одной работе.

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

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

Действительно, если предшествующая работа имеет степень исхода больше единицы, то ее

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

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

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

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

Пример. Рассмотрим сетевой график (рис 1).

Представим работу 1 в виде двух работ 1а и 1 Ь . При этом работа 1а связана дугой (1а; 4) с работой 4, а работа 1Ь связана дугой (1Ь; 3) с работой 3. Заметим, что если продолжительности работ совпадают, то такое преобразование не влияет на

результаты сетевого графика. Не трудно убедиться, что полученный сетевой график агрегируем.

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

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

№ работы la lb

№ варианта 1 2 1 2

Tt 7 4 7 4

Ci 6 10 6 10

При построении дихотомического представления мы исключили заведомо не оптимальные варианты. Так в матрице 23 клетка со значением 23 = 14 и затратами 26 исключается из рассмотрения, поскольку существует клетка со значением 23 = 13 и затратами 24, то есть лучшая и по продолжительности, и по затратам.

Аналогично, в матрице 24 исключается клетка 23 = 11, С(23) =18, поскольку существует «лучшая» клетка Ъъ = 10, С(23) = 17.

Теперь можно получить решение задачи минимизации затрат при любом значении Т. Рассмотрим, например, случай Т = 13.

I шаг. В верхней (корневой) матрице дихотомического представления среди всех клеток с продолжительностью программы Т = 13. Находим клетку с минимальными затратами. Ей соответствует 23 = 24 = 13.

II шаг. Рассматриваем матрицу 23 и среди клеток со значением 23 =13 находим клетку с минимальными затратами. Это клетка т5 =3, 22 =10.

III шаг. Рассматриваем матрицу 24 и

находим клетку со значением 24 =

13. Ей соответствует ті4 = 7и т4 = 6.

IV шаг. Рассматриваем матрицу 22, и среди клеток со значением 22=10, находим с минимальными затратами. Ей соответствует 2! = 9, т2=10.

V шаг. Рассматриваем матрицу 2, и среди клеток со значением 21=9 находим с минимальными затратами. Ей соответствует т:ь = 4 и т3 = 5. Окончательно получаем решение

Т1а = 7, Т1Ь = 4, т2 = 10, т3 = 5, т4 = 6, т5 = 3.

Продолжительность программы составляет Т = 13, а затраты С = 37.

Заметим, что т^ Ф т!Ь. Поэтому полученная величина затрат дает оценку снизу для исходной задачи. Попробуем улучшить эту оценку, изменив распределение затрат между работами 1а и 1Ь.

А именно, положим при т1а= 7, С1а = 8, а С1Ь = 4. Повторяя описанные выше шаги алгоритма, получаем решение: с продолжительностью программы Т = 13 и затратами С = 35.

Так как т^ = т^, то это решение является допустимым для исходной задачи, а значит оптимальным.

Заключение

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

Литература

1. Бурков В.Н., Новиков Д.А. Как управлять проектами. М.: Синтег, 1997. - 188 с.

2. Бурков В.Н., Новиков Д.А. Теория активных систем: состояние и перспективы. М.: СИНТЕГ, 1999. -128 с.

3. Бурков В.Н. Новиков Д.А. Как управлять организациями. - М.: СИНТЕГ, 2004.

Институт проблем управления им. В. А. Трапезникова РАН (г. Москва)

Воронежский государственный архитектурно-строительный университет

ABOUT THE PROBLEM OF MINIMIZATION OF COST OF THE PROJECT

S.A. Barkalov, V.N. Burkov, V.B. Kurnosov, D.N. Stegantsev

The problem of minimization of cost of the project is considered at set time of its end. For each equipment design various variants of the performance, differing are set by cost and duration. For the decision of a problem the method of network programming is offered

Key words: a problem, minimization, the project, cost, efficiency

i Надоели баннеры? Вы всегда можете отключить рекламу.