Научная статья на тему 'Эффективно разрешимые случаи задачи календарного планирования с переменной интенсивностью потребления и поступления ресурсов нескладируемого типа'

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

CC BY
154
21
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КАЛЕНДАРНОЕ ПЛАНИРОВАНИЕ / НЕСКЛАДИРУЕМЫЕ РЕСУРСЫ / NONACCUMULATIVE RESOURCES / ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ / DYNAMIC PROGRAMMING / ПОЛИНОМИАЛЬНАЯ РАЗРЕШИМОСТЬ / POLYNOMIAL SOLVABILITY / ПСЕВДОПОЛИНОМИАЛЬНАЯ РАЗРЕШИМОСТЬ / PSEUDO-POLYNOMIAL SOLVABILITY / PROJECT SCHEDULING

Аннотация научной статьи по математике, автор научной работы — Еремеев Антон Валентинович, Коваленко Юлия Викторовна

Рассматривается NP-трудная в сильном смысле задача календарного планирования с ограничениями на ресурсы нескладируемого типа и порядок выполнения работ. Особенностью постановки является то, что интенсивности потребления ресурсов работами могут меняться в процессе их выполнения и наличие ресурсов зависит от момента времени. Доказано, что если ширина заданного на множестве работ частичного порядка ограничена константой, то задача псевдополиномиально разрешима, являясь при этом NP-трудной. Найдены новые полиномиально разрешимые частные случаи.

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

Похожие темы научных работ по математике , автор научной работы — Еремеев Антон Валентинович, Коваленко Юлия Викторовна

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

Polynomially Solvable Cases of the Pro ject Scheduling Problem with Changing Consumption and Supply Rates of Nonaccumulative Resources

We consider a strongly NP-hard project scheduling problem with nonaccumulative resources and sequence constraints. A distinctive feature of the formulation is that the rate of resource consumption by a task may change in duration of the task, and the resource availability depends on time. The problem is proved to be pseudo-polynomially solvable if the width of the partial order is bounded by a constant, being NP-hard. New polynomially solvable case of the problem is found

Текст научной работы на тему «Эффективно разрешимые случаи задачи календарного планирования с переменной интенсивностью потребления и поступления ресурсов нескладируемого типа»



Серия «Математика»

2014. Т. 9. С. 26—38

Онлайн-доступ к журналу: http://isu.ru/izvestia

УДК 519.718

Эффективно разрешимые случаи задачи календарного планирования с переменной интенсивностью потребления и поступления ресурсов нескладируемого типа *

А. В. Еремеев

Омский филиал Института математики им. С. Л. Соболева СО РАН Ю. В. Коваленко

Омская юридическая академи

Аннотация. Рассматривается NP-трудная в сильном смысле задача календарного планирования с ограничениями на ресурсы нескладируемого типа и порядок выполнения работ. Особенностью постановки является то, что интенсивности потребления ресурсов работами могут меняться в процессе их выполнения и наличие ресурсов зависит от момента времени. Доказано, что если ширина заданного на множестве работ частичного порядка ограничена константой, то задача псевдополино-миально разрешима, являясь при этом NP-трудной. Найдены новые полиномиально разрешимые частные случаи.

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

Исследуется КР-трудная задача календарного планирования проекта с нескладируемыми ресурсами и критерием минимизации общего времени завершения работ.

В отечественных работах (см., например, [2]) ресурсы делятся на складируемые и нескладируемые. Для складируемого ресурса количество, невостребованное в момент времени Ь, переходит на следующий

Введение

* Работа выполнена при финансовой поддержке проекта РФФИ (проект 12-0100122), интеграционного проекта СО РАН (проект №7Б).

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

В [7; 9; 12; 14; 15] и др. рассматривается задача календарного планирования с нескладируемыми ресурсами, в которой функции, определяющие ресурсные ограничения (интенсивности потребления ресурсов каждой работой и функции количества имеющихся ресурсов), предполагаются постоянными.

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

