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

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

CC BY
380
67
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИСТЕМА МАШИН / ПАРАЛЛЕЛЬНАЯ РАБОТА / ОГРАНИЧЕНИЯ / СРОКИ ВЫПОЛНЕНИЯ / ДОПУСТИМЫЕ И ОПТИМАЛЬНЫЕ РАСПИСАНИЯ / ОПТИМИЗАЦИЯ / ПОСЛЕДОВАТЕЛЬНЫЕ АЛГОРИТМЫ / FLOW-SHOP-PROBLEM / PARALLEL SYSTEM OF MACHINES / LIMITS ON ASSIGNMENTS / VALID AND OPTIMAL SCHEDULING ALGORITHMS / SEQUENTIAL OPTIMIZATION

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

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

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

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

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

The development of Flow-Shop-Problem is considered. The mathematical model of scheduling for parallel working systems of machines under a given set of constraints on deadlines for separate tasks is considered. The properties of admissible and optimal schedules are examined and the methods of optimal scheduling by sequential optimization algorithms are proposed. The presented example shows the efficiency of the developed algorithms.

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

УДК 519.874

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

И ПОТОЧНЫХ ЛИНИЙ

Ю.А. Зак

В развитие Ио'^8Ьор-РгоЪ1ет рассмотрены постановки и математическая модель задачи построения расписаний для параллельно работающих систем машин в условиях заданной системы ограничений на сроки выполнения заданий. Исследованы свойства допустимых и оптимальных расписаний и предложены методы решения задачи с помощью последовательных алгоритмов оптимизации. Приведены числовые примеры.

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

введение

Рассматриваемая задача построения расписаний для параллельно работающих систем машин и автоматических (поточных) линий в некоторой степени обобщает классические задачи теории расписаний выполнения работ на параллельных машинах и Flow-Shop-Problem (см., например, работы [1—4]). В отличие от рассматриваемых в литературе обобщений в виде Hybrid Flow-Shop Sсheduling Problem (см., например, работы [5—7]), где каждая j-я операция любого задания может выполняться на любой из параллельно стоящих на j-й стадии обработки M машинах (т. е. все последовательные стадии обработки всех операций одного задания не объединены в одну технологическую линию), в рассматриваемой постановке каждое из N заданий должно выполняться только на одной технологической линии, состоящей из K последовательно работающих машин. В публикациях [5—7]) были предложены только приближенные и эвристические методы решения этих задач без учета всего комплекса ограничений на сроки выполнения заданий и времена работы машин. В настоящей работе предложены точные методы решения сформулированной ниже важной для практических приложений проблемы.

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

Операции всех заданий выполняются в одной и той же и одинаковой для всех заданий последовательности. Выполнение каждой операции может быть назначено только на соответствующей машине; т. е. первая операция выполняется на машине 1, вторая — на машине 2 и т. д., и Х-я операция — на

машине К. Заданы — времена выполнения к-й

операции /-го задания на 1-й технологической линии. Если в /-м задании к-я операция отсутствует,

то полагаем значение = 0. Следовательно, все

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

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

Рассматриваемая далее обобщенная постановка задачи Flow-Shop-Problem для параллельно работающих систем машин (технологических линий) может быть сформулирована в условиях следующих предпосылок.

• Система состоит из I = 1, ..., М параллельно

функционирующих технологических линий,

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

• Необходимо выполнить N заданий. Выполнение каждого из заданий может быть назначено только на одну из технологических линий.

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

• Длительности выполнения каждой из этих операций ^ (?/к) известны и могут быть различны

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

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

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

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

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

В то время как для Flow-Shop-Problem и задачи построения расписаний выполнения работ на параллельных машинах разработаны алгоритмы получения точных и приближенных решений (см., например, работы [2—4, 8, 9]), исследованию свойств этой важной для практических приложений задачи не уделялось достаточного внимания в литературе. Автору не известны публикации, в которых были бы предложены эффективные методы решения сформулированной задачи для различного вида критериев оптимальности и в условиях заданной системы ограничений. В данной работе рассматривается математическая модель задачи построения расписаний на параллельно работающих системах машин, исследуются свойства допустимых и оптимальных расписаний и предлагаются точные и приближенные методы решения задачи последовательными алгоритмами оптимизации и эвристическими алгоритмами. Алгоритмы решения иллюстрируются числовым примером.

