- •Моделирование систем
- •1. Наличие цели
- •1.2. Модель. Моделирование
- •Система
- •Параметры
- •Внешние
- •Внутренние
- •1.3. Классификация моделей
- •1.4. Методы моделирования
- •Имитационный способ представления задачи 1
- •Имитационный алгоритмический способ
- •Имитационная статистическая постановка задачи
- •2. Математические схемы моделирования систем
- •2.1. Формализация моделирования
- •Математическую схему можно определить как звено при переходе от содержательного к формализованному описанию процесса функционирования системы с учётом воздействия внешней среды.
- •2.2. Задачи, решаемые с помощью моделирования
- •2.3. Проектирование ис и анализ их производительности
- •2.3. Система массового обслуживания как модель
- •2.4. Модели потоков
- •2.2. Аналитический анализ смо
- •2.2.1. Экспоненциальная система массового обслуживания
- •2.2.1.1 Одноканальная однородная экспоненциальная смо
- •2.2.1.2. Многоканальная экспоненциальная смо
- •2.2.1.3. Модель m/g /1
- •2.3. Сети массового обслуживания
- •2.4. Анализ разомкнутых экспоненциальных СеМо
- •2.4.1. Свойства разомкнутой экспоненциальной СеМо
- •2.5. Расчет системных характеристик экспоненциальных СеМо
- •Контрольные вопросы
- •Лекция 4
- •1. Пример: Проблема распределение канала
- •1. Статическое распределение канала
- •2. Динамическое распределение канала
- •2. Пример: расчет системы телеобработки данных
- •3.1. Задание
- •3.2. Решение
- •4. Схема расчета замкнутой СеМо
- •4. Имитационное моделирование систем массового обслуживания
- •4.1. Система массового обслуживания как модель и оригинал
- •4.2. Иллюстративный пример: моделирование посадки самолетов.
- •4.3. Концепция статистического моделирования
- •4.3. Пример: оценка надежности системы
- •5. Построение моделирующего алгоритма
- •5.1. Моделирование на эвм процесса функционирования смо
- •Шагом (принцип t)
- •С другой стороны, принцип особых моментов выгоден тем, что
- •5.2. Особенности реализации процессов с использованием q-схем
- •5.2. Примеры моделирования смо с отказами
- •5.2.1. Подготовка исходных данных и назначение переменных
- •Моделирование смо с отказами по схеме событий
- •5.2.2.1. Построение блок-схем алгоритма имитации
- •5.3. Схемы построения моделирующего алгоритма
- •5.4.1. Моделирование смо с отказами по схеме событий
- •5.4.2. Моделирование смо с отказами по схеме процессов
- •Моделирование смо с отказами по схеме процессов
- •Шаг имитации
- •Класс процессов "генерирование заявок источником"
- •5.4.3. Сопоставление схемы событий и схемы процессов
- •5.5. Семафоры и связные списки
- •5.6. Алгоритмы обслуживания очередей
- •1) Традиционный алгоритм fifo
- •2) Приоритетное обслуживание (Priority Queuing)
- •3) Взвешенные настраиваемые очереди (Weighted Queuing)
- •6. Оценки искомых характеристик и их дисперсии
- •6.1. Структура оценок
- •7. Тестирование имитационной модели
- •8. Случайные факторы и их модели
- •8.1. Моделирование случайных событий
- •8.2. Моделирование дискретных случайных величин
- •321236246263321315464215224214664122142366236246611664533544.
- •8.3.1. Моделирование экспоненциальной с.В.
- •8.5. Моделирование равномерной с.В.
- •Планирование машинных экспериментов с моделями систем
- •Методы планирования эксперимента на модели.
- •Обработка, анализ и интерпретация результатов моделирования
- •11. Замечание о языках моделирования
- •Моделирование смо с одним npи6opом и очередью
Моделирование смо с одним npи6opом и очередью
GENERATE 18, 6 генерирование заявок через интервалы 18±6
QUEUE QPR постановка в очередь, имя которой QPR
SEIZE PR занятие прибора
DEPART QPR уход из очереди
ADVANCE 16,4 обслуживание (задержка на время 16±4)
RELEASE PR освобождение прибора
TERMINATE уход заявки из системы
Второй сегмент: условие остановки
GENERATE 1000 выдача таймером сигнала в момент 1000
TERMINATE 1 завершение реализаций (прогона)
Видно, что это действительно язык моделирования, так как используются характерные для моделирования термины: генерировать, очередь занять, задержать (на время выполнения работы), освободить.
Написать программу моделирования в этих терминах значительно легче, чем составить алгоритм на псевдокоде и потом перевести его на алгоритмический язык. В этом и состоит цель применения языков моделирования. Здесь, в частности, не надо думать ни о календаре, ни о планировании событий, ни о пополнении статистик - обо всем позаботится интерпретатор.
Убедившись на этом примере в полезности применения языков моделирования, перейдем к краткому обзору характерных особенностей наиболее известных языков.
Разработки языков моделирования велась с использованием идей и приемов, содержащихся в универсальных языках программирования: алголе. фортране, Паскале и др. Как правило, в основе языка моделирования лежит какой-то универсальный язык программирования; либо имеется существенное сходство в структуре программы. Язык моделирования представляет собой расширение универсального языка путем добавления специальных средств моделирования, либо на основе универсального языка создан пакет программ для моделирования. В последнем случае не нужен специальный транслятор, можно воспользоваться транслятором универсального языка.
В основе каждого языка лежит одна из схем построения моделирующего алгоритма: схема событий, схема процессов. GPSS по этому признаку надо считать языком процессов. Но его называют также языком транзактов, так как в нем понятие транзакта играет существенную роль.
Транзакт- это временный объект, который появляется в системе, продвигается в ней и покидает систему. Само слово транзакт ассоциируется с пассивным объектом, которого кто-то ведет (transact - вести). Активность – это постоянно присутствующий в системе объект, который занимается передвижением транзактов Активность принимает транзакт на некоторое время, а потом передает его другой активности. Примеры транзактов: заявки, детали, покупатели. Примеры активностей: приборы, ячейки буфера; станки, склады; кассиры, продавцы.
Применительно к программе моделирования транзакты и активности
– это некоторые структуры данных, содержимое которых меняется, моделируя передвижение транзактов. Информация, содержащаяся в атрибутах транзактов и активностей, зачастую дублируется. Например, момент перехода заявки из буфера в прибор может быть записан и в транзакте, описывающем заявку, и в активности, описывающей буфер, и в активности, описывающей прибор. В некоторых языках моделирования используется структуры данных только одного вида: либо транзакты, либо активности. Чаще используются оба вида, но какой-то является ведущим. По этому признаку подробная классификация языков моделирования приведена Е. Киндлером.
Разработки языков моделирования велись в направлении устранения неудобств и предоставления пользователю все более универсальных средств для составления программ. Это привело фактически к слиянию универсальных языков с языками моделирования. Уже язык SIMULA-67 (Норвегия,1968) в дополнении к средствам языка ALGOL-60 содержит удобный аппарат описания новых понятий, средства обработки текстовой информации, стандартные средства ввода-вывода, средства для организации квазипараллельного исполнения компонентов программы. SIMULA-67 позволяет создать специализированный язык моделирования и пакет прикладных программ для конкретной предметной области с использованием терминов из этой области. Это значительно облегчает специалистам разных областей использование моделирования на ЭВМ для решения своих проблем.
Многие из языков моделирования позволяют в рамках одной программы моделировать системы, в которых взаимодействуют дискретные и непрерывные процессы. К таким языкам относятся НЕДИС, GASP IV, СИМФОР, СЛАМ II и др.
Опыт многочисленных отечественных и зарубежных разработок в имитационном моделировании систем массового обслуживания показывает, что на языках высокого уровня типа: C, C++, Pascal и других можно с успехом решать эти задачи. В последний период наряду с развитием мощных средств объектно-ориентированного программирования в этих языках получили развитие и визуальные среды разработки типа: Borland C++ Builder, Visual C++, Delphi и др., которые позволяют достаточно быстро и качественно выполнить все необходимые операции по имитационному моделированию.
В эпоху персональных компьютеров разработаны программные средства, объединяющие идеологию моделирования (как правило, по схеме процессов) с богатыми возможностями персональных компьютеров по обеспечению сервиса. Обычно это - мощные инструментальные программные системы, совместимые с такими распространёнными языками как:MODUL-2, ТURBO-C, TURBO-C++.
