Файл: Исследование на имитационной модели простой телефонной системы.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 06.11.2023
Просмотров: 118
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Лабораторная работа
Исследование на имитационной модели простой телефонной системы
Цель работы: анализ модели работы АТС и приобретение навыков использования динамических окон системы GPSS World для оптимизации функционирования системы для заданной нагрузки.
3.2 Подготовка к работе
3.2.1 Изучить пункты главного меню системы GPSS World, необходимые в работе: меню: Window/Simulation Window.
3.2.2 Изучить блоки и команды необходимые для моделирования многоканального устройства.
3.3 Задание к работе
Разработать модель простой АТС, соответствующую вашему варианту. Провести процесс моделирования, получить результаты, заполнить следующую таблицу (N1, N2, N3 даны для каждого варианта), определить оптимальное число линий.
Т а б л и ц а 3.1
Число внешних линий | Число звонков | Текущее время | Коэффициент использования | Средняя длительность звонка |
| N1 | | | |
| N2 | | | |
| N3 | | | |
3.4 Порядок выполнения работы
3.4.1 Получить задание и вариант работы у преподавателя.
3.4.2 Разработать модель АТС.
3.4.3 Осуществить ввод операторов модели.
3.4.4 Отладить программу.
3.4.5 Запустить процесс моделирования на 200, 1000, 10000 звонков
3.4.6 Проделать по шагам п. 3.5.2 для своей модели
3.4.7 Получить статистику формирования загрузки линий связи, статистику длительности завершенных звонков.
3.4.8 Получить результат моделирования в виде отчета, гистограмм и оперативного экрана.
3.4.9 Подготовить отчет по выполненной работе, где представить свою модель, результаты моделирования и сделать выводы.
3.5 Описание базовой имитационной модели
3.5.1 Постановка задачи
Телефонная система имеет две внешние линии. Внешние звонки поступают каждые 100±60 секунд. Если линия занята, то звонок повторяется через 5±1 минуту до тех пор, пока не будет обслужен. Звонок длится 3±1 минуту. Нужно занести в таблицу распределение времени, необходимого для выполнения успешных звонков. Сколько времени потребуется для завершения 200 звонков?
3.5.2Листинг базовой программы
*************************************************************
* Модель телефонной системы
* Время в минутах
*************************************************************
Sets STORAGE 2
Transit TABLE Ml,.5,1,20;Транзитное время.
GENERATE 1.667,1.;Входящие звонки.
Again GATE SNF Sets,Occupied;Попытка занять линию.
ENTER Sets;Установление соединения.
ADVANCE 3,1;Разговор, длящийся 3±1 минуту.
LEAVE Sets;Освобождение линии.
TABULATE Transit;Занесение в таблицу тр. врем.
TERMINATE 1;Удаление транзакта.
Occupied ADVANCE 5,1;Ожидание в течение 5±1 мин.
TRANSFER,Again;Повторная попытка
3.5.3 Запуск процесса моделирования
Необходимо создать процесс моделирования. Выберите Command / Create Simulation.
После этого выберите Command / START. В диалоговом окне замените 1 на 200 и нажмите ОК.
Процесс моделирования завершится, когда 200 транзактов войдут в блок TERMINATE. Это соответствует 200 завершенным звонкам.
После завершения процесса моделирования GPSS World выводит отчет в файл отчета, заданного по умолчанию.
Этот отчет будет автоматически выведен в окно. Если вы закроете окно, повторно его можно будет открыть с помощью команды главного меню File / Open. Затем в выпадающем списке «Files of type» («Тип файла») выбрать Report (Отчет).
Из значения End Time в стандартном отчете мы видим, что к моменту, когда 200 звонков были завершены, прошло 359.16 минуты. Повторное моделирование благодаря использованию случайных чисел даст немного другие значения.
Таблица с именем Transit дает более детальную информацию о том, сколько времени потребовалось звонящим для совершения звонков. Хотя большинство звонящих уложились меньше чем в 9.5 минут, большое количество звонков заняло больше времени. Возможно, именно в этом будет источник неудовлетворенности потребителя.
Теперь исследуем конечное состояние процесса моделирования, сгенерировавшего стандартный отчет. Если процесс моделирования не был завершен, повторно оттранслируйте модель и запустите ее снова. Если у вас открыто окно «Report» («Отчет»), закройте его.
Воспользуемся окном «Expression» («Выражения») для просмотра некоторых стандартных числовых атрибутов. Во-первых, подтвердим время окончания процесса моделирования. Выберите Window / Simulation Window / Expression Window.
Для ввода значения в пустое поле диалогового окна необходимо поместить указатель мыши в его начало и нажать один раз левую кнопку. Не используйте клавишу [Enter] для перехода от одного поля ввода к другому, так как в этом случае GPSS World решит, что все значения были введены. Для перемещения от поля к полю можно использовать клавишу [Tab]. Теперь в поле «Label» («Метка») диалогового окна наберите Время, а в поле «Expression» («Выражение») - АС1.
Это позволит нам просмотреть текущее время. Нажмите View (Просмотр) и Memorize (Запомнить).
Если выражение было сохранено, то можно закрыть это окно, позже открыть его снова и восстановить все значения. При сохранении процесса моделирования значения в окне «Expression» («Выражения») сохраняются вместе с ним в том случае, когда они были сохранены ранее. Мы собираемся закрыть это окно и открыть его позже, поэтому просьба сохранить это выражение и все последующие.
Теперь посмотрим на коэффициент использования телефонных линий (в долях от тысячи). В поле «Label» («Метка») замените текущее значение на коэффициент использования. Также замените текущее значение в поле «Expression» («Выражение») на SR$Sets. Нажмите View (Просмотр) и Memorize (Запомнить).
Наконец, добавим среднее время использования телефонной линии. В поле «Label» («Метка») замените текущее значение на «Сред. длит. Звонка», а в поле «Expression» («Выражение») - на ST$Sets. Нажмите View (Просмотр) и Memorize (Запомнить). Нажмите ОК.
Коэффициент использования выражается в долях от тысячи. Линии используются на 84% от их пропускной способности. И хотя имеется некоторый запас пропускной способности, задержки в очереди могут стать недопустимыми.
Теперь закройте окно «Expression» («Выражения»).
Откроем некоторые графические окна. Выберите Window / Simulation Window / Storages Window.
Рисунок 3.1 – Окно «Памяти»
Это подробный обзор окна «Storages» («Памяти»). Обратите внимание, что загрузка составила 84%. Из минимального и максимального значений использования памяти мы видим, что иногда в процессе моделирования были заняты 0, 1 или 2 линии. Используйте полосу прокрутки в нижней части экрана, чтобы перейти к значениям, о которых мы сейчас говорим. Окно «Storages» («Памяти») рассматривается в Главе 5 Руководства пользователя по GPSS World.
Если открыть окно «Table» («Таблицы»), то можно увидеть диаграмму длительностей завершенных звонков. Выберите Window / Simulation Window / Table Window (Окно / Окно процесса моделирования / Окно «Таблица»). Так как в этой модели есть только одна таблица, то в выпадающем списке вы сразу увидите TRANSIT. Нажмите ОК.
Удостоверьтесь, что размер вашего окна «Table» («Таблицы») достаточно велик, чтобы правильно отобразить таблицу. Здесь приводится та же информация, что и в стандартном отчете. Как показывает СЧА ST в окне «Expression» («Выражения»), среднее время разговора равно 3 минутам, однако, как видно из окна «Table» («Таблицы»), среднее время, включая повторные звонки, составляет 14.27 минуты. Звонящие затрачивают слишком много времени на повторные звонки.
Рисунок 3.2– Вид таблицы TRANSIT
Давайте посмотрим, где находятся транзакты. Выберите Window / Simulation Window / Blocks Window (Окно / Окно процесса моделирования / Окно «Блоки»). Это окно «Blocks» («Блоки»).
Обратите внимание, что 15 человек ждут, чтобы перезвонить. Посмотрим на историю входов в блоки в столбце «Entry Count» («Количество входов»).
Рисунок 3.3 – Окно «Blocks» («Блоки»), показывающее блок TRANSFER
Обратите внимание на число транзактов, входивших в блок ADVANCE. Все они ждали, чтобы перезвонить, т.е. 561. При этом было сделано только 200 звонков. Смотрите на окно «Blocks» («Блоки») и используйте функциональную клавишу [F5], позволяющую сделать один шаг в процессе моделирования. Нажмите ее 15 или 20 раз. Многие звонящие при повторном звонке снова обнаруживают, что все линии заняты и снова должны ждать, чтобы перезвонить.
Вернемся к просмотру процесса моделирования с помощью графических окон. Закройте все открытые окна за исключением окон «Blocks» («Блоки»), «Journal» («Журнал») и «Model» («Модель»).
Повторно откроем окно «Expression» («Выражения») со значениями, которые мы сохранили ранее, и добавим номер звонка, который также является номером активного транзакта. Выберите Window / Simulation Window / Expression Window (Окно / Окно процесса моделирования / Окно «Выражения»). Замените текущее значение в поле «Label» («Метка») диалогового окна на Номер звонка. А в поле «Expression» («Выражение») - на XN1. Нажмите View (Просмотр) и Memorize (Запомнить).
Прежде чем открыть это окно, нам необходимо восстановить все сохраненные выражения, которые были введены, когда мы открывали окно в первый раз. Выберите каждое выражение и нажмите View (Просмотр).
Наконец, когда все выражения будут восстановлены, нажмите ОК.
Теперь удалим транзакты и сбросим собранную статистику. Из главного меню выберите Command / CLEAR (Команда / CLEAR), затем выберите Command / Custom... (Команда / Ввести...) и наберите rmult 1.
Мы сбрасываем генератор случайных чисел номер 1, так как команда CLEAR этого не делает. Это необходимо, если вы хотите обеспечить исходную точку потока. Таким образом, даже если вы использовали другие команды, не перечисленные в пособии, то после использования команды CLEAR мы будем видеть в течение этого процесса моделирования одни и те же результаты. В окне «Blocks» («Блоки») наведите указатель мыши на последний блок в модели (блок TRANSFER). Щелкните на значке блока TRANSFER и на значке «Place» («Поместить»).
Далее расположите окна «Blocks» («Блоки»), «Journal» («Журнал») и «Expression» («Выражения») так, чтобы они все были видны. Выберите Command / START (Команда / START). В диалоговом окне замените 1 на 1000, NP и нажмите ОК.
Процесс моделирования останавливается при первой попытке транзакта войти в блок TRANSFER. Это указывает на то, что данный звонящий не может дозвониться. Продолжим выполнение процесса моделирования. Нажмите [F2]. Выполните данную операцию еще 4 раза, каждый раз процесс моделирования будет приостанавливаться из-за условия остановки.
Процесс моделирования будет продолжать останавливаться каждый раз, когда звонящий должен ждать. Вы увидите трассировочные сообщения в окне «Journal» («Журнал»), которые показывают номера приостановленных транзактов. Так как в этой модели имеется только один блок GENERATE, то по номеру транзакта вы можете видеть, как часто звонящие должны ждать и имеются ли звонящие, ждущие второй раз.
Теперь удалим условие остановки. В окне «Blocks» («Блоки») щелкните на значке блока TRANSFER и нажмите кнопку «Remove» («Удалить»). Затем закройте окна «В1оскs»(«Блоки») и «Expression» («Выражения»).
Теперь мы будем наблюдать за выполнением процесса моделирования с помощью окна «Storages» («Памяти») в режиме общего обзора. Из главного меню выберите Window/Simulation Window / Storages Window (Окно / Окно процесса моделирования / Окно «Памяти»), затем, чтобы отключить подробный обзор, выберите View / Entity Details (Вид / Подробности).