1. математическая формулировка задачи

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

Введем обозначения:

П = {1, ..., к, ..., К} — последовательность выполнения операций, одинаковая для каждого задания;

к, I) — время выполнения к-й операции 1-го задания на к-й машине 1-й технологической линии;

Ь, Б1 — соответственно граничные сроки на начало и завершение выполнения /-го задания;

11к Тт1к

п , Н — соответственно граничные начальные и конечные времена возможности использования к-й рабочей станции 1-й технологической линии.

Если величины Ь{ или П1к не заданы, то они полагаются равными нулю. В случае отсутствия граничных значений Б{ или Н1к они полагаются равными да.

Обозначим:

Т1 I -1 -1 -1 1 лт1

I = {11, ..., 1р, ..., 1Н} и N — соответственно

подмножество и число заданий, выполняемых на

~ 1 ~х

1-й технологической линии, I П I = 0, I, X =

= 1,

м ~, м ,

И, I* X; и^ I = I = {1, ..., N}; £ N = N

1= 1

x(i, k, l) — время начала выполнения операции (i, k, l);

9(i, k, l) — допустимый наиболее ранний срок начала выполнения операции (i, k, l);

a(i, k, l) = x(i, k, l) + t(i, k, l) — 1 — время завершения выполнения операции (i, k, l);

T = a(i, K, l) — время завершения выполнения всех операций i-го задания на l-й поточной линии;

T = max max T. = a(i, K, l) — время окончания

1 < i < м{ e I 1

выполнения всего множества заданий.

Ограничения на начало выполнения каждой операции первого из выполняемых заданий на каждой из технологических линий имеют вид:

x( i[, 1, l) l 9( i[, 1, l) = max(b, h11), l = 1, ..., M;

— минимальное суммарное или средневзвешенное время работы машин всех технологических линий

м к

F4 =

X X iN, k, I)

I = 1 к = 1

В выражениях (6) и (7) w¡ 1 0, / = 1, ..., N и в11 0, I = 1, ..., М, Пк 1 0 — некоторые весовые коэффициенты, удовлетворяющие условиям нормировки

N М М К

X w = l, X ßi = 1, XX nlk

= i.

i = 1

l = 1

l = 1 k = 1

2. свойства допустимых и оптимальных

расписаний

х(/[, к, I) 1 9(/[, 1, 0 = тах(ст(/[, к-1, I) + 1, Н1к), к = к + 1, ..., Х, I = 1, ..., М. (1)

Допустимый наиболее ранний срок начала выполнения операций (/, к, I) определяется выражением

х(/, 1, I) 1 9(/, 1, I) = ст(/ - 1, 1, I) + 1,

х(/, к, /) 1 9(/, к, /) = = тах{ст(/ — 1, к, /), а(/, к — 1, /)} + 1,

ll i2 , ..., iN

l = 1, ..., M,

(i — 1) = ij, i = i2, ..., , k = k + 1, ..., K,

где

ст( i1 — 1, k, l) = 0, i = ij, i

l l l 1 , '2 , ..., 'n.

(2)

(3)

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

Т = ст(/, Х, I) < т1п(Вг; Н1К), / = 1, ..., N. I = 1, ..., М. (4)

В качестве критериев оптимальности могут рассматриваться следующие показатели:

— выполнение расписания в кратчайшие сроки

F1 = min max maxa(i, K, l), 1

1 s J s m , e i

(5)

Обозначим: t (i, k) = t (i, k, l) = min t(i, k, l);

1 s l s M

hk = min hlk; Hk = max Hlk; k = 1, ..., K. 1 s ls M 1 s l s M

Пусть известны подмножества выполняемых

заданий на каждой поточной линии /l, l = 1, ..., M. Вычислим значения ранних сроков завершения

выполнения работ на k-й машине (glk), на последних (K — k) машинах (k = 1, 2, ..., у, ..., K — 1) каждой технологической линии G , а также оценку нижней границы времени выполнения всех зада-

ний на k-й машине на всех линиях — R

k

-lk ■ g = min

i e Ii

k

9(i, 1, l) + X t(i, Y, l)

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

Y = 1 .

l = 1, ..., M, k = 1, ..., K;

nlk .

G = min

г e Ii y = k

X t(i, Y, l),

l = 1,

M, k = 1,

(8)

, K;

Rk = E

f-k N -h + X t (i, k)

г = 1

k = 1, ..., K. (9)

Здесь и в дальнейшем Е [а] — наибольшее целое значение величины в квадратных скобках, т. е.

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

N

f2 = X wP(i, K, l); i = 1

(6)

— минимальное суммарное или средневзвешенное время технологических линий

M

N

F3 = X ßMi , K, l);

(7)

l = 1

Е[а] = [Iа, если \а = а,

[а + 1, если |а| < а < \а\ + 1,

где |а| — целая часть числа а.

Утверждение 1. Время завершения выполнения всех заданий на параллельно работающих системах машин (значение критерия оптимальности Е1) не может быть меньше величины

F l LiF,) = max max (glk + G- 2t(i, k, l)). ♦ 1 0 1 1 i/ 1

^lk

1 s l s M 1 s k s K

k

Определим времена начала Ь и завершения

01к выполнения всех работ на каждой из машин всех поточных линий к = 1, ..., К, I = 1, ..., Ь:

Т 11 ,,;1 , п

Ь = тах[п , тт Ь.],

1 < 1 < N 1

011 = тах[П11, т1п Ьг] + £ 1, I),

1 < 1 < N

1 е I

I = 1, ..., Ь;

Л 1к п

Ь = тах{П; тт[9(/, (к — 1), /) + (к - 1), /)]},

1 е I к = 2, ..

К, I = 1,

Ь;

01к = Ь1к + £ ?(/, к, /),

к = 2,

1 е I

К, I = 1,

Ь,

(11)

(12)

где значения 9(/, (к — 1), I) вычисляются по формулам (1) и (2).

Утверждение 2. Время завершения выполнения всех заданий не может быть меньше величины

Р, 1 ^1) =

= тах тах

1 < 1 < М 1 < к < К

01к + в1к — 2 £ I, к) I. ♦

1 е I

В случае отсутствия ограничений на времена работы машин и сроки начала и завершения выполнения заданий (Пк1 = Ь. = 0, Нк1 = Б. = да;

к = 1, ..., К, I = 1, ..., Ь, / = 1, (8)—(10) упрощаются:

., Щ выражения

к _к я1к = т1п £ ?(/, у, /), Л = Е

1 е I у = 1

N

N

£ t (/, к)

1 = 1

Л /1

ь = £ 1, 0, к = 1, ..., К, I = 1,

1 е I'

Ь,

и оценки значения критерия оптимальности и вычисляются по более простым формулам.

Обозначим: и , /2° и У21ш — соответственно подмножества и подпоследовательности выполнения заданий на 1-й поточной линии в ю-м подмножестве анализируемых вариантов, развитие которых в дальнейшем соответственно целесообразно, и после того, как построены все допустимые

последовательности для данной линии; стк( У/Ш), к = 1, ..., К, — времена завершения выполнения всех заданий на к-й машине для последовательности У/Ш; /р(У/Ш) — значение соответствующего критерия оптимальности для последовательности

У^ . В частном случае /1( У^) = стК( У^).

Утверждение 3. Если для двух вариантов ю и п в процессе построения последовательностей выполнения заданий на некоторой 1-й поточной линии справедливы соотношения

/П с /Ш , аЛ У^) < аЛ У^), к = 1, ..., К;

/„(У>11ш) < /„( V?), р = 1, ..., р,

I / - з (13)

и хотя бы одно из неравенств выполняется как стро-(10) гое неравенство, то последовательность У1 пред-

почтительнее последовательности У^ У^, и последняя может быть исключена из рассмотрения как неперспективная. ♦

Следствие. Если справедливы соотношения

с /2°, ак( У?) < ак( У?), /( У?) < /( У?),

р = 1, ..., р,

(14)

то последовательность У2 предпочтительнее последовательности У21п, и последняя может быть исключена из рассмотрения как неперспективная. ♦ Правило отсева (14) может применяться, когда построены все допустимые последовательности

У21ш, а правило (13) — в процессе их построения.

Обозначим О™(Х) — ^-й рассматриваемый вариант объединения Х-последовательностей У2Ш

Т ы

подмножества заданий /2 , I = 1, 2, ..., X, выполняемых на первых Х-поточных линиях, X = 2, ..., Ь;

/ [О™(Х)] — подмножество заданий, входящих в О*(Х);

~ X ~ ~ 1- Ш

/ [О*(Х)] = и1 /2 , где /2 = 0, 11, ^2 1, ..., Х, * ^2'

(15)

^ДО^Х)] — значение соответствующего критерия оптимальности для О™(Х). Так, например,

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

Т 1ш ,

РЛО^Х)] = тах стК(/1 ), 1 1 < 1<х К

