УДК 519.854 А.А. Романова
Омский государственный университет им. Ф.М. Достоевского, г. Омск
ИССЛЕДОВАНИЕ ОДНОЙ ЗАДАЧИ КАЛЕНДАРНОГО ПЛАНИРОВАНИЯ СО СКЛАДИРУЕМЫМИ РЕСУРСАМИ
1. Постановка задачи
Теория расписаний и календарное планирование являются одними из важных и интересных направлений в области оптимизации и в настоящее время переживают период бурного развития. Это связано, прежде всего, с появлением принципиально новых видов продукции, технологий, интенсификацией производства, его непрерывным обновлением и совершенствованием.
Рассмотрим постановку исследуемой в работе задачи. Имеется проект, состоящий из множества взаимосвязанных работ V = {1,..., n}. Для каждой работыj е Vизвестна длительность ее выполнения pj е Z+. Прерывания выполнения работ не допускаются. Связи между работами задаются технологией выполнения проекта и определяются отношениями предшествования вида i ^ j. Это означает, что работа j не может начаться до завершения работы i. Такую взаимосвязь можно изобразить с помощью ациклического ориентированного графа G = (V, E), в котором вершины соответствуют работам, а дуги - отношениям предшествования. Дуга (i, j) е E тогда и только тогда, когда работа i является непосредственным предшественником работы j. Также задан директивный срок T выполнения проекта, к которому все работы должны быть завершены.
Для выполнения работ требуются складируемые ресурсы m видов. Складируемым будем называть ресурс, если он, будучи неистраченным в момент времени t, может быть использован в любой другой момент t1 > t. Примером могут служить какие-либо долгохраня-щиеся материалы (например, бетонные плиты, деревянные брусья и т.п.) или деньги в краткосрочном периоде. Известна потребность qrj работы j в ресурсе вида r в каждый период времени ее выполнения, r = 1, ., m; j =1, ., n.
Задачи календарного планирования со складируемыми ресурсами исследуются многими учеными. В [2] показана полиномиальная разрешимость данной задачи с критерием минимизации общего времени выполнения работ Cmax. В [6] доказано, что задачи с критериями минимизации среднего времени завершения работ Cz и максимизации чистой приведенной прибыли NP-трудна в сильном смысле. Нужно заметить, что задача с рассматриваемым в работе критерием и возобновимыми ресурсами также NP-трудна в сильном смысле [4,5].
Перейдем к критерию оптимизации, рассматриваемому в работе. Ресурсы для выполнения работ проекта необходимо приобретать. В силу целочисленности длительностей работ будем считать, что закупка ресурсов производится в целочисленные моменты времени. При
norm
этом если объем покупаемого в некоторый момент времени ресурса r не превышает Vr
norm
, то
его можно приобрести по обычной цене Cr
за единицу. При превышении этого уровня
устанавливается новая цена
C
over r
за единицу ресурса. Будем считать, что
C
>
over r
C
norm r
. Та-
88
кое происходит, например, если поставщик не может предоставить весь требуемый объем ресурса и, в свою очередь, сам приобретает его у какой-либо фирмы.
В работе исследуются две постановки данной задачи - с неограниченным складом, когда мы можем хранить любое количество ресурса в каждый момент времени; и с ограниченным - когда в каждый момент времени можем хранить лишь определенное количество ресурса каждого вида.
Расписание S определяется набором {s
}
n
j j=1
времен начала выполнения каждой из работ проекта. Кроме самого расписания, необходимо знать план закупок ресурсов, а именно величины brt - объем закупаемого ресурса r в момент времени t, r = 1, m; t = 0, T -1.
Расписание и план закупок определяют допустимое решение, если выполняются все ограничения предшествования, время завершения всего проекта не превышает T, и суммарный объем потребления каждого ресурса к моменту времени t не превосходит объема закупленного ресурса к этому моменту, t = 0,1,., T. Для постановки с ограниченным складом к определению допустимого решения добавляется ограничение на использование склада: в каждый момент времени объем свободного ресурса не должен превышать объема склада, выделенного для данного вида ресурса.
Рассматриваемая задача заключается в нахождении допустимого решения, при котором суммарные затраты на приобретение ресурсов минимальны.
В данной работе показано, что в случае неограниченного склада задача полиномиально разрешима; построен соответствующий алгоритм. В случае ограниченного склада доказана NP-трудность в сильном смысле; предложен алгоритм нахождения приближенного решения задачи.
2. Случай неограниченного склада
Введем понятие Т-позднего расписания [1]. Допустимое расписание
ST =
1
(sT ,...,
n
sT )
назовем T-поздним, если любая работа завершается не позже момента T, и увеличение любо-
s
j
T
го момента
приводит к нарушению хотя бы одного из условий допустимости. Т-позднее
расписание может быть найдено за полиномиальное время, например, с помощью известного алгоритма Форда за время O(n2). Алгоритм трудоемкости O(n) описан в [1].
В работе показано, что существует оптимальное решение рассматриваемой задачи, в
котором работы выполняются в соответствии с Т-поздним расписанием. Опишем более подробно предлагаемый алгоритм при m = 1. Детали реализации процедуры вычисления объема потребляемого ресурса в каждый момент времени опустим. Нетрудно показать, что это можно сделать за полиномиальное время.
Алгоритм 1.
Шаг 1. Находим Т-позднее расписание работ. Из моментов начала и конца всех работ составляем упорядоченный по неубыванию массив М.
Шаг 2. Цикл по всем элементам массива М:
Берем очередной элемент. Если это момент времени, когда суммарное потребление ресурса меньше нормы, тогда вычисляем количество ресурса, который можно закупить по обычной цене и отправить на склад. В противном случае пытаемся покрыть потребление ресурса сверх нормы за счет накопленного на складе. По мере прохождения по массиву М в переменную Q запоминаем суммарный объем ресурса, взятый со склада.
Шаг 3. Еще одним проходом по массиву M вычисляем моменты времени, когда можно закупить ресурс на склад, и приобретаем его в необходимые моменты времени (суммарно в количестве Q).
89
Конец алгоритма.
Алгоритм легко обобщается на случай нескольких ресурсов. Его достаточно применить для каждого ресурса. При этом трудоемкость увеличится в m раз, где m - число ресурсов. В работе доказана следующая
Теорема 1. Алгоритм 1 находит оптимальное решение задачи календарного планирования с критерием минимизации затрат на приобретение ресурсов складируемого типа в случае увеличения цены ресурса, покупаемого сверх нормы, за O(n2m) операций.
3. Случай ограниченного склада.
Ранее мы предполагали, что в каждый момент времени мы можем хранить неограниченное количество ресурса на складе. Однако в реальной жизни склады имеют определен-
г
ную вместимость. Пусть в каждый момент времени мы можем хранить не более V ш',е
единиц
ресурса г, г = 1, т.
Исследуем сложность данной задачи.
Теорема 2. Задача календарного планирования с критерием минимизации затрат на приобретение ресурсов складируемого типа в случае увеличения цены ресурса, покупаемого сверх нормы, при ограниченном складе ЫР-трудна в сильном смысле даже в случае работ единичной длительности.
Доказательство проводилось с помощью полиномиального сведения КР-трудной в сильном смысле задачи «3-Разбиение» [3] к рассматриваемой.
Как известно, при исследовании труднорешаемых задач большое внимание уделяется построению полиномиальных специализированных алгоритмов, дающих достаточно хорошее приближенное решение. Далее для рассматриваемой задачи предлагается алгоритм такого типа.
Алгоритм 2.
Шаг 1. С помощью алгоритмов Форда находим ранние и поздние моменты начала вы-
Т
Т
1
2
1
полнения работ 1 и
соответственно. Упорядочиваем работы по неубыванию ранних моментов их начала. Момент начала первой работы полагаем равным 0, момент ее окончания -
равным p\.
Шаг 2. Цикл по всем работам j от 2 до n.
Берем очередную работу j. Полагаем момент начала ее выполнения равным
j
T 1 . Если
norm
в этот момент времени суммарное потребление ресурса r не превосходит величину Vr для
всех r = 1,.,m, и не нарушены условия предшествования, переходим к следующей работе, в противном случае момент начала данной работы полагаем равным
j
гр 2
T , а также переопределяем, если необходимо, ранние моменты начала выполнения работ, следующих за данной.
Шаг 3. Делая проход по составленному расписанию, считаем суммарное потребление ресурса сверх нормы. Затем, начиная с нулевого момента времени, пытаемся запасти как можно больше ресурса на складе по обычной цене, следя за тем, чтобы суммарный объем
каждого вида ресурса r в течение всего времени выполнения проекта не превышал По построенному расписанию строим план закупок.
Конец алгоритма.
r
V save
Трудоемкость алгоритма 2 равна O(mn3) операций. Алгоритм 2 реализован, проведен вычислительный эксперимент для анализа его работоспособности на задачах различной размерности и оценки погрешности получаемого решения. Были решены задачи из известной электронной библиотеки тестовых примеров PSPlib с числом работ от 30 до 90 и числом ресурсов от 2 до 4. Время работы алгоритма составило не более 10 секунд даже для задач большой размерности. При этом погрешность полученных решений составила не более
11,3 %.
90
Библиографический список
1. Гимади, Э. Х. Математические модели и методы принятия решений : учеб. пособие /
Э. Х. Гимади, Н. И. Глебов ; Новосиб. гос. ун-т. - Новосибирск, 2008.
2. Гимади, Э. Х. Полиномиальная разрешимость задач календарного планирования со складируемыми ресурсами и директивными сроками / Гимади Э. Х., Залюбовский В. В., Севастьянов С. В // Дискретный анализ и исследование операций. Сер. 2. - 2000. - № 1. - С. 9-34.
3. Гэри, М. Вычислительные машины и труднорешаемые задачи / М. Гэри, Д. Джонсон. -М. : Мир, 1982.
4. Романова, А. А. Минимизация затрат в задаче календарного планирования проектов /
А. А. Романова // Вестник Омского юридического института. - 2010. - № 2(13). - С. 127-130.
5. Романова, А. А. О задаче календарного планирования с критерием минимизации затрат на приобретение ресурсов / А. А. Романова // Информационный бюллетень Ассоциации мат. программирования. - Екатеринбург : УрО РАН, 2011. - № 12. - C. 130-131.
6. Сервах, В. В. О сложности одной задачи календарного планирования со складируемыми ресурсами / В. В. Сервах, Т. А. Щербинина // Вестник НГУ. Сер. Математика, механика, информатика. - 2008. - Т. 8, вып. 3. - C. 105-111.