Пример 3.1. Промоделировать одноканальную СМО с отказами (очередь вообще не создается, если прибор занят – заявка покидает систему). Заявки поступают по равномерному закону распределения с интервалом [6...11] единиц времени, время обслуживания распределено равномерно в интервале [6...14]. Время моделирования – 360 единиц. Для проверки незанятости прибора используется блок GATE. Если условие NU не выполняется (прибор занят), то заявка переходит на блок с именем OUT и покидает систему.
100 GENERATE 8.5,2.5
105 GATE NU PRIBOR,OUT
110 SEIZE PRIBOR
120 ADVANCE 10,4
130 RELEASE PRIBOR
140 OUT TERMINATE
150 GENERATE 360
160 TERMINATE 1
170 START 1
Результаты моделирования представлены на рисунке 3.1
Рисунок 3.1– Результаты моделирования простейшей СМО с отказами
В нашем случае из 43 заявок, появившихся в системе, обслужены 24, 19 заявок покинули систему, получив отказ из-за занятости прибора в момент их появления.
Пример 3.2. Несколько изменим условие примера 3.1. Пусть теперь, если прибор занят, заявка не покидает систему, а пытается обслужиться на втором приборе, время обслуживания на котором распределено равномерно в интервале [20...30]. Если заняты оба прибора, то представляющий заявку транзакт “стоит в очереди” в блоке TRANSFER. Он будет обслужен, как только освободится один из приборов.
100 GENERATE 8.5,2.5
110 TRANSFER BOTH,K_PR1,K_PR2
120 K_PR1 SEIZE PRIBOR1
130 ADVANCE 10,4
140 RELEASE PRIBOR1
150 TRANSFER ,OUT
160 K_PR2 SEIZE PRIBOR2
170 ADVANCE 25,5
180 RELEASE PRIBOR2
190 OUT TERMINATE
Результаты моделирования представлены на рисунке 3.2.
Рисунок 3.2 – Результаты моделирования с перераспределением заявок
В нашем случае из 41 заявки, появившейся в системе, 28 обслужены 1-м прибором, 11 – вторым, по одной заявке обрабатываются приборами на момент окончания моделирования. Заявки, появившиеся в системе, когда были заняты оба прибора, не покидали систему, а оставались в блоке TRANSFER. Главный недостаток – мы не можем контролировать эту очередь.
Пример 3.3. Введем в моделируемую систему очередь с ограниченным количеством мест – 2. Если очередь заполнена, то заявка с вероятностью 75% будет обслужена на 2-м приборе, а с вероятностью 25% покидает систему.
Вместимость очереди (накопителя) зададим многоканальным устройством OCHERED с помощью оператора STORAGE. Тогда проверять на незанятость (незаполненность) в блоке GATE будем уже именно это устройство. Если условие SNF (накопитель не заполнен) не выполняется (накопитель заполнен), то транзакт переходит на блок с именем K_PR2. Здесь с вероятностью 25% заявка покидает систему, отправляясь на блок с меткой OUT. Так как метка для вероятности 75% не указана, то эти транзакты заявки пытаются занять следующий блок SEIZE PRIBOR2. Результаты моделирования представлены на рисунке 3.3.
20 OCHERED STORAGE 2
100 GENERATE 8.5,2.5
110 GATE SNF OCHERED,K_PR2
120 ENTER OCHERED
130 SEIZE PRIBOR
140 LEAVE OCHERED
150 ADVANCE 10,4
160 RELEASE PRIBOR
161 TRANSFER ,OUT
162 K_PR2 TRANSFER 0.25,,OUT
163 SEIZE PRIBOR2
164 ADVANCE 25,5
165 RELEASE PRIBOR2
170 OUT TERMINATE
Достарыңызбен бөлісу: |