Содержание
-
Имитационное моделирование
-
Язык для создания имитационной модели
Аналитическая модель описывается на языке математики. Имитационная модель (ИМ) в подавляющем числе случаев – на языке программирования (ИМ – это программа, эмулирующая объект моделирования). Языки программирования делятся на: Языки общего назначения Языки имитационного моделирования (языки, специализированные на описание ИМ)
-
Два основных класса языков ИМ
Языки ИМ делятся на два основных класса: Для имитации непрерывных процессов Для имитации дискретно-событийных процессов Т.к. в настоящее время Аналоговый вычислительные машины практически не применяются, для непрерывного моделирования используются численные методы (например, разностные методы). Для удобства описания непрерывных моделей существуют языке, описывающие модель в виде аналоговых элементов: усилителей, интеграторов, генераторов функций и т. п. Описанная с помощью таких языков модель представляет собой систему дифференциальных уравнений и моделирование сводится к решению этой системы. Например, в языке DYNAMO описываются значения функции в моменты времени t иt+dt, а также разности производных функции в моменты времени t иt+dt/2.
-
Особенности языков имитационного моделирования
Языки ИМ специализированные, поэтому они не всегда могут подойти для решения определенной задачи. Следовательно, сначала необходимо сформулировать задачу, а затем выбирать определенный языка ИМ. Общий язык программирования можно использовать в том случае, когда для реализации ИМ не рационален ни один из языков ИМ.
-
Время в имитационной модели
При имитационном моделировании применяется модельное время. Это время может не иметь связи со временем реальным. Зачастую модельное время необходимо для того, чтобы сравнивать характеристики различных объектов (например, сравнить производительность двух архитектур вычислительной системы). Наиболее важные задачи при создании имитационной модели и выборе языка программирования для нее: 1. корректировка временной координаты состояния системы «продвижение» времени, организация «часов»); 2. обеспечение согласованности различных блоков и событий в системе (синхронизация во времени, координация с другими блоками).
-
Время в дискретной имитационной модели
Существует два подхода к организации модельного времени: С постоянным шагом (стратегия t) C переменным шагом – дискретно-событийное (стратегия z) События t z
-
Дискретно-событийное моделирование
Поведение объекта (target) Модель объекта 1 Поведение объекта (target) Модель объекта n Планировщик событий (scheduler) t Событие 1 Событие k В дискретно-событийных системах моделирования контроль за событиями осуществляет программный блок «Планировщик событий»(scheduler). Поведение отдельных объектов задается с помощью программного блока target. (свой target на каждый объект).
-
-
История имитационного моделирования
Имитационное моделирование (данные этапы выделяли в своих работах Р. Нэнси и Ф.Кивиат): Этап 1 (1955-1960) – языки программирования общего назначения. Этап 2 (1961-1965) – первые специализированные языки моделирования: GPSS, SIMSCRIPT, SIMULA, CSL, SOL. Этап 3 (1965-1970) – второе поколение языков моделирования: GPSS V, SIMSCRIPT II.5, SIMULA 67. Этап 4 (1971-1978) – повышение эффективность языков моделирования . Этап 5 (1979-1984) – интегрированные средства имитационного моделирования, поддерживающие полный жизненный цикл модели от создания до обработки результатов запусков модели.Появляется сбор и обработка статистики результатов моделирования Этап 6 (1985-1994) - перенос программного обеспечения для имитационного моделирования на персональные ЭВМ с использованием средств графического интерфейса. Развитие графического моделирования. Этап 7 (1995-1998) – появление средств технологической поддержки процессов распределенного имитационного моделирования на мультипроцессорных ЭВМ и сетях. Этап 8 (1999 - …) – Развитие и усовершенствование разработанных средств моделирования. Виртуальная реальность (в последнее время данная технология значительно подешевела).
-
GPSS - General Purpose Simulation System
Система GPSS была разработана сотрудником фирмы IBM Джефри Гордоном в 1961 году. Программный продукт осуществляет моделирование согласно Q-схеме В 1980-х годах интерес к данному программному продукту значительно угас на фоне появления объектно-ориентированного программирования. К тому же GPSS не имел средств графической интерпретации, что значительно снижало удобство работы с системемой.
-
Основные объекты GPSS
Транзакт – обслуживаемое требование; Блок – описание обслуживающего устройства; Канал обслуживания; Функция Очередь Накопитель Генератор случайных чисел
-
Основные блоки GPSS
GENERATE A, B, C, D, E – генерация транзакта (могут задаваться закон распределения случайного процесса, количество генерируемых транзактов, время начала генерации и т.д.); TERMINATE A – уничтожение транзакта (А – на сколько уменьшить счетчик транзактов); GENERATE-ТERMINATE – сегмент (в модели может быть несколько сегментов). Пример: GENERATE70,20 TERMINATE 1 START1000 ADVANCE A,B – задержка (время) обслуживания транзакта. В блоке может находиться произвольное количество транзактов. GENERATE70,20 ADVANCE50,30 TERMINATE
-
SEIZE (занять) и RELEASE (освободить) – блоки для моделирования ограниченных СМО. (А – номер или имя устройства). Если транзакт вошел в блок, то он становится занятым и не пускает в себя другие транзакты. GENERATE70,20 ADVANCE0,0 SEIZEPRIBOR ADVANC50,30 RELEASEPRIBOR TERMINATE
-
STORAGEA – многоканальное устройство обслуживания (А – количество каналов); ENTER A,B –LEAVEA,B – операторы «войти» и «выйти» для многоканального у-ва; MKS3 STORAGE 3 GENERATE 70,20 ADVANCE 0,0 ENTER MKS3 ADVANCE 50,30 LEAVE MKS3 TERMINATE PREEMPTA – RETURN – блок захватить устройства обслуживания (захват устройства означает, что приостанавливается обслуживание транзакта и начинается облуживание другого, который имеет больший приоритет).
-
QUEUE A,B - DEPART A,B– очередь ожидания транзактов. («встать в очередь», «выйти из очереди») GENERATE70,20 QUEUEOCH SEIZEPRIBOR DEPARTOCH ADVANCE50,30 RELEASE PRIBOR TERMINATE
-
TRANSFER (передать) – изменение маршрута движения транзакта. Обычно транзакт движется от одного блока программы к другому. Оператор TRANSFER изменяет этот порядок в зависимость от определенных условий. TRANSFER имеет 9 режимов работы: Безусловная передача. Случайная передача. Логическая передача – указывается два альтернативных блока (если в один из них транзакту не удается войти, он передается во второй).
-
FUNCTION A,B. – задание распределения случайной величины с помощью точек, через которые она проходит. Функция, заданная с помощью 24 точек: EXPDISFUNCTIONRN1,C24 0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915/.7,1.2/.75,1.38/.8,1.6/.84,1.85 .88,2.12/.9,2.3/.92,2.52/.94,2.81/.95,2.99/.96,3.2/.97,3.5/.98,3.9/.99,4.6 .995,5.3/.998,6.2/.999,7/.9998,8 START A, B, C, D – начать моделирование (А – количество генерируемых транзактов) RESET – сбросить накопленную статистику прогона модели CLEAR – сброс модели
-
GPSS - General Purpose Simulation System
GENERATE (POISSON(1,40)) ; генерация потока транзактов ; Поток транзактов пуассоновский со средним интервалом 40 единиц QUEUE mainQ ; Войти в регистратор очереди SEIZE F007 ; Попытка занять устройство DEPART mainQ ; Покинуть регистратор очереди ADVANCE (Normal(1,35,4)) ; Моделирование процесса обслуживания. Время обслуживания ; распределено по нормальному (гауссову) закону ; с математическим ожиданием 35 и среднеквадратическим отклонением 4 RELEASE F007 ; Освободить устройство TERMINATE ; удаление транзакта Пример программы на GPSS
-
Программа GPSS моделирования очереди на заправку
-
GPSS - General Purpose Simulation System
График длины очереди на заправку
-
Литература
Советов Б. Я., Яковлев С. А. С 56 Моделирование систем: Учеб. для вузов — 3-е юд., перераб. и доп. — М.: Высш. шк., 2001. — 343 с. Поляков Н.А. История имитационного моделирования. URL: http://simulation.su/uploads/files/default/obzor-polyakov-1.pdf
Нет комментариев для данной презентации
Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.