УДК 658.5
ИССЛЕДОВАНИЕ ОПТИМИЗАЦИОННЫХ МОДЕЛЕЙ РЕАЛИЗАЦИИ СТРОИТЕЛЬНЫХ ПРОЕКТОВ
В.Д. Кондратьев, Нгуен Тхи Куинь Чанг, А.И. Бородин
Рассматривается задача календарного планирования относительно ремонта объектов строительства с учетом ограниченных ресурсов
Ключевые слова: проект, продолжительность выполнения работ, распределение ресурсов
Постановка задач оптимизации
После определения множества объектов строительства, подлежащих ремонту возникает задача построения календарного плана ремонта объектов строительства с учетом ограниченных ресурсов. Примем, что основным ограниченным ресурсом является численность ремонтных бригад. Дадим постановку задачи разработки календарного плана.
Имеются п объектов строительства, требующих ремонта. Обозначим объёме работ по ремонту 1-го объекта строительства, ё—возможный момент начала ремонта 1-го объекта строительства, Б1 -желательный срок окончания ремонта 1-го объекта строительства, а1- максимальная численность ремонтной бригаде, допустимая на 1-ом объекте строительства, №общая численность ремонтных бригад.
В качестве критериев оптимальности примем следующие три:
1. Минимизация максимального отклонения от желательных сроков
^ = шах(Т - Ц) (1)
г
Где Т1 - момент завершении ремонта 1-го объекта строительства
2. Минимизация штрафов потерь за срыв желательных сроков ремонта. Примем, что величина штрафов или потерь пропорциональна объему невыполненных работ.
В этом случае
= £ Ф (2)
г
Где - объем невыполненных работ по 1ому мостовому сооружению, с1-норматив штрафа.
3. Минимизация штрафов за задержку срока окончания ремонта
Л = £ с(т - Ц) (3)
г
Где с1 норматив штрафа (примем если Т1<Б1)
Кондратьев Виктор Дмитриевич - ВГАСУ, д-р техн. наук, профессор, тел. (473) 276-40-07
Нгуен Тхи Куинь Чанг - ВГАСУ, аспирант, тел. (473) 276-40-07
Бородин Алексей Иванович - ВГАСУ, аспирант, тел. (473) 276-40-07
4. В критерии (3) при досрочном завершении ремонта выплачивается премия. Если нормативный штрафа и премии различны, то критерий принимает вид
Я \Ьг (Цг - Т X если Т £ Цг
Ра = 1 (4)
4 1с (Т - Ц ), если Т >
Как правило Ь0 £ Ь1 £ с г, 1 =1 ,п.
Алгоритмы решения задач по критерию Г4
Рассмотрим сначала случай с1>Ь1, 1 = 1,п. Обозначив £■: = С; — &[, представим Критерий Р4 В ВИДе
Ъ, = - А) + Фг - Ц) = % + РА (5)
Первая часть критерия это фактически критерий Г3, а вторая часть это задача минимизации суммы штрафов (потерь) при превышении плановых сроков, известная своей сложностью. Примем ё1=0, ц . = 1 ■:. В этом случае задача по
критерию Г3 легко решаемая, как показано выше. Необходимо выполнять работы в очередности убывания приоритетов Т;, £ = 1, я.
Рассмотрим алгоритм решения задачи по критерию Р5. Пусть = 0,1 = 1, л. Покажем, что все работы, которые начинаются в моменты £” = В должны выполняться в очередности убывания приоритетов с^. Это почти очевидно, поскольку все эти работы выполняются с превышением планового срока Б и в этом случае действует критерий Г3. Таким образом, задача сводится к перебору всех возможных последовательностей выполнения работ по убыванию приоритетов, с моментами начала £“ >Б.
Описание алгоритма.
Рассматриваем процесс выполнения работ в обратном времени, то есть начинаем с конца. В этом случае работа естественно упорядочивает по возрастанию с^. Пусть работы пронумерованы по возрастанию с^, то есть < 1?; < - ■ < I|п. Возьмем систему координат, в которой ось абсцисс соответствует номерам работ, а ось ординат суммарной продолжительности работ (в обратном времени).
Пример 1. Имеются 6 работ, данные которых приведены в табл. 1.
і 1 2 3 4 5 6
24 25 24 21 16 9
6 5 4 3 2 1
Ці 4 5 6 7 8 9
bj 24 25 24 21 16 9
Примем D = 11, T - D=10, T = 21
Заметим, что каждому пути сети соответствует определенная последовательность работ, расположенных в очередности возрастания приоритетов, причем моменты их начала в обратном времени (в прямом времени это моменты окончания) меньше чем T-D=10. Верно и обратное, каждой такой последовательности однозначно соответствует некоторый пусть в сети. Примем длины горизонтальных дуг равными 0, а длины наклонных величине штрафа за превышение планового срока. Так, например, длина наклонной дуги, исходящей из начала координат равна 240, поскольку эта дуга соответствует работе 1, которая заканчивается в момент tj=21. Задержка составляет t - D = 21 - 11 = 10 и соответственно, величина штрафа равна (tj - D)C = 240. Таким образом, задача свелась к определению кратчайшего пути, соединяющего начальную вершину (вход сети) с одной из конечных вершин (выходы сети). Для определения кратчайших путей в сети соответствуют эффективные алгоритмы [1, 2, 3]. Поскольку вершины сети правильно упорядочены алгоритм определения кратчайшего пути принимает вид:
Предварительный шаг полагаем индекс начальной вершины Ао=0. Пусть определены индексы всех вершин k-го слоя.
(к+1) шаг. Полагаем индексы вершин (к+1)-го слоя равным
А(к, ¿) = min л +- iT[CAc - l,j); (к, 0]
где Pkl - множество дуг, заходящих в вершину (k,i).
Из всех конечных вершин выбираем вершину с максимальным индексом.
Решим теперь задачу по критерию F3. Оптимальное решение, как было отмечено выше, выполнять работы в очередности убывания приоритетов. Определим величину штрафов имеем
L L ' ' L
Эту оценку используем в методе ветвей и границ. Описание алгоритма.
1 шаг. Рассматриваем оптимальные последовательности выполнения работ по критериям F3 и F5 в обратном времени. Определяем минимальный номер последовательностей, которому соответствуют раз-
ные работы. Делим множество всех решений на два подмножества.
Оцениваем каждое подмножество. Оценка первого подмножества.
Решаем задачу по критерию Р5. Решаем задачу по критерию Р3.
Вычисляем £ Ь^г
г
Определяем оценку снизу.
Оценка второго подмножества.
Решаем задачу по критерию Р5.
Выбираем второе подмножество с меньшей оценкой. Однако, это решение является оптимальным и по критерию Р3 поэтому мы получим оптимальное решение П2 в обратном времени. Определяем величину критерия Р4 для этой очередности вычисляем
Мы рассмотрим случай > Ъ\, ¡" = 1, л.
Рассмотрим другой случай с; < ; = 1,-прис. 1, то
есть норматив штрафов меньше Б чем норматив премии.
Рис. 1
Обозначим е ; = Ь^— ґі и представим Р4 такие в виде двух критериев Р4 = Р3 - Р6
Где г(тод:[0;В — £¡1
Как и ранее для получения нижних оценок будем решать задачу минимизации Р3 и задачу максимизации Р6. Содержательно задача максимизации Р6 соответствует максимизации премий за досрочное выполнение работ. Алгоритм ее решения во многом аналогичен алгоритму решения задачи по критерию Р5, за исключением того, что определяется путь максимальной длины, а не минимальной, как в случае критерия Р5. Поэтому иллюстрируем его на примере.
Пример 2. Имеются 6 работ, данные о которых приведены в табл. 2.
1 1 2 3 4 5 6
24 25 24 21 16 9
6 5 4 3 2 1
4 5 6 7 8 9
24 25 24 21 16 9
Примем Б = 11, Т = 21.
Строим сеть, упорядочив работы по убыванию приоритетов с1. Путь максимальной длины соответствует выполнение работ в очередности убывания приоритетов. Однако, эта очередность определяет также оптимальное решение по критерию Г3.
Поэтому полученное решение является оптимальности по критерию Г4. Однако, это не всегда имеет место, что показывает следующий пример.
Пример 3. Имеются три работы, данные о которых приведены в табл. 3.
Таблица 3
Сеть для данного примера приведена на рис. 2
0 12 3
Рис. 2
Пути максимальной длины в данном случае соответствует выполнение работ в очередности (2, 3, 1). Оптимальная очередность по критерию Г3 это (1, 2, 3). Оценка снизу равна
- Г6 + Г3 = - 6 - 3 = - 9
Далее применяем метод ветвей и границ. Делим множество всех решений на два подмножества. В первом подмножестве работа 1 выполняется первой, а во втором - не выполняется.
Значение критерия Г3 не меняется. Значение критерия Г6 уменьшается то есть Г6 = 5.
Оценка снизу
С(1) = - 3 - 5 = - 8
Оценка второго подмножества.
Значение критерия Г6 = 6, то есть не меняется. Значение критерия Г3 увеличивается Г3 = - 2
Оценка снизу
С(2) = - 6 - 2 = - 8
Оценки совпали. Однако, в первом подмножестве оценка достижима. Поэтому ей соответствует оптимальная очередность выполнения работ (1, 2, 3) с значением целевой функции
Г4 = - 1.10 + 0 + 1.2 = - 8
Рассмотрим несколько частных случаев задачи по критерию Г5
I. Пусть все с1 = с, 1 =1,п.
Утверждение 5.1. В оптимальном решении (в обратном времени) работы выполняются в очередности убывания т1.
Доказательство. Пусть найдутся две соседних работы 1 и ], такие что т1< т (в обратном времени) переставим эти работы местами. В этом случае штраф за работу ] будет равен штрафу за работу 1 в начальном порядке, а штраф за работу 1 будет меньше штрафа за работу ] в начальном порядке. Суммарный штраф при этом уменьшится. Утверждение доказано.
II. ПуСТЬ Т!= Т, ; = 1,«
Представим число (Т - Б) в виде
Т - В = [-^—] + у = г 4- г), где г = р-^-]
Утверждение 5.2. Если Ш = 0, то в оптимальном решении первыми выполняются г работ с минимальными с1. Если Ш > 0, то первыми выполняются (г + 1) работа, причем последней (в обратном времени) выполняется работа с минимальной величиной с1 из числа первых (г + 1) работ. Доказательство. При Ш = 0 доказательство очевидно. Если Ш > 0, то последняя работа (в обратном времени) должна быть работой с минимальной величиной штрафов из числа (г + 1) работ. Утверждение доказано.
III. Пусть q1 = q, то есть с,- = ц ■ ; = 1, -п.
В данном случае ситуация является более сложной. Действительно, если с1 близки между собой, то получаем случай I, то есть в первую очередь выполнять работы с максимальными т1, а значит и с1 (в обратном времени). Если же т1 близки между собой,
1 1 2 3
5 2 2
2 1 1
2,5 2 2
5 2 2
Примем Б = 3
то получаем случай II и в первую очередь необходимо выполнять работы с минимальными с1 (а значит и т1).
Докажем одно простое свойство оптимального решения. Пусть работа длительности т выполняется с моментом начала ^ > И. Пусть далее существует некоторое множество работ Q, такое что - = ". Заметим работу длительности т на множестве Q работ суммарной длительности т. Сравним величины штрафов.
В первом случае величина штрафов равна
" " і Ер ^іев ^
Во втором случае величина штрафов равна <?Ц*» + х, >г, + + гл + т,)г, + - + и« + т, + - + „\
= ■ Г,]
Заметим, что
Ч) =
Уі +
т; >
/і? +
ч
Таким образом, замена одной работы длительности т на несколько работ суммарной длительности т уменьшает величину штрафов. Отсюда следует эвристическое правило: выполнять в первую очередь работы с минимальными временами (в обратном времени). Решение большого числа примеров показано, что это правило дает оптимальные решения. Однако, строгого доказательства этого факта получить не удалось.
Рассмотрим теперь общий случай, когда
1 -:. В этом случае, как и при критерии Г3 приходится применять эвристические правила, основанные на приоритетах работ. В нашем случае можно рассматривать четыре варианта приоритетов работ.
Ёолее^ого^мождб брать пйнешше^колебании приоритетов, например
Получим решение задач при различных приоритетах, далее выбирается лучшее решение.
Пример 4. Рассмотрим задачу с данными из примера 2. Добавив нормативы штрафа (премии) Ь1 (табл. 4)
Таблица 4
і 1 2 3 4 5
«■’і 6 8 15 16 10
Щ. 1 2 3 4 5
те 6 4 5 4 2
Продолжение табл. 4
12 32 15 48 20
к 24 8 5 16 4
Ч с 2 8 3 12 10
И 4 2 1 4 2
6 10 4 16 12
Примем N = 5
Рассмотрим три варианта. В первом в качестве приоритетов выбираем с^, во втором р1, а в третьем сумму р, + си, I = Т7Й
1 вариант.
1 шаг. 1о = 0. Начинаем работу 4 (и4 = 4) и работу 5 (и5 = 1).
2 шаг. 11 = 4. Работа 4 закончена. Продолжаем работу 5 (и5 = 2), начинаем работу 3 (и3 = 1).
3 шаг. 12 = 7. Работа 5 закончена. Продолжаем работу 2 (и2 = 2), и работу 3 (и3 = 3).
4 шаг. 13 = 8. Работа 2 закончена. Продолжаем работу 3 (и3 = 3) и начинаем работу 1 (и1 = 1).
5 шаг. 14 = 11. Работа 3 закончена. Продолжаем работу 1 до её завершения в момент Т = 13.
2 вариант.
1 шаг. 10 = 0. Начинаем работу 4 (и4 = 4) и работу 1 (и1 = 1).
2 шаг. 11 = 4. Работа 4 закончена. Продолжаем работу 1 (и! = 1), начинаем работу 5 (и5 = 4).
3 шаг. 12 = 6. Работа 1 закончена. Продолжаем работу 5 (и5 = 5).
4 шаг. 13 = 6,4. Работа 5 закончена. Начинаем работу
2 (и2 = 2) и 3 (и3 = 3). Все работы завершаются в момент Т = 11,4.
3 вариант.
1 шаг. 10 = 0. Начинаем работу 4 (и4 = 4) и работу 5 (и5 = 1).
2 шаг. 11 = 4. Работа 4 закончена. Продолжаем работу 5 (и5 = 5).
3 шаг. 12 = 5,2. Работа 5 закончена. Начинаем работу 2 (и2 = 2), работу 1 (и1 = 1) и работу 3 (и3 = 2).
4 шаг. 13 = 9,2. Работа 2 закончена. Продолжаем работу 1 (и! = 1) и работу 3 (и3 = 3). Все работы завершаются в момент Т = 11 -
_Е_
15'
В данном случае лучшее решение получено в случае приоритетов р1. При регулярном решении задач формирования календарных планов можно сформировать базу данных о том, какая система приоритетов обеспечена лучшее решение в тех или иных ситуациях и использовать эту информацию при применении решений.
Выводы
1. Даны постановки задач календарного планирования с четырьмя критериями оптимальности.
2. Предложена потоковая модель, в которой величины потоков определяют объемы работ, выполняемые в тех или иных интервалах времени.
3. Для решения задачи по критерию ?! (минимизация максимального отклонения от плановых сроков) предложен алгоритм, основанный на определении потока максимальной величины при параметрической зависимости ... способностей дуг (в качестве параметра выступает допустимая величина отклонения от плановых сроков).
4. Решение задачи по критерию Г2 сведено к задаче максимизации взвешенного объема выполненных работ и решается путем последовательного определения потоков максимальной величины. Алгоритм обобщен на случай выпуклых и вогнутых функций потерь.
5. В случае критерия Г3 рассмотрены несколько вариантов задачи. Если каждая работа может выполняться всем имеющим количеством ресурсов, то при допущении перерывов в выполнении работ задача решается элементарно (работы выполняются в очередности убывания приоритетов). Если перерывы запрещены, то предлагается метод ветвей и границ. Наконец, если количество ресурсов, которые могут выполнять работу, ограничено, предложены эвристические алгоритмы при различных вариантах выбо3а приоритетов.
6. Для решения задач по критерию Г4 предложено представить этот критерий в виде суммы критерия Г3 и критерия Г5 (минимизация штрафов за срыв плановых сроков) либо в виде разности критерия Г3 и критерия Г6 (максимизация премий за досрочное выполнение работ). Для решения задач по критериям Г5 и Г6 в случае общего для всех работ
планового срока предложены эффективные алгоритмы, сводящиеся к определению путей минимальной (в случае критерия Г5) или максимальной (в случае критерия Г6) длины в специальным образом построенной сети.
Полученные решения позволяют определить нижние оценки для критерия Г4 и применить метод ветвей и границ. Рассмотрены частные случаи решения задач по критериям Г5 и Г6 (одинаковые коэффициенты штрафов для всех работ, одинаковые продолжительности всех работ, одинаковые приоритеты всех работ) для которых получены эффективные алгоритмы решения. Доля общего случая задачи по критерию Г4 предложены эвристические алгоритмы с различными системами приоритета работ.
Литература
1. Математические основы управления проектами. Учебное пособие, под ред. В. Н. Буркова, Москва:-Высшая школа - 2005 г. -412 с.
2. Крюков С. В. , Кулик В. Б., Русаковский А. М. Распределение ресурсов по множеству независимых проектов. Вестник ВГТУ (в печати)
3. Бурков В. Н., Ланда Б. Д., Ловицкий С.Е Сетевые модели и задачи управления М: Советское радио, 1967, 144 с.
Воронежский государственный архитектурно-строительный университет
RESEARCH OF OPTIMIZATION MODELS OF CONSTRUCTION PROJECTS
REALIZATION
V.D. Kondratiev, Nguen Thi Kuin Chang, A.I. Borodin
The problem of scheduling concerning repair of construction objects taking with limited resources is considered Key words: the planned schedule, resource restrictions, repair, fine