Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Задача Джонсона - временнóе упорядочение




Рассмотрим следующую задачу. Пусть n изделий (деталей) должны проходить последователь-ную обработку на двух станках M 1 и M 2 (в указанном порядке), причем станок в каждый момент вре-мени может обрабатывать одну деталь. Продолжительность обработки детали Pj станком Mi предпо­лагается известной; обозначим её через τij. Требуется минимизировать общее время обработки всех деталей на обоих станках.

Конечно, названия «деталь» и «станок» здесь условны; вместо них речь может идти о любых объектах, с которыми надо осуществить две последовательные операции. Например, такими объекта-ми могут быть пациенты, которые должны пройти две медицинских процедуры, приблизительная продолжительность которых известна (так, при курортно-санаторном лечении каждому пациенту ука-зывается продолжительность нахождения в радоновой или другой специальной ванне – обычно от 5 до 20 минут).

Ясно, что 1-й станок может начать обрабатывать следующую деталь сразу же, как только закон-чит обработку предыдущей. Поэтому простоев у него не будет. Иначе обстоит дело со 2-м станком. Он может начать обработку очередной детали только в том случае, когда

а) эта деталь уже обработана на 1-м станке;

б) предыдущая деталь уже обработана на 2-м станке.

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

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

Пример 1. Пусть числа τij (i = 1, 2; j = 1, …, n) при­ведены в таблице 1. Временнáя диаграмма об-работки деталей в порядке 1, 2, 3, 4, 5, 6 представлена на рис.1а; в порядке 5, 2, 4, 3, 6, 1- на рис 1b. Общий выигрыш 2-го варианта по сравнению с 1-м состав­ляет 3 единицы времени.

Таблица 1

i            
           
           

 

Рис.1. Временные диаграммы при различном упорядочении. Выигрыш составляет три единицы, или 11,5%.

Общее число вариантов (т.е. мощность допустимого множества A) в данном случае совпадает с общим числом всех возможных порядков поступления деталей на обработку, которое, очевидно, рав-но n!. Рассматривае­мая здесь задача и состоит в выборе такого варианта, при котором общее время обработки всех деталей (или, что эквивалентно, общее время простоя 2-го станка) минимально. Эта задача получила название задачи Джонсона по имени математика, давшего её простое решение. Это решение и излагается ниже. Будем говорить, что один порядок лучше другого, если соответствующее ему общее время обработки меньше, и что порядки равноценны, если времена обработки совпадают.

Решение данной задачи начнём со следующих рассуждений. Зафиксируем произвольный поря-док поступления деталей. Без ограничения общности можно считать, что это порядок 1, 2, …, n. По-ложим

Aj = τ 1 j, Bj = τ 2 j (j = 1, 2, …, n). (1)

Пусть k – произвольный номер от 1 до n –1. Наряду с исходным порядком обработки деталей рассмот-рим новый порядок, отличающийся перестановкой двух соседних – k -ой и (k +1)-ой – деталей: 1, …, k +1, k, …, n. Рассмотрим три взаимоисключающих условия:

min{ Ak, Bk +1} < min{ Ak +1, Bk }, (2a)

min{ Ak, Bk +1} > min{ Ak +1, Bk }. (2b)

min{ Ak, Bk +1} = min{ Ak +1, Bk }. (2с)

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

Утверждение 1. Исходный порядок лучше нового тогда и только тогда, когда выполнено нера-венство (2a). Новый порядок лучше исходного тогда и только тогда, когда выполнено неравенство (2b). Порядки равноценны тогда и только тогда, когда выполнено равенство (2с).

Очевидно, что 3-я часть утверждения непосредственно следует из 1-й и 2-й. Очевидно также, что 1-я и 2-я части эквивалентны – одна следует из другой просто при перенумерации деталей (когда новый и старый порядки меняются местами, неравенства (2a) и (2b) переходят друг в друга). Поэтому доказывать придётся только 1-ю часть утверждения.

Рассмотрим следствия из пока не доказанного утверждения 1. Среди 2 n чисел A 1, …, An, B 1, …, Bn есть минимальное. Возможны два случая:

а) минимальным числом среди них является одно из чисел A 1, …, An;

б) минимальным числом среди них является одно из чисел B 1, …, Bn и не является ни одно из чисел A 1, …, An (уточнение нужно для полного разделения случаев а) и б)).

Рассмотрим сначала случай а). Пусть номер минимального числа больше 1. Тогда он может быть записан как k +1, где k – число от 1 до n –1. Тогда выполняется неравенство (2b) или равенство (2с), а это и значит – в силу утверждения 1 – что перестановка k -ой и (k +1)-ой детали либо уменьшает общее время, либо (в случае равенства (2с)) не меняет его. Поэтому всегда имеет смысл деталь с ми-нимальным временем обработки на 1-м станке поменять в очереди с соседней слева (т.е. продвинуть её к началу). Рассуждая аналогично, путём конечного числа транспозиций ставим эту деталь на первое место.

