- •Имитационное моделирование систем
- •Предисловие
- •Список сокращений
- •Введение
- •Глава 1. Основные понятия моделирования систем, классификация моделей и методов с точки зрения философии, моделирование представляет собой один из методов познания мира.
- •1.1. Основные понятия теории моделирования
- •1.2. Основные методы моделирования
- •1.3. Классификация моделей
- •Глава 2. Математическое моделирование систем с использованием марковских случайных процессов
- •2.1. Элементы теории марковских случайных процессов, используемые при моделировании систем
- •2.2. Марковские цепи
- •2.3. Непрерывные цепи Маркова
- •2.4. Финальные вероятности состояний
- •Необходимые и достаточные условия существования финальных вероятностей
- •2.5. Математическое представление потока событий
- •2.6. Компоненты и классификация моделей систем массового обслуживания (смо)
- •2.7. Расчёт основных характеристик смо на основе использования их аналитических моделей
- •Одноканальные системы с отказами
- •Одноканальные системы с ограниченной очередью
- •Многоканальные системы с отказами
- •Многоканальные системы с ограниченной очередью
- •Контрольные вопросы и задания
- •Глава 3. Имитационное моделирование в среде gpss
- •3.1. Общие сведения о языке gpss
- •Основные объекты языка gpss
- •3.3. Основные блоки языка gpss
- •Поступление транзактов в модель
- •Уничтожение транзактов
- •Моделирование работы одноканальных устройств
- •Моделирование очередей
- •Моделирование многоканальных устройств (мку)
- •Изменение маршрута движения транзактов
- •Разработка модели и процесс моделирования в gpss. Пример создания модели
- •Управление процессом моделирования
- •Объекты вычислительной категории языка: переменные и функции. Сохраняемые ячейки
- •Определение и использование функций
- •Работа с параметрами транзакта, приоритеты
- •Блок mark
- •Применение в моделях копий и организация синхронизации движения транзактов
- •Использование блока test
- •Контрольные задания по моделированию Моделирование систем с условием перераспределения заявок в заданном статистическом режиме
- •Заключение
- •Библиографический список
- •Основные элементы стандартного отчёта
- •Системные числовые атрибуты (сча)
- •Сча транзактов
- •Сча блоков
- •Сча одноканальных устройств
- •Сча очередей
- •Сча таблиц
- •Сча ячеек и матриц ячеек сохраняемых величин
- •Сча вычислительных объектов
- •Сча списков и групп
- •10. Какое действие выполняет этот оператор: transfer both,lab1,lab2
- •11. Какое действие выполняет этот оператор: transfer 0.4,lab1,lab2
- •12. Правильно ли описана эта команда: transfer ,met:
- •13. Какое действие выполняет этот блок: lines1 storage 2
- •Индивидуальные зачётные задания по имитационному моделированию систем
- •4. Реорганизация заправочной станции
- •8. Модель швейного цеха
- •10. Моделирование работы заправочной станции
- •11.Моделирование работы станции скорой помощи
- •13. Модель автобусной остановки
- •14.Моделирование работы кафе
- •15. Задача о конвейере
- •17.Моделирование цеха обработки
- •Алфавитно-предметный указатель
- •Рассказова Марина Николаевна имитационное моделирование систем
- •644099, Омск, Красногвардейская, 9
Управление процессом моделирования
После набора текста и выбора команды Command/Create Simulation (создать процесс моделирования) транслятор проверяет на наличие синтаксических ошибок и выдаёт их в окне Journal. Для поиска ошибок и их исправления удобно пользоваться командой Seach/Next Еrror. При остановке по ошибке транслятор не создаёт список ошибок, тогда нужно самостоятельно найти строку, указанную в сообщении с помощью команды Seach/Go To Line. После исправления всех ошибок происходит процесс моделирования, запустить его можно с помощью команды Command/Start. В появившемся диалоговом окне можно установить нужное количество прогонов модели START n.
Для управления процессом моделирования можно пользоваться командами:
CONDUCT – запустить эксперимент;
HALT – остановить процесс и удалить все команды их очереди;
CONTINUE – продолжить процесс моделирования;
CLEAR – сбросить накопленную статистику в ноль и удалить из модели все транзакты;
RESET – сбросить статистику в ноль без удаления транзактов, без сброса генераторов случайных величин и таймера модельного времени (удобно для сбора статистики в установившемся режиме).
В конце моделирования автоматически создаётся отчёт, содержащий накопленную статистику по всем объектам модели. Собственно это и есть то, ради чего происходил весь процесс моделирования. Элементы отчёта и их спецификации указаны в приложении 1.
По отчёту для нашего примера (см. приложение 1) видно, что всего в салон пришло 69 клиентов, из них 27 покинули салон из-за очереди более одного человека, 26 человек обслуживаются в зале причёски, 18 – в маникюрном. Маникюрный мастер занят 80,1 % времени, зал причёсок – 93,6 %. Средняя длина очереди в оба зала равна 0,964 и 0,935 соответственно, и среднее время нахождения в очереди 26,6 и 37,4 мин., т. е. очередь в один человек практически всегда присутствует – салон не справляется с таким потоком посетителей и теряет треть клиентов. Можно сделать предложение об организации ещё одного места обслуживания в зале причёсок и возможно в маникюрном зале. Для этого необходимо провести моделирование при условии, что устройство PRICH будет трёхканальным, а после анализа полученной статистики посмотреть, есть ли необходимость приглашать второго мастера на маникюр (делать 2-канальным устройство MAN).
Объекты вычислительной категории языка: переменные и функции. Сохраняемые ячейки
Для того чтобы использовать в программе переменную, необходимо сначала её описать оператором VARIABLE или FVARIABLE. Формат описания:
имя VARIABLE А
Операнд А – арифметическое выражение, составляемое из стандартных арифметических операции: +, –, /, # (умножение), @ (остаток от деления), любого СЧА. Обратиться к переменной можно по её СЧА V$имя или Vi, где i – номер переменной. Например, переменная SUM VARIABLE N$NEOBS#250 и именем SUM подсчитывает убыток от необслуженных клиентов в примере 3.3.1, вычисляемый как произведение числа транзактов, вошедших в блок с именем NEOBS на среднюю прибыль от одного клиента
250 рублей.
При вычислении переменной VARIABLE от всех СЧА и от результатов всех операций берётся целая часть, для FVARIABLE округление до целого делается только для окончательного результата.
Сохраняемые ячейки памяти служат для хранения некоторых постоянных или изменяющихся значений данных, обычно для организации разного рода счётчиков. Перед началом моделирования их значения равны 0, но могут быть заданы пользователем в операторе INITIAL A,[B] , где операнд А имеет вид X$имя или Xi , i-номер.
Операнд В – присваиваемое значение. В процессе моделирования значение ячейки меняется в блоке SAVEVALUE (сохранить значение). Блок может быть использован как в режиме замещения старого значения новым, так и в режиме прибавления или уменьшения, тогда в операнде А добавляется знак + или – .
Примеры:
SAVEVALUE 1,(N$NEOBS#250) ;в ячейку 1 положить значение выражения, подсчитывающего убыток от необслуженных клиентов;
SAVEVALUE UBYITOK+,250 ; вошедший в блок транзакт прибавляет к ячейке с именем UBYITOK величину возможного убытка от одного клиента, в итоге в ячейке накопится общий убыток;
SAVEVALUE KOL+,1 ;заходящий в этот блок транзакт увеличивает значение ячейки на 1.
Обратите внимание, что обращаться к содержимому ячейки в программе нужно через её СЧА (приложение 2): X$UBYITOK, X$KOL.