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

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

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

Текст научной работы на тему «Минимизация затрат в задаче календарного планирования проектов»

минимизация затрат в задаче календарного планирования проектов

А. А. Романова - доцент кафедры математики и информационных технологий Омского юридического института, кандидат физико-математических наук

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

Впервые научный подход к календарному планированию комплекса взаимосвязанных работ был применен в конце 50-х годов прошлого века. В 1958 г. в США при создании большой системы для управления разработкой и производством подводных лодок с ракетами Polaris была разработана технология PERT (Project Evaluation and Rewiew Technique). Параллельно с этим в интересах стро-

ительных фирм компанией Dupont был создан метод критического пути CPM (Critical Path Method). Данные методы учитывали лишь взаимосвязь работ, хотя работа чаще всего при своем выполнении требует наличия разного рода ресурсов (финансовых, сырьевых и т. п.), которые, как правило, в каждый момент времени ограничены некоторой величиной.

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

Задача календарного планирования с ограниченными ресурсами очень популярна среди рос-

сийских и зарубежных исследователей в области дискретной оптимизации. Данная тематика включена в программу работы многих известных конференций по исследованию операций. Среди ключевых работ по данной задаче можно выделить работы Гимади, Залюбовского, Севастьянова1, Сер-ваха2, Blazewicz, Lenstra, Rinnoy Kan3, Sprecher, Kolisch, Drexl4.

В данной работе рассматривается задача календарного планирования с ограниченными ресурсами и критерием минимизации затрат на приобретение ресурсов.

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

Рассмотрим задачу календарного планирования проектов в следующей постановке. Проект состоит из множества работ J = {1,..., n}. На множестве работ задан частичный порядок. Отношения порядка между работами представлены ациклическим вершинно-взвешенным графом G = (J, E), где J - множество вершин графа, соответствующих работам j е J, E -множество дуг графа, причем дуга (i, j) входит в E тогда и только тогда, когда работа i непосредственно предшествует работе j. Каждая работа j е J характеризуется списком Б. предшествующих работ и списком A. работ, следующих за j. Для всех работ j заданы длительности р. их выполнения. Пусть T - верхняя граница времени выполнения проекта. Таким образом, к моменту времени T необходимо завершить все работы проекта.

Каждая работа при своем выполнении потребляет ресурсы m видов. Известно qrj - потребление работой j ресурса вида r в каждый период времени ее выполнения, r = 1, ..., m; j =1, ..., n. В каждый период времени выполнения проекта нормальное потребление ресурса r ограничено величиной K™rm- Данное количество ресурса можно приобрести по цене c за единицу. Однако возможно потребление ресур са сверх нормы, но по увеличенной цене c°ver > c™"". такая ситуация может возникнуть на практике, если фирма по доставке сырья не может удовлетворить потребности проекта и необходимо делать дополнительный заказ в другой фирме или в другом городе.

Обозначим через s. неотрицательный целочисленный момент начала выполнения работы j. расписание определяется набором {s}"j=1 времен начала выполнения каждой из работ проекта. расписание называется допустимым, если выполняются все ограничения, обусловленные отношениями пред-

norm У

шествования, и время завершения всего проекта не превышает T.

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

Составим модель целочисленного линейного программирования (ЦЛП) задачи календарного планирования с критерием минимизации затрат на приобретение ресурсов.

Введем переменные:

11, если работа j завершается в момент t, 0, иначе,

t =EF, ..., LF.; j =1, ..., n;

j j j

yrt - нормальное потребление ресурса r в момент t; z rt - потребление ресурса r в момент t сверх нормы, r =1, ..., m; t =1, ..., T.

Здесь EF. и LF. - раннее и позднее время завершения работы j соответственно. При известном T данные величины вычисляются стандартным образом с использованием метода критического пути5. T m