Рассмотрим теперь случай б). Пусть номер минимального числа равен k, где k – число от 1 до n –1. В этом случае опять выполняется неравенство (2b) или равенство (2с). Значит (в силу утвержде-ния 1) опять целесообразно поменять местами k -ю и (k +1)-ю детали. Но при этом деталь с минимальным временем обработки на 2-м станке сдвинется с k -го на (k +1)-е место. Продолжая этот процесс, путём конечного числа транспозиций поставим деталь с минимальным временем обработки на 2-м станке на последнее место n.

Итак, в любом случае определено место одной детали – либо в начале, либо в конце списка. Те-перь можно рассмотреть оставшиеся детали, считая без ограничения общности, что в случае а) они имеют номера от 2 до n (номер уже «поставленной» детали считаем равным 1), а в случае б) они имеют номера от 1 до n –1 (номер уже «поставленной» детали считаем равным n). Точно теми же рассуждениями отправляем одну из этих деталей (с минимальным временем обработки) в начало или в конец списка, уменьшая при этом общее время. Таким образом, после любого числа шагов рассмот-ренного вида получаем (с учётом указанной выше нумерации), что для деталей, передвигаемых в на-чало списка, выполняются условия:

1) A 1 A 2 ≤ …≤ As; 2) AiBi (i = 1, …, s), (3a)

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

1) Bt ≥ … ≥ Bn -1 Bn; 2) Bi > Ai (i = t, …, n). (3b)

Процедура заканчивается, когда все детали войдут в указанный список. По построению и с учётом (3a) и (3b) можно сказать, что в результате все детали разбиты на две группы: детали, для которых τ 1 iτ 2 i, и детали, для которых τ 1 i > τ 2 i. Детали 1-ой группы упорядочены в порядке возрастания τ 1 i; дета-ли 2-ой группы упорядочены в порядке убывания τ 2 i; сначала обрабатываются детали 1-й группы, а затем – 2-ой группы. Таким образом, существует номер m, такой что

A 1 A 2 ≤ …≤ Am, AiBi (i = 1, …, m), (4a)

Bm +1 ≥ … ≥ Bn -1 Bn, Bi > Ai (i = m +1, …, n) (4b)

(случаи m =0 или m = n, т.е. случаи пустоты одной группы, не исключаются).

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

Утверждение 2. Из любой перестановки с помощью транспозиций соседних деталей можно по-лучить некоторую перестановку, удовлетворяющую условиям (4), которая будет лучше или равноцен-на исходной.

Утверждение 3. Любые две перестановки, удовлетворяющие условиям (4), равноценны.

Доказательство. Номер m и сами группы условиями задачи определяется однознач-но. 1-ая группа деталей разбивается на непересекающиеся подмножества G 1, …, Gd, такие что

< … < ; (5a)

2-ая группа деталей разбивается на непересекающиеся подмножества H 1, …, He, такие что

> … > . (5b)

Оба разбиения также определяется только условиями задачи. Все различия между перестановками, удовлетворяющими (4), состоят в произвольности порядка деталей внутри групп Gi и Hj. Пусть π 1 и π 2 – любые две перестановки элементов в группе G 1. От π 1 к π 2 можно перейти транспозициями сосед-них деталей. Поскольку внутри группы G 1

Ak = Ak +1 = , AkBk, Ak +1Bk +1, (6)

то из (6) следует, что

min{ Ak, Bk +1} = min{ Ak +1, Bk } = . (7)

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

Утверждения 2 и 3 вместе означают, что любая перестановка деталей, удовлетворяющая услови-ям (4), является оптимальной. (Заметим, что именно таковой является 2-ая перестановка в примере 1.) Подобная перестановка легко находится непосредственно по исходным данным. Никакого специаль-ного алгоритма в данном случае не требуется. Тот факт, что в рассматриваемой задаче удалось полу-чить такой простой явный ответ, является для дискретных задач скорее исключением, чем правилом. Уже в случае трех станков (аналогичная задача, в которой требуется последовательная обработка на трех станках) в общем случае такого простого ответа нет.





Поделиться с друзьями:


Дата добавления: 2017-02-24; Мы поможем в написании ваших работ!; просмотров: 859 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Свобода ничего не стоит, если она не включает в себя свободу ошибаться. © Махатма Ганди
==> читать все изречения...

2306 - | 2069 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.017 с.