Рефераты. Методика оптимизации библиотечной системы обслуживания

n+m

2

Уход из очереди m-й заявки

0

1

 

В соответствии с логикой работы имитационной модели её алгоритм состоит из трех модулей: модуля 0, реализующего действия, инициируемые поступлением в систему очередной заявки (событие типа 0), модуля 1, реализующего действия, которые необходимо осуществить в связи с освобождением канала (событие типа 1), модуля 2, реализующего действия, которые необходимо осуществить в связи с уходом из очереди m-й заявки (событие типа 2).

Очередность работы модулей определяется координирующим элементом модели, которым является календарь событий. Совокупность операторов, обеспечивающих ввод необходимых для работы модели исходных данных, просмотр календаря и инициирующих действия модулей 0, 1, 2 образует внешний контур модели.

Структурная схема внешнего контура модели представлена на рис. 2.1.

 

 Методика оптимизации библиотечной системы обслуживания

 

 

Рис. 2.1 - Блок-схема внешнего контура модели

Работа внешнего контура начинается с ввода исходных данных и настройки.

Исходные данные:

n – число каналов системы;

M – емкость буфера;

N0 – заданное заранее число заявок, которые должны поступить в систему за время её работы;

Е0 = {1, 2,…, n} – массив номеров свободных каналов системы;

Е1 = {0,0,…,0} – массив номеров занятых обслуживанием каналов системы.

 

2.5 Описание алгоритма функционирования

Перед началом работы модели все каналы системы свободны, поэтому массив Е0   содержит номера всех каналов, а массив Е1 – пуст.

Начальный оператор модели сравнивает число заявок N, прошедших через систему, с предельным значением N0. Если N=N0, то выполняется статистическая обработка результатов моделирования и печать. Если же N<N0, то осуществляется просмотр календаря. При этом просматриваются в порядке возрастания номеров строки календаря, отмеченные признаком c=0, и выбирается та, для которой время выполнения соответствующего события является минимальным. Назначение и смысл признаков cj будут разъяснены позднее. Фиксируется номер найденного события (номер строки). Если он равен 0, то далее работает модуль 0, в противном случае проверяется тип события. Если тип является 1, то выполняется модуль 1, иначе модуль 2.

Перейдем к рассмотрению операций, реализуемых в модуле 0. Блок-схема модуля 0 приведена на рис. 2.2.

 Методика оптимизации библиотечной системы обслуживания

Рис. 2.2 - Блок-схема модуля 0

Оператор 1 увеличивает содержимое счетчика заявок, прошедших через систему, на единицу.

Оператор 2 проверяет, есть ли хотя бы один свободный канал. В этом случае переходим к оператору 3, в противном случае (если свободных каналов нет) – к оператору 11.

Оператор 3 обеспечивает просмотр тех строк календаря, номера которых соответствуют свободным каналам, и выбирает канал, освободившийся ранее других. Пусть номер этого канала равен k0. Именно этот канал будет обслуживать поступившую заявку. Переход к оператору 4.

Оператор 4 реализует формирование случайной продолжительности обслуживания заявки в соответствии с заданной плотностью распределения j(t).

Оператор 5. Сформированная оператором 4 случайная величина h используется для расчета момента времени освобождения канала k0. Этот момент времени вычисляется по формуле

:= t0 + h,

t0 – момент поступления заявки (содержится в строке 0).

Полученное значение  Методика оптимизации библиотечной системы обслуживания  запоминается в строке k0. Переход к оператору 6.

Оператор 6 присваивает признаку  Методика оптимизации библиотечной системы обслуживания , соответствующему номеру занятого канала, значение 0, символизирующее занятость канала. Переход к оператору 7.

Оператор 7 исключает из массива Е0 номеров свободных каналов номер k0 занятого канала. Переход к оператору 8.

Оператор 8 добавляет номер k0 занятого канала к массиву Е1. Переход к оператору 9.

Оператор 9 формирует случайную величину продолжительности интервала между заявками в соответствии с плотностью распределения y(t). Переход к оператору 10.

Оператор 10. Сформированная датчиком случайных чисел с плотностью распределения y(t) случайная величина x добавляется к значению t0 и, таким образом, определяется момент поступления следующей заявки: t0:= t0+x. Возврат к блоку 2 внешнего контура, контролирующему общее число заявок, прошедших через систему.

Оператор 11 выполняет действия в случае, когда в момент поступления заявок все каналы системы заняты. При этом проверяется, заполнен ли буфер. Если не заполнен (число т содержащихся в буфере заявок меньше емкости буфера М), то переход к оператору 12, в противном случае – к оператору 13.

Оператор 12 увеличивает число заявок в буфере на единицу.

Оператор 13 реализует формирование случайной продолжительности ожидания заявки в соответствии с заданной плотностью распределения N(t).

Оператор 5. Сформированная оператором 12 случайная величина H используется для расчета момента времени освобождения места в очереди. Этот момент времени вычисляется по формуле

                                                           tn+m:= t0 +H,                                             (2.7)

t0 – момент поступления заявки (содержится в строке 0).

Полученное значение tn+m запоминается в строке n+m. Переход к оператору 9.

Оператор 15 увеличивает число заявок, получивших отказ (все каналы и буфер заняты), на единицу. Переход к оператору 9.

Рассмотрим теперь операции, реализуемые в модуле 1. Блок-схема модуля 1 приведена на рис. 2.4.

 

 Методика оптимизации библиотечной системы обслуживания

Рис. 2.3 - Блок-схема модуля 1

Модуль 1 начинает работать в случае, когда самое ранее из событий, отображаемых календарем, соответствует освобождению канала с номером r0.

Оператор 1 проверяет, есть ли хотя бы одна заявка, ждущая обслуживания в буфере. Если буфер не пуст (m¹0), то переход к оператору 2, в противном случае – к оператору 5.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.