УДК 519.854 Т.А. Щербинина
Омский государственный университет им. Ф.М. Достоевского, г. Омск
ОБ ОДНОЙ ЗАДАЧЕ КАЛЕНДАРНОГО ПЛАНИРОВАНИЯ СО СКЛАДИРУЕМЫМИ РЕСУРСАМИ И КРИТЕРИЕМ ЧИСТОЙ ПРИВЕДЕННОЙ ПРИБЫЛИ
В настоящее время в теории и на практике возникает множество разнообразных задач календарного планирования проектов с учетом ограничений на ресурсы. Под проектом будем понимать множество взаимосвязанных работ, выполнение которых направлено на достижение определенной цели. Взаимосвязь между работами задается технологией выполнения проекта. Каждая работа характеризуется длительностью и некоторыми ресурсными требованиями. Необходимо, с учетом ограничений на ресурсы, определить сроки выполнения работ проекта, при которых значение целевой функции оптимально.
Задачам календарного планирования проектов с учетом ограничений на ресурсы посвящено множество работ [4, 7]. Если ресурсы возобновимые, то задача календарного планирования проектов с ограниченными ресурсами ЫР-трудна в сильном смысле [5]. Для задачи с ресурсами складируемого типа и критерием общего времени завершения всего проекта предложен полиномиальный алгоритм [1]. В работе [6] доказано, что задача календарного плани-
126
рования со складируемыми ресурсами и критерием общего времени завершения работ проекта при наличии работ с отрицательными потребностями является ЫР-трудной в сильном смысле. В работе [2] показано, что задача с критерием чистой приведенной прибыли ЫР-трудна в сильном смысле даже при отсутствии реинвестирования дохода.
В данной работе рассматривается задача календарного планирования проектов с одним видом складируемого ресурса и критерием чистой приведенной прибыли. Имеется проект,
который состоит из множества взаимосвязанных работ V = {1,2,... Ы}. Взаимосвязь между работами задается отношениями предшествования вида I ^ ] , где работа ] не может начать свое выполнение до завершения работы I.
Данная структура может быть представлена ориентированным ацикличным графом
О = (V, Е),
где V - множество вершин, а
Е = {(¿,_/) | ¿,] е V, / ^ j} - множество дуг. При выполнении работ используется один тип
складируемого ресурса. На период планирования Т на начало интервала времени р, 1+1) имеется qt единиц складируемого ресурса, где ¿=0,1,...,Т-1. Каждая работаj еVхарактеризуется длительностью pJ е2+. Работа как потребляет финансовые ресурсы, так и генерирует их.
Обозначим через е/п) - платеж работы J в момент времени п, п=0,1,..., pJ. Причем, если е/п) <0, то в момент п для выполнения работы требуются соответствующие капиталовложения, а если е/п) >0, то выполнение данной работы приносит доход. Последовательность величин ( еJ(0), е/1),..., еJ(pJ)) называется потоком поступлений работы j е V. Пусть NPVj
е
---
=I '
(О
- чистая приведенная прибыль работы ] е V, г0
цена капитала на рынке, или
t=0 (1 + Г0 У
базовая процентная ставка. Если NPVj > 0, то работа называется прибыльной. Предполагается, что все работы выполняются непрерывно.
Требуется определить допустимое расписание выполнения работ проекта 8=^-\_, ¿2,..., ¿Ы), с учетом технологического порядка и ограничений на ресурсы, при котором чистая приведенная прибыль проекта максимальна:
ЫР1'(8) = I ^ тах,
при условии:
j е V
(1 + го У.1
cj (х - sj) t=0 о
1 (1 + г )t
+I I
t=0 ]'еЫг (1 + Г0 )t > 0, t = 0,1,_, Т;
+ Р1 < s j,
(л /)еЕ;
х+1).
Где
s j е {0,1, ,Т }
Ых = { е V | s j < / < s j + р j } - множество работ, выполняемых в интервале
*
*
t
Т
❖
О Убыточные работы ф Прибыльные работы быльных работ.
В работе [3] для решения задач ного планирования был предложен алгоритм динамического программирования. Основная идея заключается в переборе всевозможных состояний выполнения работ проекта, и для каждого состояния по рекуррентной формуле вычисляется лучшее допустимое частичное расписание. В настоящей работе предложена модификация алгоритма динамического про- граммирования решения задачи календарного планирования с фиксированным числом при-
Введем основные понятия. Разобьем частичный порядок выполнения работ на непере-секающиеся цепи. Пусть получилось К цепей. Через ¡к обозначим число работ в цепи к, а через jl , j2 , ..., jik - последовательность работ этой цепи, к=1,2, ... ,К. Обозначим через В7к
7
сумму длительностей первых ¡ работ цепи к, то есть
В7к
I
а через Вк - суммарную
I=1 1
длительность работ цепи к, к=1,2,...,К. Текущее состояние выполнения работ цепи к будем задавать величиной хк. Если хк = 0, то работы этой цепи еще не начали свое выполнение. Если хк = Вк, то все работы этой цепи уже завершены. Промежуточное значение хк означает, что общее время выполнения работ этой цепи, без учета простоев, составило хк и требуется еще Вк - хк единиц времени для их завершения. Вектор х=(х1,х2,.,хк) будем называть состоянием.
Определим основные элементы алгоритма динамического программирования: множество всех состояний Х=(х=(х1,х2,.,хК)| хк е {0,1,...,£к}, к=1,2,...,К}, начальное состояние 0=(0,0,...,0), конечное состояние В=(В1,В2,.,ВК). Переход между состояниями задается булевыми векторами
5 =( 51,52,.,5к). Процесс перехода соответствует одновременному выполнению в единичном временном интервале работ тех цепей, для которых 5к = 1. При этом переход из состояния х в состояние х + 5 называется допустимым, если сохранено отношение предшествования между работами и выполнены соответствующие ресурсные ограничения. Обозначим множество допустимых управлений, приводящих в состояние х, через Дх.
Для задачи календарного планирования с критерием чистой приведенной прибыли схема требует модификации, так как в этом случае стоимость перехода х ^ х + 5 зависит не только от состояния х, но и от времени, когда это состояние достигается. Поэтому для выписывания рекуррентного соотношения приходится расширять множество состояний. Расширенным состоянием будем называть вектор (Х,х1,х2,.,х„), который означает, что состояние х было достигнуто в момент времени Х. Через Щ, х) обозначим оптимальное значение целевой функции для частичного расписания, соответствующего состоянию (X, х). Через Б(Х, х) обозначим множество работ, начавших свое выполнение в момент времени X.
Получаем следующее рекуррентное соотношение:
Ц0, 0)=0; Щ, х)=
х
тах
Г
\ — 1, х — ^) + I
ЖУ]
\
|, х є X \ {0}, t = 1,2,...,Т.
бєА
Іє^ (—1,х)(1 + г0 У—1 1
128
Трудоемкость алгоритма составляет 0(2К ТВ1В2-. -Вк).
На практике довольно часто встречаются проекты работ, в которых сначала выполняются убыточные работы, а после них - прибыльные работы. Пример данного проекта представлен на рисунке.
Для нахождения решения задачи календарного планирования с частичным порядком данного вида предлагаем следующий алгоритм. Применяем алгоритм динамического про-
t ^ ран ^ где ран —
граммирования только для прибыльных работ, причем
[_ V
є
ранний
момент начала выполнения работы j е V, без учета ограничений на ресурсы. После того как будет определено расписание прибыльных работ с помощью алгоритма динамического программирования, расписание убыточных работ найдем алгоритмом нахождения ранних моментов начала выполнения работ.
Библиографический список
1. Гимади, Э. Х. Полиномиальная разрешимость задач календарного планирования со складируемыми ресурсами и директивными сроками / Э. Х. Гимади, В. В. Залюбовский, С. В. Севастьянов // Дискретный анализ и исследование операций. -Новосибирск, 2000. - Сер. 2. -Т. 7, №.1. - С. 9-34.
2. Сервах, В. В. О сложности одной задачи календарного планирования со складируемыми ресурсами / В. В. Сервах, Т. А. Щербинина // Вестник НГУ. Сер. Математика, механика, информатика. - 2008. - Т. 8, вып. 3. - C. 105-111.
3. Сервах, В. В. Алгоритмы решения задач календарного планирования проектов с различными критериями / В. В. Сервах, Т. А. Щербинина // XIV Байкальская международная школа-семинар «Методы оптимизации и их приложения». - Иркутск, 2008. - С. 506-512.
4. Resource-constrained project scheduling: Notation, classification, models, and methods / Brucker, P., Drexl A., Mohring R. [et al.] // European Journal of Operational Research. - 1999. - V. 112. - P.3-41.
5. Garey, M. R. Complexity result for multiprocessor scheduling under resource constraints / Garey, M. R., Johnson D. S. // SIAM J. Comput. - 1975. - V. 4, №. 4. - P. 397-411.
6. Gimadi, E. On solvability of the project scheduling problem with accumulative resources of an arbitrary sign / Gimadi, E., Sevastianov S. // Operations research Proceedings, Springer. -2002. - P. 241-246.
7. Herroelen, W.S. Project network models with discounted cash flows a guided tour through recent developments / Herroelen, W. S., Van Dommelen P., Demeulemeester E. L. // European Journal of Operational Research. - 1997. - V.100. - P. 97-121.