Научная статья на тему 'Свойства допустимых и оптимальных последовательностей выполнения работ на одной машине'

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

CC BY
203
32
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДОПУСТИМЫЕ И ОПТИМАЛЬНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ ВЫПОЛНЕНИЯ ЗАДАНИЙ / ОГРАНИЧЕНИЯ НА ВРЕМЕНА ВЫПОЛНЕНИЯ РАБОТ / РАЗРЫВЫ ВО ВРЕМЕНИ ВЫПОЛНЕНИЯ РАБОТ / ПОСЛЕДОВАТЕЛЬНЫЕ АЛГОРИТМЫ ОПТИМИЗАЦИИ / ADMISSIBLE AND OPTIMUM SEQUENCES OF TASK PERFORMANCE / RESTRICTIONS ON TIMES OF PERFORMANCE OF WORKS / RUPTURES IN TIME OF PERFORMANCE OF WORKS / CONSECUTIVE ALGORITHMS OF OPTIMIZATION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Зак Юрий Александрович

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Зак Юрий Александрович

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

Properties of admissible and optimum sequences of performance of tasks by one machine unser restrictions on terms of the beginning and completion of works are considered. Methods of the formulated problem solution by consecutive algorithms of optimization are offered. The schedules supposing ruptures in performance of works are transformed to optimum sequence in which such ruptures are not supposed. The offered algorithms are illustrated by numerical examples and can successfully be applied to solution of these problems under no restrictions.

Текст научной работы на тему «Свойства допустимых и оптимальных последовательностей выполнения работ на одной машине»

И нформационные технологии в управлении

УДК 519.8

СВОЙСТВА ДОПУСТИМЫХ И ОПТИМАЛЬНЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ ВЫПОЛНЕНИЯ РАБОТ НА ОДНОЙ МАШИНЕ

Ю.А. Зак

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

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

ВВЕДЕНИЕ

Известно большое число публикаций, в которых рассматриваются постановки и эффективные методы решения «one-machine sequencing problem» — определения оптимальной последовательности выполнения n работ (заданий) на одной машине в условиях, когда заданы времена выполнения работ t, ограничения на начальные сроки их выполнения а,, а также заключительные времена g, необходимые для завершения выполнения каждой работы после окончания выполнения ее на данной машине. Все значения t, а,, g, i = 1, ..., n, — целые числа. Одновременно на машине не может выполняться более одной работы. Необходимо найти оптимальную последовательность выполнения всех работ на этой машине, а также времена начала x, и завершения о, выполнения каждой из них. В качестве критерия оптимальности рассматривается минимизация срока g. завершения наиболее поздней из всех работ с учетом добавления заключительного времени обработки каждой из них на других машинах.

Для сформулированной, как показано в работах [1, 2], NP-сложной задачи предложены достаточно эффективные алгоритмы решения (см., например, работы [1—5]), позволяющие находить точные и

приближенные решения практических задач достаточно большой размерности. Эффективные алгоритмы точного решения задачи с помощью Schrage-algorithms и их модификаций впервые были предложены в работе [1] и развиты в работах [3—5]. Эти алгоритмы наиболее часто применяются в настоящее время для получения точных решений практических задач большой размерности.

Однако для практических приложений календарного планирования производства, организации обслуживания и вычислительного процесса чрезвычайно актуальна постановка задачи, в которой учитываются ограничения на сроки завершения каждого из заданий d, i = 1, ..., n. Такая постановка задачи важна как в условиях, когда допускаются разрывы во времени выполнения отдельных работ, так и в условиях, когда ни одна из работ не может прерываться в процессе своего выполнения. В условиях ограничений на сроки завершения отдельных работ даже задача поиска допустимой последовательности их выполнения, как и известная «One-machine sequencing problem» [1—6], также относится к классу NP-сложных задач. В условиях этих дополнительных ограничений автором были предложены алгоритмы решения сформулированных задач [6, 7], позволяющие с таким же объемом вычислений, как и в работе [1], решать такие задачи при отсутствии ограничений. Поиск допустимых и оптимальных расписаний осуществляется

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

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

2. ПОСТАНОВКА И МАТЕМАТИЧЕСКАЯ ФОРМУЛИРОВКА ЗАДАЧИ