1т ,

Р^Х)] = £ Стк(/1 )

(16)

1= 1

Утверждение 4. Если для двух вариантов и w2 объединения последовательностей О (Х) и

О 2 (Х)

справедливы соотношения

/ [ О^2 (Х)] с / [ О^1 (Х)]; Рр[ О1 (Х)] т Рр[ О2 (Х)], (17)

и хотя бы одно из неравенств выполняется как строгое неравенство, то объединение О (Х) предпочти-

X

тельнее П 2 (X), и объединение П (X) может быть исключено из рассмотрения как неперспективное.

Оценки возможности выполнения заданной системы ограничений. Положив ст(/, 0, I) = 0, вычислим времена начала и завершения выполнения работ на каждой машине

х(/, к, I) = тах(Ик, ст(/, к — 1, I) + 1), ст(/, к, I) = х(/, 1, I) + к, I) — 1,

/ = 1, ..., N к = 1, ..., Х, I = 1, ..., X.

Утверждение 5. Если для некоторой пары индексов (1, I) справедливо неравенство

ст( /, Х /) > В, (18)

то выполнение / -го задания на I -й поточной линии

недопустимо. Если для некоторого / -го задания неравенство (18) справедливо для всех значений индек-

, ..., X, то система неравенств задачи не-

сов I = 1 совместимая. ♦