£1(c"rormy„ + crzrt) ^ min

t=1 r =1 (1)

LF,

£ xJt = 1, j = l,...,n;

t=EF,

LF LFj

£ X < £ (t - Pj)xjt, (/, j) e E;

t=EF t=EFj

n t +Pj-1

£ £WjT^ yrt+zrt, t=1,...,T;r = 1,...,m;

j = 1 T=t

(2)

(3)

(4)

yrt < Kn;rm, t = 1,...,T; r = 1,...,m; (5)

LFn

£ txnt < T;

t=EEn

(6)

xt e (0,1} t = E jF }., j = 1,...,n; (7)

у„ > 0,> 0, X = 1,...,Т; г = \,...,ш. (8)

Целевая функция (1) представляет собой минимизацию затрат на приобретение ресурсов. Уравнение

1 См.: Гимади Э. Х., Залюбовский В. В., Севастьянов С. В. Полиномиальная разрешимость задач календарного планирования со складируемыми ресурсами и директивными сроками // Дискретный анализ и исследование операций. 2000. Сер. 2. Т. 7. № 1. С. 9-34.

2 См.: СервахВ. В. Эффективно разрешимый случай задачи календарного планирования с возобновимыми ресурсами // Там же. С. 75-82.

3 См.: Вlazewicz J., Lenstra J. K., Rinnoy Kan A.H.G. Scheduling subject to resource constraints: Classification and complexity // Discrete Applied Mathematics, 1983. Vol. 5. № 1. P. 11-24.

4 См.: Sprecher А., Kolisch R., Drexl A. Semi-active, active, and non-delay schedules for the resource-constrained project scheduling problem // European Journal of Operational Research, 1995. Vol. 80. P. 94-102.

5 См.: Гимади Э. Х., Глебов Н. И. Математические модели и методы принятия решений : учеб. пособие. Новосибирск : Изд-во НГУ, 2008. С. 91-92.

(2) гарантирует, что каждой работе j назначен ровно один момент времени завершения в пределах интервала [EFj, LFj]. Неравенство (3) обеспечивает соблюдение частичного порядка, т. е. работа j не может начать свое выполнение, пока не завершена предшествующая ей работа i. Ограничения (4), (5) связаны с потреблением ресурсов. Неравенство (4) гарантирует, что в любой момент времени каждого ресурса хватит на выполнение работ, а условие (5) задает ограничение на использование ресурса в пределах нормы. Неравенство (6) гарантирует завершение проекта к моменту времени Т.

Формулировка задачи в виде модели целочисленного линейного программирования позволяет использовать для ее решения многочисленные пакеты программного обеспечения. В частности, для тестирования данной модели применялся пакет CPLEX 11.0.

Однако размерность данной модели для крупномасштабных проектов очень велика, что приводит к невозможности применения к ее решению стандартных универсальных пакетов из-за ограничений по числу переменных и условий задачи. Нетрудно показать, что данная задача относится к классу трудноре-шаемых по классификации, предложенной М. Гэри и Д. Джонсоном6. В связи с этим основное внимание исследователей уделяется построению «быстрых» специализированных алгоритмов, дающих достаточно хорошее приближенное решение. Далее для рассматриваемой задачи предлагается алгоритм такого типа.

Приближенное решение задачи

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

Опишем алгоритм более формально.

Предварительный шаг. Присваиваем начальные значения переменным у г1 2 г( Полагаем At = 0 (вспомогательная переменная, отвечающая за величину временного сдвига, который мы должны обеспечить для выполнения условия завершения проекта в срок Т).

Шаг 1. Составляем последовательность рассмотрения работ согласно правилам (описаны ниже).

Шаг 2. Полагаем h = At. Просматриваем работы в заданном порядке и находим для каждой работы j время завершения предшествующих ей работ: хртд = тах(5( + pi). Ищем минимальный момент времени 'начиная с х такой, чтобы остаток каж-

дого ресурса с этого момента времени и на протяжении всего времени выполнения работы j был не меньше потребности работы в данном ресурсе.

• Если И = 0, то ставим работу j в расписание без сдвигов, то есть полагаем 5 = 1'.

• Если h > 0, то пытаемся сдвинуть работу j:

а) если 1' < хргес/ + h, то передвигаем работу j насколько возможно, чтобы не нарушить условие предшествования. Полагаем 5 = х . h = h - (1' - х );

] ргеа ' ртеа 7