Пусть I — подмножество работ, которые должны быть выполнены на одной машине. Заданы

времена выполнения операций t¡, I е I, ограничения на начальные и конечные сроки их выполнения х1 1 йр о. т й, а также заключительные времена g., необходимые для завершения выполнения каждой работы после окончания выполнения ее на данной машине. Ни одна из операций не может прерываться в процессе ее выполнения, и одновременно на машине не может выполняться более одной операции. Необходимо построить расписание выполнения работ, удовлетворяющее всем сформулированным требованиям и минимизирующее время завершения выполнения наиболее поздней из всех работ с учетом добавления заключительного времени g¡ обработки каждого из них на других машинах.

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

п; (1)

atm хр di1 xi + 4

- xt = 4 i = 1,

xt + t. + 1 m x. или x. + t. + 1 m x,,

t t J J J t

i ф j, i = 1, ..., n; (2)

F = max(a; + g,) ^ min. (3)

ttt

Без ограничения общности будем полагать, что для всех заданий выполняются условия a. + t, m d,

i e I.

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

3. СВОЙСТВА ДОПУСТИМЫХ И ОПТИМАЛЬНЫХ РАСПИСАНИЙ

Пусть на каком-то 5-м этапе решения, 5 = 0, 1, 2, ..., определено некоторое значение критерия

оптимальности (3), равное Fs. Минимальная длина расписания не может быть меньше величины

F0 = max

minat + ^ t. + mrng, I;

t e I t e I t e I )

max (a. + t, + g) \. (4)

t e I J

Определив Fs 1 F0, s = 1, 2, ..., S, обозначим f di если di + gi < Fs,

D. =

Fs - gi если dt + gi > Fs.

(5)

Обозначим 9] и т] — соответственно наиболее ранние и допустимые наиболее поздние сроки начала выполнения 1-й работы на машине, обеспечивающие выполнение всех ограничений задачи (1), (2) и значение критерия оптимальности (3) не

более величины Fs,

es 1 at, tS m Di - t, + 1,

(6)

где es m xs m ts , i = 1,

n.

Если в результате преобразований значений 9г-

и т] для какой-либо из работ строящейся последовательности будет выполняться неравенство 9] > т], то не может быть построена последовательность, удовлетворяющая всем ограничениям на сроки выполнения работ, со значением критерия оптимальности меньшим или равным величине F

Утверждение 1. Если для каких-либо двух работ

О. и О,, выполняемых на машине, справедлива следу-

¡ )

ющая система неравенств

eS + t.. + 1 1 tS

eJ + t. + 1 1 t, ,

(7)

то не существует допустимых расписаний выполнения всех работ на машине за время, меньшее или равное Fs.

Утверждение 2. Если для двух работ О. и О, вы* }

полняемых на машине, справедливо хотя бы одно из пары условий

Tj < e;, е; + ; + 1 > т,,

(8)

то в допустимых расписаниях, удовлетворяющих системе ограничений (1), (2) и F < Fs, работа O, должна выполняться раньше работы O;, т. е.

xS + ts + 1 m xj.

Следствия утверждения 2.

es = max{( es + t,s + 1); eS},

TS = min{( eS - tS); tS }.

(9)

Здесь 9- и г,- — скорректированные допусти) I

мые наиболее ранние и поздние сроки начала выполнения соответственно 1-й и у-й работы на 5-й итерации решения задачи.

Утверждение 3. Если для нескольких работ Ор, р = 1, ..., Р, выполняемых на машине, установлено, что они стоят в последовательности их выполнения перед работой О, т. е. выполняется условие

хр + {р + 1 т х,, р = 1, ..., Р, то справедливы соотношения

е, = min<! eS; ( max ep + tp + 1);

' [ 1 < p < p f f

p

(min ep + у tpS + P)

1 < p < P p ^ p p p = 1

(10)

Доказательство следует из условий (7)—(9), а также из того, что время начала выполнения работы О; не может быть ранее времени завершения всех работ Ор, р = 1, ..., Р, предшествующих ей, плюс допустимый наиболее ранний срок начала выполнения работ этого подмножества.

Разобьем все множество выполняемых работ I на два подмножества 11 и 12 — соответственно подмножества работ, для которых заданы и не заданы граничные сроки их завершения выполнения, 11 и 12 = 1, 11 п 12 = 0.

При установленном значении максимальной

длины расписания Р- в условиях заданной системы ограничений на сроки выполнения заданий рассмотрим следующий алгоритм вычислений.

Алгоритм 1^). Значения счетчиков гА1 и гВ1 положим равными нулю.

