Событийный метод моделирования
Рис. 11. Иллюстрация событийного метода Сущность событийного метода (рис.11) заключается в отслеживании на модели последовательности событий в том же порядке, в каком они происходили бы в реальной системе. Вычисления выполняют только для тех моментов времени и тех частей (процедур) модели, к которым относятся совершаемые события. Поскольку изменения состояний в каждом такте обычно наблюдаются лишь у малой доли ОА, событийный метод может существенно ускорить моделирование по сравнению с пошаговым методом, в котором на каждом такте анализируются состояния всех элементов. Схема реализации событийного метода имитационного моделирования может выглядеть так. Работа начинается с обращения к моделям источников входных потоков. Такое обращение позволяет рассчитать момент генерации первой заявки. Этот момент вместе со ссылкой на заявку заносится в список будущих событий (СБС), а сведения о генерируемой заявке - в список заявок (СЗ). Запись в СЗ включает в себя имя заявки, значения ее параметров (атрибутов), место, занимаемое в данный момент в имитационной модели. В СБС события упорядочиваются по увеличению моментов наступления [7]. Потом из СБС выбирают совокупность сведений о событиях, относящихся к наиболее раннему моменту времени. Эта совокупность переносится в список текущих событий (СТС), из которого извлекаются ссылки на события. Обращение по ссылке к СЗ позволяет установить место в имитационной модели заявки 1, с которой связано моделируемое событие. Пусть этим местом является устройство X. Далее программа моделирования выполняет следующие действия (рис. 11): 1) изменяет параметры состояния устройства; например, если заявка 1 освобождает X, а очередь к Х не была пуста, то в соответствии с заданной дисциплиной обслуживания из очереди к Х выбирается заявка 2 и поступает на обслуживание в X; 2) прогнозируется время наступления следующего события, связанного с заявкой 2, путем обращения к модели устройства, в которой рассчитывается продолжительность обслуживания заявки 2; сведения об этом будущем событии заносятся в СБС и СЗ; 3) происходит имитация движения заявки в сетевой имитационной модели (СИМ) по маршруту, определяемому заданной программой моделирования, до тех пор, пока заявка не придет на вход некоторого ОА; здесь либо заявка задерживается в очереди, либо путем обращения к модели этого ОА прогнозируется наступление некоторого будущего события, связанного с дальнейшей судьбой заявки 1; сведения об этом будущем событии также заносятся в СБС и СЗ; 4) в файл статистики добавляются необходимые данные. После отработки всех событий, относящихся к моменту времени tk, происходит увеличение модельного времени до значения, соответствующего ближайшему будущему событию, и рассмотренный процесс имитации повторяется.
|