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

Варианты задания 1

Для всех вариантов:

1) n = 5;

2) значения элементов матрицы (матрицы расстояний) для каждого варианта определяются следующим образом:

,

где элемент матрицы А из типового примера задания 1,

А = ;

NС – номер курсанта в списке группы, при этом если Nс < 15, то равенство берется со знаком «+», то есть выполняется операция сложения, а если Nс > 15, то равенство берется со знаком «–», то есть выполняется операция вычитания; отрицательные значения следует включать в матрицу А по их абсолютной величине;

3) в полученной матрице А значения нескольких элементов по желанию курсанта (и при необходимости, когда получается много нулей или одинаковых чисел) можно дополнительно изменить, согласуя эти изменения с руководителем курсовой работы.

2 Pасписания

ДЛЯ МНОГОСТАДИЙНЫХ СИСТЕМ ОБСЛУЖИВАНИЯ

2.1 Минимизация длины расписания для системы поточного типа (Fm| |Cmax)

Рассмотрим задачу (Fm| |Cmax) построения оптимального по быстродействию расписания для системы поточного типа. Имеется множество М = {1, 2,..., m}, m  2, последовательных приборов, обслуживающих множество N = {1, 2,..., n} требований, которые поступают в систему в момент времени d = 0. Каждое требование

i N обслуживается прибором 1, затем прибором 2 и т. д. до тех пор, пока оно не будет обслужено прибором m. Иными словами, каждое требование имеет маршрут обслуживания (1, 2,..., m). Длительности tiL 0 обслуживания каждого требования i N каждым прибором L, {1, 2, …, m}, предполагаются заданными в виде матрицы . Операции выполняются без прерываний. Тогда если процесс обслуживания требования i прибором L начинается в момент времени , то он протекает непрерывно (нет прерываний) и завершается в момент времени = + tiL. Каждый прибор одновременно обслуживает не более одного требования. Каждое требование обслуживается не более чем одним прибором в любой момент времени.

Как и для всякой задачи обслуживания без прерываний, так и в рассматриваемом случае любое расписание s обслуживания требований однозначно определяется заданием матрицы моментов начала или матрицей моментов завершения обслуживания каждого требования каждым прибором. При этом момент завершения обслуживания всех требований всеми приборами будет =

= max{i N, L = 1, 2, …, m}, определяющий общее время обслуживания.

Таким образом, задача состоит в построении расписания s*, которому соответствует наименьшее значение . Это расписание будем называть оптимальным (по быстродействию) расписанием.

Теорема 2.1

При m 3 оптимальное расписание s* можно искать в классе S расписаний, при которых все m приборов обслуживают требования в одной и той же для данного расписания последовательности.

Иными словами, во множестве S существует расписание такое, что ( ) (s), где  S, а s  произвольное допустимое расписание. При m > 3 это свойство не выполняется.

Задача F2| |Cmax. Далее рассмотрим задачу F2| |Cmax построения оптимального по быстродействию расписания для системы поточного типа при условии, что приборов в системе только два, т.е. m = 2. Так как в этой задаче m = 2, следовательно, исходя из теоремы 2.1, оптимальное расписание можно искать в классе S расписаний, при которых все приборы обслуживают требования в одной и

той же последовательности, задаваемой некоторой перестановкой

 = (i1, i2,..., in) элементов множества N. Обслуживающие приборы обозначим через А и В, а длительности обслуживания требования

i N ={1, 2,..., n} приборами А и В – через ai и bi соответственно,

т. е. – длительность первой операции (включая настройку, если она необходима) обслуживания i-го требования прибором А; – длительность второй операции (включая переналадку, если она необходима) обслуживания i-го требования прибором В; – момент завершения обслуживания i-го требования; Сmax – момент завершения обслуживания всех требований двумя приборами.

Маршрут обслуживания каждого требования равен (А, В), т. е. каждое требование характеризуется парой длительностей его операций: . Такое разбиение существует для обслуживания всех требований, хотя, возможно, некоторые и могут быть равными 0 (обслуживание некоторых требований может состоять только из одной операции). Другими словами, данная задача состоит в следующем: задано 2n неотрицательных действительных чисел . Необходимо упорядочить требования так, чтобы при сделанных допущениях минимизировать общее время обслуживания Cmax.

Теорема 2.2

В задаче F2| |Cmax при одновременной доступности всех требований упорядочение, минимизирующее максимальную длительность обслуживания, таково, что требование j предшествует требованию j + 1,

если . (2.1)

Упорядочение требований в соответствии с теоремой 2.2 приводит к оптимальному расписанию, которое определяется перестановкой Джонсона, т. е. перестановкой  = (i1, i2,..., in), удовлетворяющей условию (2.1). Если для каждой пары требований имеет место строгое неравенство в соотношении (2.1), то перестановка Джонсона – единственная. Если же существуют такие пары требований, для которых это неравенство превращается в равенство, то существует множество перестановок Джонсона.

Заметим, что условие (2.1) является достаточным условием оптимальности перестановки, но не является необходимым условием оптимальности. Иными словами, помимо перестановок Джонсона оптимальными могут быть и другие перестановки, не удовлетворяющие условию (2.1).

Алгоритм 1

Пункт 1. Построить множество Na = {i N } и множество = {i N }.

Пункт 2. Сформировать перестановку * требований множества N, упорядочив требования множества Na по неубыванию значений , а затем требования множества по невозрастанию значений . Конец алгоритма.

Теорема 2.3

Если перестановка * требований множества N построена по алгоритму 1, то она является оптимальной для задачи

F2| |Cmax.

Алгоритм 2

Пункт  1. Требованию i N приписать вес

,

где w – достаточно большое число: {min{ } i N}.

Пункт 2. Построить перестановку *, упорядочив требования по неубыванию весов.

Конец алгоритма.

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

Алгоритм 3 (алгоритм Джонсона)

Пункт  1. Выбрать среди невычеркнутых элементов векторов и минимальное число.

Пункт 2. Если это минимальное число принадлежит вектору { } (пусть это ), то требование j назначить первым среди невычеркнутых, и j-е элементы вычеркиваем из векторов и . Если минимальное число принадлежит вектору { } (пусть это ), то требование j назначить последним среди невычеркнутых, и j-е элементы также вычеркиваем из векторов и .

Пункт 3. Если все и вычеркнуты, то конец алгоритма, иначе следует вернуться к пункту 1.

Асимптотическая сложность построения оптимальной перестановки по приведенным алгоритмам не превосходит 0 (n log2 n) операций.