Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Высшая матем курс..doc
Скачиваний:
4
Добавлен:
23.11.2019
Размер:
1.83 Mб
Скачать

2.4 Задание 3

Описание задачи

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

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

Типовой пример выполнения задания 3

Дано: 11 самолетов, т. е. n = 11;

две бригады, т. е. m = 2;

значения длительностей осмотра каждого самолета каждой бригадой и их маршруты заданы таблицей 2.7.

Таблица 2.7

t

NАВ

NВА

NА

NВ

i

1

2

3

4

5

6

7

8

9

10

11

3

2

1

1

2

4

3

1

2

-

-

2

1

2

1

4

8

9

-

-

2

1

Решение

Будем рассматривать самолеты как требования, бригаду механиков  как прибор А, а бригаду электронщиков  как прибор В.

Из условия задачи следует, что самолеты 1, 2, 3 и 4 обслуживаются сначала 1-й, а затем 2-й бригадами, т. е. согласно маршруту

L = (A, B), самолеты 5, 6 и 7 обслуживаются сначала 2-й, а затем 1-й бригадами, т. е. согласно маршруту L = (В, А), самолеты 8 и 9 обслуживаются только 1-й бригадой, т. е. согласно маршруту L = (А), а самолеты 10 и 11 обслуживаются только 2-й бригадой, т. е. согласно маршруту L = (В), а это означает, что обслуживание самолетов должно производиться согласно различным фиксированным маршрутам.

Имеем задачу с системой обслуживания с различными маршрутами Job Shop, обозначаемой в ТР как “J.

Тогда решение задачи в рамках ТР сводится к решению задачи упорядочения 11 требований (n = 11) для двух приборов А и В (m = 2) с различными маршрутами, а так как количество стадий (операций) обслуживания требования i может быть как равным 2 (при обслуживании двумя бригадами), так и 1 (при обслуживании одной бригадой) и так как критерий состоит в минимизации времени обслуживания Cmax, то рассматриваемая задача в рамках ТР сводится к задаче J2 | | Cmax.

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

Решение по алгоритму Джексона.

Сначала множество требований N надо разбить на четыре попарно непересекающихся подмножества (необязательно непустых) –

N = NАВNВАNАNВ:

NАВ подмножество требований i N с маршрутом ;

NВА подмножество требований i N с маршрутом ;

NА подмножество требований i N с маршрутом ;

NВподмножество требований i N с маршрутом

В нашем случае NАВ = {1, 2, 3, 4}, NВА = {5, 6, 7}, NА = {8, 9},

а NВ = {10, 11}.

Затем упорядочим требования подмножества NАВ так, чтобы полученная последовательность АВ удовлетворяла условию (2.2). Получим перестановку АВ = (3, 4, 1, 2).

Аналогично упорядочим требования подмножества NВА так, чтобы полученная последовательность ВА удовлетворяла условию (2.3). Получим перестановку ВА = (6, 7, 5).

Согласно теореме 2.4 получаем оптимальные последовательности = (3, 4, 1, 2, 8, 9, 6, 7, 5) и = (6, 7, 5, 10, 11, 3, 4, 1, 2), по которым можно получить оптимальное расписание s*. В соответствии с оптимальным расписанием s* самолеты должны проверяться первой бригадой согласно с последовательностью , а второй бригадой с последовательностью . Для наглядности построим графики расписания s0, соответствующего первоначальным последователь-ностям: А = (1, 2, 3, 4, 5, 6, 7, 8, 9) и В = (1, 2, 3, 4, 5, 6, 7, 10, 11),

и оптимального расписания s*, соответствующего оптимальным последовательностям = (3, 4, 1, 2, 8, 9, 6, 7, 5) и

= (6, 7, 5, 10, 11, 3, 4, 1, 2), проверки самолетов первой и второй бригадами соответственно. Они представлены соответственно на рисунках 2.4 и 2.5. Время завершения обслуживания прибором А

и В всех требований для расписаний s0 и s* соответственно находится так же, как в предыдущем задании.

Для рисунка 2.4 имеем

= max{i N } = max{5, 6, 8, 9, 15, 25, 33, 34, 36, 32, 33} = 36.

1 2 3 4 5 6 7 10 11

В

1 2 3 4 5 6 7 8 9

А

0 1 2 3 5 6 7 8 9 10 13 15 17 18 2021 2425 2627 2930 31 3233343536 t

Рисунок 2.4 График расписания s0, соответствующего

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

Для рисунка 2.5 имеем

= max{  i N } = max{29, 30, 26, 27, 23, 14, 20, 8, 10, 23, 24}= 30.

6 7 5 10 11 3 4 1 2

В

3 4 1 2 8 9 6 7 5

А

0 1 2 5 7 8 10 14 17 2021 2324 2627 2930 t

Рисунок 2.5 График оптимального расписания s*, соответствующего

оптимальным последовательностями и

Вывод.

Из рисунка 2.4, на котором представлен график расписания s0, видно, что если бы самолеты готовились к полету в соответствии с

первоначальными последовательностями их обслуживания обеими бригадами А = (1, 2, 3, 4, 5, 6, 7, 8, 9) и В = (1, 2, 3, 4, 5, 6, 7, 10, 11), то на это потребовалось бы 36 единиц времени. А если самолеты будут готовится к полету в соответствии с оптимальными последовательностями = (3, 4, 1, 2, 8, 9, 6, 7, 5) и = (6, 7, 5, 10, 11, 3, 4, 1, 2), т. е. обе бригады будут работать по оптимальному расписанию s* (см. рисунок 2.5), то надо будет потратить 30 единиц времени, т. е. на 6 единиц времени меньше (36 30 = 6).

Таким образом, оптимальное расписание s* эффективнее первоначального расписания s0 на 6 единиц времени. Экономия по времени достигается благодаря тому, что оптимальное расписание s* позволяет уменьшить простои в работе обеих бригад.

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

рисунке 2.6, при котором обе бригады будут работать без простоев.

Рисунок 2.6 График оптимального распи-сания при условии непрерывной работы обеих бригад

6 7 5 1011 3 4 1 2

В

3 4 1 2 8 9 6 7 5

А

0 1 2 4 5 6 8 9 1112 14 1718 21 2324 2627 2930 t