- •1. Основные этапы выполнения курсовой работы
- •2. Методы решения задачи планирования работы вычислительных систем.
- •Комбинаторные методы решения задач теории расписаний
- •Методы планирования работы систем с одним обслуживающим прибором
- •2.3. Методы планирования работы систем с параллельными обслуживающими приборами
- •2.4. Методы планирования работы систем с последовательными приборами. Одинаковые маршруты.
- •2.5. Методы планирования работы систем с последовательными приборами. Различные маршруты.
- •3. Задание на курсовое проектирование
- •4. Оформление курсовой работы
- •Варианты заданий
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)=k0 при некотором t=t’, то sH(t’)k для любых 1LHM. Выражение sL(t)=k0 означает, что в момент времени 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 kn, 1LHM и 0t’<t<t’’<, что выполняется хотя бы одно из условий:
-
sL(t’)= sL(t’’)=k, но sL(t) k
-
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. Поскольку первый прибор может выполнять обслуживание без задержки требований, оптимизация заключается в оптимизации времени простоя второго обслуживающего прибора. Рассмотрев зависимость простоя второго прибора от порядка следования требований С.М. Джонсон вывел простой алгоритм нахождения оптимальной последовательности:
-
Среди всех требований из N найти требования с наименьшим значением tij.
-
Если i=1 то данное требование должно быть обслужено первым.
-
Если i=2 то данное требование должно быть обслужено последним.
-
Исключить требование i из списка требований.
-
Повторять п. 1-4 до тех пор, пока имеется хотя бы одно требование, пока множество необслуженных требований не пусто.
Если М=3, то при решении рекомендуется использовать следующий эвристический алгоритм:
-
Проверить выполнение следующих ограничений:
min (ti1) > mах (ti2) (1)
i
min (ti3) > mах (ti2) (2)
j
-
Если одно из ограничений (1) или (2) выполняется, то можно построить оптимальное расписание. Для этого трехстолбцовая матрица трудоемкости преобразуется в двухстолбцовую путем попарного сложения элементов первого и второго столбцов, а также элементов второго и третьего столбцов. Элементы Vi1 и Vi2 новой матрицы определяется следующим образом: Vi1+i2; Vi2= i2+i3 для всех I=1,....,М. К полученной таким образом матрице применяется алгоритм Джонсона.
-
Если ни одно из ограничений (1) и (2) не выполняется, то следует применить следующий эвристический алгоритм, позволяющий получить достаточно хорошее, но все-таки не оптимальное расписание. Он сводится к следующим действиям:
3.1)Выделить номер фазы "К" с наибольшей суммарной продолжительностью заданий, т.е. найти mах(tjк)
-
Если К=1, то требования следует обслуживать в порядке убывания величины (ti2+ti3).
-
Если К=3, то требования следует обслуживать в порядке возрастания величин (ti1+ti2).
-
Если К=2, то следует исключить второй столбец и задания упорядочить на основе алгоритма С.Джонсона для двухфазной модели.