Главная страница
Навигация по странице:

  • 5. Какие случайные величины в системе массового обслуживания являются дискретными, а какими непрерывными

  • Моделирование систем. Моделирование систем 2е издание, исправленное


    Скачать 5.72 Mb.
    НазваниеМоделирование систем 2е издание, исправленное
    АнкорМоделирование систем
    Дата24.02.2022
    Размер5.72 Mb.
    Формат файлаpdf
    Имя файлаМоделирование систем.pdf
    ТипАнализ
    #372763
    страница3 из 10
    1   2   3   4   5   6   7   8   9   10
    1. Что называется простейшим пуассоновским потоком?
    2. По какому закону распределены интервалы времени между требованиями в простейшем пуассоновском потоке?

    3. Что такое символика Кендалла, применяемая для систем массового обслуживания?
    4. Что определяет собой точка на графике функции распределения случайной величины?

    5. Какие случайные величины в системе массового обслуживания являются дискретными, а какими непрерывными?
    6. Что означает несовместность событий?
    7. Каким условиям должны отвечать начальные условия при решении
    дифференциальных уравнений относительно вероятностей состояния системы массового обслуживания?
    8. Какова длина очереди в системе
    ?
    9. Через какой тип данных могут выражаться интенсивность входного
    потока требований и интенсивность обслуживания требований в системах массового обслуживания?

    Моделирование непрерывных случайных величин с заданным законом распределения
    Цель работы: изучить и освоить методы моделирования случайных величин, распределенных по таким часто применяемым законам распределения в системах массового обслуживания, как равномерный,
    экспоненциальный, нормальный, распределение Эрланга, с целью программной реализации алгоритмов формирования случайных величин с заданным законом распределения. Моделирование осуществляется в программных средах MATLAB и GPSS/PC.
    Теоретическая часть
    Во многих программных средах имеются генераторы случайных
    (псевдослучайных) чисел, которые обеспечивают формирование случайных чисел, равномерно распределенных в интервале
    . На основе этого распределения могут быть сформированы выборки случайных чисел с каким-либо другим законом распределения случайной величины. В некоторых случаях этого можно добиться на основе метода инверсии, или метода обратной функции. Суть метода обратной функции заключается в следующем. Пусть есть некоторая функция распределения случайной величины , которая по определению является неотрицательной и не превосходящей значения
    . Если выбрать на оси ординат графика функции случайную точку , то мы сможем получить значение величины такое, что
    . Как известно, функция распределения есть вероятность того,
    что случайная величина не превысит своего некоторого значения , т.
    е.
    . На основе заданной функции распределения существует однозначное соответствие между значением аргумента функции и значением самой функции, что позволяет записать выражение
    , где
    — случайная величина, равномерно распределенная в интервале
    . Используя соотношение
    , можно записать функцию распределения случайной величины :

    (3.1)
    Таким образом, последовательность случайных чисел
    ,
    принадлежащая интервалу
    , преобразуется в последовательность
    , которая имеет заданную функцию распределения и,
    соответственно, функцию плотности
    Метод обратной функции нельзя применять напрямую к непрерывным распределениям, для которых функция распределения не может быть выражена в квадратурах от соответствующей функции плотности.
    Типичными примерами такого рода являются нормальное распределение, гамма-распределение, логарифмически-нормальное распределение, а также дискретное распределение Пуассона. В таких случаях для получения выборок случайных чисел можно воспользоваться одним из следующих методов:
    1. аппроксимацией непрерывной функции дискретной функцией распределения;
    2. получением с помощью статистических соотношений необходимой информации на основе других распределений, имеющих простую аналитическую форму.
    Например, в случае второго метода, случайная величина,
    подчиняющаяся распределению Эрланга -го порядка (или гамма- распределению с целочисленным параметром), представляет собой сумму экспоненциально распределенных случайных величин, а время между наступлениями событий в пуассоновском процессе также распределено экспоненциально.
    Практическая часть
    1. Формирование выборки случайных чисел с равномерным
    распределением в заданном интервале
    Равномерно распределенная случайная величина в интервале имеет функцию плотности
    Определим функцию распределения в соответствии с (1.1) и приравняем случайному числу
    , равномерно распределенному в интервале
    :
    (3.2)
    Если требуется сформировать выборку из случайных чисел из интервала
    , то выражение (3.2) перепишем в виде
    (3.3)
    В системе MATLAB случайные числа, равномерно распределенные в интервале
    , формируются встроенной функцией
    (см.
    ).
    Рассмотрим следующий пример формирования выборки случайных чисел в системе MATLAB.
    Пример 1. Сформируйте 20 случайных чисел с равномерным распределением из интервала
    Программный код решения примера (возможно, в командном окне
    MATLAB):
    a = 2; b = 5; N = 20;
    t20 = a + (b - a)*rand(N,1)

    Задание 1 1. Рассчитайте теоретическое значение математического ожидания случайной величины, равномерно распределенной в интервале
    . Рассчитайте среднее значение величины при трехкратном обращении к программе. Сравните результаты.
    2. Постройте функцию распределения случайной величины из интервала по сформированной выборке. Интервал примите следующим (в соответствии с номером компьютера, за которым выполняется лабораторная работа):
    №1: [–1; 1.1]; №2: [–0.2; 2.2]; №3: [–3; 3.3]; №4: [–4.4; 6.6]; №5: [–5, 5.5];
    №6: [–6.6, –3.3]; №7: [–7, 8]; №8: [–8, 8.8]; №9: [–9, 9]; №10: [–10.1, 10.1].
    2. Формирование выборки случайных чисел с экспоненциальным распределением
    Функция плотности экспоненциального распределения случайной величины и функция распределения даются формулами где — параметр экспоненциального распределения, имеющий размерность
    В соответствии с методом обратной функции запишем откуда найдем :
    (3.4)
    Известно, что функция случайной величины имеет такое же распределение, что и сама случайная величина
    . Поэтому (3.4)
    представим в виде
    (3.5)

    Рассмотрим пример формирования выборки случайных чисел с экспоненциальным распределением в MATLAB.
    Пример 2. Сформируйте случайных чисел с экспоненциальным распределением по методу обратной функции.
    Программный код решения примера:
    L = 0.25; N = 20;
    texp20 = -1/L*log(rand(N,1))
    Если воспользоваться встроенной функцией
    (см.
    )
    системы MATLAB, то будем иметь следующий программный код:
    L = 0.25; N = 20;
    texp20M = exprnd(1/L,N,1)
    Следует обратить внимание, что аргументом функции exprnd является величина математического ожидания (
    ) экспоненциального распределения.
    Для приведенных программ результаты их выполнения не приводятся,
    так как они будут различными при каждом выполнении программы.
    В системе MATLAB эмпирическую функцию распределения можно построить с помощью
    (см.
    ). Тогда программа формирования и построения функции распределения примет следующий вид:
    clear,clc
    L = 0.25; N = 20;
    texp20 = –1/L*log(rand(N,1));
    cdfplot(texp20), %% специальная графическая функция title('\bf Функция экспоненциального распределения');
    xlabel('\bf - - - - - - - t - - - - - - - ');
    ylabel('\bf F(t)');

    Примечание. Моделирование случайной величины с экспоненциальным распределением и заданным параметром можно произвести, взяв за основу моделирование случайной величины с экспоненциальным распределением и параметром, равным единице
    [21]
    . В этом случае поступают следующим образом:
    генерируют значения случайной величины, распределенной по экспоненциальному закону с параметром
    ;
    находят произведение полученного значения и математического ожидания случайной величины, у которой
    . Математическое ожидание экспоненциально распределенной величины обратно пропорционально параметру.
    Задание 2 1. Постройте эмпирическую функцию плотности экспоненциального распределения по сформированному массиву случайных чисел.
    2. Постройте эмпирическую функцию распределения по сформированному массиву случайных чисел без применения функции
    3. Сравните выборку случайных чисел, распределенных по экспоненциальному закону с параметром
    , и выборку чисел, полученных для
    , с последующим преобразованием —
    умножением математического ожидания на массив сформированных чисел, для которых
    4. Сформируйте выборку случайных чисел с экспоненциальным распределением по формуле (3.5) с помощью операторов цикла.
    3. Формирование нормально распределенных случайных чисел по методу бокса и маллера
    В соответствии с методом Бокса–Маллера случайные числа формируются парами с математическим ожиданием, близким к значению
    , и средним квадратическим отклонением, близким к единице, т. е.
    :
    где
    ,
    — случайные числа из интервала с равномерным распределением.
    Выборка случайных чисел, сформированная по методу Бокса–Маллера,
    может центрироваться с целью получения параметров нормального
    закона практически равным своим теоретическим значениям стандартного нормального закона, т. е.
    ,
    Пример 3. Сформируйте случайных чисел в соответствии со стандартным нормальным законом.
    Программный код решения примера:
    clear, clc
    N = 500; z1 = -2*log(rand(N,1)).*cos(2*pi*rand(N,1));
    z2 = -2*log(rand(N,1)).*sin(2*pi*rand(N,1));
    z = sort([z1;z2]);
    %-------------- Средняя величина--------------------- mz = sum(z)/(2*N);
    fprintf('\n\t m = %g\n',mz)
    %-------------- Стандартное отклонение ------------ stz = sqrt(sum((z-mz).^2)/(length(z)-1));
    fprintf('\t s = %g\n', stz)
    %--------------- Нормализованные данные ---------- zz = (z-mz)/stz;
    mzN = sum(zz)/(2*N);
    fprintf('\t m = %g\n', mzN)
    stzN = sqrt(sum((zz-mzN).^2)/(2*N-1));
    fprintf('\t s = %g\n', stzN)
    Задание 3 1. В программе примените циклические операции расчета средних значений и средних квадратических отклонений.

    2. Рассчитайте параметры нормального закона для сформированной выборки случайных чисел с помощью функций и
    ,
    сравните результаты.
    3. Постройте функцию плотности и функцию распределения для нормализованных данных. Сравните с функциями для данных,
    получаемых с помощью встроенной функции
    4. Напишите программу формирования выборки случайных чисел,
    распределенных по нормальному закону в соответствии с методом
    Марсальи–Брея по следующему алгоритму:
    1. Генерируются два равномерно распределенных случайных числа
    , из интервала
    2. Формируются два соотношения
    3. Составляется сумма
    4. Если
    , то пп. 1-3 повторяются.
    5. Если
    , то вычисляется первая пара случайных чисел ,
    :
    Для выборки случайных чисел, сформированных по методу Марсальи–
    Брея, рассчитать параметры нормального закона, т. е. математическое ожидание (среднее) и среднее квадратическое отклонение
    (стандартное отклонение).
    Примечание. Для формирования выборки нормально распределенных случайных чисел с произвольными параметрами и следует воспользоваться формулой
    (3.6)
    где — выборка случайных чисел, распределенных по стандартному
    нормальному закону, т. е. когда
    ,
    4. Формирование выборки случайных чисел, соответствующей нормальному распределению, с помощью центральной
    предельной теоремы
    Известно
    [20]
    , что сумма одинаково распределенных независимых случайных величин стремится к нормально распределенной величине при бесконечном увеличении . Например, можно воспользоваться случайными числами, равномерно распределенными в интервале
    В соответствии с центральной предельной теоремой сформированное случайное число является асимптотически нормальной величиной со средним и дисперсией
    . В случае, когда используется какое-либо другое распределение с заданным математическим ожиданием и средним квадратическим отклонением
    , расчетное математическое ожидание будет равно и среднее квадратическое отклонение
    Когда для формирования нормально распределенных случайных чисел суммируются равномерно распределенные случайные величины из интервала
    , то приемлемые результаты в смысле параметров стандартного нормального закона дает формула
    (3.7)
    где — равномерно распределенное случайное число из интервала
    Пример 4. Сформируйте 5000 нормально распределенных чисел в соответствии с центральной предельной теоремой на основе суммирования случайных чисел, равномерно распределенных в интервале
    Программный код решения примера:
    clear, clc
    N = 5000;
    for J = 1 : N

    X(J) = sum(rand(12,1))-6;
    end
    X = sort(X);
    m = mean(X);
    s = std(X);
    fprintf('\n\t m = %g\n', m)
    fprintf('\t s = %g', s)
    Задание 4 1. Постройте функции плотности и распределения для случайных величин, сформированных по вышеприведенной программе.
    2. Получите выборку случайных чисел со стандартным нормальным распределением при суммировании случайных чисел,
    распределенных:
    по экспоненциальному закону,
    по закону Эрланга 3-го порядка.
    При необходимости произведите центрирование полученных случайных величин.
    5. Моделирование нормального закона распределения в системе GPSS/PC
    В системе GPSS/PC, как и в других версиях среды GPSS, необходимо обеспечить неотрицательность значений интервалов поступления требований (транзактов) в систему и их задержки (обслуживания).
    Область определения случайной величины для нормального закона
    представляет собой всю числовую ось. Поэтому, чтобы обеспечить по возможности только неотрицательные значения случайной величины,
    необходимо выполнить требование
    , где
    — математическое ожидание, а – среднеквадратическое отклонение нормально распределенной случайной величины. Во многих системах программирования имеются генераторы случайных чисел со стандартным нормальным законом распределения, для которого
    ,

    . Но переход к нормальному закону с другими параметрами можно произвести по формуле (3.6). Поэтому в системах GPSS можно использовать стандартный нормальный закон распределения с последующим преобразованием по формуле (3.6).
    Пример 5. Выполните моделирование одноканальной системы обслуживания, для которой известно, что поступление требований подчиняется равномерному закону из интервала мин., время обслуживания подчиняется нормальному закону с параметрами
    .,
    . Моделирование произведите по обслуживанию
    1000 требований (транзактов).
    Для решения примера сначала сформируем в среде MATLAB функцию стандартного нормального закона для области определения от 0 до 30
    мин. Затем данные функции распределения и ее аргумента экспортируем в систему GPSS/PC.
    MATLAB-программа формирования массива данных для стандартной функции нормального распределения:
    X = linspace(-3,3.2, 49);
    F = normcdf(X);
    %------ Преобразование нормального закона ------------- m = 18; s = 3;
    xx = m + s*X;
    F2 = [0,F];
    X2 = [0, xx];
    %%% Заголовок и имя функции для GPSS/PC
    fid = fopen('norm.txt', 'w'); %% запись в текстовый файл fprintf(fid, 'nor function RN6,C50\r\n')
    %%% Цикл форматированного вывода данных для GPSS/PC
    for J = 1 : length(X2)
    if mod(J, 3)
    fprintf(fid, '%g,%g/', F2(J), X2(J));
    else fprintf(fid, '\r\n');
    fprintf(fid, '%g,%g/', F2(J), X2(J));
    end end fprintf(fid,';\r\n------------------------------\r\n');
    fclose(fid);
    Получаемые результаты здесь не приводятся, они будут использованы в
    GPSS-программе после их экспортирования.
    Примечание. В системе GPSS/PC массив данных для функции распределения должен начинаться с нулевых значений, поэтому в программе предусмотрено прибавление нулей к формируемому массиву.
    Программный код решения примера в GPSS/PC:
    simulate nor function RN6,C50 0,0/0.0013499,9/
    0.00204696,9.3875/0.00305642,9.775/0.00449413,10.1625/
    0.00650796,10.55/0.00928214,10.9375/0.0130406,11.325/
    0.0180485,11.7125/0.0246108,12.1/0.0330681,12.4875/
    0.0437873,12.875/0.0571489,13.2625/0.0735293,13.65/
    0.0932785,14.0375/0.116696,14.425/0.144004,14.8125/
    0.175324,15.2/0.21065,15.5875/0.249838,15.975/
    0.29259,16.3625/0.338461,16.75/0.386865,17.1375/
    0.437097,17.525/0.488366,17.9125/0.539828,18.3/
    0.59063,18.6875/0.639953,19.075/0.687048,19.4625/
    0.731273,19.85/0.772116,20.2375/0.809213,20.625/
    0.842351,21.0125/0.871463,21.4/0.896616,21.7875/
    0.917988,22.175/0.935849,22.5625/0.950529,22.95/
    0.962394,23.3375/0.971826,23.725/0.9792,24.1125/
    0.98487,24.5/0.989157,24.8875/0.992346,25.275/
    0.994678,25.6625/0.996355,26.05/0.997542,26.4375/
    0.998368,26.825/0.998933,27.2125/0.999313,27.6/

    ;------------------------------ tab1 table mp1,5,2,15
    ***********************************
    10 generate 13,3 20 seize 1 30 mark 1 40 advance fn$nor
    50 tabulate tab1 60 release 1 70 terminate 1
    start 1000
    ;end
    В программе предусмотрено табулирование времени пребывания транзактов в устройстве обслуживания по стандартному числовому атрибуту
    , где цифра относится к номеру параметра, через который производится отметка времени блока
    На рис. 3.1
    приведена гистограмма распределения времени обслуживания. Эта гистограмма может быть получена после запуска программы на исполнение при закомментированном операторе
    , и далее с помощью комбинации клавиш Alt+T можно перейти в окно просмотра таблиц.

    Рис. 3.1. Гистограмма распределения времени обслуживания
    Как видно из рис. 3.1
    , гистограмма имеет форму, близкую к функции плотности нормального закона. Среднее значение времени распределения обслуживания требований в устройстве равно 17.62 (
    ), стандартное отклонение равно 3.00 (
    ), что достаточно близко к условию примера.
    Задание 5 1. По файлу стандартного отчета постройте функцию распределения времени обработки транзактов в устройстве. Сравните с той же функцией, построенной в среде MATLAB.
    2. Проанализируйте результаты для разных номеров генераторов случайных чисел в зависимости от номера компьютера:
    3. Проанализируйте результаты при различных значениях счетчика завершений, т. е. положите
    , и т. д. в зависимости от номера компьютера, за которым выполняется лабораторная работа (1, 2, 3, ...). Графический образ получаемой гистограммы внесите в отчет лабораторной работы.

    6. Формирование выборки случайных чисел, распределенных по закону эрланга k-го порядка
    Случайная величина, подчиняющаяся распределению Эрланга с параметрами (порядок распределения Эрланга) и , представляет собой сумму n независимых, одинаково распределенных случайных величин с параметром (интенсивность,
    )
    [20]
    . Это означает, что можно получить выборку, соответствующую распределению Эрланга,
    при помощи многократного применения метода инверсии (метода обратной функции).
    Пример 6. Сформируйте выборку объема случайных чисел с распределением Эрланга 3-го порядка (
    ) и параметром
    Программный код решения примера:
    L = 1.25; k = 3;
    N = 1000;
    for I = 1 : N
    T(I) = 0;
    for J = 1 : k
    T(I) = T(I) - 1/L*log(rand);
    end end
    T2 = sort(T);
    Задание 6 1. Упростите программный код, используя матричные возможности системы MATLAB.
    2. Постройте функцию плотности и функцию распределения по аналитическим формулам для распределения Эрланга
    [3]
    :
    3. Выполните предыдущий пункт с помощью встроенных функций
    и
    . Сравнить результаты.
    7. Моделирование процесса обслуживания по закону эрланга k-го порядка в системе GPSS/PC
    Для моделирования распределения Эрланга -го порядка используется экспоненциальная функция распределения, которая может оставаться неизменной при изменении порядка потока Эрланга.
    Пример 7. Смоделируйте одноканальную систему массового обслуживания, в которую требования поступают по равномерному закону через мин., а обслуживание осуществляется по закону
    Эрланга 3-го порядка с параметром \
    . Произведите обслуживание 5600 требований.
    Для решения примера 7 сначала сформируем функцию экспоненциального распределения случайной величины с параметром
    , а затем выполним пересчет для параметра
    . Для этого может быть использована следующая программа в системе MATLAB:
    clear, clc
    L = 0.25; t = linspace(0, 9, 50);
    F = 1 - exp(-t);
    t2 = 1/L*t;
    fid = fopen('erlang.txt', 'w'); %% запись в текстовый файл fprintf(fid, '\nexp function RN22,C50\n');
    for J = 1 : length(F)
    if mod(J,3)
    fprintf(fid, '%g,%g/', F(J), t2(J));
    else fprintf(fid, '\r\n');
    fprintf(fid, '%g,%g/', F(J), t2(J));
    end
    end fprintf(fid,'\r\n;------------------------------\r\n');
    fclose(fid);
    Программный код решения примера в системе GPSS/PC:
    simulate exp function RN22,C50 0,0/0.167792,0.734694/
    0.307431,1.46939/0.423639,2.20408/0.520348,2.93878/
    0.60083,3.67347/0.667808,4.40816/0.723547,5.14286/
    0.769934,5.87755/0.808537,6.61224/0.840663,7.34694/
    0.867399,8.08163/0.889648,8.81633/0.908164,9.55102/
    0.923574,10.2857/0.936397,11.0204/0.947069,11.7551/
    0.955951,12.4898/0.963342,13.2245/0.969493,13.9592/
    0.974612,14.6939/0.978872,15.4286/0.982417,16.1633/
    0.985367,16.898/0.987822,17.6327/0.989866,18.3673/
    0.991566,19.102/0.992981,19.8367/0.994159,20.5714/
    0.995139,21.3061/0.995955,22.0408/0.996633,22.7755/
    0.997198,23.5102/0.997668,24.2449/0.99806,24.9796/
    0.998385,25.7143/0.998656,26.449/0.998882,27.1837/
    0.999069,27.9184/0.999225,28.6531/0.999355,29.3878/
    0.999464,30.1224/0.999554,30.8571/0.999628,31.5918/
    0.999691,32.3265/0.999743,33.0612/0.999786,33.7959/
    0.999822,34.5306/0.999852,35.2653/0.999877,36/
    ;------------------------------ tab1 table mp1,0,3,50
    ******** Erlang distribution *******
    10 generate 18,2 20 assign 1,1 30 seize 1 40 mark 1 50 advance 1,fn$exp
    60 advance 1,fn$exp
    70 advance 1,fn$exp

    80 tabulate tab1 90 release 1 100 terminate 1
    start 5600
    ;end
    В программе обслуживание по закону Эрланга 3-го порядка осуществляется с помощью трехкратной временной задержки транзактов на время, распределенное по экспоненциальному закону с заданным параметром. Временная задержка производится блоками
    (строки 50, 60, 70). Контролируемая отметка времени осуществляется блоком по 1-му параметру и табулированием стандартного числового атрибута с помощью оператора
    (с меткой tab1). Таким образом, реализация обслуживания транзактов
    (требований) по закону Эрланга -го порядка может быть запрограммирована с помощью блоков в теле устройства, т.
    е. между блоками и
    . Результат выполнения программы показан на рис. 3.2
    , который дает наглядное представление о форме распределения времени обслуживания, и в нем приводятся числовые данные распределения – среднее значение, равное 10.72, и стандартное
    отклонение, равное 6.92.

    Рис. 3.2. Распределение времени обслуживания по закону Эрланга
    Рассчитаем величину параметра закона Эрланга 3-го порядка по данным рис. 2 или из файла стандартного отчета. Как известно
    [2]
    ,
    математическое ожидание и параметр закона Эрланга -го порядка связаны между собой формулой или
    Применим первую формулу, считая, что среднее равно 10.72:
    Получен результат одного порядка по сравнению с заданным условием.
    Задание 7 1. По файлу стандартного отчета постройте в MATLAB функцию распределения времени обслуживания транзактов в устройстве.
    2. В соответствии с номером компьютера, за которым выполняется лабораторная работа, примите следующие числа обработки транзактов (оператор
    ): № 1: 1000; № 2: 2000 и т. д.
    Проанализируйте результаты, рассчитайте параметр закона Эрланга
    3-го порядка.
    Контрольные вопросы

    1   2   3   4   5   6   7   8   9   10


    написать администратору сайта