Моделирование процессов в многоканальной системе с отказами
В многоканальной системе одновременно могут обслуживаться n заявок, где n — число обслуживающих приборов, устройств, например, группа однотипных станков, линий и другого оборудования, выполняющих идентичные операции. Любая следующая заявка, заставшая все приборы занятыми, получает отказ в обслуживании. На примере трехприборной системы (рис. 3.3) показан случай, когда во время обслуживания первой заявки, поступившей в момент времени
, в систему поступило две заявки в моменты , ,которые начали обслуживаться соответственно вторым и третьим приборами (устройствами, станками). В момент времени t’2, первый прибор освободился, но во время занятого состояния второго и третьего приборов на него поступила следующая заявка. При наличии в системе не более трех заявок отказов от обслуживания не происходит. Однако при поступлении в систему любой заявки, заставшей все три прибора занятыми (моменты t14, t15), они теряются.
На рис. 3.4 показана блок-схема алгоритма моделирования n — канальной системы с потерями. Принятые обозначения:
n — количество обслуживающих приборов;
t1(п) — массив времени поступления заявок на отдельные приборы;
t2(n)— массив времени окончания обслуживания заявок на отдельных приборах;
Z (n)— массив состояний отдельных приборов (при Z (i)
=0 i прибор свободен, а при Z (i) = I — занят).
Остальные обозначения ( t1 , t2 , Nn , Nоб
, N, Tм, ?з, ?об ) соответствуют обозначениям одноприборной модели.
В начальный момент времени все приборы свободны ( Z (i) = 0,
i=1,n), t1(n)=t2 (n) =?, Nоб=Nn=0 (блок I).
Первая сгенерированная заявка поступает в первый прибор ( t1 = ?з, блоки 2, 3).
В рассматриваемой модели любая сгенерированная заявка или сразу же начинает обслуживаться в i приборе, или теряется. Соответственно в блоке выбора минимальных времен, соответствующих смене ситуаций в системе, фигурирует только одно значение времени t1, соответствующее текущему моменту времени появления следующей заявки. В то же время в разных приборах могут одновременно обслуживаться несколько заявок.
Таким образом, в блоке выбора минимального времени должны сравниваться значения времени t1 и t2(i) . Выбор меньшего из них может производиться путем их сортировки, т.е. записи в порядке возрастания их значений (блок 4).
В случае t1=min, в блоках 6-9 производится определение прибора с меньшим номером, свободного от обслуживания ( Z ( i ) = 0 ). Если i ? N, то заявка принимается на обслуживание в i прибор ( Z (i) = I, блок II). Процесс обслуживания заключается в генерации времени обслуживания ?об, определения момента конца обслуживания t2(i)=t1(i)+?об генерации времени до поступления следующей заявки т3 и текущего момента времени поступления этой заявки t1(i)=t1(i)+?з (блоки 12-15). Сформированные значения t1
и t2(i) поступают в блок 4 выбора минимальных времен, где производится сортировка массива с учетом поступивших новых значений времени. В случае перебора состояний приборов окажется, что все они заняты ( i > N блок 10), то поступившая заявка теряется ( Nn= Nn+1 блок 16). Затем генерируется время поступления следующей заявки t1, (блоки 17, 16).
При минимальном времени окончания обслуживания заявки в i приборе ( t2(i) = min , t2(i) < Тм ) фиксируется число обслуженных заявок ( Nоб = Nоб + 1), находится время пребывания заявки в системе tпр = t2(i)— t1(i), после чего устанавливаются исходные данные для
освободившегося прибора (Z (i) = 0, t1(i) = t2(i) = ? ) (блоки 21-24). Следует заметить, что блок 22, в котором определяется время пребывания заявки в системе, может быть опущен, так как это время будет соответствовать задаваемому времени ?об . Введение этого блока позволяет контролировать соответствие вырабатываемых ЭВМ случайных чисел с заданным законом.
По окончании моделирования (t2 > Тм ) осуществляется вывод на печать полученных результатов — Nn , Nоб, N, Рn = N / Nn, гистограммы распределения tпр в случае надобности.