Лекция 4. Задача Джонсона в теории расписаний

Задача Джонсона в теории расписаний. Случаи двух и трех машин.

Сформулируем классическую задачу теории расписаний - задачу Джон-сона:

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

В этой постановке задачи предполагается, что

1) в любой момент времени на одной машине выполняется не более одной работы;

2) в любой момент времени одна работа выполняется не более, чем на

одной машине.

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

Джонсону принадлежит алгоритм решения такой задачи, который мы сейчас сформулируем по шагам. Доказательство сходимости этого алгоритма (т.е. того, что действия по алгоритму приводят именно к нужной цели) не при-водится.

Шаг 0. Записывается матрица времен выполнения данных работ.

Шаг 1. В матрице фиксируется минимальный элемент (любой); если он оказался в первом столбце (машина №1), то соответствующую работу назначают первой к исполнению; если он оказался во втором столбце (машина №2), то соответствующую работу назначают последней к исполнению.

Шаг 2. Исключают из дальнейшего рассмотрения время выполнения упорядоченной работы (т.е. вычеркивают из матрицы строку). Если после этого от матрицы ничего не остается, то задача решена; в противном случае переходим к Шагу 1.

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

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

пусть по-прежнему - множество работ, которые выполня-

ются на двух машинах (№1 и №2), пусть по-прежнему - - время выполнения i- ой работы на j- ой машине, но:

N 1 - подмножество работ, которые выполняются только на первой маши-не;

N 2 - подмножество работ, которые выполняются только на второй маши-не;

N 1,2 - подмножество работ, которые выполняются сначала на первой, а потом на второй машине;

N 2,1 - подмножество работ, которые выполняются сначала на второй, а потом - на первой машине.

Таким образом, .

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

1) в соответствии с алгоритмом Джонсона для последовательного

варианта задачи для двух машин упорядочим работы из множеств N 1,2 и N 2,1;

2) на первую машину запускаются сначала работы из N 1,2, затем - из

N 1, а затем - из N 2,1;

3) на вторую машину запускаются сначала работы из N 2,1, затем - из

N 2, а затем - из N 1,2.

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

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

N   N1,2       N2,1   N1   N2  
М\Р р1 р2 р3 р4 р5 р6 р7 р8 р9 р10 р11
М1                      
М2                      

здесь рj - имя работы, Мi - имя машины.

По алгоритму Джонсона:

оптимумы для N 1,2 и N 2,1, соответственно: (р2143) и (р765);

оптимальные режимы работ.

Машина №1: (р2143,(р89), р765);

Машина №2: (р765,(р1011), р2143).

Записи (р89) и (р1011) означают, что порядок выполнения

этих работ - произвольный.

Перейдем к случаю трех машин.

Ограничимся здесь далеко не общей ситуацией; итак,

m =3 - число машин;

- множество работ;

- время выполнения i-ой работы на j-ой машине;

предполагается, что у все работ одна и та же последователь-

ность прохождения по машинам.

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

Утверждение №1. Пусть работы можно пронумеровать так, что окажутся выполненными одновременно следующие неравенства:

Тогда суммарный простой машин будет минимальным при следующем порядке запуска работ на исполнение: 1¾2¾...¾ n.

Утверждение №2. Пусть для матрицы выполнено хотя бы одно из двух следующих условий:

Построим новую матрицу , в которой i= 1,2,..., n, j= 1,2 и , и будем считать ее матрицей времен задачи Джонсона для двух машин в последовательном варианте и множества тех же работ . Тогда суммарное время простоя исходных трех ма-шин при выполнении исходных работ будет минимальным, если эти работы направлять на исполнение в том порядке, который является оптимальным в задаче с матрицей .

Более общие случаи задачи Джонсона рассматриваются в следующей лекции.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: