Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Л. Этапы имитационного моделирования
Как уже отмечалось, имитационное моделирование применяют для исследования сложных систем. Естественно, что и имитационные модели оказываются достаточно сложными как с точки зрения заложенного в них математического аппарата, так и в плане машинной реализации. При этом сложность любой модели определяется двумя факторами: сложностью исследуемого объекта-оригинала и точностью расчетов.
Использование машинного эксперимента как средства решения сложных прикладных проблем, несмотря на присущую каждой конкретной задаче специфику, имеет ряд общих черт (этапов). На рис. 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. Какова топология языков программирования? 1) смещение отдельных акцентов от программирования отдельных деталей к программированию более сложных компонентов; 2) развитие и совершенствование языков высокого уровня. Таким образом эволюция шла от императивных языков, указывающих ЭВМ, что делать, к декларативным, описывающим ключевые абстракции проблемной области. Можно провести следующие аналогии: если процедуры и функции — глаголы, а данные — существительные, то процедурные программы строятся из глаголов, а объектно-ориентированные — из существительных. Наиболее известные языки высокого уровня принято группировать в четыре поколения в зависимости от того, какие языковые конструкции в них впервые появились. Первое поколение (1954—1958). Наиболее известными языками являются: . FORTRAN I; . ALGOL-58; • Flowmatic; Второе поколение (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; Просмотров: 292; Нарушение авторского права страницы