Пусть на некотором 5-м шаге решения задачи

определены I — подмножества заданий, выполняемых на 1-й поточной линии.

Упорядочим все задания / е в последовательность

и = {ы1 , ы2 , ..., ыр , ..., иР | ыр е I , р = 1, ..., Р; В(и1!) < В(и1" !), р = 1, ..., Р — 1},

т> т"1

где Р — число элементов подмножества I . Вычислим значения

х(ы15, 1, I) 1 9(щ , 1, I) = тах(Ь, И11), х(/, к, I) 1 9(/, к, /) = тах{ст(/ — 1, к, /),

ст(/, к — 1, /)} + 1, / = ы25, .

• _ 1$ / • 1 \ _

и, если / = ыр , то (/ — 1) = ыр _ 1

1$

., ыр,

р ' ^ V ^ р -ст(/, 1, I) = х(/, 1, /) + 1, /) — 1,

1$

/ = ы1 ,

1$

ы2 , ..., ыр , ..., ыР .

= тт

I е I

Y*(k, /) = X к, /), £ $ (к, /) =

/ е 1

к -1 ■ 0(/, 1, I) + X У, 1)

у = 1 .

_ К

С $ (к, /) = т1п X у, /) . ^

I е I у = к + 1

I 4 $ = {/?, /2$, ..., /р*, ..., /р}

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

ст(/, X, I) > Вр / е I4 $,

т $1

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

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

Ys(k, I) + £ $ (к, I) + в $ (к, I) > В.,