В [3; 4; 5] анализировалась задача с одним нескладируемым ресурсом и кусочно-постоянными функциями, определяющими ресурсные ограничения, причем имеется привязка работ к машинам и работы одной машины образуют простую цепь в графе частичного порядка. Доказана КР-трудность задачи, предложены модель целочисленного линейного программирования и алгоритмы динамического программирования (ДП), с помощью которых выделены полиномиально и псевдополино-миально разрешимые случаи.

В настоящей работе представлено обобщение алгоритмов ДП из [4; 5] на случай, когда имеется несколько типов ресурсов, машины не рассматриваются и на множестве работ задан произвольный частичный порядок. Предлагаемые алгоритмы ДП основаны на переборе всевозможных состояний выполнения работ и вычислении минимальных моментов времени, когда эти состояния достижимы. Выделены новые полиномиально и псевдополиномиально разрешимые частные случаи при ограниченной константой ширине частичного порядка, заданного на множестве работ.

Статья построена следующим образом. В § 1 приводится постановка задачи. В § 2 предлагается алгоритм динамического программиро-

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

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

Имеется проект, который состоит из множества взаимосвязанных работ I = {1,... ,и}. Взаимосвязь между работами задается отношениями вида г ^ ], где выполнение работы ] не может начаться раньше окончания работы г. Данная структура может быть представлена ориентированным ациклическим графом О = (I, Е), где I - множество вершин, а Е = {(г,.]) : г,.] € I, г ^ .]} - множество дуг.

При выполнении работ используется п видов нескладируемых ресурсов. Каждая работа г € I характеризуется длительностью € Ъ+ (здесь и далее Ъ+ - множество положительных целых чисел) и интенсивностью потребления ресурсов, заданной следующим образом. Длительность работы г € I разбивается на а^ интервалов времени (периодов), в каждом из которых интенсивность потребления данной работой ресурса д-го вида постоянна, д = 1,...,п. Пусть й^ € Ъ+ - длительность периода с номером к работы г для ресурса д-го вида, а гк € М+ - интенсивность потребления ресурса д-го вида работой г в периоде с номером к, к = 1,..., а^, д = 1,...,п, г € I (здесь и далее М+ -множество неотрицательных вещественных чисел). Отметим, что для ресурса д-го вида период с номером к работы г соответствует интервалу

1 ^, Й=1 $ ], к = 1,..., д = 1,...,п, г € I.

