
- •1.2 Понятие имитационной модели и имитационного моделирования
- •1.3 Методология имитационного моделирования
- •1.4 Дискретное имитационное моделирование
- •Событийный подход
- •Подход сканирования активностей
- •Процессно-ориентированный подход
- •1.5 Направления реализации им
- •Тема 2. Автоматизация им
- •2.1 Формы представления знаний
- •2.2 Модифицированные продукционные правила
- •2.3 Ресурсы сложной дискретной системы и события
- •2.4 Идентификация событий в сдс
- •2.5 Действия и их формализация
- •2.6 Операции в сдс
- •Тема 3. Интеллектуальная моделирующая система на основе рдо-метода
- •3.1 Составляющие рдо-метода
- •3.2 Структура продукционного имитатора
- •3.3 Гибридные системы
- •3.4 Основные конструкции языка рдо
- •Алфавит
- •Лексемы и разделители
- •Типы данных. Соответствие типов
- •Арифметические и логические выражения
- •Синтаксис последовательностей
- •Типы ресурсов
- •А) Описание ресурсов
- •Б) Описание образцов
- •В) Описание операций
- •Г) Объект описания показателей
- •3.5 Поиск решений в продукционных системах а) Введение
- •Б) Основная процедура поиска
- •Поиск в глубину
- •Поиск в ширину
- •Г) Описание точек принятия решений
- •Тема 4. Языки имитационного моделирования gpss
- •Основные команды инетерпретатора gpsspc
- •Тема 5. Система имитационного моделирования Arena
- •Тема 6. Руководство пользователя системы имитационного моделирования rao-studio
- •Меню Edit
- •Меню Search
- •Меню View
- •Меню Insert
- •Меню Model
- •Интерфейс главного окна приложения Окно рабочего пространства
- •Окно вывода
- •Строка состояния
- •Работа с моделью Создание
- •Открытие
- •Сохранение
- •Редактирование
- •Выделение фрагментов текста
- •Работа с выделенными фрагментами
- •Откат изменений
- •Автозавершение (code completion)
- •Работа с шаблонами и вставка синтаксических конструкций
- •Работа с дополнительными буферами обмена
- •Поиск и замена подстрок
- •Поиск фразы по всей модели
- •Навигация по тексту с помощью механизма закладок
- •Скрытие фрагментов текста
- •Просмотр результатов моделирования
- •Автоматическое построение графиков
- •Настройки программного комплекса
- •Закладка General
- •Закладка Editor
- •Закладка Tabs
- •Закладка Styles and Color
- •Список литературы
- •Интернет ресурсы
1.4 Дискретное имитационное моделирование
Под дискретностью
СДС и,
соответственно ее ИМ, понимают тот факт,
что существует некоторое счетное
множество моментов времени
в которые изменяются состояния системы.
На интервале времени
указанные переменные не изменяются и
их значения равны значениям в момент
времени
.
Функционирование дискретной имитационной модели можно задать следующим образом: определяя изменения состояния системы, происходящие в момент совершения событий; описывая действия, в которых принимают участие элементы системы, или процесс, через который проходят элементы. Взаимосвязь между понятиями событие, действие и процесс можно представить в виде (Рис.7):
Рис.7. Взаимосвязь между событиями, действиями и процессом
Событие происходит в тот момент, когда принимается решение о начале или окончании действия. Процесс – это ориентированная во времени последовательность событий, которая может состоять из нескольких действий. Поэтому имеют место три альтернативных методологических подходов к построению дискретных имитационных моделей, называемых обычно:
событийным подходом;
подходом сканирования активностей (ориентированным на действия);
процессно-ориентированным подходом.
Рассмотрим подходы на примере парикмахерской с одним парикмахером. Клиенты заходят в парикмахерскую, после возможного ожидания обслуживаются и затем уходят.
Событийный подход
При событийном подходе система моделируется путем идентификации изменений, происходящих в ней в моменты совершения событий. Задача исследователя заключается в описании событий, которые могут изменить состояние системы, и определении логических взаимосвязей между ними. Имитация функционирования системы осуществляется путем выполнения упорядоченной во времени последовательности логически взаимосвязанных событий.
Состояние системы в этом примере определяется состоянием парикмахера и числом ожидающих клиентов. Оно остается неизменным, за исключением моментов, когда клиент прибывает в систему или покидает ее. Поэтому событийная модель состоит в данном случае из описания того, что происходит в момент прибытия и окончания обслуживания очередного клиента.
Операторная схема события «прибытие» имеет следующий вид:
ПЛАНИРОВАНИЕ СЛЕДУЮЩЕГО ПРИБЫТИЯ В МОМЕНТ ВРЕМЕНИ=ТЕКУЩЕЕ ВРЕМЯ + ВРЕМЯ МЕЖДУ ПРИХОДАМИ;
ЕСЛИ ПАРИКМАХЕР “ЗАНЯТ”: ЧИСЛО_ОЖИДАЮЩИХ= ЧИСЛО_ОЖИДАЮЩИХ + 1;
ВОЗВРАТ.
ЕСЛИ ПАРИКМАХЕР “СВОБОДЕН”: ПЕРЕВОД ПАРИКМАХЕРА В СОСТОЯНИЕ “ЗАНЯТ”;
4. ПЛАНИРОВАНИЕ СОБЫТИЯ “ОКОНЧАНИЕ” ОБСЛУЖИВАНИЯ В МОМЕНТ ВРЕМЕНИ = ТЕКУЩЕЕ ВРЕМЯ + ВРЕМЯ ОБСЛУЖИВАНИЯ;
ВОЗВРАТ.
ОКОНЧАНИЕ.
При выполнении модуля планируется прибытие следующего клиента, что в ходе имитации при неоднократном обращении к этой процедуре позволяет организовать непрерывный поток прибытий. Поведение прибывшего клиента зависит от состояния системы в текущий момент времени. Если парикмахер занят, прибывший клиент становится в очередь, увеличивая ее на единицу. Если парикмахер свободен, прибывший клиент сразу же садится на обслуживание, и изменение состояния системы осуществляется путем перехода парикмахера в состояние «Занят». Должно быть запланировано событие «Конец обслуживания» для данного клиента и в момент времени равный текущему времени плюс время, затрачиваемое парикмахером на обслуживание.
Рассмотрим теперь логику события «Конец обслуживания. Операторная схема этого события имеет следующий вид:
ЕСЛИ ЧИСЛО_ОЖИДАЮЩИХ БОЛЬШЕ НУЛЯ:
ЧИСЛО ОЖИДАЮЩИХ = ЧИСЛО ОЖИДАЮЩИХ - 1;
ПЛАНИРОВАНИЕ ОКОНЧАНИЯ ОБСЛУЖИВАНИЯ В МОМЕНТ ВРЕМЕНИ РАВНЫЙ ТЕКУЩЕМУ ВРЕМЕНИ + ВРЕМЯ ОБСЛУЖИВАНИЯ;
ВОЗВРАТ.
ЕСЛИ ЧИСЛО ОЖИДАЮЩИХ РАВНО НУЛЮ:
ПЕРЕВОД ПАРИКМАХЕРА В СОСТОЯНИЕ “СВОБОДЕН”;
ВОЗВРАТ.
КОНЕЦ
Когда парикмахер заканчивает обслуживание очередного клиента, сначала проверяем, есть ли клиенты, ожидающие обслуживания. Если такие клиенты есть, их число уменьшается и планируется событие «Конец обслуживания» первого из ожидающих клиентов. В противном случае парикмахер переходит в состояние «Свободен».
При имитации на основе использования событийного подхода мы должны воспроизвести хронологию (календарь) событий в соответствующие моменты имитационного времени. События выполняются в упорядоченной по времени последовательности, при этом имитационное время продвигается от одного события к другому. ЭВМ работает со списками текущих и будущих событий (Рис.8):
Рис.8. Выполнение событий в ИМ