УДК 004.855.3
МОДЕЛЬ УПРАВЛЕНИЯ ОБЪЕМАМИ НЕЗАВЕРШЕННОГО ПРОИЗВОДСТВА ПРИ ПРОИЗВОЛЬНОЙ СВЯЗИ МЕЖДУ РАБОТАМИ ПРОЕКТА
П.Н. Курочка, Г.Г. Сеферов
В работе обсуждается одна из возможных схем описания такой конфликтной ситуации, причем считается, что выполняемые исполнителем для заказчика проекты представлены сетевыми графиками, для выполнения работ которых требуется определенное количество ресурса при известной гарантированной оплате труда
Ключевые слова: задача, объект, производство, работа
Разработка методов исследования социально-экономических систем и принципов управления этими системами становится все более важной практической задачей. Различие целей субъектов заставляет использовать в процедурах управления игровые подходы. Одним из примерев таких систем является система Заказчик-Исполнитель, условия деятельности которых часто приводят к различию их целевых функций. Если Исполнитель выполняет для Заказчика несколько проектов (например, строительных), то при этом зачастую возникает явление «незавершенки», когда Исполнитель, не окончив целиком необходимые проекты, уже принимается за другие, чтобы обеспечить себе по возможности больший объем освоенных вложений и, как следствие этого, большую оплату работ. Такое поведение может противоречить интересам Заказчика, и он может попытаться использовать имеющиеся в его распоряжении средства (например, штрафы или премии) для борьбы с «незавершенкой». В работе обсуждается одна из возможных схем описания такой конфликтной ситуации, причем считается, что выполняемые исполнителем для Заказчика проекты представлены сетевыми графиками, для выполнения работ которых требуется определенное количество ресурса при известной гарантированной оплате труда. Исполнитель, обладая определенным количеством ресурса, стремится максимизировать свою оплату, складывающуюся из гарантированной и премиальной частей, а Заказчик с помощью своих премиальных фондов стремится минимизировать «незавершенку».
Рассмотрим задачу распределения ресурса на сети, поставленную в [1]. В задаче имеются два субъекта — Заказчик и Исполнитель. Последний может выполнять для первого работы, причем все множество работ А разбито на непересекающиеся подмножества Л]..., Ап — проекты. Проекты представлены сетевыми графиками, т. е. частичными порядками Ь\,..., Ьп (технологическими отношениями предшествования) на множествах входящих в них работ. Для каждой работы а £ А
Курочка Павел Николаевич - ВГАСУ, д-р техн. наук, профессор, тел. (473) 276-40-07
Сеферов Григорий Григорьевич - РГСУ, аспирант, тел. 8918-555-64-10
известно количество г(а) единиц скалярного складируемого ресурса, необходимого для ее выполнения, а также стоимость работы с(а), получаемая Исполнителем после ее завершения.
Ресурсные характеристики являются наиболее общими усредненными показателями расходования ресурсов при выполнении комплекса работ. Они также отражают условия выполнения работ, прежде всего состав и количество используемых трудовых и материально - технических ресурсов. Ресурсы, непосредственно используемые для выполнения комплекса работ, в общем случае включают машины и механизмы, трудовые ресурсы, а также материалы. Различают два основных типа ресурсов.
Складируемые (невозобновляемые) ресурсы. К ним относятся материалы. К складируемым ресурсам могут быть отнесены также денежные средства, потребление которых при выполнении работы (комплекса) считается равным стоимости этой работы (комплекса). В этом смысле можно рассматривать стоимость как один из видов складируемых ресурсов.
Нескладируемые (возобновляемые) ресурсы. К ним относятся трудовые ресурсы, машины, механизмы, производственные площади и т.п.
Нескладируемые ресурсы называют также ресурсами типа мощностей, складируемые - ресурсами типа материалов.
При дальнейшем изложении под ресурсом, имеющимся в распоря-жении Исполнителя, будем понимать финансовые ресурсы, которые Исполнитель может направить на реализацию проекта, то есть себестоимость выполняемых Исполнителем работ.
Полный ресурс Я, предоставленный в распоряжение Исполнителя, ограничен, и он не может выполнить все множество А], ... Ап работ. Выполнив
ту или иную совокупность работ Х] — А], . . . ,
Хп — Ап допустимую по технологическим
х £ X & У х у £ X
и ресурсным ограничениям
Xг(а)+... + [ ] Xг(а)< Я ,
а£А1 а£Ап
Ф= Xс(а)+... + Xс(а) + р,
а£А1 а£Ап
Исполнитель получает оплату равную сумме стоимостей выполненных работ, и, добавочно, премии р Заказчика, размер которой не превосходит данной величины Р и условия получения которой оговорены ниже. Исполнитель заинтересован в повышении оплаты ф. Что касается целевого функционала у. Заказчика, то в него входят лишь полностью завершенные проекты. Более точно, проекты A1, . . . ,Ап обладают для Заказчика определенными ценностями V], ... ,У^п, и целевой функционал Заказчика — это сумма
/ = УА +... + Уп8п,
где 81 — булева переменная, принимающая значение 1, если / - й проект завершен Х1=А1 и 0 в противном случае. Следует отметить, что частными случаями функционала у является полное число завершенных проектов и случай, когда Заказчик устанавливает на множестве проектов приоритеты. Заказчик собирается использовать премию р для увеличения своего функционала у, т. е., говоря неформально, для борьбы с «незавершенкой». Предлагается рассмотреть ситуацию с позиций игры Г 2, [2]. Другими словами, стратегии Заказчика — это договоры с Исполнителем, в которых оговорен булевый вектор 5=(51, . . ., 5и), проектов, подлежащих завершению, [0,Р], выплачиваемой £ а также размер премии р Заказчиком Исполнителю при действительном выполнении указанных проектов. С точки зрения
является надежным, если, 8р Заказчика, договор нарушив его и выполнив другую совокупность работ X] ,. . ., Хп, допустимую по технологическим и ресурсным ограничениям, Исполнитель не сможет компенсировать потерю премии более выгодной оплатой работ. Кроме того, договор допустим, если у Исполнителя хватает ресурса для его выполнения. Рассматриваемая задача состоит в следующем: найти допустимый надежный (договор, максимизирующий целевой функционал Заказчика
Указанную задачу будем называть задачей Заказчика. В соответствии с общей методологией решения игр Г 2 для решения задачи Заказчика необходимо предварительно решить следующую задачу Исполнителя: найти максимальную оплату с(Я), которую может себе гарантировать без премии Исполнитель, обладая ресурсом Я.
Задача Заказчика представляет собой следующую задачу булевого программирования: максимизировать зависящий от п булевых переменных линейный функционал
У181 +... + Уп8п = / ^ тах при условии выполнения двух линейных ограничений
S1 +... +
Sn < R,
Е c(a)
aєAl
s1 +... +
Е r(a)
Sn * c(R)-P
Е c(a)
aє An
Отметим, что первое из ограничений выражает допустимость, а второе — надежность договора. Кроме того, по самому определению величины с(К) к указанным двум ограничениям можно добавить ещё одно
1 Е ( I Si +. . + і Е ( I
aє Ai aєAfl
Sn < c(R)
справедливое для любого ресурсно-допустимого набора проектов. Введем следующие обозначения:
Е r (a)
aєAi
IR
г1 — отношение количества ресурса, необходимого для выполнения г-го проекта, к полному ресурсу Я. Очевидно, что если г>], то проект ресурсно недопустим и 8=0, поэтому в дальнейшем без ограничения общности считаем 0 <г< ] для всех проектов в задаче Заказчика
Е c(a)
aєAi
I c(R)
C — отношение оплаты, получаемой Исполнителем при выполнении i-го проекта, к гарантированной оплате c(R). Поскольку ri< 1 т. е. все проекты по отдельности ресурсно допустимы, то 0 <ci< 1. Проекты, для которых г*>1, тем но менее должны рассматриваться в задаче Исполнителя, т. к. там они могут выполняться неполно.
Обозначим через p=P/c(R) отношение размера премии к гарантированной оплате c(R). Ясно, что при р>1 любой договор надежен, поэтому считаем 0 <pi< 1. С учетом введенных обозначений задачу Заказчика можно переписать в следующем виде:
V181 +... + Vn8n = / ^ max,
r181 +... + rn8n ^ ^ 1 - Р ^ ci8i +... + cn8n ^1.
Исполнитель в своей задаче не обязан выполнять проекты целиком. Пусть он расходует на i-й проект Ri единиц ресурса. Обозначим через 8i = Ri / 2r (a) степень освоения i-го проекта.
asAt
Отметим, что теперь 8i; не булева, а непрерывная переменная из интервала [0, 1]. Обозначим также через F; (8i) s [0,1] максимальную долю стоимости i-го проекта, которую может получить Исполнитель при степени освоения этого проекта 8i; Задача определения функции Fi(8i), есть i-я локальная задача Исполнителя или, можно сказать, задача i-го подисполнителя. Предположим, что функции Fi(8i) известны, например, таблично заданы для значений 8i выбранных с шагом 10~к В частности, при к=2 должны быть известны данные следующего типа: при освоении 16-го проекта на 42% можно получить 67% его полной стоимости и т. д. В этом случае для решения задачи Исполнителя
Е c(a)
aєAl
F (S ) + ...-
Е c(a)
F (Sn )
= c(R)
+... + rnSn < ^ S,...,Sn є [о,і].
r
c
aєA
представляющей собой сепарабельную задачу математического программирования
Таким образом, если для каждого проекта в отдельности известна функция Fj( 8 ;)— стоимость проекта в зависимости от его освоения, то задача Исполнителя решается просто.
Рассмотрим теперь задачу исполнителя для каждого отдельного проекта, т. е. задачу построения функции F( 8) для произвольного сетевого проекта (здесь и дальше мы опускаем индекс i).
Итак, пусть имеется один проект, т. е. частично упорядоченное множество А, каждому элементу а которого приписаны два веса г(а) и с (а).
Задача Исполнителя состоит в следующем: найти технологически допустимые для данного сетевого графика множества работ максимальной стоимости, ресурсный вес которого не превосходит заданной величины R. То есть необходимо найти максимум функции
2 c(x) ^ max
xsX
при ограничениях вида
2 r (x)< R
xsX
Как показал А. В. Карзанов, эта задача в своей общей постановке для произвольных порядков является ЛР-трудной даже тогда, когда г(а) = 1, т. е. ресурсный вес множества равен его мощности, а величина с (а) принимает лишь два значения, скажем, 1 и 2.
Таким образом, как отмечается в [4] имеется мало надежд на то, что можно предложить точные процедуры нахождения функций F( 8 ) для произвольных порядков трудоемкость которых была бы ограничена некоторым полиномом от числа работ в сетевом проекте. Однако для некоторых частных случаев функции F( 8 ) строятся просто. Простейший из них — это сетевой проект, представимый линейным графом, т. е. тот случай, когда порядок есть простая цепь. Для такого порядка построение функции F( 8) является тривиальной задачей. Используя идею «слияния» цепей, расположенных последовательно или параллельно, нетрудно строить функции для произвольных последовательно-параллельных порядков. Таким образом, задача заключается в том, чтобы привести исходную сеть к последовательно-параллельным множествам работ. Такая сеть называется агрегируемой, то есть её можно свести к одной дуге.
Используя понятие агрегированной сети, возможно получить искомую зависимость F( 8 ) для сети произвольного вида. В работах В.Н. Буркова [5] показано, что сети, достаточно общего вида, могут быть приведены к виду, допускающему агрегирование.
Это возможно на основании следующего алгоритма [6].
1 шаг. Определяем все последовательные множества дуг и заменяем их одной дугой.
2 шаг. Определяем все параллельные множества дуг и заменяем их одной дугой.
3 шаг. Берём произвольную вершину (исключая вход и выход) рис. 1.
Заменяем эту вершину на три вершины
(рис. 2).
Мы получили два последовательных множества дуг. Агрегируя их, получаем сеть рис. 3.
Действуя аналогично, мы приходим к сети, изображенной на рис. 4, не содержащей вершины і . Далее процедура повторяется для любой другой вершины, кроме входа и выхода.
Как показано в работах В.Н. Буркова такое агрегирование в результате приводит к сетям, эквивалентным исходным, то есть каждому пути в исходной сети будет соответствовать некоторый путь в преобразованной сети.
Рассмотрим процедуру агрегирования сети на примере, описывающем выполнение строительного проекта. При этом метод выполнения работ прият поточный, то есть строящийся объект разбивается на захватки. В рассматриваемом примере проект состоит из трех видов работ, выполняемых на трех захватках. Сетевое представление такого проекта приведено на рис. 5.
Сеть на рис. 5 не является агрегируемой, так как отсутствуют множества параллельно и последовательно выполняемых работ. Но если разбить вершину 3 на две, то в итоге появляются два множества последовательно выполняемых работ (это работы 2-3! и 3Г7, а также 2-32 и 32-4), и параллельно выполняемых работ: 2-32; 32-4 и работа 2-4. Соответствующий результат приведен на рис. 6.
Рис.6
Аналогично разбиваем вершину 7 на две, а затем вершину 6 на три. В результате такого преобразования получаем агрегированную сеть в виде последовательно выполняемых работ, представленную на рис. 7.
Рис.7
В данной сети работы (1 - 2) и (9 - 10) не являются агрегированными и поэтому их характеристики не изменились. Работа (2 - 9) является агрегированной. Используя агрегированную сеть можно построить искомую зависимость.
Учитывая особенности сетевого представления строительно-монтажных работ, выполняемых поточным методом, можно применить следующий алгоритм, который рассмотрим на приме-
ре. При этом предварительно следует отметить, что поточное производство работ может моделироваться с помощью матриц. Рассмотрим задание строительного проекта в виде матрицы, показывающей, взаимосвязь работ, подлежащих выполнению. В отличии от общепринятого представления в клетках матрицы будем указывать не продолжительности выполнения соответствующих работ, а необходимый объем финансовых ресурсов, то есть себестоимость работы (числитель) и сумму средств выплачиваемую Заказчиком, то есть цена работы (знаменатель). Соответствующие данные приведены в табл. 1.
Таблица 1
работы Номерзат хватки 1 работа 2 работа 3 работа
1 захватка 10/15 20/24 18/30
(1,5) (1,2) (1,67)
2 захватка 11/14 19/23 17/28
(1,27) (1,21) (1,65)
3 захватка 12/17 21/26 16/27
(1,42) (1,24) (1,69)
Сеть на рис. 5 и матрица в табл. 1 связаны следующим образом: первой работе (в матрице это первый столбец) будут соответствовать работы 1 -
2, 2 - 3 и 3 - 6 сети; вторая работа (второй столбец матрицы) - 2 - 4, 5 - 6 и 7 - 9; и третья работа - 5 -8, 8 - 9, 9 - 10.
Взаимосвязь работ по матрице определяется достаточно просто: параллельно могут выполняться работы лежащие на диагонали матрицы, то есть первая работа на 1 захватке должна выполняться первой (работа 1 - 2) и ни одна работа не может выполняться параллельно ей. Далее одновременно могут выполняться работы: вторая на 1 захватке и первая на 2 захватке (работа 2 - 3 и работа 2 - 4) и т. д.
Всего для завершения проекта требуется ресурсов в объеме 144, при этом объем полученных средств составит 204. Определяем таблицу возможных значений функции стоимости с(х). Минимальный размер затрат, необходимый для начала работ равен 10, а стоимость 15. Далее необходимо 21 единица ресурса, что соответствует 29 единицам стоимости (это соответствует выполнению первой работы на 1 и 2 захватках). Далее необходимо 30 ед. ресурса, что принесет 39 ед. дохода и т.д.
Таким образом, для построения функции стоимости необходимо перемещаться по диагоналям матрицы, приведенной в табл. 1. В каждой диагонали клетки располагаются по мере возрастания затрата, затем выбираются возможные значения затрат, представляющие все возможные комбинации из данных, находящихся на рассматриваемой диагонали. Результаты такого расчета представлены в табл. 2.
Таблица 2
Освоение г(х) 10 21 33 41 48
Стоимость с(х) 15 29 46 53 69
Для решения поставленной задачи можно предложить достаточно простой эвристический алгоритм:
Предварительный шаг. Находим эффективность выполнения каждой работы, то есть для каждой из работ находится отношение с(х)/г(х). Соответствующие данные приведены в каждой клетки матрицы табл. 1 в скобках. Находим необходимое количество ресурсов для выполнения всего проекта. В данном примере оно равно 144. Решение начинаем от нижней правой, то есть юговосточной, клетки матрицы.
^ый шаг. Проверяем, достаточно ли ресурсов для выполнения рассматриваемого комплекса работ. Если «да», вычисляем по матрице соответствующую стоимость выбранного комплекса работ. Для этой цели суммируем данные о стоимости работ по всем оставшимся клеткам, после чего вычисления прекращаются. Если «нет», то переходим к следующему шагу.
k+1-ый шаг. Переходим к следующей клетке матрицы. Выбор осуществляется согласно эффективностям, рассматриваемых работ, то есть выбирается для исключения наименее эффективная работа из всех допустимых, то есть лежащих на одной диагонали матрицы. Из общего количества ресурсов вычитаются ресурсы, необходимые для рассматриваемой работы, после чего происходит переход к к-му шагу.
Рассмотрим работу алгоритма на приведенном примере, считая, что предприятие для выполнения данного проекта не может выделить более 75 ед. ресурса.
Предварительный шаг. Рассматриваем юго-восточную клетку, соответствующую выполнению всего проекта. Для этого необходимо 144 ед. ресурса, что дает 204 ед. дохода.
1 шаг. Сравниваем количество имеющегося ресурса с необходимым, так как 144>75, переходим к следующему шагу.
2 шаг. Удаляем рассматриваемую клетку. При этом необходимо
144 - 16 = 128, что опять является большим по сравнению с наличным ресурсом.
3 шаг. Выбираем на рассматриваемой диагонали клетку с наименьшей эффективностью (клетка (3,2) матрицы) и определяем необходимое количество ресурса 12В - 21 = 107. Что вновь не соответствует ресурсным возможностям.
4 шаг. Выбираем следующую клетку. Необходимый ресурс равен 90 ед., что не соответствует ограничениям.
5 шаг. Переходим к следующей диагонали и выбираем из всех клеток, клетку с наименьшей эффективностью (это клетка (2,2) матрицы). Требуемое количество ресурсов 71 ед., что соответствует ресурсным ограничениям задачи. При этом будет получено 100 ед. дохода. Вычисления заканчиваются.
Полученное решение соответствует выполнению первого вида работ на всех захватках, а вторую и третью работы необходимо выполнить только на первой захватке.
Интересно отметить, что если бы работы велись в общепринятой последовательности, то есть необходимо было бы выполнить первую работу на всех захватках, а вторую работу на первой и второй захватках, то это соответствовало бы использованию 72 ед. ресурса и принесло 93 ед. дохода.
Литература
1. Моисеев И. Н. Математические задачи системного анализа. М.: Наука, 19В1.
2. Гермейер Ю. Б. Игры с непротивоположными интересами. М.: Наука, 19Ib. 3
3. Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи. М.: Мир, 1982.
4. Казарян С.С. Одна задача распределения ресурса на сети в игровой ситуации. ИТехническая кибернетика, № 3, 19ВЗ.
З. Бурков В.Н., Горгидзе И.А., Ловецкий С.Е. Прикладные задачи теории графов. Тбилиси: Мецниере-ба, 1974. - 234 с.
б. Алферов В.И., Баркалов С.А., Бурков В.Н., Курочка П.Н., Хорохордина Н.В., Шипилов В.Н. Прикладные задачи управления строительными проектами. - Воронеж «Центрально - Черноземное книжное издательство» 2008. - 712 с.
Воронежский государственный архитектурно-строительный университет Ростовский государственный строительный университет
MODEL OF MANAGEMENT IN VOLUMES OF THE WORK IN PROGRESS AT ANY COMMUNICATION BETWEEN WORKS OF THE PROJECT
P.N. Kurochka, G.G. Seferov
In work one of possible schemes of the description of such disputed situation is discussed, and be considered, that carried out by the executor for the Customer projects are presented by network schedules for which performance of works it is required certain quantity of a resource at the known guaranteed payment
Key words: a problem, object, manufacture, work