Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Л. Этапы имитационного моделирования



Как уже отмечалось, имитационное моделирование применя­ют для исследования сложных систем. Естественно, что и имита­ционные модели оказываются достаточно сложными как с точки зрения заложенного в них математического аппарата, так и в пла­не машинной реализации. При этом сложность любой модели опре­деляется двумя факторами: сложностью исследуемого объекта-оригинала и точностью расчетов.


Рис. 21.1. Этапы машинного эксперимента:  прямая связь; обратная связь


282


Использование машинного эксперимента как средства реше­ния сложных прикладных проблем, несмотря на присущую каж­дой конкретной задаче специфику, имеет ряд общих черт (эта­пов). На рис. 21.1 представлены этапы применения математиче­ской (имитационной) модели по взглядам одного из основопо­ложников метода математического моделирования академика А. А. Самарского. Каждому из показанных на рисунке этапов при­сущи собственные приемы, методы и технологии. В данном учеб­нике вопросы построения (разработки) математической модели, алгоритмизации и программирования (за исключением выбора языка) не рассматриваются. Отметим лишь, что все эти этапы


носят ярко выраженный творческий характер и требуют от разра­ботчика модели особой подготовки.

После того как имитационная модель реализована на ЭВМ, исследователь должен выполнить следующие этапы (их часто на­зывают технологическими):

1) испытание модели;

2) исследование свойств модели;

3) планирование имитационного эксперимента;

4) эксплуатация модели (проведение расчетов).

Кратко охарактеризуем первые два этапа (изложение методов математической теории планирования эксперимента и организа­ции проведения модельных расчетов и обработки их результатов выходят за рамки настоящего учебника).

Испытание имитационной модели. Этап включает работы по че­тырем направлениям: 1) задание исходной информации; 2) ве­рификация имитационной модели; 3) проверка адекватности модели; 4) калибровка имитационной модели.

Задание исходной информации. Процедура задания исходной ин­формации полностью определяется типом моделируемой систе­мы:

• если моделируется функционирующая (существующая) си­стема, проводят измерение характеристик ее функционирования и затем используют эти данные в качестве исходных при модели­ровании;

• моделируется проектируемая система, проводят измерения на прототипах;

• прототипов нет, используют экспертные оценки параметров и переменных модели, формализующих характеристики реальной системы.

Каждому из этих вариантов присущи собственные особенно­сти и сложности. Так, при проведении измерений на существу­ющих и проектируемых системах применяют качественные изме­рительные средства, а экспертная оценка исходных данных пред­ставляет собой комплекс достаточно сложных процедур получе­ния, обработки и интерпретации экспертной информации.

Верификация имитационной модели. Данный этап заключается в доказательстве утверждений соответствия алгоритма функциони­рования модели цели моделирования путем формальных и нефор­мальных исследований реализованной программы модели.

Неформальные исследования представляют собой ряд процедур, входящих в автономную и комплексную отладку.

Формальные методы включают:

• использование специальных процессоров-«читателей» про­грамм;

• замену стохастических элементов модели детерминирован­ными;

283


• тест на так называемую непрерывность моделирования и др.

Проверка адекватности модели. Количественную оценку аде­кватности модели объекту исследования проводят в случае, если можно определить значения отклика системы в ходе натурных испытаний. Наиболее распространены три способа проверки:

1) по средним значениям откликов модели и системы;

2) дисперсиям отклонений откликов;

3) максимальному значению абсолютных отклонений откликов.

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

Калибровка имитационной модели. К калибровке имитационной модели приступают в случае, когда модель оказывается неаде­кватной реальной системе. За счет калибровки иногда удается уменьшить неточности описания отдельных подсистем (элемен­тов) реальной системы и тем самым повысить достоверность по­лучаемых модельных результатов.

При калибровке в модели возможны изменения трех типов:

1) глобальные структурные изменения;

2) локальные структурные изменения;

3) изменение так называемых калибровочных параметров в результате реализации достаточно сложной итерационной проце­дуры, включающей многократное построение регрессионных за­висимостей и статистическую оценку значимости улучшения мо­дели на очередном шаге.

