Лабораторная работа: Модель бензоколонки

Цифрой 5 на схеме (рис.3) обозначено действие пользователя, заключающееся в нажатии кнопки «Очистка». В процедуре, связанной с ней, производится очищение текстового поля для вывода результата моделирования. Затем обычно производятся изменение исходных данных и проведение новых расчетов с использованием кнопки «Расчет».

Рис.3. Схема алгоритма процедур обработки прерываний

Цифрой 7 на схеме обозначено действие пользователя, заключающееся в нажатии кнопки «Выход». В результате работа программы прекращается.

Оператор 1 на рис. 4 обнуляет глобальную переменную SNобс - суммарное число обслуженных заявок. Оператор 2 активизирует окно формы № 2 и делает неактивным окно формы № 1. Оператор 3 начинает циклический перебор случайных реализаций. Оператор 4 выводит на экран (в окно формы № 2) счетчик числа рассчитанных реализаций.

Оператор 5 в начале каждой случайной реализации обнуляет локальные переменные, к которым относятся: число заявок, поступающих в одной реализации Nz ,число обслуженных заявок в каждом из трех каналов Nобс1 , Nобс2 , Nобс3 , начальные значения времени освобождения 1-го, 2-го и 3-го каналов Tок1 , Tок2 и Tок3 .

Рис.4. Схема алгоритма модуля «Model2»

Оператор 6 обращается к автономной процедуре формирования потока заявок. В результате работы этой процедуры формируется массив значений времени

з (1), Тз (2), Тз (3),…, Тз (Nз i )],

где Nз i -общее число поступивших заявок для i-й случайной реализации.

Оператор 7 является началом цикла обслуживания заявок. Операторы 8, 9, 10 и 11 производят выбор номера канала, который характеризуется наименьшим значением времени освобождения от обслуживания заявки.

Оператор 12 обращается к автономной процедуре обслуживания очередной заявки. На выходе этой процедуры определяется число обслуженных заявок в выбранном канале Nобс (Jmin ).

Оператор 13 служит для расчета суммарного числа обслуженных заявок по рекурсивной формуле

SNобс = SNобс + Nобс.1 + Nобс.2 + Nобс.3.

После окончания цикла случайных реализаций оператор 14 возвращает свойство активного окна форме № 1. Оператор 15 рассчитывает и выводит на экран значение выходной переменной - средней относительной прибыли по формуле

.

Схема алгоритма процедуры формирования заявок показана на рис. 5.

Оператор 1 устанавливает на нуль модельное время Т. Оператор 2 является началом цикла формирования заявок. Оператор 3 обращается к датчику случайных чисел, который вырабатывает возможное значение случайной величины z, равномерно распределенной в интервале (0,1).

Оператор 4 определяет возможное значение случайной величины времени поступления очередной заявки при условии, что среднее время между соседними заявками равно Тз. cp . Оператор 5 проверяет условие окончания процесса формирования заявок.

Оператор 6 подсчитывает число поступивших заявок, помещает время поступления каждой заявки в специальный массив и изменяет модельное время Т.

Схема алгоритма процедуры обслуживания заявок показана на рис. 6.

Оператор 1 обнуляет время ожидания начала обслуживания заявки Tож и присваивает времени начала обслуживания Tн время поступления очередной заявки T3 (J3 ).

Рис.5. Схема алгоритма формирования заявок

Оператор 2 производит проверку занятости канала. Начальное значение времени освобождения канала Тко j приравнивается нулю в главном модуле в блоке обнуления локальных переменных.

Если канал занят, то оператор 3 определяет время ожидания Tож как разность времени освобождения канала Тко j и времени поступления заявки T3 (J3 ). Оператор 4 проверяет условие, что время ожидания Тож превышает допустимое Тож. max . Если это условие выполняется, то управление передается на конец процедуры и заявка остается необслуженной.

Оператор 5 служит для коррекций времени начала обслуживания заявки. Оно теперь должно равняться времени освобождения канала Тко j . Оператор 6 обращается к датчику случайных чисел с равномерным распределением в интервале (0,1), который вырабатывает возможное значение случайной величины z. Оператор 7 определяет возможное значение времени окончания обслуживания заявки Тк .

Оператор 8 проверяет условия окончания периода обслуживания, а оператор 9 фиксирует тот факт, что данный канал будетзанят до конца рабочего дня. Оператор 10 увеличивает на единицу число обслуженных заявок в j-мканале и фиксирует время освобождения канала.

Рис. 6. Схема алгоритма процедуры обслуживания заявок

3. ПРИМЕР РЕШЕНИЯ ЗАДАЧИ МОДЕЛИРОВАНИЯ

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

• среднее время между заявками Тз.ср = 1 ч;

• максимальное время ожидания Тож. max . = 0,25 ч;

• число случайных реализаций Np = 5000.

Варьируемые переменные:

• среднее время обслуживания заявок Тобс.ср = 0,5; 1; 2; 4 ч;

К-во Просмотров: 466
Бесплатно скачать Лабораторная работа: Модель бензоколонки