Лекция 6 Моделирование в системе GPSS Word 1 Вопросы лекции 1. 2. 3. Модель работы Сall -центра Системные числовые атрибуты Модель системы М/М/2 с отказами и повторными вызовами 2 Модель работы Сall -центра Модель Call – центра отражает работу Call-центра, в котором заявки обслуживают несколько операторов Модель состоит из двух сегментов: 1. Сегмент моделирования процесса обслуживания 2. Сегмент управления модельным временем В модели используется многоканальное устройство (МКУ) HOTLINE. Статистику собирает и обрабатывает блок QUEUE QHOTLINE Входной поток заявок простейший. Среднее значение интервала между соседними заявками задается переменной X$AVER Длительность разговора с оператором подчиняется экспоненциальному распределению и расчитатывается по формуле AVTALK#FN$XPDIS, где AVTALK – среднее время разговора. 3 Модель работы Сall -центра 1-й сегмент модели GENERATE X$AVER,FN$XPDIS QUEUE Формирование вызова абонента для разговора с оператором CALL-центра Абонент знимает очередь в ожидании разговора QHOTLINE ENTER HOTLINE DEPART Начало разговора с оператором CALL-центра Виход абонента из очереди абонентов, ожидающих обслуживания QHOTLINE Разговор с оператором в течении времени TALK ADVANCE V$TALK HOTLINE LEAVE Завершение разговора с оператором CALL-центра TERMINATE 2-й сегмент модели Завершение времени моделирования GENERATE X$TIMER TERMINATE 1 Завершення моделювання 4 Модель работы Сall -центра * Модель 6. Моделирование CALL-центра * FUNCTION DEFINITION(S) * XPDIS FUNCTION RN1,C24 0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915/.7,1.2/.75,1.38 .8,1.6/.84,1.83/.88,2.12/.9,2.3/.92,2.52/.94,2.81/.95,2.99/.96,3.2 .97,3.5/.98,3.9/.99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8 * * SAVEVALUE INITIALIZATION(S) * INITIAL X$AVER,90 INITIAL X$AVTALK,300 INITIAL X$TIMER,300000 ** VARIABLE DEFINITION(S) * TALK VARIABLE X$AVTALK#FN$XPDIS * * STORAGE CAPACITY DEFINITION(S) * HOTLINE STORAGE 5 5 Модель работы Сall -центра * Модель 6 ****************************************************************************** * MODEL SEGMENT 1 ****************************************************************************** GENERATE X$AVER,FN$XPDIS QUEUE QHOTLINE ENTER HOTLINE DEPART QHOTLINE ADVANCE V$TALK LEAVE HOTLINE TERMINATE ****************************************************************************** * MODEL SEGMENT 2 ****************************************************************************** GENERATE X$TIMER TERMINATE 1 6 Модель работы Сall -центра GPSS World Simulation Report - Untitled Model 1.1.1 Monday, August 30, 2010 17:56:17 START TIME 0.000 NAME AVER AVTALK HOTLINE QHOTLINE TALK TIMER XPDIS LABEL 1 2 3 4 5 6 7 8 9 END TIME BLOCKS FACILITIES STORAGES 300000.000 9 0 1 VALUE 10001.000 10002.000 10005.000 10006.000 10004.000 10003.000 10000.000 LOC BLOCK TYPE GENERATE QUEUE ENTER DEPART ADVANCE LEAVE TERMINATE GENERATE TERMINATE ENTRY COUNT CURRENT COUNT RETRY 3330 0 0 3330 0 0 3330 0 0 3330 0 0 3330 5 0 3325 0 0 3325 0 0 1 0 0 1 0 0 7 Модель работы Сall -центра QUEUE QHOTLINE STORAGE HOTLINE SAVEVALUE AVER AVTALK TIMER FEC XN 3327 3332 3331 3326 3330 3329 3333 PRI 0 0 0 0 0 0 0 MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY 11 0 3330 2327 0.542 48.872 162.258 0 CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY 5 0 0 5 3330 1 3.345 0.669 0 0 RETRY VALUE 0 90.000 0 300.000 0 300000.000 BDT 300019.533 300076.095 300101.577 300145.565 300462.074 301519.775 600000.000 ASSEM CURRENT NEXT PARAMETER 3327 5 6 3332 0 1 3331 5 6 3326 5 6 3330 5 6 3329 5 6 3333 0 8 VALUE 8 Модель работы Сall -центра Отчет о моделировании 08/30/10 08/30/10 08/30/10 08/30/10 08/30/10 08/30/10 17:56:11 17:56:11 17:56:17 17:56:17 17:56:17 17:56:17 Model Translation Begun. Ready. START 1 Simulation in Progress. The Simulation has ended. Clock is 300000.000000. Reporting in Untitled Model 1.1.1 - REPORT Window. 9 Модель работы Сall -центра В данном примере используется 5-ти канальное МКУ За время моделирования на обслуживание поступило 3300 вызовов из которых 3325 обслужены. Оставшиеся 5 транзактов находятся в цепи будущих событий ( FEC) В среднем в МКУ было занято 3,345 каналов Коэффициент использования МКУ ( обслуженная интенсивность нагрузки) составляет 0.669 Максимально в очереди находилось 11 транзактов Средняя длина очереди 0,542 Средняя длительность ожидания составила 48,872 модельных единиц времени 10 Системные числовые атрибуты Системные числовые атрибуты (СЧА) – это числовые атрибуты различных объектов модели ( модели, устройств, МКУ, очередей, транзактов, ячеек памяти,…) В СЧА указываются численные значения параметров модельных объектов. Имена СЧА зарезервированы. Имя состоит из двух частей: Групповое имя Конкретный член в группе 11 Системные числовые атрибуты 12 Системные числовые атрибуты 13 Системные числовые атрибуты Прямая адресация: СЧАj, где j – номер объекта Примеры Q3 – длина очереди номер 3, FR2 – коэффициент использования устройства 2, Q$Base – длина очереди с именем Ваse Х1 – ячейка памяти 1 14 Системные числовые атрибуты Косвенная адресация: •СЧА*j, где j – номер параметра активного транзакта •СЧА*name, где name – имя параметра активного транзакта , содержащего номер нужного блока Примеры. Q*3 – длина очереди номер которой находится в параметре 3 активного транзакта, SR*Rem – коэффициент использования памяти ( МКУ), номер которого находится в параметре с именем Rem активного транзакта 15 Системные числовые атрибуты Переменные пользователя Задание пользовательских числовых и строковых переменных Ver Stroka Stolbez Name EQU EQU EQU EQU 2,65 11 8 “Customer” ; метка оператора СЧА ячейки памяти . Ячейки памяти – сохраняют заданные значения. К ним можно обратится в любой момент времени из любого места модели. Это стандартные числовые атрибуты (СЧА), Перед началом моделирования значение ячеек равно 0 16 Системные числовые атрибуты Задать значение ячейки памяти можно с помощью команды INITIAL A, [B] А- номер или имя ячейки. Обозначения: Хположительное число - Х32 , Х$ имя - X$DEF В – значение переменной Исходное значение ячейки памяти равно 0! Если операнд В не указан, а ячейка описана, то значение ячейки становится равным 1 Примеры INITIAL Х32, 3895,56 INITIAL X$DEF, Q$Pod ( в ячейку заносится длина очереди Pod) INITIAL X$Cost,Zena1 ( в ячейку заносится значение переменной пользователя Zena1 ) 17 Системные числовые атрибуты INITIAL X$Time,”Result” ( в ячейку записывается строковая константа) INITIAL X1 ( в ячейку записывается 1) Для изменения значения сохраняемой ячейки памяти используется блок SAVEVALUE A,B При поступлении транзакта в блок SAVEVALUE значение, указанное в операнде В становиться значение сохраняемой ячейки, указанной операндом А. SAVEVALUE 5+,X2 ( значение ячейки 5 увеличивается на значение в ячейке 2) SAVEVALUE VAD-,V$Hdl (значение ячейки VAD уменьшается на значение в ячейке Hdl) SAVEVALUE 3, (25#X$Num1+Q4) SAVEVALUE 11, “Result” 18 Модель системы М/М/2 с отказами Модель 7 Модель M/M/2 ( вариант обслуживания с отказами) ************************************************************** * Модель М/М/2 с отказами ************************************************************** * * Нагрузка 1Эрл Sets STORAGE 2 Transit TABLE M1,.5,1,20 GENERATE (Exponential(1,0,1)) Again1 GATE SNF Sets,Occupied ENTER Sets ADVANCE (Exponential(1,0,1)) LEAVE Sets TABULATE Transit Again2 TERMINATE 1 Occupied TRANSFER START 10000 ,Again2 ; отказ в обслуживании 19 Модель системы М/М/2 с отказами GPSS World Simulation Report - Model 6 MM2 c отказами.50.1 Tuesday, October 19, 2010 11:23:30 START TIME 0.000 NAME AGAIN1 AGAIN2 OCCUPIED SETS TRANSIT LABEL AGAIN1 AGAIN2 OCCUPIED 1 2 3 4 5 6 7 8 END TIME BLOCKS FACILITIES STORAGES 10181.883 8 0 1 VALUE 2.000 7.000 8.000 10000.000 10001.000 LOC BLOCK TYPE GENERATE GATE ENTER ADVANCE LEAVE TABULATE TERMINATE TRANSFER ENTRY COUNT CURRENT COUNT RETRY 10002 0 0 10002 0 0 7998 0 0 7998 2 0 7996 0 0 7996 0 0 10000 0 0 2004 0 0 20 Модель системы М/М/2 с отказами STORAGE SETS CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY 2 0 0 2 7998 1 0.793 0.396 0 0 TABLE TRANSIT MEAN STD.DEV. 1.009 1.025 FEC XN PRI 10000 0 10003 0 10001 0 BDT 10181.994 10182.324 10183.734 RANGE _ 0.500 1.500 2.500 3.500 4.500 5.500 6.500 7.500 8.500 - 0.500 1.500 2.500 3.500 4.500 5.500 6.500 7.500 8.500 9.500 RETRY FREQUENCY CUM.% 0 3187 39.86 3005 77.44 1130 91.57 420 96.82 154 98.75 59 99.49 26 99.81 9 99.92 2 99.95 4 100.00 ASSEM CURRENT NEXT PARAMETER 10000 4 5 10003 0 1 10001 4 5 VALUE 21 Модель системы М/М/2 с отказами 22 Модель системы М/М/2 с повторными вызовами Модель 8 Модель M/M/2 ( вариант с повторным поступлением Sets Transit заявок на обслуживание) STORAGE 2 TABLE M1,.5,1,20 GENERATE (Exponential(1,0,1)) Again1 GATE SNF Sets,Occupied ENTER Sets ADVANCE (Exponential(1,0,1)) LEAVE Sets TABULATE Transit Again2 TERMINATE 1 ADVANCE 5,1 Occupied TRANSFER ,Again1 ; Аgain1 - ссылка на повторное обслуживание START 10000 23 Модель системы М/М/2 с повторными вызовами GPSS World Simulation Report - Model 7 MM2 c повторными вызовами.46.1 Tuesday, October 19, 2010 11:50:44 START TIME 0.000 NAME AGAIN1 AGAIN2 OCCUPIED SETS TRANSIT LABEL AGAIN1 AGAIN2 OCCUPIED LOC 1 2 3 4 5 6 7 8 9 END TIME BLOCKS FACILITIES STORAGES 9985.916 9 0 1 VALUE 2.000 7.000 8.000 10000.000 10001.000 BLOCK TYPE GENERATE GATE ENTER ADVANCE LEAVE TABULATE TERMINATE ADVANCE TRANSFER ENTRY COUNT CURRENT COUNT RETRY 10002 0 0 15137 0 0 10001 0 0 10001 1 0 10000 0 0 10000 0 0 10000 0 0 5136 1 0 5135 0 0 24 Модель системы М/М/2 с повторными вызовами STORAGE SETS TABLE TRANSIT FEC XN PRI 10003 0 10002 0 9995 0 CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY 2 1 0 2 10001 1 1.025 0.512 0 0 MEAN STD.DEV. 3.588 4.929 _ 0.500 1.500 2.500 3.500 4.500 5.500 6.500 7.500 8.500 9.500 10.500 11.500 12.500 13.500 14.500 15.500 16.500 17.500 18.500 RANGE 0 0.500 1.500 2.500 3.500 4.500 5.500 6.500 7.500 8.500 9.500 10.500 11.500 12.500 13.500 14.500 15.500 16.500 17.500 18.500 - _ BDT ASSEM CURRENT 9986.131 10003 0 9987.704 10002 4 9988.613 9995 8 RETRY FREQUENCY CUM.% 2623 2614 1056 354 229 641 747 359 123 121 195 241 133 61 63 70 84 61 33 192 NEXT PARAMETER 1 5 9 26.23 52.37 62.93 66.47 68.76 75.17 82.64 86.23 87.46 88.67 90.62 93.03 94.36 94.97 95.60 96.30 97.14 97.75 98.08 100.00 VALUE 25 Модель системы М/М/2 с повторными вызовами 26 Модель системы М/М/2 с повторными вызовами Сравнение моделей систем обслуживания в потерями и повторными вызовами В моделях используется одинаковые ресурсы при использовании различных дисциплин обслуживания (дисциплина обслуживания в модели изменяется только одной ссылкой) Сравнение коэффициента использования МКУ показывает, что в системе с повторными вызовами коэффициент использования каналов выше В системе с повторными вызовами время пребывания транзактов в системе выше Объект модели - многоканальное устройство(МКУ) однозначно отображает модель пучка каналов ветви, связывающей соседние КЦ сети связи 27 Литература Кудрявцев Е.М. GPSS Word. Основы имитационного моделирования различных систем.- М. ДМК Пресс, 2004 Учебное пособие по GPSS Word./Перевод с англ. – Казань, Изд-во «Мастер – Лайн», 2002 Богуш К.Ю., Богуш Ю.П., Шиян А.И. GPSS World Моделювання телекомунікаційних систем та мереж. Посібник для дипломного проектування . – ICЗЗІ НТУУ КПІ, 2010 Боев В.Д. Моделирование систем. Инструментальные средства GPSS World.- СПб, БХВ- Петербург, 2004 Шрайбер Т.Дж. Моделирование на GPSS: Пер. с англ. - М.: Машиностроение, 1980. GPSS/PC general purpose simulation. Reference Manual. Minuteman software. P.O. Box 171. Stow, Massachusetts 01775, 1986. В.Н. Томашевський, Е.Г. Жданова "Імітаційне моделювання засобами GPSS / PC." - К.: ІЗМН, "ВІПОЛ", 1998. - 123 с. В.Н. Томашевський "Імітаційне моделювання систем та процесів." - К.: ІСДО, "ВІПОЛ", 1994. - 124 с. (мова українська). 28 Спасибо за внимание! 29 1.1. Ланцюга транзактів Транзакти в певні моменти модельного часу направляються до інших об'єктів GPSS шляхом запису в списки зв'язків, які називаються ланцюжками (або ланцюгами). Деякі об'єкти, наприклад, такі як прилади (Facilities) мають кілька ланцюгів. Інші об'єкти мають тільки єдиний ланцюг повторних спроб (Retry Chain). Будь-який транзакт може перебувати в декількох ланцюгах. Однак заняття транзактом ланцюга одного виду іноді перешкоджає його розміщенню в інших ланцюгах. Наприклад, якщо транзакт перебуває в одному або більше ланцюгах переривання (Interrupt Chain), те він не може перебувати в ланцюзі майбутніх подій (Future Events Chain). Транзакт не може перебувати більш ніж в одному з перелічених нижче ланцюгів: – ланцюг майбутніх подій (Future Events Chain), – ланцюг поточних подій (Current Events Chain), – ланцюг затримки приладу або багатоканального пристрою (Facility or Storage Delay Chain), – ланцюг приладу для транзактів, що очікують рішення, (Facility Pending Chain); – ланцюг користувача (User Chain). Транзакт може очікувати відповідно до будь-якого числа заданих умов, може перебувати в будь-якому числі транзактних груп, і може бути перехоплений з будь-якого числа приладів у будь-який момент. Це значить, що будь-який одиночний транзакт може перебувати в будь-якій кількості ланцюгів переривання (Interrupt Chains), у будь-якій кількості ланцюгів груп (Group Chains) і в будь-якій кількості ланцюгів повторних спроб (Retry Chains) у той самий час. 30 Деякі об'єкти перед використанням повинні бути попередньо оголошені. У загальному випадку в них є такий атрибут, як розмір, що повинен бути відомий у моделі (Simulation Object). Ім'я, що перебуває в поле мітки і називається міткою об'єкта. Воно використовується для посилання на об'єкт. Наступні об'єкти повинні бути попередньо оголошені перед використанням: – багатоканальні пристрої повинні бути оголошені у твердженнях STORAGE; – арифметичні змінні повинні бути оголошені у твердженнях VARIABLE; – змінні із плаваючою точкою (комою) повинні бути оголошені у твердженнях FVARIABLE; – матриці повинні бути оголошені у твердженнях MATRIX, або у твердженнях мови PLUS Temporary Matrix; – таблиці повинні бути оголошені у твердженнях TABLE; – Q-таблиці повинні бути оголошені у твердженнях QTABLE; – функції повинні бути оголошені у твердженнях FUNCTION і послідовно оголошених значеннях функції; – параметри транзакту до моменту посилання на них повинні бути оголошені в блоках ASSIGN, MARK, READ, SELECT, SPLIT, COUNT або TRANSFER SUB. 31 1-й сегмент моделі GENERATE X$AVER,FN$XPDIS QUEUE QHOTLINE ENTER HOTLINE DEPART QHOTLINE ADVANCE V$TALK HOTLINE LEAVE Формування виклику абонента для з оператором розмови CALL-центру Абонент стає у чергу очікування розмови Початок розмови з оператором CALL-центру Вихід абонента з черги абонентів, що очікують розмови Розмова з оператором на протязі часу TALK Закінчення розмови з оператором CALL-центру Модель роботи CALL-центру TERMINATE 2-й сегмент моделі GENERATE Закінчення часу моделювання X$TIMER TERMINATE 1 Завершення моделювання 32