Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы / 3 / lab_3.docx
Скачиваний:
0
Добавлен:
12.02.2026
Размер:
2.81 Mб
Скачать

Приложение 2.

import math

import pandas as pd

# Задаём начальные значения

n = 2       # Количество каналов

m = 10      # количество мест в очереди

lam = 10    # Интенсивность поступления заявок

mu = 5      # интенсивность обслуживания

#  коэффициент загрузки системы

rho = lam/mu

# Вероятность что канал окажется свободным

p0 = 0

if rho == n:

    for i in range(0,n+1):

        p0 = p0+(n**i/math.factorial(i))

else:

    for i in range(0,n+1):

        p0 = p0+(rho**i/math.factorial(i))

    p0 = p0 + (rho**(n+1)/n*math.factorial(n))*((1-(rho/n)**m)/(1-(rho/n)))

p0 = 1/p0

# Вероятность что канал окажется занятым

p1 = 1-p0

# Вероятность что заявка получит отказ

Potk = rho**(n+m)/((n**m)*math.factorial(n))*p0

# относительная пропускная способность

Q = 1 - Potk

# абсолютная пропускная способность

A = lam*Q

# Среднее количество занятых каналов

kzan = A/mu

# Средняя длина очереди в системе

if rho == n:

    Loch = ((n**n)/math.factorial(n))*((math.factorial(n)*(m+1))/2)*p0

else:

    Loch = (rho**(n+1)/n*math.factorial(n))*((1-(rho/n)**m*(m+1-(m/n*rho)))/(1-rho/n)**2)

# Среднее время ожидания в очереди

Toch = Loch/lam

# Среднее количество заявок в системе

Lsist = Loch + kzan

# Среднее время пребывания заявки в системе

Tsist = Lsist/lam

# Сведение всех показателей в таблицу

data = {

    "Показатель": ["Вероятность свободности канала (p0)",

                   "Вероятность занятости канала (p1)",

                   "Абсолютная пропускная способность (A)",

                   "Относительная пропускная способность (Q)",

                   "Вероятность отказа (P_отк)",

                   "Среднее количество занятых каналов (k_зан)",

                   "Среднее количество заявок в системе (L_сист)",

                   "Среднее время пребывания заявки в системе (T_сист)",

                   "Средняя длина очереди (L_оч)",

                   "Среднее время ожидания заявки в очереди (T_оч)"],

    "Значение": [p0, p1, A, Q, Potk, kzan, Lsist, Tsist, Loch, Toch]

}

# Реализуем и печатаем таблицу

df = pd.DataFrame(data)

print(df)

# Сохранение в файл Excel

df.to_excel("lab3.xlsx", index=False)

Соседние файлы в папке 3