ЛР / ЛР№3_МПиС_Хакова_Коваленко_Гасанов_ИСТ_223
.docxФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Лабораторная работа №3
«Изучение одноканальной замкнутой СМО с ожиданием»
Выполнил: ст. гр. ИСТ-223
Коваленко А. С.
Хакова Ю. М.
Гасанов И.
Проверил: ст. пр. Эль Сабаяр Шевченко Н.
Цель работы
Пусть известны основные технико-экономические показатели
функционирования одноканальной замкнутой СМО:
• Cвп – средние затраты, связанные с простоем канала обслуживания в единицу времени (час, смену), руб.;
• Cв – средние затраты, связанные с работой канала обслуживания в единицу времени (час, смену), руб.;
• Cоп – средние затраты, связанные с работой обслуживаемой машины (требования) в единицу времени (час, смену), руб., не зависящие от пробега;
• Cп – средние затраты, связанные с пробегом обслуживаемой машины, приходящиеся на 1 км пробега, руб.
Пусть известны расстояние транспортирования продукции (грунт,
панели, раствор) L в километрах и количество продукции, перевозимой
обслуживаемой машиной за один рейс G (т, шт., м3), а также время
обслуживания одной машины –tобс.
Выберем в качестве критерия оптимизации себестоимость единицы
продукции. Искомым параметром является оптимальная структура системы
обслуживания, то есть такое число машин (требований), которые должна
обслуживать ведущая машина (канал обслуживания) в целях минимизации
себестоимости единицы продукции.
Задание исходных данных одноканальной замкнутой СМО.
Последовательно введем исходные данные:
Коэффициент загрузки = 0,1,
Коэффициента затрат С = 0,6,
Диапазон изменения искомого параметра m.
2. Ввод функций для расчета.
Вводятся выражения для вычисления вероятности простоя канала
Обслуживания P0(m) и выражения неравенства:
– левая часть
неравенства;
– средняя часть
неравенства;
– правая часть
неравенства
3. Вычисление составляющих неравенства и графическое решение
задачи.
вычисление составляющих неравенства для всего диапазона изменения искомого параметра – числа требований, функционирующих в системе (рис. 1).
Рис.
1.
Программа
для
определения
оптимального числа требований
в одноканальной
замкнутой СМО
Анализируя результаты табулирования отдельных составляющих неравенства для определения оптимального числа требований, функционирующих в системе, можно заметить, что оптимальное число требований mопт равно 6. Именно в этом случае выполняется исходное неравенство:
y1(m) y2(m) y3(m) 1,946 1,94 1,949
Рис. 2. Вывод результата программы на консоль
Рис. 3. Графическое представление оптимального значения m с точки зрения вероятности свободного состояния системы и других характеристик.
Вывод: В ходе лабораторной работы был изучен процесс моделирования одноканальной замкнутой системы массового обслуживания (СМО) с ожиданием. С программного кода были рассчитаны вероятности нахождения системы в свободном состоянии при разных значениях числа требований, а также характеристики системы для вариаций числа требований. Эти данные позволили получить ключевые показатели эффективности системы.
Для каждого уровня требований были вычислены три характеристики (y1, y2, y3), отражающие состояние системы при меньшем, текущем и большем числе требований. Вывод результатов в табличной форме и графическое представление зависимостей позволили наглядно проследить, как изменяется вероятность свободного состояния системы и другие показатели при увеличении нагрузки. Анализ полученных данных помогает определить оптимальное количество требований для эффективного обслуживания, что важно для снижения времени ожидания и повышения пропускной способности системы.
Листинг кода:
import numpy as np
import matplotlib.pyplot as plt
from math import factorial
psi = 0.1
C = 0.6
m_values = np.arange(2, 10)
def P0(m, psi):
summation = 0
for n in range(1, m + 1):
summation += (factorial(m) * psi**n) / (factorial(m - n))
return 1 / (1 + summation)
def y1(m, P0_m_minus_1):
return 1 / (1 - P0_m_minus_1) * (1 - (1 / (m + C)))
def y2(m, P0_m):
return 1 / (1 - P0_m)
def y3(m, P0_m_plus_1):
return 1 / (1 - P0_m_plus_1) * (1 + (1 / (m + C)))
P0_values = []
y1_values = []
y2_values = []
y3_values = []
for m in m_values:
P0_m_minus_1 = P0(m - 1, psi)
P0_m = P0(m, psi)
P0_m_plus_1 = P0(m + 1, psi)
P0_values.append(P0_m)
y1_values.append(y1(m, P0_m_minus_1))
y2_values.append(y2(m, P0_m))
y3_values.append(y3(m, P0_m_plus_1))
print("m\tP0(m)\ty1(m)\ty2(m)\ty3(m)")
for i in range(len(m_values)):
print(f"{m_values[i]}\t{P0_values[i]:.3f}\t{y1_values[i]:.3f}\t{y2_values[i]:.3f}\t{y3_values[i]:.3f}")
plt.plot(m_values, y1_values, label="y1(m)", marker='o')
plt.plot(m_values, y2_values, label="y2(m)", marker='o')
plt.plot(m_values, y3_values, label="y3(m)", marker='o')
plt.xlabel("m")
plt.ylabel("y(m)")
plt.title("Определение оптимального числа требований")
plt.legend()
plt.grid(True)
plt.show()
Санкт-Петербург
2024