к = 1, 2, ..., Х, / е I

1, $

т $1

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

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

3. алгоритмы решения задач

Рассматриваемые задачи относятся к классу NP-сложных задач. Рассмотрим методы решения задачи с помощью алгоритмов динамического программирования [10] путем последовательного анализа с отсевом неперспективных вариантов [11]. Алгоритмы решения задачи состоят из двух этапов. На первом из них строятся различные допустимые и перспективные последовательности выполнения заданий на каждой из поточных линий

тт1ю г 1ю 1ю 1ю 1

Ъ = {V! , У2 , ..., Ур( 1Ш) Ь

I = 1, ..., X, Ю = 1, ..., Ж,

где vp — номера заданий, входящих в последова-

' 1 ю

тельность У1 , а Р(1, ю) — число заданий в этой последовательности.

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

1ю тГ-1 ю

последовательности У1 и У2 , объединение которых в множество последовательностей ПГ(Х), г = 1, ..., Я, обеспечит получение допустимых и оптимальных по различным критериям оптимальности решений.

ы

р

На втором этапе решения последовательно X = 2, ..., L рассматриваем различные r-е варианты Qr(X) объединения последовательностей V^ , l = 1, 2, ..., X, удовлетворяющие соотношениям (15) с отсевом неперспективных продолжений на основе правила отсева (17), сформулированного утверждением 4.

Пусть P{Qr(X)} — число заданий во множестве

Qr(X). При построении Qr(X + 1) рассматриваются только такие последовательности выполнения заданий на линиях l = (X + 1), ..., L, для которых справедливо соотношение

P{Qr(X)} + max max Р(ц, ю) +

(I + 2)<ц<L 1 <m< W l ф ц

+ P(X + 1, w) l N, w = 2, ..., W. (19)

Далее приводится формальная схема алгоритма.

На первом этапе решения для каждой поточной линии l = 1, ..., L строятся последовательно все допустимые последовательности V/© выполнения n различных заданий p = 2, 3, ..., P(l, ю).

Времена начала и завершения выполнения всех работ каждого задания вычисляются по формулам (1)—(4), (10)—(12). Если время завершения выполнения p-го задания = alm(p, K, l) > max(Bp, HKl)

или alm(p, K, l) > Hkl, то строящаяся последовательность отбрасывается как недопустимая.

Кроме того, в процессе построения на основе соотношений (13) и (14) исключаются последовательности, не содержащие оптимальных решений. Для дальнейшего рассмотрения оставляются в каждой поточной линии только те последовательности выполнения заданий F2©, число заданий в которых удовлетворяют соотношению (19).

На втором этапе решения последовательно строятся различные варианты объединений последовательностей:

- ~ 1, mi ~ 2, ©о

^ = { V2 1 , V2 2 },

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

После выполнения 1-го шага построения допустимых и перспективных объединений последовательностей выполнения заданий на первых I линиях Оь' г, г = 1, ..., Я, среди допустимых последовательностей выполнения заданий на оставшихся линиях Х = (I + 1), ..., Ь оставляем только после-

тТ X, ш

довательности У2 , число выполняемых заданий в которых

Р(Х, м) 1

ь

l N -

max P{Qr(l)} + у max Р(ц, ю)

1 <r<ä ^ 1<ю<W

ц = (/+ 1),

ц ^ x

« L s i L — 1r тт-L, ю

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

ледовательностеи Q ' = {Q ' , V2

Х = (I + 1), ..., Ь. Если существуют допустимые объединения пос-

5 = 1, ...,

то задача имеет ^ различных допустимых решений, значения критериев оптимальности которых соответственно равны ^(Оь' 4). Оптимальным решением задачи является расписание, удовлетворяющее соотношению

F(QL) = min Fp(QL' s),

F 1 < s < S F

где Fp(QL' s) — соответствующий вид критерия оптимальности. Так, например,

F,( QL) = min F,(QL' s) =

1 1 < s < S 1

= min max ст[ vlp(/ s), K, l],

1 <s < S 1 </< L P(/'s)

F3( QL) = min F3(QL' s) =

3 1 < s < S 3

L

= 1min У ß/CT[ v%,s), K l].

S / = 1

Q3' s = {Q2' r, V,'©}

Q1' s =

= {О1 - 1 г, У2 Ш}, ..., ОЬ'' = {Оь - 1 г, }. Допустимые множества объединений последовательностей О1' 4 = {О1 - 1г, У^'©}, I = 2, ..., Ь, м = 1, ..., W, 5, г = 1, ..., Я, должны удовлетворять

соотношениям (15). Для построенных множеств О1'4 вычисляется значение соответствующего критерия оптимальности (например, по формулам (16)). Среди построенных подмножеств объединений

1 4

последовательностей О на основе правила отсева (17), сформулированного утверждением 4, осу-

4. иллюстративным пример

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

допустимые времена работы всех машин каждой поточной линии приведены в табл. 1 и 2.

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

Первая технологическая линия:

;1,1

1,1.

1) V ' = {7}, ' ) = 28;

-1,2

1,2 .

2) V = {7, 1}, ) = 33

;1,3

1,3,

3) V = {7, 2}, а^ ' ) = 37