Шаг 1. Для каждой из двух работ О. и О., вы* }

полняемых на машине, проверяется выполнение условий (7) и (8). Если выполняется хотя бы одно

из этих неравенств, то устанавливаем значения := 2 и Zai := 2 и

А- := шт(9, - т,), либо (11)

А- := шin{( 9, + $ + 1 - т;); (9. + . + 1 - т,)}.

Если выполняемая работа принадлежит подмножеству работ 11, то система ограничений задачи является несовместной, и необходимо расширить временной ресурс, выделенный для выполнения соответствующей работы на величину, не меньшую чем значение А4, и алгоритм завершает работу. Если I е 12 или у е 12, то выполним необходимые вычисления, предусмотренные в шаге 5. В противном случае переходим к шагу 2.

Шаг 2. Рассматриваем все пары работ, выполняемых на машине. Если для какой-то пары работ О. и О. выполняются условия (8), то полагаем * )

1А1 := 1, 1В1 := 1, корректируем соответствующие граничные значения времен начала выполнения работ, выполнив преобразования (9). Переходим к шагу 3.

Шаг 3. Если для нескольких работ О , р = 1, ..., Р, выполняемых на машине, установлено, что они должны выполняться раньше работы О, т. е.

хр + *р + 1 < хр, р = 1, ..., Р, то полагаем гА1 := 1 и гВ1 := 1 и выполняем пересчет граничных значений времен начала выполнения этих работ по формулам (11), для 1-й работы рассчитываем значение

9,; по формуле (10). Переходим к шагу 4.

Шаг 4. Если гА1 := 0, то алгоритм выполнения преобразований завершает свою работу. Если гА1 := 1, то полагаем zA1 := 0, и переходим к выполнению шага 1.

Шаг 5. Положив Р* + 1 = Р* + А5, 5 := (5 + 1), выполняем пересчет значений 9р и тр по формулам (5) и (7), после чего снова выполняем алгоритм 1(8).

Упорядочим все работы по неубыванию значений в последовательность

и = {ы„ ы„ ..., ыр, .., ып \ы„ е I; Ли < Ли ,

I р 2 ' Р' ' пк' Р ' "а "А +1

р = 1, ..., (п - 1)}. (12)

Утверждение 4. Если хотя бы для одной из работ

ыр е и, упорядоченных в последовательности (12), несправедливы условия

max

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

p -1

min qu + у tu ; а..

1 < i < p - 1м' у u' u

U' / i U'^

i = 1 p = 1,

+ tu m du , •p i up up

n

то не существует расписаний, удовлетворяющих системе ограничений задачи. ♦

Доказательство утверждения 4 приведено в работах [6, 7].

4. АЛГОРИТМЫ РЕШЕНИЯ ЗАДАЧИ

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

Алгоритм 2(s). Обозначим Q = q(up)|, p = 1, ..., n, количества временных интервалов в момент времени ^ = 1, ..., T, необходимых для завершения выполнения каждой операции. Все операции упорядочены в последовательности (12). В начале работы алгоритма положим q^(up) = tu , p = 1, ..., n.

В каждый из временных интервалов ^ = 1, ..., T выполняем работу ur, выбираемую из условий

ur = arg mn {Du k e U, eu m q,(u ) > 0}. (13)

' 1 < p < n p p p s p

Если таких работ несколько, то среди них выбираем работу с наименьшим индексом р. Для выбранной операции ur, полагаем q^(ur) := q^(ur) — 1. Если работ, удовлетворяющих условиям (13) не существует, то в данном ^-м временном интервале не выполняется ни одна из множества работ. Полагаем ^ = (^ + 1) и переходим к следующему временному интервалу

Алгоритм завершает свою работу в некоторый момент времени T, когда выполняются условия

qT(up) = 0, up e U, p = 1, 2, ..., n.

Обозначим N1 n — суммарное число отрезков времен полного и частичного выполнения различных работ в расписании

Пусть построено допустимое расписание выполнения заданий т. е. последовательность выполнения операций W (^1). Обозначим CTt m ст, — времена завершения выполнения работ в последовательности W (^1).

Рассмотрим некоторые свойства преобразований этого расписания в расписание работ, не допускающее прерываний времени их выполнения (расписание ¥2).

Показано [6], что для последовательности выполнения работ на одной машине U, временах вы-

полнения этих работ tu и наиболее ранних сроках начала выполнения работ 9и , а также в условиях

недопустимости прерываний времени выполнения работ справедливо утверждение 5.

Утверждение 5. Если выполняется хотя бы одно из системы неравенств

max

min eup + z ч; eup+1

upe ii

+ eu

p = 1

p = 1, 2, ..., (N — 1),

up +1

> D

up + 1'

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

Пусть некоторая работа у в последовательности

№ начинает выполняться в момент времени ^ и выполняется в течение Ь,, I. = 1, ..., Ь,, различных отрезков времени. Обозначим соответственно:

I I А

х,, о,, , — время начала, окончания и длительности выполнения этой работы на 1-м отрезке времени;

О (у) — подмножество работ, выполняемых в № в промежутках времени

1 Ь1 -у е [ о, + 1, о, = о, ], т. е.

~ ~ ■ 1 1

О (у) = [I е Ж(^1)|о] < х1 < о,; = о,}; (14)

тг, х; — допустимые наиболее поздние и фактические сроки начала выполнения подмножества работ

I е О (у) в расписании

Как следствие утверждения 5 может быть сформулировано

Утверждение 6. (1) Если в последовательности Ж (^1) хотя бы для одной из работ I е I выполняется неравенство ог > Б, то не существует допустимых расписаний выполнения работ на машине, удовлетворяющей всей системе ограничений при установленной длине расписания Fs.

(2) Если в последовательности Ж (^1) хотя бы для одной из работ I е 11 выполняется неравенство о1 > Б., то система ограничений задачи является несовместной. ♦

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

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

увеличения числа выполняемых работ. Представим каждую у-ю работу расписания W (^1), которая выполняется с Ь. прерываниями, длительнос-

.1 I

тью каждого отрезка выполнения . и началом х., I = 1, ..., Ь., в виде Ь. различных операций со значениями 9. = 9., ^ = и временем выполнения,

равным .. Тогда доказательство утверждения 6

полностью совпадает с доказательством утверждений 4 и 5.

Утверждение 7. Если выполняется система неравенств

1

х, + . - . т т, V I е £2 (у),

то увеличение длительности интервала выполнения ]-й работы до величины t■ и выполнение этой операции до конца без прерываний не приведет к нарушению ограничений на сроки выполнения всех других работ расписания ♦

Обозначим и1(^) и и2 соответственно подмножество работ последовательности и , выполнение которых в момент времени ^ завершено

или требуется их завершение, и1 и и2 = и, и1(^) п и2 = 0. Число членов в последовательности и1 равно п1(^), и они, как и в последова-

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

Каждое преобразованное расписание или

определяется временем ^ начала выполнения работы, разрыв во времени выполнения которой является первым среди всех работ этой последовательности, индексом этой работы у е

временем начала ^ = {х.\ у е (^)} и длительности

ее выполнения на данном отрезке {. |у е ^в (^)}, а

также некоторым признаком а[ (^)]; а = -2, если данная подпоследовательность не содержит допустимых продолжений, удовлетворяющих системе ограничений на времена выполнения работ; а = -1, если не существует допустимых продолжений при значении критерия оптимальности, меньшем или равном Ря, и это значение должно быть увеличено; а = 1, если не установлен факт, что не может быть построено расписание, не содержащее разрывов во времени выполнения работ, со значением критерия оптимальности, меньшем или равном Р,; а = 0, если рассмотрены все возможные перспективные преобразования данного расписания; а = 0,5, если рассмотрен только один из двух вариантов устранения прерывания выполнения

этой работы. Обозначим 11[(£)], 12 [(^)] со-

тельности и , упорядочены по возрастанию значе- ответственно подмножество работ в расписании ний Ьир. Пусть в момент времени $ в анализиру- ^ ф, выполняемых без прерывания до момента

времени и работ, для которых х. 1 т. е. выполняемых после времени

/1 [ ($)] и 12 [ ^ ($)] = I, / [ ($)] п /2 [^ ($)] = 0.

