A.B. КАТАЕВ, Т.М. КАТАЕВА
ОПТИМИЗАЦИЯ ДЛИТЕЛЬНОСТИ ВЫПОЛНЕНИЯ ПРОЕКТА ЗА СЧЕТ ВЫБОРА ИСПОЛНИТЕЛЕЙ РАБОТ: МАТЕМАТИЧЕСКИЕ МОДЕЛИ И МЕТОДИЧЕСКИЕ
ПРИЕМЫ
В статье предложены и описаны математи- нелинейного программирования. Приводятся менее кие модели минимизации времени выполнения тодические рекомендации, позволяющие точно ре-проекта за счет оптимального выбора и назначе- шить поставленные задачи без применения приб-ния исполнителей работ. Даны постановки задач лишенных алгоритмов. и примеры описания их как моделей линейного и
Оптимизационные модели, критерии времени и стоимости, матрицы времени и стоимости выполнения работ, план распределения исполнителей по работам, целочисленные методы решения модели
Особую роль в управлении проектами играют научные методы, позволяющие оптимально распределять ресурсы в целях успешного и эффективного осуществления проекта с выполнением различных требований. Теорией и практикой исследования операций предложен целый ряд методов, моделей и алгоритмов, ориентированных на улучшение и оптимизацию проектов по различным критериям. В данной статье рассматривается задача минимизации времени выполнения проекта за счет выбора и назначения исполнителей работ.
Рассмотрим следующую постановку задачи. Пусть имеется представленный в виде сетевой модели проект, в котором известны только взаимосвязь работ и требования к результатам работ и всего проекта в целом. На выполнение работ претендуют п различных исполнителей, каждый из которых обязуется выполнить полностью отдельные работы за определенное время / со стоимостью с. Причем некоторые исполнители готовы выполнить работы только в определенный период времени. Требуется выбрать (назначить) исполнителей работ таким образом, чтобы минимизировать длительность выполнения проекта и не превысить выделенный бюджет (Ст).
Далее рассмотрим построение оптимизационных моделей на примере сетевого графика выполнения
условного проекта (см. рисунок).
Обозначения на рисунке: • Тр) - ранний срок наступления события 5. Это время, которое необходимо для выполнения всех работ, предшествующих данному событию 5. Оно равно наибольшей из продолжительности путей, предшествующих данному событию;
• Tn(s) - поздний срок наступления события s. Это такое время наступления события s, превышение которого вызовет аналогичную задержку наступления завершающего события сети;
• R(s) - резерв времени наступления события s. Это такой промежуток времени, на который может быть отсрочено наступление события s без нарушения сроков завершения проекта в целом. R{s )= Tn (s )- Tp (s ) ;
• P(k,g) - работа (k, g), где k - номер начального события работы, a g - номер конечного;
• t(k,g) - время выполнения работы P(k,g).
К наиболее важным временным параметрам работ
относятся:
• TpH (k, g ) - ранний срок начала работы;
• TnH (k, g) - поздний срок начала работы;
• Tpo(k, g) - ранний срок окончания работы;
• Tno(k,g) - поздний срок окончания работы;
• Rn (k, g) - полный резерв работы, показывающий максимальное время, на которое может быть увеличена продолжительность работы (k,g) или отсрочено ее начало, чтобы продолжительность проходящего через нее максимального пути не превысила продолжительности критического пути;
• Rc(k,g) - свободный резерв работы, показывающий максимальное время, на которое можно увеличить продолжительность работы (k,g) или отсрочить ее начало, не меняя ранних сроков начала последующих работ. Использование свободного резерва одной из работ не меняет величины свободных резервов остальных работ сети.
Как известно, временные параметры работ сетевой модели можно рассчитать на основе ранних и
поздних сроков событий и длительностей этих работ:
1) TpH (k, g ) = Tp (k ) ;
2) Tpo(k,g)= Tp(k)+ t(k,g) или Tpo(k,g)= Tp„(k,g)+ t{k,g) ;
3) Tno(k, g)= Tn(g) ;
4) Тпн{к,¿) = Тп1{к,g) или Тпн (к, g ) = Тпо (к, g)-/(к, g);
5) Яп(к,g) = Тп^)-Тр(к)-/(к,g);
6) Яс(к,g)= Тр(g)-Тр(к)-/(к,g).
Зная временные параметры событий и резервы времени у работ, можно найти длительность работы:
Тр{£)- Тр (к)-яс Ы. (1)
Воспользовавшись этой формулой, запишем си:-тему уравнений, описывающих топологию сети, приведенную на рисунке:
Тр(2)-Тр(1)-Яс(1,2)= /(1, 2); <Тр(3)-Тр (2)-Яс (2,3) = /(2,3); (2)
ТР (3)" Тр (1)-Яс (1,3) = / (1,3).
Зная значения длительностей работ / (к, g) и принимая время начального события равным нулю, находим все остальные неизвестные путем решения следующей модели математического программирования:
L = Tp (3)
^ min
(3)
Тр (2)- ТР (1)-Яс (1,2 )= / (1,2);
Тр(3)" Тр (2)-Яс (2,3) = /(2,3);
• Тр (3)-Тр (1)-Яс (1,3) = / (1,3);
Тр (1)= 0;
Тр ^) > 0; Яс (к, g)> 0.
Теперь рассмотрим случай, когда на выполнение каждой из работ претендуют четверо исполнителей, которые обязуются выполнить отдельные работы за различное время и с различной стоимостью (см. таблицу).
Учитывая, что Яс (к, g) (резерв) может быть высчитан после решения модели, и в целях уменьшения количества неизвестных и устранения знака «=», перепишем модель (3) в виде:
L = Tp (3)
^ min
(4)
\Tp (2)" Tp (1)-1 (1,2) > 0; Tp (3)" Tp (2)-1 (2,3) > 0; Tp (3)" Tp (1)-1 (1,3)> 0;
Tp (1) = 0;
Tp(5) > 0; t(k, g)> 0.
Тогда план распределения исполнителей по работам, при котором достигается минимальное время выполнения проекта, можно получить, решив следующую модель:
L(X) = Тр (3) ^ min
Tp(2)-Tp(1)- (tj (1,2)x„ +12(1,2К: +13 (1,2)x31 +14(1,2)x41) > 0; Tp(3)" TP (2)"(t1(2,3)x12 +12(2,3)x
22 Tt3 Y-> / 32 +14 i2,3)x42)> 0;
Tp (3)-TP (1)-(t1(1,3)x13 +12 (1, 3)x23 +13 (1,3)^33 +14 (1,3)x43 )> 0;
x11 + X21 + X31 + X41 ~ 1;
. = 1;
(5)
13 23 Tp (1)=0;
xv = - ^
Тр > 0; / , (к, ^ 0.
В общем виде эта модель с добавлением ограничения по суммарной стоимости проекта выглядит следующим образом:
Ь{Х )= ТР(^тах ) ^ т^П
( п \
tр(g)-tp(k)- Еt.kg)xv
V>=1
T p (1 )=0;
lLx j = 1 (J = !,m ),
> 0 =
(j = l,m );
(6)
n m
jxj<= Cm;
t=\ j=1
xj = (1 = i,n;j = i,m);
Tp (5) > 0; t. (k, g )> 0,
Мат
)ицы времени (T) и стоимости (C) выполнения работ исполнителями
Исполнители Работы
Р(1, 2) или Р1 Р(2, 3) или Р2 P(1, 3) ИЛИР3
Время выполнения работ (T)
И1 t1 (1, 2) t1 (2,3) t1 (1,3)
И2 t2 (1, 2) t2 (2,3) t2 (1,3)
И3 ts (1,2) ta (2,3) t3 (1,3)
И4 t4 (U) t4 (2,3) t4 (1,3)
Стоимость выполнения работ (С)
И1 С (1,2) С (2,3) С (2,4)
И2 С2 (1,2) C2 (2,3) C2 (2, 4)
И3 С3 (1,2) C3 (2,3) С (2,4)
И4 С4 (1,2) C4 (2,3) C4 (2, 4)
где Tp (s) - ранний срок наступления события s, т.е. время, которое необходимо для выполнения всех работ, предшествующих данному событию s; Tp (k) и Tp (g) - ранние сроки наступления начального и конченого события для работы P{k,g); ti (k,g) - время выполнения работы P{k, g) i-м исполнителем;
Cm - максимальная стоимость выполнения проекта; Tmax - максимальная длительность выполнения всего
заказа;
Tp(Smax) - срок наступления конечного для проекта
СОбыТИЯ Smax.
Численный пример задачи в постановке (6) с решением с помощью MS Excel («Поиск решения») подробно описан в [1].
Модель (6) не учитывает тот факт, что определенные исполнители могут начать и закончить работы только в определенные периоды времени. Для учета этого ограничения необходима информация от каждого исполнителя по возможным срокам начала Тнг(k,g) и окончания Ткг(k,g) работы, т.е. период времени, когда исполнитель готов выполнить работу. Если же таких периодов несколько, тогда в рамках описываемых моделей и ограничений рекомендуется добавлять «новых» исполнителей для каждого интервала. Если же ограничений на период времени конкретный исполнитель не выдвигает, тогда следует Тнг (k, g) задать нулевое значение, a TKi (k, g) -заведомо большое значение.
Зная Тнг (k, g) длякаждого исполнителя, можно записать по каждой работе ограничение следующего ввда:
( n Л , _ч
Тр(k)- £Тнг (k,g)xi] >0; (j = 1,m). (7)
V г=1 /
Возможное окончание работы TKi (k, g) записы-
; (j=im). (8)
вается ограничением:
Г-П \ ( п Л
тР (к)+ X ь (к, g К- - X7*г к 8)хч
V г =1 / V 1=1 )
В неравенстве (8) не учтены возможные свободные резервы времени у работ, получаемые при решении модели и конечном расчете сети. Например, при использовании этого ограничения может быть подобран исполнитель, который начнет работу точно в Тр (к) и выполнит за время (к^), но у него не
останется свободного времени в случае необходимости сдвинуть работу при Тп(я)>Тр(к) + (к,g). Для устранения этого недостатка в модель (6) в качестве неизвестных вводятся свободные резервы работ Яс(к,g). Тогда ограничение запишется в виде:
' п Л / п Л , _,
Т(к)+ X(к,gЬ + Кс(к,ЕТк'(k'gЬ-;и = 1,т)(9)
Vi=i
Vi=i
либо
Tp (k)+ jr (t, (k, g)-Тк, (k, g ))xy + Rc (k, g )< 0;(j = 1,m )(10) V i=1 /
Тогда модель с ограничениями по возможным начальным и конечным срокам выполнения каждой работы исполнителем выглядит следующим образом:
L(X) = ТР (Smax) ^ min
( n \ . _,
Tp(g)-Tp(k)- ^t,(k,g)xl} -Rc(k,g)= 0 (j= 1,mJi
V i=i
Tp (l) = 0;
P*
n m
> 0; (j = l,m)
XXсухУ <=Ст;
г=1 ]=1
( п
Тр (к)- X Тнг (к,g.
\ г=1
( п Л . _,
ТР (к) + X (1- (к, g)" Тк г (к, g ))хц + Яс (к, g )< 0; = 1,т)
V'=1 )
Ьи =1 (¡= 1,т);хч =-{0,11 = ии = 1,т);
г= 1 ^ 5
Тр (5) > 0; Яс (к, g)> 0.
Модели (6) и (11) должны решаться целочисленными методами, т.е. хг]- - целые (0 или 1). В модели
могут быть включены ограничения на невозможность (отказ, запрет) или предпочтение выполнения работ г-м исполнителем ]-й работы, т.е. для отдельных работ прямо можно указать, что X] = 0 (запрет) или
X] = 1 (предпочтение).
В целом модель (11) описывает общий случай оптимального распределения исполнителей по работам, учитывая:
- взаимосвязь работ и событий;
- периоды времени, когда исполнитель может выполнить работу с заявляемыми параметрами (возможные сроки начала и окончания планируем ых работ);
- время и стоимость выполнения отдельных работ и проекта в целом;
- невозможность выполнения работ тем или иным исполнителем.
Далее модель (11) может в случае необходимости включать ограничения по компетенциям и надежности исполнителей. Например, на базе модели (6) ранее нами предлагался вариант многокритериальной оптимизации проекта, учитывающий компетенции исполнителей [2]. Модели (6) и (11) также легко преобразуются и решаются в случае минимизации стоимости проекта с ограничением максимального времени.
Следует также помнить, что использование данных моделей носит рекомендательный характер и в каждом случае их применения необходима интерпретация результатов и их корректировка согласно особенностям конкретного проекта.
В заключение следует отметить, что не всегда модель минимизации длительности проекта за счет
(ll)
выбора исполнителей имеет оптимальное решение. Как и любая модель математического программирования, данная задача может не иметь решений при указанных ограничениях. В таком случае необходимо либо ослабить ограничения, либо искать новых исполнителей работ.
ЛИТЕРАТУРА
1. Катаев A.B. Виртуальные бизнес-организации. СПб.: Изд-во политехнического университета, 2009. 120 с.
2. Катаев A.B. Информационные системы и модели оптимизации распределения заказов в партнерской сети виртуального предприятия // Прикладная информатика. 2007. №5 (11). С. 11-22.