1,4,

4) V = {7, 5}; а(Г' ) = 33

'1,5

1,5,

5) V ' = {7, 1, 3}, аф' ) = 36

;1,б

1,6,

6) V = {7, 1, 5}, ) = 39

;1,7

1,7,

7) V' = {7, 3, 5}, ) = 38

8) V' = {7, 5, 3}, ) = 36.

Так как о( V1,8) < о( V1,7), а I1,8 = I1,7, то на ос-

~ 1,7

нове правил предпочтения последовательность I исключается из дальнейшего рассмотрения как неперспективная.

Таблица 1

Времена выполнения операций на машинах поточных линий

Допустимые

Времена выполнения операций сроки

на машинах поточных линий выполнения

№ заданий

зада-

ния На На На

машинах машинах машинах На- Завер-

первой второй третьей чало шение

линии линии линии

1 4 8 5 6 7 6 3 9 7 5 38

2 5 7 10 6 6 12 7 8 9 10 40

3 10 2 3 8 1 4 9 5 4 3 50

4 6 7 8 7 5 8 6 7 9 1 25

5 3 5 6 2 7 4 4 4 4 4 60

6 6 10 3 6 9 7 5 8 6 5 27

7 7 8 8 6 9 10 10 8 8 2 28

8 3 6 7 5 5 9 4 5 7 3 20

Таблица 2

Допустимые времена работы машин

Времена работы Первая линия (номера машин) Вторая линия (номера машин) Третья линия (номера машин)

машин № 1 № 2 № 3 № 1 № 2 № 3 № 1 № 2 № 3

Начало 6 6 6 1 5 5 5 5 5

Завер- 40 40 40 40 40 40 40 40 40

шение

Вторая технологическая линия:

1) V2,1 = {4}, а^2,1) = 20;

2) V2,2 = {4, 1}, а( V2,2) = 26

3) V2,3 = {4, 2}, а( V2'3) = 33

4) V2,4 = {4, 3}, а( V2'4) = 24

5) V2,5 = {4, 5}, а( V2,5) = 24

6) V2,6 = {4, 1, 3}, а( V2,6) = 32

7) V2,7 = {4, 1, 5}, а( V2'7) = 32

8) V2,8 = {4, 2, 3}, а( V2'8) = 37

9) V2,9 = {4, 2, 5}, а( V2,9) = 37

V2Д0 = {4, 3, 1}, о( V2Д0 ) = 34;

V2'11 = {4, 3, 2}, о( V2,11) = 39;

V2Д2 = {4, 3, 5}; о( V2'12 ) = 28;

V2Д4 = {4, 5, 1}, о( V2'12 ) = 32;

V2'14 = {4, 5, 3}, о( V2'14 ) = 28.

V2'15 = {4, 3, 5, 2,15 1}, о(V '15) = 37

V2Д6 = {4, 5, 1, 3}, о( V2Д6) = 36

