Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KPTASK.DOC
Скачиваний:
7
Добавлен:
23.11.2018
Размер:
361.98 Кб
Скачать

2.3. Методы планирования работы систем с параллельными обслуживающими приборами

Пусть конечный поток требований N={1,2,3,...,n}, поступающих на обслуживание в заданные моменты времени, обслуживается M идентичными приборами. В каждый момент времени прибор обслуживает не более одного требования. Каждое требование может обслуживаться любым прибором. Требование k, поступает на обслуживание в момент времени dk>=0 и для обслуживания требует tk единиц времени. При некоторых постановках задачи могут допускаться прерывания в обслуживании каждого отдельного требования. Необходимо так организовать процесс обслуживания, чтобы он в том или ином смысле был наилучшим.

Расписанием s =s (t)={s1(t),s2(t),...,sM(t)} называется совокупность M кусочно-постоянных, непрерывных слева функций sL=sL(t), каждая из которых задана на промежутке 0 t< и принимает значения 0, 1, 2,..., n, причем если sL(t)=k0 при некотором t=t’, то sH(t’)k для любых 1LHM. Выражение sL(t)=k0 означает, что в момент времени t=t’ прибор L обслуживает требование k. Ecли sL (t’) = 0, то в момент времени t=t’ прибор L свободен.

Расписание должно удовлетворять:

  • условию полноты: суммарная длина промежутков, на которых функции sL(t) принимают значения sL(t)0, равна tk.

  • условие готовности к обслуживанию: sL(t) k для всех t<dk;

Будем говорить, что расписание s=s(t) допускает прерывания в процессе обслуживания требований, если существуют такие 1 kn, 1LHM и 0t’<t<t’’<, что выполняется хотя бы одно из условий:

  1. sL(t’)= sL(t’’)=k, но sL(t) k

  2. sL(t’)= sH(t’’)=k

Содержательно, процесс обслуживания требований без прерываний удовлетворяет следующему условию. Каждое требование обслуживается только одним прибором. Если процесс некоторого требования k начинается в момент времени tk, то оно протекает непрерывно и завершается в момент времени tk+ tk.

Предполагается, что число разрывов каждой из функций sL(t) конечно.

Каждому расписанию s соответствует вектор времен завершения обслуживания требований при этом расписании. Значение , - наибольшее значение t, при котором .

Качество расписания s характеризуется значением действительной кусочно-непрерывной монотонно возрастающей функции F()=F(x1,x2,...,xn) при x=.

Алгоритм построения расписаний для систем с параллельными обслуживающими приборами аналогичен методу последовательного конструирования для систем с одним обслуживающим прибором. При этом следует учесть, что требование k может быть выполнено любым прибором L, если он свободен в данный момент времени.

2.4. Методы планирования работы систем с последовательными приборами. Одинаковые маршруты.

Пусть конечный поток требований N={1,2,3,...,n}, поступающих на обслуживание, обслуживается M последовательными приборами. В каждый момент времени прибор обслуживает не более одного требования. Все требования поступают на обслуживание в момент времени d=0. Пусть ti1 - время обработки требования с номером i (i=1,2,3,...,m) первым обслуживающим прибором, ti2-вторым. Определить порядок обслуживания требований, при котором суммарная длительность их обработки будет минимальной.

Рассмотрим частный случай поставленной задачи, когда M=2. Поскольку первый прибор может выполнять обслуживание без задержки требований, оптимизация заключается в оптимизации времени простоя второго обслуживающего прибора. Рассмотрев зависимость простоя второго прибора от порядка следования требований С.М. Джонсон вывел простой алгоритм нахождения оптимальной последовательности:

  1. Среди всех требований из N найти требования с наименьшим значением tij.

  2. Если i=1 то данное требование должно быть обслужено первым.

  3. Если i=2 то данное требование должно быть обслужено последним.

  4. Исключить требование i из списка требований.

  5. Повторять п. 1-4 до тех пор, пока имеется хотя бы одно требование, пока множество необслуженных требований не пусто.

Если М=3, то при решении рекомендуется использовать следующий эвристический алгоритм:

  1. Проверить выполнение следующих ограничений:

min (ti1) > mах (ti2) (1)

i

min (ti3) > mах (ti2) (2)

j

  1. Если одно из ограничений (1) или (2) выполняется, то можно построить оптимальное расписание. Для этого трехстолбцовая матрица трудоемкости преобразуется в двухстолбцовую путем попарного сложения элементов первого и второго столбцов, а также элементов второго и третьего столбцов. Элементы Vi1 и Vi2 новой матрицы определяется следующим образом: Vi1+i2; Vi2= i2+i3 для всех I=1,....,М. К полученной таким образом матрице применяется алгоритм Джонсона.

  2. Если ни одно из ограничений (1) и (2) не выполняется, то следует применить следующий эвристический алгоритм, позволяющий получить достаточно хорошее, но все-таки не оптимальное расписание. Он сводится к следующим действиям:

3.1)Выделить номер фазы "К" с наибольшей суммарной продолжительностью заданий, т.е. найти mах(t)

  1. Если К=1, то требования следует обслуживать в порядке убывания величины (ti2+ti3).

  2. Если К=3, то требования следует обслуживать в порядке возрастания величин (ti1+ti2).

  3. Если К=2, то следует исключить второй столбец и задания упорядочить на основе алгоритма С.Джонсона для двухфазной модели.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]