При необходимости проведения некоторых локальных и осо­бенно глобальных структурных изменений приходится возвращать­ся к содержательному описанию моделируемой системы и искать дополнительную информацию о ней.

Исследование свойств имитационной модели. После испытаний имитационной модели переходят к изучению ее свойств. При этом наиболее важны четыре процедуры: 1) оценка погрешности ими­тации; 2) определение длительности переходного режима в ими­тационной модели; 3) оценка устойчивости результатов имита­ции; 4) исследование чувствительности имитационной модели.

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

284


уже отмечалось, для подавляющего числа практических задач стан­дартные (встроенные) генераторы дают вполне пригодные после­довательности ПСЧ.

Определение длительности переходного режима. Обычно имита­ционные модели применяются для изучения системы в типичных для нее и повторяющихся условиях. В большинстве стохастических моделей требуется некоторое время t0 для достижения моделью установившегося состояния. Под статистическим равновесием или установившимся состоянием модели понимают такое состояние, в котором противодействующие влияния сбалансированы и ком­пенсируют друг друга. Иными словами, модель находится в рав­новесии, если ее отклик не выходит за предельные значения.

Существуют три способа уменьшения влияния начального пе­риода на динамику моделирования сложной системы:

1) использование «длинных прогонов», позволяющих получать результаты после заведомого выхода модели на установившийся режим;

2) исключение из рассмотрения начального периода прогона;

3) выбор таких начальных условий, которые ближе всего к типичным.

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

Для отделения переходного режима от стационарного у иссле­дователя должна быть возможность наблюдения за моментом вхо­да контролируемого параметра в стационарный режим. Часто ис­пользуют такой метод: строят графики изменения контролируе­мого параметра в модельном времени и на нем выявляют пере­ходный режим. На рис. 21.2 представлен график изменения к-то контролируемого параметра модели gk в зависимости от модель­ного времени /0. На рисунке видно, что начиная с времени ^перех, этот параметр «вошел» в установившийся режим со средним зна­чением gk ■ Если построить подобные графики для всех (или боль­шинства существенных) контролируемых параметров модели, определить для каждого из них длительность переходного режима и выбрать из них наибольшую, в большинстве случаев можно счи­тать, что после этого времени все интересующие исследователя параметры находятся в установившемся режиме.

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

285


Рис. 21.2. Определение длительности переходного периода для к-то конт­ролируемого параметра модели

приводящие к наибольшей длительности переходных процессов. Иногда для увеличения точности результатов проводят замедле­ние изменения системного времени.

Оценка устойчивости результатов имитации. Под устойчиво­стью результатов имитации понимают степень их нечувствитель­ности к изменению входных условий. Универсальная процедура оценки устойчивости отсутствует. На практике дисперсию откли­ка модели Yчасто находят по нескольким компонентам и прове­ряют, увеличивается ли она с ростом интервала моделирования. Если увеличения дисперсии отклика не наблюдается, результаты имитации считают устойчивыми.

Дадим важную практическую рекомендацию: чем ближе струк­тура модели к структуре реальной системы и чем выше степень детализации учитываемых в модели факторов, тем шире область устойчивости (пригодности) результатов имитации.

Исследование чувствительности модели. Работы на этом этапе имеют два направления:

1) установление диапазона изменения отклика модели при варьировании каждого параметра;

2) проверка зависимости отклика модели от изменения пара­метров внешней среды.

В зависимости от диапазона изменения откликов Y при изме­нении каждого компонента вектора параметров X определяется стратегия планирования экспериментов на модели. Если при зна­чительной амплитуде изменения некоторого компонента вектора параметров модели отклик меняется незначительно, то точность его представления в модели не играет существенной роли.

Проверка зависимости отклика модели Кот изменений пара­метров внешней среды основана на расчете соответствующих част­ных производных и их анализе.

286










Языки моделирования

