Transit TABLE M1,20,20,20
*****************************************************************************
Extensions STORAGE 200
Extlines STORAGE 30
Intlines STORAGE 30
Signals STORAGE 8
Operator STORAGE 1
*****************************************************************************
* Определение переменных
Internal VARIABLE 1260/(1+R$Extensions)
External VARIABLE 2500/(R$Extensions+S$Extensions)
*
* Таблицы количества звонков
Callsint TABLE S$Intlines,2,2,20
Callsext TABLE S$Extlines,2,2,20
*****************************************************************************
* Генерируются звонки, поступающие с внутренних телефонов.
GENERATE (Exponential(1,0,V$Internal)),0,20 ;Внутренние звонки.
ENTER Extensions ;Снята трубка телефона.
QUEUE Inside ;Очередь на сигнализатор.
ENTER Signals ;Занимается сигнализатор.
DEPART Inside ;Выход из очереди.
ADVANCE 7,2 ;Время для сигнализации.
LEAVE Signals ;Сигнализатор освобождается.
TRANSFER .333,,Intout ;33% звонков направлены на внешние 
;линии.
Intint TEST GE R$Intlines,1,Breakoff ;Проверка внутренней линии.
;на доступность.
ENTER Intlines ;Занимается внутренняя линия.
ADVANCE 4,1 ;Проводится проверка, занята ли телефон.
TRANSFER .15,,Busy ;Некоторые параллельные телефоны заняты.
Aline ENTER Extensions ;Другие параллельные телефоны не заняты.
ADVANCE 6,2 ;Время для звонка по параллельному 
;телефону.
TRANSFER .2,,Nogood ;20% не отвечают.
ADVANCE (Normal(2,150,30)) ;Продолжительность звонка.
Nogood LEAVE Extensions ;Параллельный телефон освобождается.
Busy LEAVE Intlines ;Внутренняя линия освобождается.
TRANSFER ,Breakoff
* Модель звонков с внутренних телефонов на внешние линии.
Intout TEST GE R$Extlines,1,Breakoff ;Доступна ли внешняя линия? 
ENTER Extlines ;Занимается внешняя линия.
ADVANCE 4,1 ;Время для проверки, если она занята.
TRANSFER .200,,Nobody ;20% заняты.
ADVANCE 6,2 ;Время для ответа.
TRANSFER .200,,Nobody ;20% не отвечают.
ADVANCE (Normal(2,150,30)) ;Продолжительность звонка.
TABULATE Transit ;Запись транзитного времени.
Nobody LEAVE Extlines ;Внешняя линия освобождается.
Breakoff LEAVE Extensions ;Параллельный телефон свободен.
TERMINATE
*****************************************************************************
* Обработка внешних звонков.
GENERATE (Exponential(1,0,V$External)) ;Внешние звонки.
TEST GE R$Extlines,1,Nonefree ;Доступна ли внешняя линия? 
ENTER Extlines ;Занимается внешняя линия.
QUEUE Outsider ;Очередь к оператору.
ENTER Operator ;Занимается оператор.
DEPART Outsider ;Выход из очереди.
ADVANCE 9,3 ;Оператор обслуживает звонок.
LEAVE Operator ;Оператор освобождается.
ADVANCE 4,1 ;Заняты ли телефоны?
TRANSFER .15,,Engaged ;Некоторые параллельные телефоны заняты.
ENTER Extensions ;Занимается параллельный телефон.
ADVANCE 6,2 ;Время для звонка.
TRANSFER .200,,Noperson ;20% не отвечают.
ADVANCE (Normal(2,150,30)) ;Время звонка.
TABULATE Transit ;Запись транзитного времени.
Noperson LEAVE Extensions ;Параллельный телефон освобождается.
Engaged LEAVE Extlines ;Внешняя линия освобождается.
Nonefree TERMINATE
*****************************************************************************
GENERATE 3600 ;Транзакт каждый час.
TERMINATE 1 ;Счетчик завершения.
GENERATE 60 ;Транзакт каждую минуту.
TABULATE Callsint ;Количество внутренних звонков.
TABULATE Callsext ;Количество внешних звонков.
TERMINATE
START 1

Результаты моделирования.



2015-11-18 • Просмотров [ 237 ]