Краткие сведения о специализированных языках и проблемно-ориентированных системах имитационного моделирования
Реализация требований к имитационным моделям в рамках универсального языка программирования приводит к громоздким и неудобным для практического использования программам. В большинстве таких программ могут разобраться только их авторы, а любое изменение в постановке задачи требует переработки значительной части текста программы.
Более того, даже при создании специализированных языков имитационного моделирования в зависимости от концептуальной направленности их авторов можно выделить четыре основных класса, которые перечислим в соответствии с классообразующим признаком:
1 – доработка универсального языка группой операторов, реализующих необходимые функции. Этот путь наиболее простой и в литературе приводится много языков, незначительно отличающихся друг от друга.
Наибольшее распространение в этом классе получил язык GASP, который может быть реализован на любой вычислительной системе, имеющей в программной среде компилятор с FORTRAN-IV. Существенным недостатком класса является отсутствие концептуальной выразительности и средств для проверки логики имитационной модели;
2 – ориентация на системы дифференциальных уравнений, удобная для реализации группы исследовательских моделей, породила класс языков, ярким представителем которого является DYNAMO и распространенный в России его диалект ИМИТАК.
Подробно идеология языка ИМИТАК изложена в монографии с большим количеством примеров. Но концепция, опирающаяся на понятия математической физики, оказалась не очень удобной для экономических расчётов.
Оставшиеся языки многие исследователи делят на две школы: школу фирмы IBM, где применяется язык GPSS, использующий в качестве дескрипторов схемные символы, и школу, использующую операторные языки;
3 – применение операторов приводит к построению моделей на основе аналитического расчленения изучаемого процесса на условия, необходимые для выполнения действий, результаты этих действий, а также временные взаимозависимости между элементами системы и действиями, в которых они участвуют.
Примером такого языка может служить SIMSCRIPT, пока не нашедший широкого применения в исследовательской практике;
4 – в языке GPSS, ориентированном на процессы, моделирование системы производится путем движения транзактов через блоки действий. Решения принимаются в результате воспроизведения логики функционирования моделируемой системы, которая представляется в виде блоков.
При моделировании исследователем, не владеющим программированием, необходимо отдать предпочтение наиболее наглядному и простому языку GPSS. Не менее важным достоинством GPSS является его распространенность и наличие версии языка для персональных компьютеров.
По причине значительной трудоемкости имитационное моделирование применялось только как метод исследований в научной деятельности и крайне редко – в практической работе. Однако, задачи практики требовали создания языков моделирования, более применимых в работе по управлению объектами более широкого класса, нежели уникальные научные установки. И к середине 80-х годов было создано в основном американскими фирмами, по данным Емельянова А.А., более 20 различных систем. К числу них относились уже упомянутые выше GASP, SIMULA, GPSS и SLAM.
Process Charter-1.0.2
Process Charter-1.0.2(Процесс Чартер), разработчик – компания Scitor, Калифорния, США.
Процесс Чартер ориентирован на дискретное моделирование, удобный и простой в построении модели, самый дешевый из представленных продуктов, но ориентирован в основном на распределение ресурсов, слабая поддержка моделирования непрерывных компонент и недостаточно средств для построения диаграмм.
Powersim-2.01
Powersim-2.01 (Пауерсим), разработчик компания Modell Data, Берген, Норвегия.
Пакет Пауерсим, наоборот, является лучшим средством для построения непрерывных моделей, имеет множество встроенных функций, многопользовательский режим для коллективной работы группы исследователей с моделью, средства обработки массивов для упрощения создания аналогичных моделей. К недостаткам можно отнести сложную специальную систему обозначений и ограниченную поддержку дискретного моделирования.
Lthink-3.0.61
Lthink-3.0.61 (Лтинк), разработчик компания High Performans Systems, Ганновер, Германия.
Пакет Лтинк комбинирует достоинства первых двух программных средств и эффективно работает как с дискретными, так и с непрерывными моделями посредством встроенных блоков, имеется подробная обучающая программа, поддерживаются значительное количество форматов входных данных, развиты средства анализа чувствительности, имеется поддержка моделирования слабо подготовленными пользователями. К недостаткам можно отнести сложную систему обозначений и поддержку меньшего числа функций по сравнению с Пауерсим.
Extend+BPR-3.1
Extend+BPR-3.1 (Экстенд+БПР), разработчик – Imagine That!, Сан-Хосе, США.
Пакет, Экстенд+БПР, специально предназначен для анализа бизнес-проектов и также поддерживает дискретное и непрерывное моделирование. К числу достоинств нужно отнести понятную среду построения моделей с помощью блоков, множество встроенных блоков и функций для облегчения конструирования моделей, средства построения дополнительных функций посредством встроенного языка. К сожалению, данный пакет используется в достаточном объеме только на компьютерах Макинтош и имеет высокую стоимость порядка 1200 долларов.
ReThink
ReThink (Ретинк), разработчик – Gensym, Кембридж, Массачусетс, США.
Пакет Ретинк обладает основными свойствами Экстенд и имеет хороший графический транслятор для создания моделей, но работает под управлением экспертной системы G2, работающей в режиме реального времени. Недостатками являются слабая поддержка создания непрерывных компонент, необходимость экспертной системы, которая далеко не всегда необходима при моделировании, и высокая стоимость.
Piligrim-2.1
Piligrim-2.1 (Пилигрим) совместной разработки МегаТрон, Москва, Keisy, Гаага, Нидерланды и Энит, Таллин, Эстония.
Попытки создать универсальную систему моделирования привели к созданию системы Пилигрим, которая популярна в Европе и России. Пакет обладает широким спектром возможностей имитации временной, пространственной и экономической динамики моделируемых объектов. Разрабатываемые модели имеют качество коллективного управления процессом моделирования. Стоимость пакета ниже, чем Ретинк и экспертная система G2. К недостаткам можно отнести лишь отсутствие графического транслятора.
Arena-BE 3.6.1
Arena-BE 3.6.1, разработчик –Systems Modeling (Rockwell Software),
Одним из наиболее эффективных инструментов имитационного моделирования является система Arena компании Systems Modeling Arena позволяет строить имитационные модели, проигрывать их и анализировать результаты такого проигрывания. Имитационное моделирование – это универсальное средство для оптимизации процессов, поэтому модели с помощью Arena могут быть построены для самых разных сфер деятельности – производственных технологических операций, складского учета, банковской деятельности, обслуживания клиентов в ресторане и т.д. и т.п.
Имитационная модель компании Systems Modeling включает следующие основные элементы: источники и стоки (Create и Dispose), процессы (Process) и очереди (Queue). Источники – это элементы, от которых в модель поступает информация или объекты. Скорость поступления данных или объектов от источника обычно задается статистической функцией. Сток – это устройство для приема информации или объектов. Понятие очереди близко к понятию хранилища данных – это место, где объекты ожидают обработки. Времена обработки объектов (производительность) в разных процессах могут быть разными. В результате перед некоторыми процессами могут накапливаться объекты, ожидающие своей очереди. Часто целью имитационного моделирования является минимизация количества объектов в очередях. Тип очереди в имитационной модели может быть конкретизирован. Очередь может быть похожа на стек: пришедшие последними в очередь объекты первыми отправляются на дальнейшую обработку (LIFO: last-in-first-out). Альтернативой стеку может быть последовательная обработка, когда первыми на дальнейшую обработку отправляются объекты, пришедшие первыми (FIFO: first-in-first-out). Могут быть заданы и более сложные алгоритмы обработки очереди. Процессы – это аналог работ в функциональной модели. В имитационной модели может быть задана производительность процессов.
Предметный указатель
А
Автомат, 58
асинхронный, 60, 61, 64
без памяти, 60
вероятностный, 67
детерминированный, 60, 64
конечный, 58, 59
Мили, 60
Мура, 60
с памятью, 60
синхронный, 60
Адекватность, 17
Алгоритм, 16, 17
Алгоритмизация моделирования, 93
Антирефлексивность, 48
Антисимметричность, 49
Асимметричность, 49
Б
Базис пространства, 76, 81
Безопасность сетей Петри, 116
Бинарные отношения
антирефлексивные, 48
антисимметричные, 49
асимметричные, 48
задание графа предпочтений, 47
задание сечений, 47
матричный способ задания, 46
непосредственное перечисление, 46
отрицательно транзитивные, 49
рефлексивные, 48
сильно транзитивные, 49
симметричные, 48
транзитивные, 49
Битовая карта, 147
масштабируемая, 147
В
Векторы
векторное произведение, 73
выходных переменных, 71
единичный, 73
линейная оболочка, 76
линейно независимые, 74
ортогональные, 73
скалярное произведение, 72
Вероятность отказа в обслуживании, 96, 108
Вершина графа, 51, 203
изолированная, 52, 204
нечетная, 212
четная, 212
Воздействие
единичное ступенчатое, 30, 31, 68
Вырожденность, 74
Г
Граф, 51, 52, 53, 54, 203
вероятностный, 52
взвешенный, 52
неориентированный, 51
однородный, 213
ориентированный, 51
планарный, 211
плоский, 209, 210
полный, 205
предпочтений, 51
раскрашенный, 52
стохастический, 52
Группа функций (ИСМ РДО)
модели, 141
моделирования, 142
помощи, 142
просмотра, 142
редактирования, 141
Д
Действие (метод РДО), 132
Дефект
матрицы, 74
произведения матриц, 74
Динамика
моделей, 29
развития и использования моделей, 93
Дисциплина обслуживания, 100
без приоритетов, 100
круговая, 100
с приоритетами, 100
Дополнение алгебраическое, 200
Достижимость сети Петри, 117
Дуги (ребра) графа, 47, 51, 204
Ж
Живость сети Петри, 117
И
Имитатор продукционный, 136, 144
Имитационное моделирование, 40, 119
Имитационный эксперимент, 121
Ингерентность, 18, 94
Интегрирование
... матриц, 199
... численное, 89
Испытания комплексные, 40
Истинность, 18
К
Кадр анимации, 137, 145, 148, 149
имя, 145
условие показа, 145
Класс
аналитических моделей, 39
гипотетических моделей, 38
гладких систем, 58
дискретных систем, 58
имитационных моделей, 40
конечных автоматов, 58
линейных систем, 58
математических моделей, 18, 38, 39, 57
наглядных моделей, 38
натурных моделей, 40
непрерывных систем, 58
символических моделей, 38
специализированных языков ИМ, 220
Комментарий
прогона, 137
проекта, 137
Конвертор, 139
Конечность, 17
Конструирование, пример, 94
Корреляционный момент, 175
Критерий
полной наблюдаемости, 86
полной управляемости, 85
... статистический согласия
... Колмогорова, 177
... Пирсона, 178
... Смирнова, 178
... Стьюдента, 179
... Фишера, 179
М
Макет, 38
Маркировка сети Петри, 113
Матрица, 192
действительная, 196
диагональная, 194
единичная, 195
инволютивная, 202
квадратная, 63, 76, 82, 194
комплексно-сопряженная, 195
кососимметрическая, 195
косоэрмитова, 196
мнимая, 196
многократно вырожденная, 74
модальная, 79
нулевая, 195
обратная, 201
объекта, 71
однократно вырожденная, 74
ортогональная, 202
присоединенная, 79, 201
просто вырожденная, 74
симметрическая, 81, 195
сопряженная, 196
столбец, 194
строка, 194
транспонированная, 195
унитарная, 202
управления, 71
эрмитова, 196
Метод исследования
аналитический, 39
качественный, 39
численный, 39
... интегрирования Рунге-Кутта, 90, 92
... третьего порядка, 90
... четвертого порядка, 90
Эйлера, 90
Методы оценки, 172
Микроуровень, 11, 36
Минор, 200
Многочлен характеристический, 77
Модели
алгоритмические поведенческие, 119
идеальные, 19, 23
материальные, 19
Моделирование
идеальное, 38
имитационное, 119, 161
– искусство, 95
реальное, 38
Модель
абстрактная, 14, 15, 19, 23, 43,
аналитическая, 10, 39, 57, 96
аналоговая, 38
белый ящик, 55, 56, 58
вероятностная, 27
вещественная, 19
гипотетическая, 38
детерминированная, 27
динамическая, 29
дискретная, 28
знаковая, 24, 39
идеальная, 14, 15, 19, 23, 38
имитационная, 11, 39, 40, 119, 120, 122, 126, 127, 136, 163, 222
кибернетическая, 41, 162
комбинированная, 28, 39
математическая, 13, 14, 18, 19, 38, 39, 57, 58, 68, 96, 120, 123
материальная, 19
массового обслуживания
... многоканальная, 98, 99
... с ожиданием, 99
... с отказами, 98
... одноканальная, 97
... с ожиданием, 97
... с отказами, 97
наглядная, 38
натурная, 40
непрерывная, 28
нестационарная, 35
познавательная, 26
прагматическая, 26
символическая, 38
символьная, 39
состава системы, 44, 45, 55
статическая, 29
стационарная, 35
стохастическая, 11, 52, 163
структурная схема системы, 54, 55
структуры системы, 45, 56
физическая, 41
черный ящик, 43, 44, 55
языковая, 23, 24, 25, 39
Н
Наблюдаемость, 86, 87
Независимость факторов, 164
Несмещенность оценки, 173
Нестационарность, 35
Норма вектора, 73
О
Объект, 9–16, 20, 27, 29, 36–41, 44, 46, 54, 65, 67, 71, 72, 96, 100, 112–122, 131, 134–147, 161–167, 180, 220, 222
изображения, 147
модели, 138, 139
образцов, 137
операций, 140
прогона, 138
результатов, 142, 144
ресурсов, 139
типов ресурсов, 139
трассировки, 142, 144
Ограниченность сети Петри, 116
Оператор языка GPSS
Advance, 153
Assemble, 152
Assigne, 157
Depart, 155
Enter, 154
Function, 152
Gate, 157
Gather, 153
Generate, 151
Leave, 154
Logic, 157
Match, 158
Queue, 155
Release, 153
Seize, 153
Split, 152
Start, 156
Terminate, 156
Test, 155
Transfer, 156
Variable, 158
Операция
дифференцирования, 70
в методе РДО, 132–134, 139
Описание
фоновой картинки, 145
элементов отображения, 146
Определитель Грама, 74–75
Ординарность потока заявок, 101
Отношение, 19–22, 24, 25, 32, 34, 45–50, 179
доминирования, 50
нестрогого порядка, 50
подобия, 19
строгого порядка, 50
эквивалентности, 50
Отображение, 57, 59, 145
выхода, 57
переходное, 57
Отсутствие последействия, 101
Ошибка 89, 167, 184
локальная усечения, 89
случайная испытания, 167
среднеквадратическая, 190
П
Переменная
экзогенная, 43
эндогенная, 43
Переходное отображение, 57
Петля, 51, 52
Подобие
косвенное, 20
прямое, 20
условное, 22
Подход
процессно-ориентированный, 126
сканирования активностей, 125
событийный, 125
эвристический, 95
Показатель
качества, 189
... обслуживания, 105
относительного ухудшения времени обслуживания, 106
Правила
срабатывания переходов, 113
Прагматика, 24, 25
Преобразование
коллинеарное, 82
подобия, 82
Приближенность, 17
Принцип
причинности, 68
суперпозиции, 31, 58
Приоритет, 100
абсолютный, 101
динамический, 101
относительный, 101
Прогон (РДО), 137
Проект (РДО), 137
Произведение векторов
внешнее (векторное), 73
внутреннее (скалярное), 72
Производная
от произведения матриц, 199
от суммы матриц, 198
Пропускная способность
абсолютная, 110
относительная, 110
Пространство
линейное векторное, 75
состояний, 131
факторное, 162
Р
Распределение
... вероятностей, 28, 102, 105, 107, 177–179, 183, 186
... вырожденное (причинное), 218
... Лапласа, 217
... нормальное, 215
... равномерное, 216
... маркеров, 113
Ребра (дуги) графа, 47, 51, 203
Рекуррентная формула, 90
Ресурс, 133, 134, 137, 139, 140, 150, 161, 162, 175, 220
временный, 133
постоянный, 133
Рефлексивность, 48
С
Свойство, 46
эргодическое, 176
Семантика, 25
Семиотика, 25
Сети Петри, 112–119
временные, 114
ингибиторные, 114
стохастические, 114
функциональные, 114
цветные, 114
Сечение
верхнее, 47
нижнее, 47
водопроводных труб, 35
Сигналы, 22, 24, 25, 32, 34, 43, 49, 50, 55, 59–67, 71, 85, 86, 119, 188–190
Симметричность, 48
Синтаксис, 25
Система, 30, 42–45, 54, 56, 57, 67, 68, 70, 74–79, 85–88, 104, 108, 109–135, 219
большая, 42
сложная, 41
экспертная, 222
Совместимость факторов, 164
Состояние 10, 57–67, 71, 85–87, 96, 109, 133, 145, 151, 155, 157
конечного автомата 59–67
... системы, 57, 71, 87, 109, 125, 132, 133
Состоятельность оценки, 173
Сохраняемость сети Петри, 116
Способы согласования, 105
Стационарность
... моделей, 35
потока заявок, 101
Структура
графа
... древовидная (иерархическая), 53
... звездообразная, 54
... кольцевая, 53
... линейная, 52
... матричная, 53
сетевая, 53
системы, 45
... внутренняя, 41
Субстратность, 20
Субъект, 14
Схема
... интегрирования многошаговая, 91
... структурная системы, 54
Т
Тезаурус, 24
Текстовый элемент, 146
Теория
моделей, 14
разрешимости, 94
Транзитивность, 49
отрицательная, 49
сильная, 49
У
Умножение матриц, 197
на диагональную матрицу, 198
на единичную матрицу, 198
на скаляр, 198
транспонированных матриц, 198
Управляемость, 85–87
Управляющая часть, 16
Упрощенность, 17
Уравнение
диффузии, 36
наблюдения, 71
непрерывности, 37
состояния системы, 71
... нормальная форма, 83
Ф
Фактор, 162–171
изучаемый, 163
качественный, 163
количественный, 163
наблюдаемый, 163
случайный, 163
сопутствующий, 163
управляемый, 162
фиксированный, 163
Факторная дисперсия, 187, 190
Формула
Бохера, 78
Эйлера, 214
Эрланга, 109, 110
Функция
распределения, 107
... времени обслуживания, 103
... времени ожидания, 101
... Пуассона, 102
реакции, 162
Х
Характеристики обслуживания, 105
Характеристические векторы, 76
Характеристические числа, 76
Ц
Цель, 16, 43,
управления, 16
Цикл, 10, 93, 117, 123
жизненный, 93
технологический, 93
Ч
«Черный ящик», 43
Э
Эвристический подход, 95
Эксперимент
научный, 41
производственный, 40
факторный
... дробный, 170
... полный, 168
Эмерждентность, 42
Эффективность, 93, 94, 187
... оценки, 173
Я
Язык, 23–25, 39, 46, 119, 122, 123, 126–128, 134, 136–143, 151, 158
GPSS, 151
Список сокращений
АСУТП – автоматизированная система управления технологическими процессами
БД – база данных
БЗ – база знаний
ДУ – дифференциальное уравнение
ИМ – имитационное моделирование
ИСМ – интегрированная среда моделирования
ОА – обслуживающий аппарат
ОЕЯ – ограниченный естественный язык
ОУ – объект управления
ПДД – правила дорожного движения
ПФ – передаточная функция
ПФЭ – полный факторный эксперимент
РДО – Ресурс-Действие-Операция
САУ – система автоматического управления
СБС – список будущих событий
СДС–сложная дискретная система
СУ–система управления
СЗ – список заявок
СИМ – сетевая имитационная модель
СКО – среднеквадратическая ошибка
СМО–система массового обслуживания
СС–сложная система
СТС – список текущих событий
СЧА – стандартные числовые атрибуты
ТАР – теория автоматического регулирования
ТАУ – теория автоматического правления
УЧ – управляющая часть
ЦУ – цель управления
ЭДС – электродвижущая сила
BMP (Bit MaP) – битовая карта – графический формат в компьютерной графике
GPSS (General Purpose Simulation System) – язык ИМ, ориентированный на процессы
IBM (International Business Machine) – известная компьютерная фирма
FIFO (First In – First Out) – «первым пришел – первым вышел» – дисциплина обслуживания
LIFO (Last In – First Out) – «последним пришел – первым вышел» –дисциплина обслуживания
RGB (Red, Green, Blue) – красный, зеленый, синий, – цветовая модель в компьютерной графике