Чтобы реализовать на ЭВМ модель сложной системы, нужен аппарат моделирования, который в принципе должен быть спе­циализированным. Он должен предоставлять исследователю:

• удобные способы организации данных, обеспечивающие про­стое и эффективное моделирование;

• удобные средства формализации и воспроизведения динами­ческих свойств моделируемой системы;

• возможность имитации стохастических систем, т. е. процедур генерации ПСЧ {^вероятностного (статистического) анализа ре­зультатов моделирования;

• простые и удобные процедуры отладки и контроля программы;

• доступные процедуры восприятия и использования языка и др.
Вместе с тем существующие языки программирования общего

назначения для достаточно широкого круга задач позволяют без значительных затрат ресурсов создавать весьма совершенные ими­тационные модели. Можно сказать, что они способны составить конкуренцию специализированным языкам моделирования. Для систематизации представлений о средствах реализации имитаци­онных моделей приведем основные определения и краткие сведе­ния о подходах к выбору соответствующего языка.

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

Языки моделирования позволяют описывать моделируемые системы в терминах, разработанных на базе основных понятий имитации. С их помощью можно организовать процесс общения заказчика и разработчика модели. Различают языки моделирова­ния непрерывных и дискретных процессов.

В настоящее время сложилась ситуация, когда не следует про­тивопоставлять языки общего назначения (ЯОН) и языки имитаци­онного моделирования (ЯИМ). На рис. 21.3 представлена классифи­кация языков программирования по разным основаниям, кото­рая может служить основой для формирования рационального подхода к выбору конкретного языка реализации имитационной модели исследуемой ИС, о чем будет подробнее сказано далее [5].

Из названий языков легко заметить, что некоторые ЯИМ ба­зируются на конструкциях ЯОН: например, FORSIM — на языке FORTRAN; ПЛИС - на языке PL и т.д.

287


Рис. 21.3. Классификация программных средств моделирования систем

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

Существует несколько подходов к выбору языка, на котором будет реализовываться разрабатываемая имитационная модель. Рассмотрим ставшую классической двухэтапную схему выбора, имеющую широкое практическое применение [47, 81].

На первом этапе следует найти ответы на несколько вопро­сов.

1. Имеются ли хорошо написанные руководства и инструкции для пользователей?

288


2. Совместим ли язык транслятора с имеющимися вычисли­тельными системами?

3. Можно ли данный язык использовать в других вычислитель­ных системах, способных решать задачи пользователя?

4. Обеспечивает ли транслятор языка выдачу информации об ошибках и их глубокую диагностику?

5. Насколько эффективен данный язык с учетом общего време­ни подготовки, программирования, отладки программы, компи­ляции и ее прогона на ЭВМ?

6. Какова стоимость внедрения, эксплуатации и обновления ПО для данного языка?

7. Знаком ли язык и, если нет, легко ли его изучить?

8. Оправдает ли частота использования языка в будущих моде­лях затраты на его изучение и освоение?

По результатам ответов на данные вопросы, как правило, от­бираются несколько языков. Окончательный выбор основывается на учете характеристик конкретной задачи при ее решении на определенной машине.

Второй этап выбора тоже предусматривает поиск ответов на вопросы.

1. Какова область применения языка и его пригодность для опи­сания явлений реального мира (методы прогнозирования, ориен­тация, способность генерировать случайные факторы)?

2. Насколько легко осуществляется хранение и извлечение дан­ных, характеризующих состояния системы и работу ее отдельных частей?

3. Обеспечивается ли необходимая гибкость и каковы возмож­ности языка в отношении модифицирования состояний систе­мы?

4. Насколько легко данный язык может описывать динамиче­ское поведение?

5. Каковы выходные формы документов, чем они полезны и какой статистический анализ возможен на основе этих данных?

6. Насколько просто вставлять в модель стандартные подпро­граммы, написанные пользователями?

Приведенные вопросы можно конкретизировать или расши­рять с учетом современного уровня и перспектив развития техни­ческих, программных средств и информационных технологий, но подход к выбору языка является неизменно актуальным и конст­руктивным.

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

289


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

Помимо приведенной классификации языков моделирования представляют несомненный интерес еще два вопроса.

1. Каким образом развивались (и развиваются) средства про­
граммирования (моделирования)?

2. Какова топология языков программирования?
Ответы на эти вопросы дадим, основываясь на [9].
Поколения языков программирования. Можно выделить две тен­
денции в развитии средств программирования:

1) смещение отдельных акцентов от программирования от­дельных деталей к программированию более сложных компонен­тов;

