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

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

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

Шаг 1. В первую группу заносятся требования, у которых Алгоритм построения расписания минимальной длины - student2.ru ; во вторую группу заносятся требования, у которых Алгоритм построения расписания минимальной длины - student2.ru .

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

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

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

Таблица 5

i
ai
bi

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

Таблица 6

I группа   II группа
Алгоритм построения расписания минимальной длины - student2.ru   Алгоритм построения расписания минимальной длины - student2.ru
i   i
ai   bi

Оптимальное расписание Алгоритм построения расписания минимальной длины - student2.ru . Длина расписания вычисляется в таблице 7.

Таблица 7

σ
fia
fib

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

Доказательство оптимальности алгоритма Джонсона

Докажем, что для расписания, полученного с помощью алгоритма Джонсона, выполнено условие (1).

В самом деле, пусть в расписании Алгоритм построения расписания минимальной длины - student2.ru (i предшествует j). Тогда возможны три случая:

1. Алгоритм построения расписания минимальной длины - student2.ru ,

2. Алгоритм построения расписания минимальной длины - student2.ru ,

3. Алгоритм построения расписания минимальной длины - student2.ru .

(Возможен ли случай когда Алгоритм построения расписания минимальной длины - student2.ru , а Алгоритм построения расписания минимальной длины - student2.ru ?)

Случай 1.

Если i и j принадлежат первой группе, то

Алгоритм построения расписания минимальной длины - student2.ru , (8)

Алгоритм построения расписания минимальной длины - student2.ru , (9)

Алгоритм построения расписания минимальной длины - student2.ru , (10)

Тогда Алгоритм построения расписания минимальной длины - student2.ru , откуда следует, что Алгоритм построения расписания минимальной длины - student2.ru .

Чтобы доказать, что (1) выполнено нужно показать, что Алгоритм построения расписания минимальной длины - student2.ru и Алгоритм построения расписания минимальной длины - student2.ru . Но эти условия выполнены: (8), (10).

Упражнение 1. Докажите самостоятельно оптимальность алгоритма для второго случая. Подсказка: здесь будет выполнено Алгоритм построения расписания минимальной длины - student2.ru .

Случай 3.

В этом случае имеем

Алгоритм построения расписания минимальной длины - student2.ru , (11)

Алгоритм построения расписания минимальной длины - student2.ru . (12)

Так как требования из первой и второй группы не связаны никакими зависимостями, то Алгоритм построения расписания минимальной длины - student2.ru может достигаться как на Алгоритм построения расписания минимальной длины - student2.ru так и на Алгоритм построения расписания минимальной длины - student2.ru . Рассмотрим случай 3.1, где Алгоритм построения расписания минимальной длины - student2.ru , то есть

Алгоритм построения расписания минимальной длины - student2.ru (13)

и требуется доказать, что

Алгоритм построения расписания минимальной длины - student2.ru (14)

и

Алгоритм построения расписания минимальной длины - student2.ru (15)

(15) следует из (11). Далее из (12) и (13) следует Алгоритм построения расписания минимальной длины - student2.ru , то есть выполняется (14).

Упражнение 2. Самостоятельно доказать для случая (12), где Алгоритм построения расписания минимальной длины - student2.ru .

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

Теория экономических информационных систем

Наши рекомендации