V2Д7 = {4, 5, 3, 2,17 1}, a(V ' ) = 36

т /т> 2,6 Ч , /т> 2,10 ~ 2,6 ~ 2,10

Так как а^ ) < а(V ), I = I ,

/т>2,8, , /т>2,11, Т2,8 ~2,11 , ~ 2,13

а(V )< а(V ) и I = I , а также a(V ) =

~ 2,7 Т2,13 Т2,7 = а( V ) и I = I , то последовательности

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

~ 1,10 ~ 2,11 ~ 2,13

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

а^2Д6) = а( V2'17) < а(^2,15), Р1 = ?Д6 = I2,17, то на втором этапе алгоритма достаточно рассмот-

~2,16

реть только последовательность V . Третья технологическая линия:

1) 3,1 V ' = {8 ?}, о( V3,1) = 20;

2) 3,2 V3,2 = {8 8, 6}, о( V3,2) = 27;

3) 3,3 V ' = {8 8, 6, 1}, о( V3,3) = 37;

4) 3,4 V ' = {8 8, 6, 2}, о( V3,4) = 38;

5) 3,5 V ' = {8 8, 6, 3}, о( V6,5) = 31;

6) V3,6 = {8 8, 6, 5}, о( V3,6) = 31.

7) 3,7 V ' = {8 8, 6, 3, 5}, о( V3,7) = 35;

8) V3,8 = {8 8, 6, 5, 3}, о( V3,8) = 35.

Так как а(У3,7) = а(У3,8), 13,7 =

3,8

т ' , то на втором этапе алгоритма достаточно рассмотреть толь-

~ 3 7

ко последовательность V ' .

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

1) Q = {V1,2:

Fi(Q) = 37;

2) Q2 = {V1,2: F1( Q) = 37;

3) Q3 = {V1,5: F1( Q3) = 36;

;1,2

V 2'8 V3'6}

V

2,9

~ 3 5

V • }

V2,3 V3,61

~2 3 ~3 7

v 2,3 v 3,71

T (Q1) = (33, 37, 31), T (Q) = (33, 37, 31), T (Q3) = (36, 33, 31), T ( q4 ) = (33, 33, 35),

