ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ
ЛЕКЦИЯ N 16
ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ
ФОРМУЛИРОВАНИЕ МОДЕЛИ
Каждое исследование охватывает и сбор данных, под которым
обычно понимают получение каких-то "численных" характеристик. Но
это только одна сторона сбора данных. Системного аналитика должны
интересовать входные и выходные данные изучаемой системы, а также
информация о различных компонентах системы, взаимозависимостях и
соотношениях между ними. Поэтому он заинтересован в "сборе как
количественных, так и качественных данных; он должен решить, ка-
кие из них необходимы, насколько они соответствуют поставленной
задаче и как собрать всю эту информацию. Учебники обычно сообщают
студенту нужную для решения задачи информацию без ссылок на то,
как она была собрана и оценена. Но когда такой студент впервые
сталкивается с реальной задачей и при этом сам должен определить,
какие данные ему нужны и как их отобрать, то голова у него идет
кругом.
Создавая стохастическую имитационную модель, всегда прихо-
дится решать, следует ли в модели использовать имеющиеся эмпири-
ческие данные непосредственно или целесообразно использовать тео-
ретико-вероятностные или частотные распределения. Этот выбор име-
ет фундаментальное значение по трем причинам. Во-первых, исполь-
зование необработанных эмпирических данных означает, что, как бы
вы ни старались, вы можете имитировать только прошлое. Использо-
вание данных за один год отобразит работу системы за этот год и
не обязательно скажет нам что-либо об ожидаемых особенностях ра-
боты системы в будущем. При этом возможными будут считаться толь-
ко те события, которые уже происходили. Одно дело предполагать,
что данное распределение в своей основной форме будет неизменным
во времени, и совсем иное дело считать, что характерные особен-
ности данного года будут всегда повторяться. Во-вторых, в общем
случае применение теоретических частотных или вероятностных расп-
ределений с учетом требований к машинному времени и памяти более
эффективно, чем использование табличных данных для получения слу-
чайных вариационных рядов, необходимых в работе с моделью.
В-третьих, крайне желательно и даже, пожалуй, обязательно, чтобы
аналитик-разработчик модели определил ее чувствительность к изме-
нению вида используемых вероятностных распределений и значений
параметров. Иными словами, крайне важны испытания модели на чувс-
твительность конечных результатов к изменению исходных данных.
Таким образом, решения относительно пригодности данных для ис-
пользования, их достоверности, формы представления, степени соот-
ветствия теоретическим распределениям и прошлым результатам функ-
ционирования системы - все это в сильной степени влияет на успех
эксперимента по имитационному моделированию и не является плодом
чисто теоретических умозаключений.
В конечном счете перед разработчиком модели возникает проб-
лема ее описания на языке, приемлемом для используемой ЭВМ. Быст-
рый переход к машинному моделированию привел к развитию большого
числа специализированных языков программирования, предназначенных
для этой цели. На практике, однако, каждый из большинства предло-
женных языков ориентирован только на ограниченный набор машин.
Имитационные модели обычно имеют очень сложную логическую струк-
туру, характеризующуюся множеством взаимосвязей между элементами
системы, причем многие из этих взаимосвязей претерпевают в ходе
выполнения программы динамические изменения. Эта ситуация побуди-
ла исследователей разработать языки программирования для облегче-
ния проблемы трансляции. Поэтому языки имитационного моделирова-
ния типа GPSS, Симскрипт, Симула, Динамо и им подобные являются
языками более высокого уровня, чем универсальные языки типа Форт-
ран, Алгол и Бейсик. Требуемая модель может быть описана с по-
мощью любого универсального языка, тем не менее какойлибо из спе-
циальных языков имитационного моделирования Может обладать теми
или иными преимуществами при определенных характеристиках модели.
Основные отличия языков имитационного моделирования друг от
Друга определяются: 1) способом организации учета времени и про-
исходящих действий; 2) правилами присвоения имен структурным эле-
ментам; 3) способом проверки условий, при которых реализуются
действия; 4) видом статистических испытаний, которые возможны при
наличии данных, и 5) степенью трудности изменения структуры моде-
ли.
Хотя некоторые из специальных языков имитационного моделиро-
вания обладают очень нужными и полезными свойствами, выбор того
или иного языка, как это ни печально, чаще всего определяется ти-
пом имеющейся машины и теми языками, которые известны исследова-
телю. И если существует выбор, то правильность его, по-видимому,
зависит от того, в какой степени исследователь владеет мето
17ьъЕ
Текущая страница: 1
|