б) если 1' > хргй + h, то передвигаем работу j насколько требуется и полагаем 5 = 1' - h, h = 0.

Обновляем переменные уп и остаток каждого ресурса в любой момент времени. После составления расписания проверяем, уложились ли мы в срок Т завершения проекта. Если данное ограничение выполняется, то процесс решения завершается - переходим на шаг 3. В противном случае необходимо «сжать» расписание. Увеличиваем А1 на время опоздания + pj)- Т и опять переходим на шаг 2.

Шаг 3. Вычисляем уг/ 2 л для полученного расписания и затраты на приобретение ресурсов.

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

Будем называть рангом работы наибольшее число предшествующих ей работ в цепочке от начала проекта. В терминах теории графов это наибольшее число вершин в цепи до данной вершины в графе G. Ранним временем начала выполнения работы называется момент времени, раньше которого работа не может быть начата из-за ограничений предшествования. Данные величины вычисляются по стандартным уравнениям Беллмана7.

На шаге 1 применяются два правила упорядочения работ: по неубыванию рангов работ (AR) и по неубыванию ранних времен начала их выполнения (АТ).

При совпадении рангов либо ранних времен начала работы упорядочивались: а) по невозрастанию потребностей в некотором ресурсе Ютах); б) по невозрастанию длительностей работ (Р ); в) по невозрастанию суммы длительности данной работы и всех следующих за ней работ ^ит).

Вычислительный эксперимент

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

В первой части вычислительного эксперимента решались серии 1-4 тестовых задач из электронной библиотеки PSPLib8. Серия i состоит из 15 задач с числом работ от 7 до 34 и числом ресурсов, равным i.

6 См.: Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи. М. : Мир, 1982.

7 См.: Гимади Э. Х., ГлебовН. И. Указ. соч.

8 См.: URL: http://129.187.106.231/psplib/

В качестве верхней границы времени выполнения проекта бралось значение Т = 1.2ЬВ, где ЬВ - нижняя граница времени выполнения проекта без учета ограничений на ресурсы.

Во второй части рассмотрены серии 5-8 задач из библиотеки PSPLib. Серия I состоит из 10 задач с числом работ п = 32 и с (/ - 4) видами ресурсов. В

Результаты вычисли

качестве Т бралось значение нижней границы длины расписания.

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

Таблица 1

льного эксперимента

Серия AR ARQmax ARPmax ARSum AT ATQmax ATPmax ATSum

1 2,73 2,85 2,97 2,53 3,88 3,93 4,83 4,12

2 4,76 4,89 5,54 4,31 6,29 5,52 5,55 5,65

3 6,22 6,33 7,09 5,69 7,46 6,98 7,80 6,86

4 6,51 6,38 7,44 6,13 7,51 6,42 7,35 6,71

5 2,75 2,18 3,20 1,28 2,20 2,21 2,36 2,01

6 5,01 5,15 5,78 3,54 3,93 3,93 4,55 2,89

7 4,85 4,85 5,62 3,27 4,01 4,05 4,87 2,47

8 7,77 7,84 8,33 7,23 7,70 7,70 7,67 7,33

Жирным шрифтом выделено наименьшее отклонение для каждой серии задач. Таким образом, наилучшие результаты для всех серий задач показал алгоритм нахождения приближенного решения с процедурой упорядочивания Sum. Заметим, что среднее отклонение для задач с одним ресурсом не превосходит 4,83 %, для задач с двумя ресурсами - 6,29 %, с тремя ресурсами - 7,80 % и для задач с четырьмя ресурсами - 8,33 %.

В заключение отметим основные результаты работы. Для задачи календарного планирования с

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

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