В различные моменты времени горизонта планирования, длительность которого равна Н € Ъ+, количество ресурса каждого вида, имеющегося в наличии, может быть различным. Пусть имеется б^пах периодов, в каждом из которых наличие ресурса д-го вида постоянно, д = 1,...,п. Обозначим через Т(п) € Ъ+ время начала периода с номером Ь для ресурса д-го вида (здесь Z+ - множество неотрицательных целых чисел), а Я^ € М+ - количество ресурса д-го вида, имеющегося в каждый момент времени периода с номером Ь, Ь = 1,..., Ьп!х, д = 1,...,п. Отметим, что для ресурса д-го вида период с номером Ь соответствует интервалу (Т(,Т(^1], Ь = 1,...,ЬЙ£х, причем Т^ = 0,Т$ = Н,

ьтах + 1

д = 1,...,п.

Для каждого момента времени Ь, 0 < Ь ^ Н, и каждого вида ресурсов д, д = 1,...,п, сумма интенсивностей потребления этого вида ресурсов

по всем работам, выполняемым в момент Ь, не должна превосходить наличия ресурса в данный момент. Прерывание выполнения работ не допускается, все работы должны быть завершены до момента Н. При достаточно больших Н последнее условие не является критическим.

Пусть Si - время начала выполнения работы г, г € I. Необходимо построить такое расписание S = выполнения работ с учетом

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

2. Алгоритм динамического программирования

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

— тТ - интенсивность потребления работой г ресурса д-го вида в интервале (т — 1,т], т = , г € I, д = 1,...,п;

— К^ - количество ресурса д-го вида, имеющегося в наличии в интервале (Ь — 1,Ь], Ь = 1,...,Н, д = 1,...,п.

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

Перейдем к описанию алгоритма. Частичный порядок на множестве работ I за время О (и2) может быть разбит на минимальное число т простых цепей [8], при этом работы, входящие в разные цепи, могут находиться в отношениях предшествования. Заметим, что минимальное число т указанных цепей совпадает с максимальным числом попарно независимых работ [1] (данный параметр называется шириной частичного порядка [1]). Пусть щ - число работ цепи I, а 1г = (г1,...,^1) -последовательность работ цепи I, где I = 1,...,т.

Обозначим через Р^ суммарную длительность первых и работ, а через Р - суммарную длительность всех работ цепи I, I = 1,...,т. Пусть XI € {0,... ,Р}, как и в [5], определяет текущее состояние выполнения работ цепи I, а именно, XI - это то время, которое уже потрачено на последовательное выполнение работ цепи I, I = 1,...,т. Тогда вектор х = (х\,... ,хт) описывает состояние выполнения работ на всех т цепях. Ясно, что при х = (0,..., 0) ни одна работа не начала выполняться, а при х = (Р\,..., Рт) все работы уже завершены.

Определим понятия допустимых и недопустимых состояний. Работы каждой цепи выполняются последовательно. Однако в отношении предшествования могут находиться работы различных цепей. Пусть, например, работа цепи ¡\ предшествует работе гЦ^ цепи ¡2. Если точка х задает такое состояние, когда первая из этих работ еще не завершена (х[ 1 < РЦ1), а вторая уже начала свое выполнение (хг2 > РЦ2-1), то в силу заданного на множестве работ частичного порядка состояние х недопустимо. Остальные состояния считаются допустимыми. Обозначим через X множество всех допустимых состояний.

Для каждого допустимого состояния х € X будем учитывать все целочисленные моменты времени, в которые оно достижимо. Для этого введем понятие расширенного состояния (Ь, х), при котором состоянию х соответствует момент времени Ь, х € X, Ь = 0,1,... ,Н.

Переход между расширенными состояниями задается булевыми векторами 5 = (¿1,... ,5т), т. е. под действием управления 5 осуществляется переход от состояния (Ь — 1, х — 5) к состоянию (Ь, х) при х € X, Ь = 1,...,Н. Этот переход соответствует одновременному выполнению в единичном интервале времени (Ь — 1,Ь] работ тех и только тех цепей, для которых 5[ = 1. Если согласно состоянию х работа гу цепи I уже началась, но еще не закончилась, т. е. Р^-1 < хг < Р^, то ввиду условия непрерывности работ 5г = 1. Тогда переход (Ь — 1, х — 5) —^ (Ь, х), в котором 5г = 0, является недопустимым. Далее, пусть, например, работа цепи ¡1 предшествует работе и цепи ¡2. Если точка х задает

такое состояние, что Р'Ц?-1 < хг2 ^ РЦ? и хг 1 = РЦ1, то в силу заданного на множестве работ частичного порядка переход (Ь — 1, х — 5) —^ (Ь, х), где 5г 1 = 1, недопустим.

По вектору 5 определим те работы, которые находятся в состоянии выполнения при переходе (Ь — 1, х — 5) —^ (Ь, х). Пусть, например, 5 =1 и РI < хг ^ Р'С, тогда работа ги потребляет ресурс вида д, д = 1,...,п, с интенсивностью г^Т, где т = хг — Р^-1. Суммируя интенсивность потребления ресурса вида д, д = 1,...,п, по всем таким работам, получим общие затраты этого вида ресурсов гдля вектора 5. Если т^ > К9) хотя бы для одного д = 1,...,п, то переход (Ь — 1, х—5) —> (Ь, х) является недопустимым из-за несоблюдения ограничений по ресурсам. Остальные управления считаются допустимыми. Обозначим через А (множество допустимых управлений, приводящих в расширенное состояние (Ь, х).

Введем функцию А(Ь, х) следующим образом:

, ( 1, если состояние х достижимо в момент времени Ь, ( , ) | 0 иначе.

Имеют место следующие рекуррентные соотношения Беллмана:

А(0, 0,..., 0) = 1, А(0, х) =0, х € X \ {(0,..., 0)}; (2.1)

,( ) = ( 1, если при некотором 5 € А(4 х) А(Ь — 1, х — 5) = 1, ( , ) | 0 иначе,

для всех х € X, Ь = 1,...,Н. (2.2)

Перед началом работы алгоритма формируется множество допустимых состояний X с использованием транзитивного замыкания [6] частичного порядка на множестве работ. Предлагаемый алгоритм состоит из двух этапов.

Этап 1. Нахождение оптимального значения целевой функции. На данном этапе полагается А(0,0, ...,0) = 1, А(0,х) = 0, х € X\{(0,... , 0)}. Затем перебираются моменты времени Ь = 1,...,Н, для каждого из которых перебираются все допустимые состояния х € X. Если тах XI > Ь, то состояние х заведомо не может быть достигнуто

1=1,...,т

в момент времени Ь и, следовательно, А(Ь, х) =0. В противном случае значение функции А(Ь, х) вычисляется по формуле (2.2). Если А(Ь, х) = 1, то вектор 5 € А(tx), при котором А(Ь — 1, х — 5) = 1, фиксируется как 5(Ь, х).

Перебор моментов времени Ь осуществляется до тех пор, пока состояние (Р1,..., Рт) не станет достигнутым, т. е. А(Ь, Р1..., Рт) не станет равным 1. Минимальный момент времени I такой, что А(1, Р1 ..., Рт) = 1, соответствует оптимальному значению целевой функции Стах. Если же А(Н, Р1,..., Рт) = 0, то допустимого решения не существует.

Этап 2. Восстановление оптимального расписания. Первоначально полагается х = (Р1,..., Рт), Ь = ¿. Множество таких работ г^, что 5\{Ь, х) = 1 и Р^-1 < XI ^ Р'и, является множеством работ, выполняемых во временном интервале (Ь — 1,Ь]. Для всех I, I = 1,...,т, таких что 5г (Ь, х) = 1 и х 1 — 1 = Р\У-1, полагается Б^ = Ь — 1. Далее осуществляется переход к точке (Ь — 1, х — 5(Ь, х)) и процесс повторяется до тех пор, пока (Ь, х) не станет равным (0, 0,... , 0).

Временная сложность алгоритма есть

О ^2ттпН Д(Р + = 0(2ттпН(ир + 1)т), (2.3)

а требуемое количество памяти - 0(Н(ир + 1)т), где р = тахрПредке/

варительный этап выполним за время 0(и3+т2(ир + 1)т).

Таким образом, с ростом ширины частичного порядка т временная сложность алгоритма растет экспоненциально, а с ростом параметров

n, u, p и H при константном m - полиномиально. Тем самым справедлива

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

Задача календарного планирования с нескладируемыми ресурсами, сформулированная в § 1, может быть сведена к постановке, рассматриваемой в теореме 1, путем разбиения каждого периода на единичные интервалы. Если длительности периодов ограничены полиномом от длины исходных данных задачи, то сводимость является полиномиальной. Отсюда вытекает

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

Заметим, что при произвольной ширине частичного порядка задача календарного планирования c нескладируемыми ресурсами NP-трудна в сильном смысле уже в случае единичных длительностей работ и постоянных функций, определяющих ресурсные ограничения [5; 8]. То есть сильная NP-трудность рассматриваемой задачи «заключена» в ширине частичного порядка. Кроме того, для указанного случая даже задача поиска допустимого решения является NP-трудной в сильном смысле, что следует из [5].

В то же время, задача календарного планирования с нескладируемыми ресурсами является NP-трудной в обычном смысле при n = m = 3, т. е. не может быть полиномиально разрешимой при фиксированной ширине частичного порядка m ^ 3 в случае n ^ 3 видов ресурсов (если P=NP). Это следует из того, что к ней полиномиально сводится NP-трудная разномаршрутная задача теории расписаний (job-shop) c M = 3 деталями и N = 3 станками [16]. Действительно, задача job-shop заключается в минимизации времени обработки M деталей на N станках. Каждая деталь проходит свой технологический маршрут обработки. Этот маршрут можно представить как цепь работ, которые должны быть выполнены последовательно, в задаче календарного планирования. Работа заключается в обработке одной детали на одном станке. Частичный порядок на множестве работ в таком случае представляет собой совокупность M цепей. В качестве ресурсов выступают станки. Получаемая в результате индивидуальная задача календарного планирования с N видами нескладируемых ресурсов и шириной частичного порядка, равной M, полиномиально эквивалентна задаче job-shop.

3. Случай единичных длительностей работ

Для случая единичных длительностей работ разработана модификация алгоритма ДП из § 2 c лучшей оценкой трудоемкости. Предлагаемая модификация основана на том, что в случае единичных длительностей работ вместо состояний вида (t, x) достаточно рассматривать состояния x е X и вычислять только минимальные моменты времени, в которые эти состояния достижимы. При описании данной модификации будем предполагать, что работы имеют единичные длительности, и заданы величины rЕ R+ для i е I, q = l,...,n, и R^ е R+, r(q) е Z+

для b = 1,..., b^L, q = 1,...,n.

Пусть xi е {0,1,... ,щ}, как ив § 2, описывает текущее состояние выполнения работ цепи l, l = 1,...,m. Ввиду того, что длительности работ единичные, x соответствует номеру последней выполненной работы цепи l, l = 1,...,m, а состояние x = (xi,..., xm) определяет число уже выполненных работ для всех m цепей. Понятия допустимых и недопустимых состояний сохраняются, и множество допустимых состояний также обозначается через X.

Переход между состояниями задается булевыми векторами 5 = (¿i,...,5m), т. е. под действием управления 5 осуществляется переход от состояния x — 5 к состоянию x. Данный переход соответствует одновременному выполнению в единичном интервале времени работ тех и только тех цепей, для которых 5i = 1. Пусть, например, работа ij1 цепи li предшествует работе iЦ2 цепи l2. Если точка x задает такое состояние, что xi2 = и xi 1 = Ui, то в силу заданного на множестве работ частичного порядка переход x — 5 —> x, в котором 5i 1 = 1, недопустим. Остальные управления считаются допустимыми (соблюдение ограничений по ресурсам проверяется непосредственно в рекуррентной формуле). Обозначим через Дх множество допустимых управлений, приводящих в состояние x е X.

Пусть функция L(x) определяет минимальный момент времени, в который достижимо состояние x е X. Имеют место следующие рекуррентные соотношения Беллмана:

L(0,...,0) =0, (3.1)

L(x) = min {tx,s}, x Е X\{(0,..., 0)}, (3.2)

¿eax

где t^s - минимальный момент времени (tx,$ > L(x — 5)), такой что в единичном интервале (tx,s — 1,txis] имеется достаточное количество ресурсов для осуществления перехода (x — 5) ^ x. Момент времени вычисляется следующим образом.

Введем обозначения для каждого вида ресурсов д = 1,...,п:

( ) т ( )

— гу- ё = ^ г ■ 5г - суммарная интенсивность потребления ресурса

' г=1 г1 ,1 вида д при переходе (х — 5) —^ х;

— Ь(д) - номер периода наличия ресурса вида д, которому принадлежит интервал (Ь(х — 5),Ь(х — 5) + 1].

Если гд ^ Я^ для всех д = 1,...,п, то = Р(х — 5) + 1, в противном случае - формируется множество интервалов времени В = {(г81,г{ ],..., (г8в ]}, где Ь(х — 5) <Ц и ьК < £+1 для к = 1,...,в — 1. В каждом таком интервале времени имеется достаточное количество ресурсов для осуществления перехода (х — 5) — х. Если В = 0, то = иначе = + 1. Опишем способ построения множества В. Для каждого вида ресурсов д = 1,...,п обозначим через В(д) = {Ь € {Ь(д), ...,Ьтдах} : Я^ ^ } множество номеров периодов, начиная с периода с номером Ь(д), в которых имеется достаточное количество ресурса этого вида для осуществления перехода (х—5) —х. Изначально положим В = {(Т(1^, Т^^] : Ь € В(1)}. Шаг д = 2,...,п процесса построения заключается в нахождении интервалов пересечения В с периодами Ь € В (д), из этих интервалов формируется множество В для следующего шага. Таким образом, после выполнения шага д множество В содержит те интервалы времени, в которых имеется достаточное количество ресурса любого вида д' ^ д для осуществления перехода (х — 5) — х.

Заметим, что после шага д, д = 2,...,п, мощность множества В увеличивается не более чем на Ь^х (при сравнении с периодом Ь е В(д) интервал из В разбивается не более чем на два новых интервала). Вычислительная сложность шага д равна О [ д Ь^аХ ), так как границы

уд-1 У

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

и ( ) /ид ( ,) \

д Ытах, а трудоемкость его формирования равна О ^ ^ Ьтах = д=1 \д=1 д'=1 /

О П Ь&х (п — д + 1м и требуемое количество памяти - о и №х . \д=1 / \д=1 /

Предлагаемый алгоритм ДП состоит из двух этапов. Этап 1. Нахождение оптимального значения целевой функции. На данном этапе полагается Ь(0,...,0) = 0. Затем в порядке лексикографического возрастания перебираются все допустимые со-

стояния х £ X\{(0,... ,0)} (проверка состояния на допустимость выполняется с использованием транзитивного замыкания частичного порядка), для каждого из которых по формуле (3.2) вычисляется значение функции Ь(х). Вектор 5, при котором достигается минимальное значение Ь(х), фиксируется как 5(х). Величина Ь(п\,... ,ит) соответствует оптимальному значению целевой функции Стах. Однако если Ь(и1,..., ит) = ж, то допустимого решения не существует.

Этап 2. Восстановление оптимального расписания. Первоначально полагается х = (и1,...,ит). Множество таких работ г^1, что 5[(х) = 1,1 = 1,...,т, является множеством работ, выполняемых во временном интервале (Ь(х) — 1, £(х)], поэтому полагаем Б^г = Р(х) — 1.

Далее осуществляется переход к точке х — 5(х) и процесс повторяется до тех пор, пока х не станет равным (0,... , 0).

Временная сложность представленного алгоритма ДП есть

ътКп — д + 1))(и + 1)т^ = (3.3)

О {2т(пт + п2Ътах)(и + 1)т) , а требуемое количество памяти — О((и + 1)т + пЬтах), где

Ьтах = Шах Ьтах. д=1,...,п

То есть с ростом ширины частичного порядка т временная сложность алгоритма растет экспоненциально, а с ростом параметров и, Ьтах и п при константном т - полиномиально. Тем самым справедлива

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

О I 2т(пт +

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

п

Е

я=1

4. Заключение

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

Используя представленную в статье идею о рассмотрении всякой работы индивидуально по каждому виду ресурсов, модель целочисленного линейного программирования [5] для задачи с одним ресурсом можно обобщить на случай нескольких видов ресурсов путем введения дополнительных линейных ограничений. Также отметим, что из псевдополиномиального алгоритма часто удается построить ЕРТЛЯ, как, например, для задачи календарного планирования, в которой функции, определяющие ресурсные ограничения нескладируемого типа, являются постоянными. Вопрос же существования ЕРТЛЯ для рассматриваемой задачи при произвольных длительностях работ и ограниченной ширине частичного порядка является открытым.

Список литературы

1. Айгнер М. Комбинаторная теория / М. Айгнер. - М. : Мир, 1982. - 558 с.

2. Гимади Э. Х. Полиномиальная разрешимость задач календарного планирования со складируемыми ресурсами и директивными сроками / Э. Х. Гимади,

B. В. Залюбовский, С. В. Севастьянов // Дискрет. анализ и исслед. операций. Сер. 2. - 2000. - Т. 7, № 1. - С. 9-34.

3. Еремеев А. В. Календарное планирование производства с непрерывным поступлением сырья / А. В. Еремеев, Ю. В. Коваленко // Российская конференция «Дискретная оптимизация и исследование операций»: материалы конференции. - Новосибирск : Изд-во Ин-та математики, 2010. - С. 138.

4. Коваленко Ю. В. Решение задачи календарного планирования производства с непрерывным поступлением сырья / Ю. В. Коваленко // «Молодежь третьего тысячелетия» : XXXIV регион. науч.-практ. студ. Конф. : сб. ст. секции «Физико-математические науки». - Омск : Изд-во ОмГУ, 2010. -

C. 21-24.

5. Коваленко Ю. В. О задаче календарного планирования с возобновимым ресурсом / Ю. В. Коваленко // Автомат. и телемех. - 2012. - Вып. 6. -С. 140-153.

6. Алгоритмы: построение и анализ / Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн. - М. : Вильямс, 2005. - 1296 с.

7. Кочетов Ю. А. Новые жадные эвристики для задачи календарного планирования с ограниченными ресурсами / Ю. А. Кочетов, А. А.Столяр // Дискрет. анализ и исслед. операций. Сер. 2. - 2005. - Т. 12, № 1. - С. 12-36.

8. Сервах В. В. Эффективно разрешимый случай задачи календарного планирования с возобновимыми ресурсами / В. В. Сервах // Дискрет. анализ и исслед. операций. Сер. 2. - 2000. - Т. 7, № 1. - С. 75-82.

9. Bell C. E. A new heuristic solution method in resource constrained project scheduling / C. E. Bell, J. Han // Naval Res. Logistics. - 1991. - Vol. 38. -P. 315—331.

10. A branch and bound algorithm for the resource-constrained project scheduling problem / P. Brucker, S. Knust, A. Schoo, O. Thiele // Eur. J. Oper. Res. -1998. -Vol. 107. - P. 272-288.

11. Brucker P., Kramer A. Polynomial algorithms for resource constrained and multiprocessor task scheduling problems / P. Brucker, A. Kramer // Eur. J. Oper. Res. -1996. - Vol. 90, N 2. - P. 214-226.

12. Christofides N. Project scheduling with resource constraints: a branch and bound approach / N. Christofides, R. Alvarez-Valdes, J. M. Tamarit // European J. Oper. Res. - 1987. - Vol. 29. - P. 262-273.

13. Scheduling using continuous-time formulations: technical report / J. Kallrath, A. Eremeev, P. Borisovsky, J. Kovalenko. - Ludwigshafen : BASF SE, Scientifc Computing, 2010. - 337 p.

14. Pritsker A. A. B. Multiproject scheduling with limited resources: a zero-one programming approach // A. A. B. Pritsker, L. J. Watters, P. M. Wolfe // Management Sci. - 1969. - Vol. 16. - P. 93-107.

15. Servakh V. V. A fully polynomial time approximation scheme for two project scheduling problems / V. V. Servakh, T. A. Shcherbinina // Inform. Control Problems in Manufact.: A Proc. of 12th IFAC Intern. Symp. / ed. by Dolgui A., G. Morel, C. E. Pereira. - Saint-Etienne : Elsevier Science, 2006. - Vol. 3. -P. 129 - 134.

16. Sotskov Y. N. NP-hardness of shop-scheduling problems with three jobs / Y. N. Sotskov, N. V. Shakhlevich // Discrete Appl. Math. -1995. - Vol. 59, N 3. -P. 237-266.

Еремеев Антон Валентинович, доктор физико-математических наук, доцент, Лаборатория дискретной оптимизации, Омский филиал Института математики им. С. Л. Соболева СО РАН, 644099, Омск, ул. Певцова, 13, тел.: (3812)23-67-39 (e-mail: [email protected])

Юлия Викторовна Коваленко, кандидат физико-математических наук, кафедра математики и информационных технологий, Омская юридическая академия, 644010, Омск, ул. Короленко, 12, тел.: (3812)32-13-29 (e-mail: [email protected])_

A. V. Eremeev, J. V. Kovalenko

Polynomially Solvable Cases of the Project Scheduling Problem with Changing Consumption and Supply Rates of Nonaccu-mulative Resources

Abstract. We consider a strongly NP-hard project scheduling problem with nonaccumulative resources and sequence constraints. A distinctive feature of the formulation is that the rate of resource consumption by a task may change in duration of the task, and the resource availability depends on time. The problem is proved to be pseudo-polynomially solvable if the width of the partial order is bounded by a constant, being NP-hard. New polynomially solvable case of the problem is found.

Keywords: project scheduling, nonaccumulative resources, dynamic programming, polynomial solvability, pseudo-polynomial solvability.

References

1. Aygner M. Combinatory theory. M., World, 1982, 558 p.

2. Gimadi E.Kh., Zalyubovskii V.V., Sevast'yanov S.V. Polynomial Solvability of Project Scheduling Problems with Accumulative Resources and Directive Deadlines. Diskretn. Anal. Issled. Oper. Ser. 2., 2000, vol. 7, no. 1, pp. 9-34.

3. Eremeev A.V., Kovalenko J.V. Project Scheduling with Continuous Consumption of Raw Material in Production. Book of Abstracts of Discrete Analysis and Oper. Res. Conf., Novosibirsk, Institute of Mathematics, 2010, p. 138.

4. Kovalenko J.V. Solving of the Project Scheduling Problem with Continuous Consumption of Raw Material in Production. "Youth of the Third Millennium": The XXXIV Regional Scientific and Practical Student's Conference: Collected Articles of Section "Physical and Mathematical Sciences", Omsk, OmSU, 2010, pp. 21-24.

5. Kovalenko J.V. On Project Scheduling Problem with Renewable Resource. Automation and Remote control, 2012, no. 6, pp. 140-153.

6. Kormen T., Leyzerson H., Rivest R., Stein K. Algorithms: Construction and Analysis. M., Williams, 2005, 1296 p.

7. Kochetov Yu.A., Stolyar A.A. New Greedy Heuristics for the Project Scheduling Problem with Limited Resources. Diskretn. Anal. Issled. Oper. Ser. 2, 2005, vol. 12, no. 1, pp. 12-36.

8. Servakh V.V. An Efficiently Solvable Case of the Project Scheduling Problem with renewable resources. Diskretn. Anal. Issled. Oper. Ser. 2, 2000, vol. 7, no. 1, pp. 7582.

9. Bell C.E., Han J. A New Heuristic Solution Method in Resource Constrained Project Scheduling. Naval Res. Logistics, 1991, vol. 38, pp. 315-331.

10. Brucker P., Knust S., Schoo A., Thiele O. A Branch and Bound Algorithm for the Resource-Constrained Project Scheduling Problem. Eur. J. Oper. Res., 1998, vol. 107, pp. 272-288.

11. Brucker P., Kramer A. Polynomial Algorithms for Resource Constrained and Multiprocessor Task Scheduling Problems. Eur. J. Oper. Res., 1996, vol. 90, no. 2, pp. 214-226.

12. Christofides N., Alvarez-Valdes R., Tamarit J. M. Project Scheduling with Resource Constraints: a Branch and Bound Approach. European J. Oper. Res., 1987, vol. 29, pp. 262-273.

13. Kallrath J., Eremeev A., Borisovsky P., Kovalenko J. Scheduling Using Continuous-Time Formulations: Technical Report. Ludwigshafen, BASF SE, Scientifc Computing, 2010, 337 p.

14. Pritsker A.A.B., Watters L.J., Wolfe P.M. Multiproject Scheduling with Limited Resources: a Zero-One Programming Approach. Management Sci., 1969, vol. 16, pp. 93-107.

15. Servakh V.V., Shcherbinina T.A. A Flly Polynomial Time Approximation Scheme for Two Project Scheduling Problems. Inform. Control Problems in Manufact.: A Proc. of 12th IFAC Intern. Symp., eds. By Dolgui A., Morel G., Pereira C.E., Saint-Etienne, Elsevier Science, 2006, vol. 3, pp. 129-134.

16. Sotskov Y.N., Shakhlevich N.V. NP-hardness of Shop-Scheduling Problems with Three Jobs. Discrete Appl. Math., 1995, vol. 59, no. 3, pp. 237-266.

Eremeev Anton Valentinovich, Doctor of Sciences (Physics and Mathematics), Associate Professor, Omsk Branch of Sobolev Institute of Mathematics SB RAS, 13, Pevcov st., Omsk, 644099 tel.: (3812)23-67-39 (e-mail: [email protected])

Kovalenko Julia Victorovna, Candidate of Sciences (Physics and Mathematics), Omsk Juridical Academy, 12, Korolenko Str., Omsk, 644010, tel.: (3812)32-13-29 (e-mail: [email protected])

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