Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Моделирование экономических систем(пособие).doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
4 Мб
Скачать
☆

2. Концептуальная модель

Пусть имеется система массового обслуживания с перемен­ным числом каналов NK, которое может принимать любое значе­ние в диапазоне от одного до пяти. Входной поток заявок — прос­тейший, следовательно, время между соседними заявками имеет показательное распределение с известным математическим ожи­данием (средним значением) .

Время обслуживания заявки в любом канале - величина слу­чайная, имеющая показательное распределение с известным средним временем обслуживания .

Все заявки однородны и независимы.

Правило (дисциплина) обслуживания состоит в том, что оче­редная заявка поступает в тот канал, который раньше других освободился. Если время ожидания начала обслуживания превышает заданную величину, то заявка покидает систему не обслуженной. Период функционирования СМО характеризуете; величиной .

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

Выходной характеристикой модели является среднее числе обслуженных заявок .

2.1. Выбор показателя и критерия эффективности

В качестве показателя эффективности работы системы целе­сообразно выбрать среднюю прибыль, определяемую по формуле

, (1)

где – чистая прибыль, полученная в результате обслуживания одной заявки; C2(NK) - издержки обслуживания всех заявок, зависящие от числа кана­лов.

Разделим обе части равенства (1) на величину С, Получив следующее выражение для расчета показателя эффективности:

, (2)

где – средняя относительная прибыль.

Величину (отношение издержек обслуживания к чистой прибыли, полученной в результате обслуживания одной заявки) будем рассматривать как функцию числа каналов.

Предположим, что возможными вариантами этой функцио­нальной зависимости являются: а — линейная зависимость: б — возрастающая зависимость с положительной 2-й производ­ной и в — возрастающая зависимость с отрицательной 2-й произ­водной (рис. 1).

Рис. 1. Зависимость отношения от Nk:

а – первый вариант; б – второй вариант; в – третий вариант

Выберем второй вариант. Примем в качестве конкретной за­висимости издержек обслуживания от числа каналов следующую функцию:

. (3)

Итак, для расчета показателя эффективности будем исполь­зовать зависимости (2) и (3).

В качестве критерия выбора наивыгоднейшей структуры СМО примем оптимальное число каналов, обеспечивающее мак­симум средней относительной прибыли:

, (4)

где – наивыгоднейшее число каналов.

3. Схемы алгоритмов модели

В качестве языка программирования для разработки ком­пьютерной модели рассматриваемого процесса выбран Visual Basic 6.0.

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

После нажатия кнопки «Start» активизируется стартовая форма. С этого момента программа находится в режиме ожида­ния действий пользователя.

После нажатия кнопки «Расчет» производится вычисление показателя эффективности при заданных исходных данных.

Рис. 2. Макет стартовой формы

1 – текстовые поля; 2 – командные кнопки

При нажатии кнопки «Очистка» производится очищение текстового поля для вывода результата моделирования. Затем может быть произведено изменение исходных данных и проведение новых расчетов с использованием кнопки «Расчет».

Рис.3. Укрупненная схема алгоритма процедур обработки объектов

При нажатии кнопки «Выход» работа программы прекращается.

С кнопкой «Расчет» связана процедура, которая выполняе1 следующие действия.

Оператор 1 осуществляет перевод исходных данных из символьной формы в числовую. Оператор 2 обнуляет глобальную переменную SNОБС — суммарное число обслуженных заявок. Оператор 3 начинает циклический перебор случайных реализаций. Оператор 4 в начале каждой случайной реализации обнуляет локальные переменные, к которым относятся: число заявок, поступающих в одной реализа­ции NZ число обслуженных заявок в каждом из имеющихся кана­лов NОБС.j (j = 1,Nk), начальные значения времени освобождена каналов ТОКj (j = 1,Nk). Оператор 5 обращается к автономной процедуре формирова­ния потока заявок. В результате работы этой процедуры форми­руется массив значений времен:

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

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

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

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

После окончания цикла случайных реализаций оператор 10 выводит на экран значение выходной переменной – средней от­носительной прибыли по формуле

.

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

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

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

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

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

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

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

Оператор 1 обнуляет время ожидания начала обслуживания заявки Тож и присваивает времени начала обслуживания Тн время поступления очередной заявки Г3(j3).

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

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

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

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