Алгоритм 3 Шаг 0. В расписании находим

первую работу у, у которой . < .. Если таких работ не существует, то = и получено решение задачи. В противном случае, полагаем ^ = х1. Определяем

^ ($) = ^1, у е ^ ф, {е ($)} = . , а[ ^ ($)] = 1.

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

— ~ — 1

9, = 9, V I е {\]2Ш}; 9. = 9. + . + 1.

Рассмотрим алгоритм преобразования расписания в допустимое расписание не допускающее разрывов во времени выполнения работ. Алгоритм решения задачи представляет собой ветвящийся процесс последовательного преобразования расписания в различные расписания ^

и (^), каждое из которых некоторым образом

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

Определим подмножества работ /1 [(^)] и

ся, если на каком-то ^ -м временном интервале /2[ (^)]. Переходим к шагу 1.

58

СОЫТВОЬ БС!ЕМСЕ8 № 5 • 2012

Шаг 1. Находим расписание (ю), удовлетворяющее требованиям

У в (ю) = {max max{ у в (£)| у в (£) m 1}.

в = 1,2 %

Если таких расписаний не существует, то переходим к шагу 2. В противном случае — к шагу 3.

Пусть j — номер первой работы в последовательности Ув (ю), которая прерывается в процессе ее выполнения.

Шаг 2. Если среди всех расписаний Ув (£), ß = 1, 2, найдется хотя бы одно, для которого признак {а| Ув (£)} = 1, то это расписание принимается в качестве У2, т. е. является решением задачи. Если таких расписаний не существует, то задача не содержит допустимых решений. Как в первом, так и во втором случаях, алгоритм завершает свою работу, и переходим к шагу 6.

Шаг 3. Преобразуем расписание Ув (ю) в расписание Ур (£), устранив прерывания в выполнении работы j е

ув (ю), для которой х, = ю, определив

{Xjl j е Ур (£)} = ю, {ст, j е у1 (£)} = ю + j, £ = ю + j + 1,

Ji [Ур (£)] = J [ Ув (£)] и j, J [ Ур (£)] = J [ ув (£)]/j.

Если J2 [Ур (£)] = 0, то определяем подмножество работ {Q (j)|у1 (ю)} в соответствии с выв

ражением (14), где Wk(Ур) = Ур (ю). Для всех работ

~ в 11 i е {Q (j)| У в (ю)} значения хг- и стг- увеличиваем на

Aj = (j - tj1), т. е. х1 = х1 + Д, ст1 = ст1 + Д..

Если справедлива система неравенств

ст, < D V i е {Q (j)| У в (ю)}, то получено решение задачи, и алгоритм завершает свою работу. Если 12 [ у1 (£)] ^ 0, то положив ю = £, переходим к шагу 5.

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

Шаг 4. Если а[Ув (£)] = 0,5, преобразуем рас-

в2 писание У1 (ю) в расписание У1 (£), перенеся начало выполнения операции j е Ув (ю) на более поздний срок. Полагаем

Для всех остальных работ множества

- 2 в /2 [ У1 (£)] * 0, выполняемых в расписании У1 (ю)

после момента времени ю, оставляем значения

2 _ ~ [9г|/ е (г) и Щ (ю), I * у} = 9Г

Шаг 5. С помощью алгоритма 28, начиная с момента времени ю, строим расписание У? (£), допускающее разрывы во времени выполнения операций. Если для вновь построенного расписания выполняется хотя бы одно из неравенств системы неравенств

[о,]/ е уЦ (£)} > й¡, I е 11 П /2 [У' (£)],

то данное расписание не содержит допустимых решений, и полагаем а[ У2 (£)] = —2. Если выполняются условия [ог|/ е У? (£)} < V I е 11 и при этом для некоторых работ выполняются неравенства [ог|/ е у1 (£)} > V I е 12, то полагаем

а[ У? (£)] = —1. Как в первом, так и во втором случаях строящееся расписание не содержит допустимых продолжений и полагаем £ = ю + 1.

В случае если ог- < Б V I е I, полагаем

а{ У? (£)} = 1. В качестве £ выбираем, как и в шаге 3,

время начала первой работы в расписании выполнение которой не было осуществлено до конца. Значение У? (ю) полагаем равным 0, у1 (ю) = 0. Переходим к шагу 1.

Для расписаний У? (£), в = 1, 2, если а{ У? (£)} =

= 1, значение £ как время начала выполнения той операции, в которой происходит прерывание, т. е.

£ = { min х.111 < t.}.

i е ^(ffl)

(15)

{6,-1 j е У2 (£)} = ю + xj .

Если задача (15) не имеет решений, то построено допустимое расписание У2, не содержащее прерываний во временах выполнения операций, и алгоритм завершает работу.

Шаг 6. Если алгоритм 3(8) завершил свою работу, не построив ни одного расписания У2, и среди

всех расписаний У? (£) содержатся только расписания с признаком а{ У? (£)} = —2, то задача не имеет допустимых решений и временные ресурсы выполнения некоторых работ должны быть расширены. Если при этом содержатся некоторые расписания, для которых а{ У? (£)} = —1, то граничное значение критерия оптимальности должно быть

увеличено на некоторую величину Fs := Fs + 8s, где 8s = min min min (a- — D ).

Таблица 1

ß

5 i e J2 [¥?(5)]

С новым значением критерия оптимальности последовательно выполняем вычисления (5), (6), алгоритмы 1(^), 2(^) и 3(я) до тех пор, пока не получим решения задачи, либо подтверждения того, что система ограничений задачи является несовместной. ♦

Предложенный алгоритм реализует метод последовательного приближения к оптимальному расписанию снизу F0 < Г1 < ... < Fs < ... < Гкаждая большая итерация которого — некоторая модификация метода ветвей и границ с отсевом неперспективных продолжений. Ветви дерева, не обеспечивающие выполнение всех ограничений задачи или значение критерия оптимальности, равное величине Г5, отсеиваются как неперспективные. На первых шагах алгоритма устанавливается факт несовместности системы ограничений и идентификация узких мест.

5. ИЛЛЮСТРАТИВНЫЕ ПРИМЕРЫ

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

При ограничениях на сроки завершения пятой работы й5 = 28 уже в процессе выполнения алгоритма определяется, что система ограничений задачи является несовместна. При увеличении значения й5 = 29 было получено допустимое расписание выполнения работ.

Рассчитав по формулам (5) значения Б, построим

последовательность и = {1, 2, 4, 5, 3}. Процесс решения сведен в табл. 2. Допустимая последовательность выполнения работ — Ж (^2) = {3, 1, 2, 4, 5}, сроки начала и завершения выполнения работ для расписания см. в табл. 2.

Пример 2. Необходимо найти оптимальную последовательность выполнения шести работ, начальные сроки а¡, времена ^ и граничные сроки завершения выполнения й¡, а также поствремена g¡ (табл. 3).

Вычисленное по формуле (4) значение нижней границы критерия оптимальности равно ¥0 = 33. Положив ¥1 = 35, по формуле (5) вычислим значения Б, которые приведены в последней строке табл. 3.

В соответствии с этими значениями построена последовательность выполняемых работ и = {2, 3, 1, 4, 6, 5}. Вычисленные по формулам (6) и преобразованные в процессе работы алгоритма значения 9, и т, приведены во втором и третьем столбцах табл. 4. Последовательность Ж (^1) определяет построенное алгоритмом 2б расписание, в котором допускается прерывание выпол-

Исходные данные Примера 1

Показатели Индексы работ

1 2 3 4 5

ai 6 3 1 19 15

ti 5 4 7 6 5

Di ' II 15 18 32 25 (28) 29

Таблица 2

Процесс и результаты решения Примера 1

Номер работы Допусти- мое время начала Последовательность (Yj), допускающая разрывы времени выполнения работ Расписание не допускающее разрывы времени выполнения работ

е,- Т 1 tl 1 2 2 x t

1 6 11 6 5 10 _ _ _ 8 5 12

2 3 15 3 3 5 11 1 11 13 4 16

3 1 12 1 2 2 12 5 16 1 7 7

4 19 19 19 6 24 _ _ _ 19 6 24

5 25 25 25 5 29 _ _ _ 25 5 29

Таблица 3

Исходные данные Примера 2

Показатель

ai t d gi D

Индексы работ

1 2 3 4 5 6

12 4 1 8 10 15

7 4 5 4 2 3

28 15 18 32 32 35

15 6 5 11 6 10

20 15 18 24 29 25

Таблица 4

Процесс и результаты решения Примера 2

Номер работы Допусти- мое время начала Последовательность (Yj), допускающая разрывы времени выполнения работ Расписание не допускающее разрывы времени выполнения работ

е Ti 1 tl 1 ai 2 t2 2 x t

1 12 14 12 7 18 — - - 12 7 18

2 4 10 4 4 7 - - - 6 4 9

3 1 14 1 3 3 8 2 9 1 5 5

4 8 21 10 2 11 19 2 20 19 4 22

5 10 28 24 2 25 - - - 10 2 11

6 19 23 21 3 23 - - - 23 3 25

нения работ. Алгоритмом Зб на 2-м шаге преобразования это расписание было преобразовано в последовательность, не допускающую разрывов во времени выполнения работ Ж (У2) = {3, 2, 5, 1, 4, 6}, в которой выполнены все ограничения на сроки выполнения работ и значение критерия оптимальности минимально. Времена начала и завершения выполнения каждой работы в этом расписании приведены в последних столбцах табл. 4. Значение критерия оптимальности определяется шестой работой и равно И = а6 + g6 = 25 + 10 = 35.

6. РЕЗУЛЬТАТЫ ВЫЧИСЛИТЕЛЬНЫХ ЭКСПЕРИМЕНТОВ

Поскольку сформулированная задача относится к классу МР-сложных, то предложенный алгоритм, реализующий некоторую модификацию метода ветвей и границ, как и алгоритм [1], относится к классу экспоненциально сложных.

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

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

числа N и среднего времени Т выполняемых заданий и процента работ Р, на завершение выполнения которых наложены ограничения. Объем вычислений определяется числом Q пересчетов нижней границы длины расписания, числом Ж развиваемых ветвей дерева и числом Я устраняемых разрывов выполнения работ в процессе решения задачи. Результаты проведенных вычислительных экспериментов приведены в табл. 5.

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

Таблица 5

Результаты вычислительных экспериментов

Параметры задачи

Параметры эффективности алгоритма

N T Р, % Q W R

До 200 5-7 10-20 0-6 10-15 12-30

100-200 8-10 До 50 7-11 20-30 25-38

400-500 3-5 До 30 12-20 40-45 42-50

800-100 3-7 До 25 30-42 65-80 90-105

1500 4 15 52 114 136

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

ЗАКЛЮЧЕНИЕ

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

Эффективность решения задач построения оптимальных расписаний без учета ограничений на сроки завершения выполнения работ с помощью предложенных алгоритмов сравнима с эффективностью известных ранее алгоритмов [1].

Предложенные алгоритмы могут успешно применяться в алгоритмах точного и приближенного решения ]оЪ-8Иор-ргоЪ1еш.

