Математическая модель и ее основные элементы. Требования к моделям
Аналитические методы исследования математических моделей. Особенности новой технологии научных исследований. Типовые модели и компоненты универсальных пакетов. Программные средства и их соответствие требованиям активного компьютерного эксперимента.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 31.01.2017 |
Размер файла | 197,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Классификация моделей возникла потому, что для моделей различных типов существуют различия в технологии моделирования. Выделяют изолированные и открытые системы, а также учитывают, является ли модель однокомпонентной или многокомпонентной.
Изначально вычислительные пакеты были ориентированы на эксперименты с изолированными моделями, изучать которые можно с помощью пассивного вычислительного эксперимента, то есть, по сути, речь идет об иной форме столь памятного еще многим пакетного режима. И именно эту черту унаследовали знаменитые MATLAB, Maple, Mathematica и другие математические пакеты. Существующие в них диалоги активно используются в основном при создании модели, но не при ее изучении. Сегодня, с появлением потребности в активном вычислительном эксперименте, ситуация принципиально изменилась. Диалог стал активно использоваться и при проведении эксперимента. Таким образом, основным типом изучаемых моделей становятся открытые системы.
Аналогичная ситуация наблюдается и со вторым «измерением» классификации. В тех же прекрасно работающих с однокомпонентными моделями математических пакетах практически невозможно создать многокомпонентную модель. Пакет Simulink, позволяющий быстро создавать модели из типовых блоков, был обречен на успех, особенно среди инженеров. Однако реализованный в нем подход устаревает, так как восходит к эре аналоговых машин. В последнее время все больше внимания начинает уделяться многокомпонентным моделям различной физической природы и их автоматическому синтезу с использованием других подходов (например, проект Modelica [7]). И хотя в отдельных областях есть несомненные достижения, задачи здесь еще только ставятся.
Попробуем перечислить базовые модели, технологии их построения и исследования в универсальном пакете.
1) Изолированная однокомпонентная динамическая система
Такая модель задается системой обыкновенных дифференциальных и алгебраических уравнений с заданными коэффициентами и начальными условиями. Уравнения могут быть записаны явно, либо, как это часто бывает в теории управления, используется аппарат передаточных функций. Примером простейшей изолированной непрерывной системы может служить математический маятник, поведение которого изучают, например, при наличии или отсутствии трения.
Строгая трактовка изолированной системы не позволяет проводить с ней никаких активных экспериментов. Действительно, даже если параметры модели принадлежат некоторой области, и необходимо исследовать ее поведение при различных значениях параметров, то неявно предполагается, что проводится серия заранее спланированных экспериментов. В каждом конкретном эксперименте сначала фиксируются новые значения параметров, а затем находится решение аналитически или численно. Иными словами, записывается и реализуется цикл на языке пакета.
Изолированные непрерывные системы наиболее просто реализуются в математических пакетах. Пользователь пишет уравнения, цикл, позволяющий менять коэффициенты, внутри которого предусматривает вызов той или иной процедуры визуализации результатов, компилирует или интерпретирует модель и последовательно просматривает результаты в графических окнах. И этого оказывается достаточно для огромного числа пользователей математических пакетов. Если мы хотим, чтобы универсальный пакет был востребован и этой категорией пользователей, необходимо упростить до минимума интерфейс и свести его к привычному для пользователей математических пакетов.
В современных пакетах для моделирования, а они, несомненно, могут применяться для изучения изолированных систем, особенно когда нет возможности получить решение аналитически, перед пользователем иногда открывается столько ненужных ему окон, что он просто теряется и возвращается к испытанным программным средам. Упрощенный интерфейс универсального пакета для пользователей математических пакетов может сводиться к окну редактора уравнений, окну декларации используемых переменных и окну плана эксперимента.
На визуализации результатов необходимо остановиться особо. В математических пакетах традиционно используется математическая двумерная и трехмерная графика и «живые таблицы», позволяющие контролировать ход вычислений. Сопоставить модели ее динамический графический образ сложно, так как для этого требуются навыки программирования. В универсальных пакетах динамический графический образ становится основным инструментом визуализации, и для его формирования существуют специальные редакторы. Если динамический графический образ является элементом описания, то требуется также редактор (двумерной и трехмерной) анимации уже на стадии проектирования модели (такой подход принят, например, в пакетах Anylogic и Ejs). Последовательность заполнения этих окон может быть произвольной: математикам и проектировщикам привычнее начинать с уравнений, преподавателям - с динамического образа.
2) Изолированная однокомпонентная гибридная система
В изолированных однокомпонентных гибридных системах смена поведения зависит исключительно от внутренних событий. Например, в уравнении математического маятника коэффициенты могут меняться периодически или при достижении маятником заданного положения. Модели этого типа достаточно сложно реализуются в математических пакетах, в то же время дискретные системы (частный случай гибридных систем) воспроизводятся достаточно просто во всех пакетах, опирающихся на карту состояния Харела (например, пакет Xjcharts).
Интерфейс пользователя для изолированных однокомпонентных гибридных систем требует еще одного окна - например, окна редактора карт состояния (Simulink, Stateflow) или их расширения - гибридных карт состояний (Model Vision, Anylogic). Существует много различных способов описать смену фаз или режимов - это и сети Петри, и графы связей, но нам кажется наиболее перспективным использование гибридных автоматов.
Для описания дискретных действий в гибридных моделях требуется расширенный набор типов переменных, а также некоторый набор алгоритмических операторов (как минимум, оператор присваивания, условный оператор и оператор цикла).
3) Открытая однокомпонентная гибридная система
Это наиболее востребованная практикой модель, которая позволяет проводить активный компьютерный эксперимент и может быть использована в качестве библиотечной компоненты. Такая модель имеет доступные извне переменные, посредством которых она может взаимодействовать с окружающим миром: с другими компонентами и с экспериментатором. Используя модель маятника в виде изолированной системы, можно построить открытую систему, объявив, например, длину маятника не коэффициентом, а входом, и связав его с движком в окне двумерной анимации. Переход от изолированной модели к открытой может быть нетривиальным: например, маятник, у которого длина стержня непрерывно меняется, описывается совсем другими уравнениями. Окна переменных («живые таблицы») и анимации (по крайней мере, двумерной) становятся интерактивными. Пользователь может с помощью ползунков, круговых регуляторов, кнопок и тумблеров активно воздействовать на модель во время эксперимента. Очевидно, что активный эксперимент требует синхронной визуализации.
Авторы языка Modelica называют компоненту ориентированной, если все ее внешние переменные можно классифицировать либо как входы, значения которых не могут изменяться внутри компоненты, либо как выходы, значения которых, напротив, могут изменяться только внутри компоненты. Ориентированная компонента также называется блоком «вход-состояние-выход».
Блоки до сих пор трактовались как единственно возможные элементарные кирпичики, из которых строятся сложные модели. Блок может работать независимо и параллельно с другими блоками. Из блоков, соединенных связями, можно строить иерархические структурные схемы. Такая трактовка имеет место и в «классическом» пакете Simulink, и в новейшем языке Modelica. Различия касаются только характера связей (ориентированные или неориентированные) и способов автоматического построения эквивалентной однокомпонентной непрерывной динамической системы.
При использовании гибридного автомата для описания динамических систем общего вида даже в элементарном блоке появляется новая «тонкая» структура. В самом деле, гибридная карта состояний, по сути, определяет гибридную систему как композицию (возможно иерархическую) более простых динамических систем (на самом низком уровне вложенности классических динамических систем), приписанных узлам графа. В каждый конкретный момент модельного времени функционирует локальная динамическая система, приписанная текущему состоянию, демонстрируя локальное поведение. Эта локальная динамическая система может быть приписана сразу нескольким состояниям.
Очевидно, что между блоком и локальным поведением нет никакой принципиальной разницы: и то, и другое - это динамические системы (классические или гибридные), и можно говорить о другом типе многокомпонентности - поведенческом, в котором элементарной компонентой становится динамическая система общего вида. Такие компоненты можно складывать (например, объединять уравнения в единую систему) и вычитать (вычеркивать уравнения), формируя из них нужное локальное поведение. Дня гибридных автоматов динамическая система может играть роль элементарного строительного блока. В частном случае таким элементарным блоком может являться система уравнений, так же как и для математических пакетов. Таким образом, гибридную карту состояний можно рассматривать как последовательное соединение динамических систем, в то время как структурная схема является параллельным соединением.
4) Структурная многокомпонентная система с ориентированными блоками
Успех проектирования электрических схем из компонент вселяет надежду на создание пакетов, в которых на основании компонентных и топологических уравнений можно будет строить сколь угодно сложные модели, объединяющие объекты различной физической природы. Основой этих моделей служит блок с особыми внешними переменными - контактами (Modelica), или неориентированный блок. Значения контактов могут меняться как внутри блока, так и извне. Одним из препятствий на этом пути построения многокомпонентных моделей служит то, что возникают трудности при автоматическом построении совокупной системы уравнений (особенно динамически). Но даже если такую систему удается построить, практически невозможно заранее ответить на вопросы: имеет ли она решение, единственное ли оно, какими численными свойствами оно обладает. Во всех существующих пакетах ответы на эти вопросы «перекладываются на плечи» численных методов, а они для этого меньше всего приспособлены. В то же время для ряда областей - проектирование электрических цепей или электромеханических приборов - использование блоков с контактами является общепринятым приемом.
5) Многокомпонентная гибридная система переменной структуры
Модели этого наиболее сложного типа не реализованы в полном объеме ни в одном из известных пакетов. Речь идет о событийно-управляемых многокомпонентных иерархических моделях переменной структуры, построенных из блоков с переменными «вход», «выход», «состояние» и «контакт».
6) Объектно-ориентированное моделирование
Объектно-ориентированный подход в последнее время стал так прочно ассоциироваться с программированием (даже аббревиатуру ООП обычно расшифровывают как Объектно-Ориентированное Программирование), что многие забывают о его прямой связи с моделированием - ведь первоначально он был использован в языке моделирования SIMULA-67. Однако в дальнейшем объектно-ориентированный подход развивался почти исключительно программистами.
Своеобразным итогом тридцатилетнего развития объектно-ориентированного программирования можно считать появление UML, предназначенного для создания объектно-ориентированных спецификаций программных систем на ранних этапах разработки. И только в последние годы объектно-ориентированный подход стал востребованным в своей «родной области» - моделировании. Объектно-Ориентированное Моделирование (ООМ) сегодня весьма модный термин, но на практике этот подход поддерживают не так уж много пакетов.
Объектом принято называть некоторую сущность, которая инкапсулирует в себе данные и методы как единое целое и взаимодействует с внешним окружением через определенный интерфейс. С понятием объекта тесно связано отношение двойственности - «класс-экземпляр». Каждый объект всегда является экземпляром какого-то класса.
Естественным кандидатом на роль объекта в ООМ является, конечно же, компонента. Компонента - совокупность переменных и поведения, она взаимодействует с внешним миром только через внешние переменные. Компонента всегда - явно или неявно - является экземпляром некоторого класса. Например, когда вы в пакете Simulink, который формально не поддерживает ООМ, размещаете на функциональной схеме новый блок, вы неявно порождаете новый экземпляр выбранного вами предопределенного класса из библиотеки. В современном ООМ компонента несет в себе информацию о поведении, структуре и динамическом образе моделируемого объекта. Это и есть три основных элемента определения класса.
Модель может содержать много экземпляров одного и того же класса. Без понятия класса практически невозможно моделировать многокомпонентные системы, имеющие регулярную или переменную структуру.
В ООП различают объекты пассивные и активные. Пассивные объекты (большая часть объектов в программах) только «откликаются» на вызовы методов и сообщений извне, но сами ничего не делают, т. е. не могут изменять значения своих данных по собственной инициативе. Активные объекты (например, экземпляры класса Thread в языке Java) имеют свою собственную «нить управления» и функционируют независимо от других объектов и параллельно с ними. Объекты ООМ, конечно же, активные, причем их активность связана не с циклической последовательностью дискретных действий, а с непрерывным воспроизведением поведения и непрерывной реакцией на внешние воздействия.
Более сложными механизмами являются наследование и полиморфизм. Наследование позволяет строить новые классы, модифицируя старые путем введения новых элементов и переопределения уже существующих. Это очень похоже на объектное программирование, но элементами компоненты модели теперь являются переменные, системы уравнений и карты состояний. Например, чтобы создать модель прыгающего мячика в воздухе, можно взять модель прыгающего мячика в вакууме и переопределить поведение в состоянии «Полет», изменив уравнения с учетом сопротивления воздуха.
Полиморфизм позволяет использовать вместо компоненты одного класса компоненту другого похожего класса. Обычный полиморфизм по наследованию предполагает, что вместо компоненты базового класса всегда может использоваться компонента любого производного класса (например, для локационной станции и аэробус, и истребитель выступают как летательный аппарат). Иногда оказывается полезным полиморфизм по интерфейсу, когда одна компонента может быть заменена другой, имеющей точно такой же набор внешних переменных (например, сопротивление, конденсатор и индуктивность - это все двухполюсники, с точки зрения собирания электрической схемы они одинаковы).
2.3 Существующие программные средства и их соответствие требованиям активного компьютерного эксперимента
Традиционные математические пакеты, такие как Mathcad, Maple, Mathematica, наилучшим образом приспособлены для проведения хорошо спланированного пассивного вычислительного эксперимента для естественнонаучных дисциплин, когда производится серия длительных расчетов с заранее выбранной формой обработки и визуализации результатов для большого числа значений параметров моделей или различных модификаций моделей. В таких многовариантных расчетах накладные расходы, связанные с написанием специальной программы на языке пакета, управляющей экспериментом, с лихвой окупаются той легкостью, с которой возможно повторить все вычисления заново при внесении изменений в исходную модель. В учебном же процессе преимущества математических пакетов наиболее полно проявляются при решении простых, хорошо продуманных преподавателем задач, иллюстрирующих одно конкретное свойство изучаемого объекта. Программирование таких задач сводится к написанию относительно небольших по объему программ, состоящих в основном из микрооператоров, что позволяет получить нужный результат почти без видимых усилий и сосредоточить свое внимание только на изучаемом явлении.
Особое место среди пакетов, предназначенных для изучения естественнонаучных
дисциплин, занимают специализированные учебные пакеты, такие как Modellus, xyZET. Они ориентированы на школьников, школьных преподавателей и студентов университетов, где компьютерное моделирование изучается как один из возможных способов познания действительности. Эти пакеты просты для освоения, содержат достаточно выразительную графику и прекрасно приспособлены для изучения простых неструктурированных моделей, заданных системами дифференциальных уравнений невысокого порядка. Более подробную информацию о них можно найти в [5, 6, 8].
Среди существующих пакетов для моделирования многокомпонентных объектов наиболее распространенными и известными являются коммерческие пакеты, требующие больших усилий для освоения и предназначенные, в основном, для проектирования больших промышленных систем. Стоимость этих пакетов, особенно ориентированных на конкретную прикладную область, достаточно высока, что обычно заставляет пользователя, будь то отдельный ученый или университет, выбирать какой-либо один пакет на долгие годы.
К числу универсальных пакетов, которые используются и для обучения, можно отнести компоненты пакета MATLAB, а именно Simulink и Stateflow, и построенные по их образу и подобию пакеты VisSim, МВТУ. Пакет Simulink пользуется заслуженной популярностью, а его язык блок-схем во многих публикациях стал средством описания изучаемых объектов. Но именно он и подвергается наибольшей критике со стороны авторов языка Modelica, выступающих за «физический» способ построения моделей из неориентированных блоков. В пакете Simulink практически невозможно наглядно реализовать гибридное поведение. Нерешаясь на коренные переделки для реализации гибридного автомата, авторы пакета создают компоненту Stateflow, позволяющую к существующей модели добавлять карту состояния Харела, управляющую сменой поведения модели. Такой способ несколько ранее был реализован в пакете Model Vision 2.1, но от него решено было отказаться, так как модели становились чрезвычайно сложными для восприятия. Это приводило к многочисленным ошибкам при проектировании, и возникали сложности численного моделирования в окрестности точки смены поведения из-за возможных разрывов правой части дифференциальных уравнений.
Среди пакетов для моделирования специально выделим пакет Dymola, поддерживающий продолжающий развиваться универсальный язык моделирования Modelica. Несмотря на то, что Modelica поддерживает как ориентированные, так и неориентированные блоки, основным достоинством авторы этого пакета считают возможность соединять неориентированные блоки с помощью контактов. В этом плане, несомненно, достигнуто очень много. Однако и здесь смена поведения остается камнем преткновения. Если проследить за развитием языка в ежегодно публикуемых документах, то можно увидеть, как сокращаются возможности смены поведения блока. И это не случайно, так как возникают трудности математического характера при построении совокупной системы уравнений при соединении неориентированных блоков, меняющих свое поведение.
Пакеты Model Vision Studium [3], AnyLogic наиболее приспособлены для проведения активных компьютерных экспериментов. Они используют современные объектно-ориентированные входные языки. Пакеты Model Vision Studium, AnyLogic используют гибридные автоматы как элементы входного языка, однако не могут работать с неориентированными блоками. Пакет Model Vision Studium снабжен редактором трехмерной анимации (рис. 2), компактен и прост в освоении. Пакет AnyLogic позволяет строить апплеты, описывать поведение непосредственно на языке Java. Следовательно, он более приспособлен для создания моделей со сложным дискретным поведением.
Здесь будет уместно перечислить достоинства гибридного автомата при использовании его в пакетах моделирования. Гибридный автомат:
- компактно и наглядно описывает все возможные варианты смены поведения подобно тому, как конечный автомат столь же наглядно описывает все допустимые цепочки принимаемого им языка;
- требует указания в явном виде особых событий, приводящих к смене поведения, и облегчает работу численных методов в окрестности точки смены поведения;
позволяет ввести «алгебру» локальных поведений, упрощая тем самым применение объектно-ориентированного подхода;
- позволяет легко описать сложные эксперименты с моделью, облегчая проектирование испытательных стендов;
- позволяет в наглядной форме следить за появлением событий, приводящих к смене поведения, и самими переключениями при отладке.
Не останавливаясь на описании других пакетов, можно утверждать, что все они настолько различны (и в данном случае это недостаток), что нельзя выделить какой-либо один. Это чрезвычайно важно как для отдельного пользователя, так и для учебного процесса в целом.
Все перечисленные выше пакеты обладают еще одним, чрезвычайно важным с нашей точки зрения недостатком. В силу того, что они являются коммерческими, они вбирают в себя в момент создания последние научные достижения, профильтрованные через индивидуальные предпочтения разработчиков, и надолго замораживают их. Действительно, создание конкурентоспособного нового продукта требует огромного стартового финансирования и усилий больших творческих коллективов специалистов различного профиля, и его коренная перестройка экономически невыгодна.
Список литературы
1. Колесов Ю. Б., Сениченков Ю. Б. Визуальное моделирование сложных динамических систем.- СПб.: Мир и семья и Интерлайн, 2000.- 240 с.
2. Бенькович Е. С., Колесов Ю. Б., Сениченков Ю. Б. Практическое моделирование сложных динамических систем.- СПб.: БХВ, 2001.- 441 с.
3. Колесов Ю. Б., Сениченков Ю. Б. Model Vision Studium - инструмент для объектно-ориентированного визуального моделирования сложных динамических систем // Труды Международной научно-технической конференции: Гибридные системы (7-9 июня, 2001).- СПб.- С. 5-46.
4. Колесов Ю. Б, Сениченков Ю. Б. Компьютерное моделирование динамических систем // Научно-технические ведомости СПбГТУ.- 2002.- № 3.-С. 93-102.
5. Сениченков Ю. Б. CoLoS - новые методы в обучении. Опыт международного сотрудничества //Компьютерные инструменты в образовании.- 1999.-№1.-С. 11-15.
6. Иванов В. Б. Опыт использования пакета MODELLUS при обучении физике и математике // Компьютерные инструменты в образовании.- 2000.- № 3-4.- С. 53-59.
7. Introduction to physical modeling with Modelica /Edited by M. Tiller. The Kluwer international series in engineering and computer science.- Vol. 615.
8. Haertel H., Ludke M. A computer supported course in mechanics. (Based on the simulation program xyZET and hypertext) // Computer Aided Learning and
Instructions in Science and Engineering. Proceedings of CALISCE'96. Lecture Notes in Computer Science. - 1996.- P. 381-389.
9. A.А.Самарский, П.Н.Вабищевич Математическое моделирование и вычислительный эксперимент. - Москва: Институт математического моделирования РАН
Размещено на Allbest.ru
Подобные документы
Типы математических моделей. Mathcad как программа для выполнения и документирования инженерных и научных расчётов, основные возможности. Математическая модель складского хозяйства без очереди на Mathcad. График общей стоимости от величины партии.
контрольная работа [44,2 K], добавлен 19.01.2012Основные подходы к математическому моделированию макромолекул. Методы молекулярной динамики и Монте-Карло. Механическая модель молекулы. Применения компьютерного эксперимента. Механическая модель молекулы. Преимущества компьютерного моделирования.
реферат [44,9 K], добавлен 19.03.2009Классы и группы моделей представления знаний. Состав продукционной системы. Классификация моделей представления знаний. Программные средства для реализации семантических сетей. Участок сети причинно-следственных связей. Достоинства продукционной модели.
презентация [380,4 K], добавлен 14.08.2013Сущность математических моделей, классификация и принципы их построения. Анализ операционного исследования. Этапы решения задачи принятия оптимальных решений с помощью ЭВМ. Примеры задач линейного программирования. Математические методы экспертных оценок.
курсовая работа [56,0 K], добавлен 20.11.2015Обзор и сравнительный анализ современных математических пакетов. Вычислительные и графические возможности системы MATLAB, а также средства программирования в среде MATLAB. Основные возможности решения задач оптимизации в табличном процессоре MS Excel.
дипломная работа [6,6 M], добавлен 04.09.2014Процессы функционирования различных систем и сетей связи как стохастических, динамических, дискретно-непрерывных математических моделей. Блоки языка GPSS, использованные в программе. Общая информация о результатах работы модели, о группах транзактов.
курсовая работа [27,3 K], добавлен 18.01.2010Оптимизационные модели на производстве. Компьютерное моделирование и программные средства. Трехмерное моделирование в T-Flex. Инженерный анализ в ANSYS. Интерфейс табличного процессора MS Excel. Построение математической модели задачи, ее реализация.
курсовая работа [5,2 M], добавлен 13.04.2014Понятие верификации моделирующих компьютерных программ. Классификация математических моделей. Языки программирования, используемые для имитационных моделирующих программ. Способы исследования реальных систем. Методы повышения валидации и доверия к модели.
шпаргалка [38,8 K], добавлен 02.10.2013Построение модели системы обслуживания в банке. Описание блоков Vxod, tip klienta, Vyxod. Календарь событий и дополнительные методы развития концепций. Этап проведения компьютерного эксперимента с моделью. Рассмотрение структуры файлов результатов.
курсовая работа [2,1 M], добавлен 09.04.2012Понятие и особенности конструкции экзоскелета, его внутренняя структура и элементы, предъявляемые требования и история развития. Исследование сфер применения данной технологии, обзор машин и механизмов, используемых при ее создании, программные средства.
курсовая работа [1,2 M], добавлен 17.03.2015