Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000414.doc
Скачиваний:
20
Добавлен:
30.04.2022
Размер:
3.59 Mб
Скачать

5.4.4. Алгоритм построения расписания минимальной длины

Условие (5.4.1) является достаточным для оптимальности расписания. То есть если для любой пары требований (i, j) из некоторого расписания условие (5.4.1) выполнено, то расписание оптимально. Однако строить оптимальное расписание с его помощью не слишком удобно, так как требуется большое количества проверок и переборов. Поэтому ниже будет предложен алгоритм построения расписания, удовлетворяющего условию (5.4.1), то есть являющегося оптимальным.

Алгоритм Джонсона

Шаг 1. В первую группу заносятся требования, у которых ; во вторую группу заносятся требования, у которых .

Шаг 2. Требования из первой группы сортируются по неубыванию аi и в таком порядке занимают первые место в расписании.

Шаг 3. Требования из второй группы сортируются по невозрастанию bi и занимают в таком порядке последующие места в расписании.

Пример 5.3. Дано пять деталей, которые последовательно обрабатываются на двух станках. Время обработки каждой детали на каждом станке указано в табл. 5.4.5.

Таблица 5.6

i

1

2

3

4

5

ai

3

1

5

2

4

bi

1

3

2

4

5

В соответствии с требованиями алгоритма разобьем требования на группы (табл. 5.7):

Таблица 5.7

I группа

II группа

i

2

4

5

i

1

3

ai

1

2

4

bi

1

2

Оптимальное расписание .

Длина расписания вычисляется в табл. 5.8.

Таблица 5.8

σ

2

4

5

3

1

fia

1

3

7

12

15

fib

7

8

13

15

16

Здесь общее время обслуживания равно 16.

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

5.5. Конвейерная система с тремя и более приборами

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

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

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

Будем рассматривать в дальнейшем систему с тремя приборами. Длительность обслуживания требований на первом, втором и третьем приборах обозначим , и соответственно.