4) О4 = {V

Fl( О4) = 35.

Так как все остальные допустимые объединения последовательностей выполнения заданий дают не лучшие, чем F1( О4), результаты, то получено

— ~ 12

оптимальное решение задачи О4 = {У ' = (7, 1),

У2'3 = (4, 2), У3'6 = (8, 6, 3, 5)}. Времена начала и завершения выполнения операций на различных машинах каждой из линий для построенного расписания приведены в табл. 3.

5. оценка сложности алгоритма

Система состоит из И технологических линий; И1 < И — число различных по техническим характеристикам технологических линий. Каждая технологическая линия содержит К машин, выполняющих N заданий, предусматривающих выполнение К операций. В условиях отсутствия системы

ограничений требуемое число операций на первом этапе решения составляет П1 вычислений, рассчитываемых по формулам (1)—(3), а также П2 операций сравнения для отсева неперспективных продолжений. Значения П1 и П2 вычисляются по формулам:

П1 = O <{ M1

N

R1 + £ 0,5[R,_ 1(R,_ 1 - 1)]

i = 2

N

П2 = M1 £

i = 1

где R1 = N; R, = 0,5R; _ 1(Ri _ 1 - 1), i = 2, ..., N. Число операций на втором этапе решения зада-

чи П3 = O

N

R

i = 1

M

В случае ограничений объем вычислений существенно сокращается. Так, например, если время работы технологических линий не может превышать минимального для времени выполнения n < N заданий, и при наличии ограничений на сроки выполнения заданий в результате отсева недопустимых вариантов, значения R,, i = 1, ..., N, становятся существенно меньшими. Вследствие этого при вычислении значения П1 число элементов суммирования сокращается, что приведет соответственно к уменьшению значений П1, П2 и П3.

Автором был выполнен вычислительный эксперимент на персональном компьютере с процессором Intel Core I-5 3230M, 2,6 ГГц, до 3,2 ГГц, 3 Мб. Решались модельные задачи теории расписаний по критерию F1 — минимизации длины распи-

Таблица 3

Оптимальные последовательности выполнения заданий на поточных линиях

Времена выполнения операций заданий на различных машинах

№ линии № задания Машина № 1 Машина № 2 Машина № 3 Граничное

Начало Завершение Начало Завершение Начало Завершение значение

1 7 6 12 13 20 21 28 28

1 13 16 21 28 29 33 38

3 17 26 29 30 34 36 50

2 4 1 7 8 12 13 20 25

2 10 15 16 21 22 33 40

3 8 5 8 9 13 14 20 20

6 9 13 14 21 22 27 27

5 14 17 22 25 28 31 60

Таблица 4

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

«средние», «жесткие»). Значения Ь, В1 и кш, Ишвы-бирались также случайным образом из соответствующего диапазона, длина которого зависела от числа операций в задании и от значения лингвистической переменной, соответствующий терм которой определялся также стохастически. Результаты вычислительного эксперимента сведены в табл. 4.

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

заключение

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

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

литература

1. Конвей Р.В., Максвелл В.А., Миллер Л.В. Теория расписаний. - М.: Наука, 1975. - 359 с.

2. Bruker P. Scheduling Algorithms. — Leipzig: Springer, 2007. — 371 p.

3. Domschke W., Scholl A., Vofi S. Produktionsplanung. Ablauforganisatorische Aspekte. — Berlin — Heidelberg: Springer Verlag, 2005. — 456 s.

4. Зак Ю.А. Прикладные задачи теории расписаний и маршрутизации перевозок. — М.: Кн. дом «Либроком», 2011. — 393 c.

5. Salvador M.S. A solution to special case of flow shop scheduling problems // Elmaghraby S.E. (Hrsg): Symposium of the Theory of Scheduling and its Applications. — Berlin: Springer, 1973. — P. 83—91.

6. Quadt D., Kuhn H. A taxonomy of flexible flow line scheduling procedures // European Journal of Operational Research. — 2007. — Vol. 178, iss. 3. — P. 686—698.

7. Ribas I., Leisten R., Framinan J.M. Review and classification of hybrid flow shop scheduling problems from a production system and a solutions procedure perspective. — Computers & Operations Research. — 2010. — Vol. 37, N 8. — P. 1439—1454.

8. Зак Ю.А. Решение обобщенной задачи Джонсона с ограничениями на сроки выполнения заданий и времена работы машин. Ч. 1. Точные методы решения // Проблемы управления. — 2010. — № 3. — С. 17—25. Ч. 2. Приближенные методы решения. — Там же. — № 4. — С. 12—19.

9. Зак Ю.А. Распределение множества заданий и определение оптимальных очередностей их выполнения на параллельных машинах методами динамического программирования // Информационные технологии. — 2012. — № 8. — С. 14—20.

10. Беллман Р. Динамическое программирование. — М.: Иностранная литература, 1960. — 400 с.

11. Михалевич В.С., Трубин В.А., Шор Н.З. Оптимизационные задачи производственно-транспортного планирования. — М.: Наука, 1986. — 260 с.

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

В.Н. Бурковым.

Юрий Александрович Зак — д-р техн. наук, науч. консультант,

г. Аахен, Германия,

® +49/(0) 241-54-32-55, И [email protected].

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

Параметры задачи Параметры ограничений Время

реше-

№ На время На сроки

ния, с

M Mi N K работы выполнения

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

линии задании

1 2 2 8 4 До 4-6 заданий Слабые на 4 задания 12-15

2 3 2 10 5 До 3-5 заданий Слабые на 6 заданий 28-42

4 4 2 12 4 До 3-6 заданий Средние на 4 и жесткие на 3 задания 110-130

5 4 2 25 8 До 3-5 заданий Жесткие на 10, средние на 7-8 и слабые на 5-7 заданий 320-440

6 5 3 15 3 До 3-4 заданий Слабые на 2, средние на 3 и жесткие на 3 задания 230-270

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