Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Modelirovanie_sistem_uch_posobie_izdatelstvo.doc
Скачиваний:
100
Добавлен:
15.04.2019
Размер:
5.93 Mб
Скачать

4.2. Автоматизация имитационного моделирования

Для моделирования сложных систем необходимо использовать не одну, а несколько взаимосвязанных имитационных моделей, представляющих сложную систему с разных точек зрения. Реализация такого моделирования возможна только с помощью вычислительных машин, которые удобны как для реализации самих компонентных моделей, так и организации их взаимодействия. ЭВМ могут успешно осуществлять различные согласования по времени, проверять соответствие и достаточность данных, управлять потоками информации. Как правило, в сложной системе одна и та же информация нужна в разных моделях. В этом случае насущной становится проблема организации банка данных. Отметим, что такой банк не только устраняет дублирующее хранение информации, но и гарантирует ее полную тождественность. Своеобразием сложных систем является и то, что при совместной работе разнородных моделей часто возникает проблема видоизменения данных и другой информации при передаче их от одной модели к другой или из банка данных в модель. Такое приспособление данных к задаче, в которой они будут использоваться, называется интерфейсной адаптацией. В целом можно сделать вывод, что ЭВМ способна выполнять все основные операции при работе с моделями сложных систем, а совокупность нужных моделей, банка данных и разнообразных обслуживающих программных средств принято называть модельно-вычислительным комплексом.

Сам набор моделей, полностью готовых для использования, нередко называют библиотекой моделей. Чаще всего при этом речь идет о математической модели в виде набора формул, системы уравнений и соответствующего алгоритма.

Важной особенностью имитационного моделирования является удобное включение человека, его знаний, опыта, интуиции в процедуру исследования модели. Это делается между отдельными имитациями поведения системы или сериями имитаций. Человек изменяет сценарий имитации, что является важным звеном этого вида моделирования. Именно исследователь по результатам проведенных имитаций формирует следующие и, осмысливая полученные сведения, эффективно познает систему или двигается в ее исследовании к поставленной цели. Правда, следует заметить, что управлять процедурой многократной имитации может и ЭВМ. Однако наиболее полезным ее применение оказывается все-таки в сочетании с оперативным экспертным просмотром и оценкой отдельных имитаций человеком-исследователем.

Значительная роль человека в имитационном моделировании даже позволяет говорить об определенном противопоставлении методов чисто математического моделирования и имитации. Поясним это на примерах. Пусть мы имеем задачу оптимизации, которую решаем на ЭВМ при помощи некоторого запрограммированного алгоритма. В ряде сложных ситуаций алгоритм может остановиться или «зациклиться» далеко от оптимального решения. Если же весь путь решения шаг за шагом будет контролироваться исследователем, то это позволит, подправляя, изменяя и возобновляя работу алгоритма, достичь удовлетворительного решения. Второй пример возьмем из области систем со случайными воздействиями. Последние могут иметь такие «плохие» вероятностные свойства, что математическая оценка их влияния на систему практически невозможна. Вот тогда исследователь начинает машинные эксперименты с разными видами этих воздействий и постепенно получает хоть какую-то картину их влияний на систему.

Однако противопоставлять имитационное моделирование математическому, в целом, было бы методически неверно. Правильнее ставить вопрос об их удачном совмещении. Так, строгое решение математических задач, как правило, является составной частью имитационной модели. С другой стороны, исследователь крайне редко удовлетворяется однократным решением поставленной математической задачи. Обычно он стремится решить набор близких задач для выяснения «чувствительности» решения, сравнения с альтернативными вариантами задания исходных данных, а это не что иное, как элементы имитации.

Имитационное моделирование является одной из форм диалога человека с ЭВМ. При удачно организованной активности исследователя имитационное моделирование резко повышает эффективность изучения системы. Оно является особенно незаменимым, когда невозможна строгая постановка математической задачи (полезно попробовать разные постановки), отсутствует математический метод решения задачи (можно использовать имитацию для целенаправленного перебора), имеется значительная сложность полной модели (когда следует имитировать поведение отдельных частей модели). Наконец, имитацией пользуются и в тех случаях, когда невозможно реализовать математическую модель из-за недостатка квалификации исследователя.

Кроме термина «имитационное моделирование» в литературе употребляется словосочетание «машинное или автоматизированное» моделирование. В него вкладывают весьма широкий смысл — от синонима имитации до указания на то, что в исследовании для каких-либо целей используется ЭВМ. Но, наиболее логичным является использование этого понятия в тех случаях, когда манипуляции с моделью целиком или почти целиком выполняются вычислительной техникой и не требуют участия человека.

При автоматизированном моделировании речь идет о компьютерном построении модели, проводимом без участия или с минимальным участием человека. Это оказывается возможным, если сформулированы, формально реализованы и превращены в программные средства правила построения достаточно широкого класса моделей, к которому принадлежит и та конкретная, с которой мы хотим работать. В настоящее время разработан и широко используется для анализа и проектирования систем достаточно широкий спектр алгоритмических и графических языков программирования (C++, C#, Java, Object Pascal, Visual Basic, WPDL, XPDL, BPML, BPMN, BPEL4WS, UML) и систем моделирования (GPSS, ARENA, SADT (IDEF0), Rational Rose).

В заключение этого раздела рассмотрим вопрос, который достаточно важен при создании совокупности программных моделей. Как отлаживать работу отдельных моделей в этой совокупности? Ведь режим и условия работы данной модели определяются ее связями в создаваемой схеме и пока не заработают все остальные модели, мы не можем отлаживать и данную модель.

Эта проблема решается работой с фиктивными данными (связями), заменяющими настоящие данные. Для таких искусственно организованных входов в системном программировании даже возник специальный термин «заглушки». Его вполне можно применить к процессу отладки произвольной совокупности моделей, которые будут на начальных стадиях своей разработки совершенствоваться на «правдоподобных» — специально подобранных заглушках и лишь потом; окончательно доводиться на совместной работе всей совокупности моделей. При этом практика показывает, что чем удачней были выбраны заглушки (из опыта предыдущей работы, из схожих систем, по интуиции, просто перебором большого диапазона входных данных), тем меньше новых проблем возникает на последнем, системном этапе отладки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]