2) развитие и совершенствование языков высокого уровня.

Таким образом эволюция шла от императивных языков, ука­зывающих ЭВМ, что делать, к декларативным, описывающим ключевые абстракции проблемной области.

Можно провести следующие аналогии: если процедуры и функ­ции — глаголы, а данные — существительные, то процедурные программы строятся из глаголов, а объектно-ориентированные — из существительных.

Наиболее известные языки высокого уровня принято группи­ровать в четыре поколения в зависимости от того, какие языко­вые конструкции в них впервые появились.

Первое поколение (1954—1958). Наиболее известными языками являются:

. FORTRAN I;

. ALGOL-58;

• Flowmatic;
. IPL V.

Второе поколение (1959—1961). Можно назвать такие языки, как:

• FORTRAN II — подпрограммы, раздельная компиляция;

• ALGOL-60 — блочная структура, типы данных;

• COBOL — описание данных, работа с файлами;

• Lisp — обработка списков, указатели.

Третье поколение (1962—1970). К нему относятся следующие языки:

. PL/1 - сочетает функции FORTRAN, ALGOL и COBOL;

• ALGOL-68 — более строгий преемник ALGOL-60; . PASCAL - преемник ALGOL-60;

• SIMULA — классы, абстрактные данные.

290


Четвертое {«потерянное») поколение (1970— 1980). Было созда­но более 2 000 языков. Перечислим наиболее известные (с указа­нием предшественника):

. Smalltalk (SIMULA);

. Ada (ALGOL-68 + PASCAL + SIMULA + Alphard + CLU);

. CLOS (Lisp + LOOPS + Flavors);

. C++ (C + SIMULA);

. Eiffel (SIMULA + Ada).

Языки четвертого поколения получили в ] 990-х гг. дальнейшее развитие. В настоящее время можно говорить об объектных или объектно-ориентированных языках. Наибольшее распространение получили Object Pascal, C++ и Ada.

Отметим еще одну важную тенденцию — значительное разви­тие получили средства обеспечения комфортного (графического) интерфейса для программиста, что привело к созданию так назы­ваемых сред программирования (прежде всего, Delphi (базовый язык — Object Pascal) и Builder C++ (базовый язык — C++) фир­мы Borland). Весьма удобным средством разработки приложений




в


Рис. 21.4. Топология языков:

а — первого и начала второго поколе­ний; б — позднего второго и раннего тре­тьего поколений; в — конца третьего по­коления


291


Рис. 21.5. Топология в объектных и объектно-ориентированных языках

является язык VBA (Visual Basic for Applications), широко исполь­зуемый в наиболее распространенном в мире пакете MS Office.

Топологии языков программирования. На рис. 21.4 и 21.5 показа­ны топологии языков программирования [9]. Объектные и объек­тно-ориентированные языки позволяют описывать объект с по­мощью определенных блоков и проводить укрупненные исследо­вания систем. Топология реализует иерархическую систему техно­логии управления организациями в экономике страны.


РАЗДЕЛ IV

ТЕХНОЛОГИЯ СОЗДАНИЯ И ПРИМЕНЕНИЯ В УПРАВЛЕНИИ СИСТЕМ ИСКУССТВЕННОГО

ИНТЕЛЛЕКТА

ГЛАВА 22. МЕТОДОЛОГИЧЕСКИЕ ОСНОВЫ ТЕОРИИ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА


Поделиться:



Последнее изменение этой страницы: 2019-05-08; Просмотров: 268; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.065 с.)
Главная | Случайная страница | Обратная связь