- •Имитационное моделирование бизнес-процессов
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 2. Анализ и прогнозирование с учетом ведущих факторов на основе результатов имитационного моделирования
- •Варианты заданий
- •Контрольные вопросы
- •Постановка задачи
- •Метод построения модели
- •Описание моделирующего алгоритма
- •Результаты моделирования
- •Программа, построенная по исходным данным
- •Обозначение блоков программы
- •Заключение
- •Лабораторная работа № 5
- •5.3 Блоки и карты языка gpss
- •5.3.5 Блок generate
- •5.3.16 Карта initial
- •5.3.17 Блок savevalue
- •5.3.18 Карта variable
- •5.3.24 Карта qtable
- •5.3.25 Карта reallocate
- •5.3.26 Карта reset
- •5.3.27 Карта function
- •5.3.28 Карта rmult
- •5.3.29 Блок preempt
- •5.3.30 Блок return
- •5.3.31 Блок assign
- •5.3.32 Блок loop
- •5.3.33 Карта initial для установки начальных значений логических
- •5.3.34 Блок logic
- •5.3.35 Блок gate для логических переключателей
- •5.3.36 Блок test
- •5.3.37 Блок transfer в режиме all
- •5.4. Цель работы
- •5.5. Задание на лабораторную работу
- •5.6. Порядок выполнения работы
- •Метод построения модели на gpss
- •Исходные данные
- •Анализ полученных результатов
- •Лабораторная работа №6. Изучение функционирования одноканальной разомкнутой смо-системы массового обслуживания с простейшими потоками
- •Цель работы
- •Задание на лабораторную работу.
- •Краткие теоретические сведения
- •Построение имитационной модели процесса
- •Подготовка к моделированию системы
- •Моделирование системы
- •Задание на лабораторную работу
- •Краткие теоретические сведения
- •1.3.1. Создание имитационной модели
- •1.3.2. Представление имитационной модели
- •1.3.3. Подготовка системы к моделированию
- •1.3.4. Моделирование системы
- •1.4. Контрольные вопросы
- •Лабораторная работа №8. Изучение функционирования многоканальной разомкнутой системы массового обслуживания с простейшими потоками
- •Цель работы
- •Задание на лабораторную работу
- •Краткие теоретические сведения
- •1.3.1. Аналитический метод решения задачи
- •1.3.2. Имитационный метод решения задачи
- •1.3.3. Построение имитационной модели процесса
- •1.3.4. Подготовка системы к моделированию
- •1.3.5. Моделирование системы
- •Лабораторная работа №9. Изучение функционирования многоканальной разомкнутой смо-системы массового обслуживания со смешанными потоками
- •. Цель работы
- •1.2. Задание на лабораторную работу
- •Краткие теоретические сведения
- •Контрольные вопросы
- •Цель курсового проекта, общее задание и тематика работ
- •Содержание курсового проекта
- •Требования к оформлению курсового проекта и содержанию разделов
- •Раздел 5 должен содержать блок-диаграмму модели и описание gpss-программы работы модели системы. Основные условные обозначения для блок-диаграммы модели приведены в таблице 1.
- •Постановка задачи моделирования
- •Функциональная схема моделирования системы
- •3. Структурная схема модели в символах q-схем.
- •Метод построения модели
- •Описание gpss модели работы мастерской
- •Описание gpss-программы работы мастерской.
- •Анализ результатов моделирования.
Описание gpss модели работы мастерской
Блок-диаграмма модели работы мастерской приведена в приложении 1.
Модель состоит из двух сегментов. Первый сегмент, обеспечивающий моделирование, начинается с блока GENERATE, который генерирует входящий поток клиентов.
Следующие 4 блока обеспечивают регистрацию интервалов времени прихода клиентов. Блок VARIABLE вычисляет выражение C$1-X$1 (текущее значение счетчика времени, т.е. время прихода клиента в мастерскую, минус время прихода предыдущего клиента из ячейки 1) и присваивает результат переменной 1. Таким образом, в переменной 1 окажется интервал времени, прошедший после прихода предыдущего клиента. Блок ASSIGN записывает значение переменной 1 в первый параметр транзакта. Блок SAVEVALUE сохраняет в первой ячейке время прихода клиента. Блок TABULATE производит занесение в таблицу 1 значения первого параметра транзакта, т.е. интервал времени, прошедший от прихода предыдущего клиента.
Далее следует блок QUEUE, который обеспечивает занятие 1 единицы в очереди 1. Блок SEIZE занимает прибор с номером 1, т.е. мастера по обслуживанию клиентов. Если мастер занят, то транзакт – клиент будет ожидать его освобождения перед блоком SEIZE. Если мастер свободен, то он станет занят и транзакт пройдет к следующему блоку DEPART, что обеспечивает освобождение 1 единицы в очереди 1.
Блок ASSIGN присваивает параметру 2 входящего транзакта значение текущего времени. Блок ADVANCE задерживает клиента на время обслуживания 15 минут с разбросом 5. Очередной блок ASSIGN присваивает параметру 3 транзакта значение текущего времени. Так как перед этим произошла задержка на время обслуживания, в параметре 3 значение будет больше, чем в параметре 2, на время обслуживания.
Следующий блок RELEASE освобождает прибор с номером 1, т.е. мастера. Блок VARIABLE вычисляет разность значений 3-го и 2-го параметров транзакта, т.е. время обслуживания, и присваивает полученное значение переменной 2. В блоке ASSIGN значение переменной 2 присваивается 4-му параметру транзакта, а блок TABULATE производит занесение в таблицу 2 очередного значения времени обслуживания клиента.
Описанный сегмент программы заканчивает блок TERINATE, уничтожающий транзакт, что означает уход клиента из мастерской.
Второй сегмент программы состоит из двух блоков. Первый генерирует транзакты с интервалом 60 единиц модельного времени (1 час). Второй производит уничтожение транзакта и вычитание единиц из счетчика запуска.
Описание gpss-программы работы мастерской.
После разработки блок-диаграммы, описанной в пункте 5.1., разработана программа. Кроме команд, представленных в схеме алгоритма, в программу были включены обязательные управляющие карты: SIMULATE, START, END.
В начале программы две строки описывают таблицы. Первая таблица выводит интервалы прибытия клиентов из 1-го параметра, вторая таблица выводит время обслуживания из 4-го параметра транзакта.
Карта SIMULATE указывает, что нужно произвести моделирование. Блок GENERATE вызывает появление транзактов. Карта VARIABLE дает описание переменной и присваиваемого ей значения. В программе используются переменные 1 и 2. Их номера задаются в поле метки.
В вычисляемом выражении, результат которого присваивается переменной, используется счетчик текущего времени C$1, из которого вычитается значение ячейки 1, в которой хранится время прихода предыдущего транзакта. Получаемый интервал времени между приходом двух клиентов мастерской в блоке ASSIGN записывается в первый параметр транзакта. Блок SAVEVALUE сохраняет в ячейке 1 значение счетчика времени прихода клиента, а блок TABULATE производит регистрацию заданного значения в таблице.
Блок QUEUE производит увеличение количества транзактов в очереди. Придя в блок SEIZE, клиент пытается занять прибор с номером 1, т.е. мастера по обслуживанию клиентов. Если мастер занят, то транзакт – клиент будет ожидать его освобождения перед блоком SEIZE. Если мастер свободен, то он станет занят и транзакт пройдет к следущему блоку DEPART, что обеспечивает освобождение 1 единицы в очереди 1.
Блок ADVANCE обеспечивает задержку клиента на интервал 15 с разбросом 5. В блоке ASSIGN запоминается время конца обслуживания в параметре 3. Блок RELEASE освобождает прибор с номером 1, т.е. мастера, для занятия следующим клиентом.
Карта VARIABLE вычисляет разность моментов начала и конца обслуживания. В блоке ASSIGN запоминается вычисленный интервал в параметре 4. Блок TABULATE производит регистрацию полученного значения в таблице 2. Блок TERMINATE уничтожает транзакт.
Второй сегмент программы – таймер – состоит из двух блоков и обеспечивает отсчет вемени моделирования. Блок GENERATE выдает транзакты через 60 единиц модельного времени, что означает 1 час моделирования. Блок TERMINATE уничтожает транзакт и вычитает 1 из счетчика запуска. Через 8 часов счётчик запуска станет иметь нулевое значение и моделирование закончится. Значение счётчика запуска, равное 8, задается управляющей картой START.