ЛИТЕРАТУРА

1.

Carlier J. The one-machine sequencing problem. — European

Journal of Operational Research. — 1982. — N 11. — P. 42—47. Lenstra J.K., Rinnooy Kan A.H.G., Brucker P. Complexity of machine scheduling problema. — Annals of Diskrete Mathematics. — 1977. — N 1. — P. 343—362. Domschke W., Scholl A., Voß S. Produktionsplanung. Ablauforganisatorische Aspekte. — Berlin, Heidelberg: Springer Verlag. — 2005. — 456 p.

Brucker P. Scheduling Algorithms. — Berlin, Heidelberg und New York: Springer-Verlag, 1998.

5. Лазарев A.A., Графов Е.Р. Теория расписаний. Минимизация суммарного запаздывания для одного прибора. — М.: ВЦ им. А.А. Дородницина РАН, 2004. — 129 с. Зак Ю.А. Прикладные задачи теории расписаний и маршрутизации перевозок. — М.: URSS, 2012. — 394 с. Зак Ю.А. Построение допустимых и оптимальных расписаний выполнения работ на одной машине // Кибернетика и системный анализ. — 2012. — № 1. — С. 62—82.

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

2.

3.

4.

6.

7.

Статья представлена к публикации членом редколлегии В.Н. Бурковым.

Зак Юрий Александрович — д-р техн. наук, науч. консультант, г. Аахен, Германия, ®+49 (0) 241/543255, И [email protected], http\\www.optmorum.de.

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