Санкт-Петербургский государственный аграрный университет
Кафедра философии
Реферат на тему:
“Математическое и компьютерное моделирование”
Выполнил: Румянцев Д.А. аспирант каф. НТСМ
Руководитель: д.т.н., профессор Сковородин В.Я.
Санкт-Петербург
2005
Содержание
Введение. 3
1. Математическое моделирование. 4
1.1 Краткая информация о математическом моделировании. 4
1.2 Математизация знаний. 6
1.3 Использование математических моделей. 7
1.4 Аналитические методы исследования математических моделей. 7
1.5 Использование компьютеров. 8
1.6 Обработка экспериментальных данных. 9
1.7 Математическая модель прибора. 10
1.8 Вычислительный эксперимент. 10
1.9 Основные особенности новой технологии научных исследований. 13
1.10 Вычислительный эксперимент в науке и технологии. 14
2. Компьютерное моделирование. 16
2.1 Краткая информация о компьютерном моделировании. 16
2.2 Типовые модели и компоненты универсальных пакетов. 17
2.2.1 Изолированная однокомпонентная динамическая система. 18
2.2.2 Изолированная однокомпонентная гибридная система. 19
2.2.3 Открытая однокомпонентная гибридная система. 19
2.2.4 Структурная многокомпонентная система с ориентированными блоками. 20
2.2.5 Многокомпонентная гибридная система переменной структуры.. 20
2.2.6 Объектно-ориентированное моделирование. 21
2.3 Существующие программные средства и их соответствие требованиям активного компьютерного эксперимента. 22
2.4 Модульный подход к разработке универсальных пакетов. Проект CoLoS. 23
Заключение. 25
Список литературы.. 26
Введение
В связи с бурным развитием техники и компьютеризацией ремонтных процессов на предприятиях тема математического и компьютерного моделирования является наиболее актуальной на данный момент.
В настоящее время складываются основы новой методологии научных исследований - математического моделирования и вычислительного эксперимента. Сущность этой методологии состоит в замене исходного объекта его математической моделью и исследовании современными вычислительными средствами математических моделей. Методология математического моделирования бурно развивается, охватывая все новые сферы - от разработки больших технических систем и управления ими до анализа сложнейших экономических и социальных процессов.
Многие пользователи, искренне желая применить компьютерное моделирование в своей практической деятельности, сталкиваются с серьезными трудностями при освоении и использовании современных программных средств. Для работы с ними все еще требуются знания, не относящиеся непосредственно к моделированию, а проведение вычислительного эксперимента остается кропотливой и многотрудной работой. В то же время типовых задач моделирования не так уж и много, и для них можно создать удобный и понятный интерфейс в рамках одного, «универсального» пакета.
Вышеперечисленным проблемам будет просвещенна моя работа.
1. Математическое моделирование
1.1 Краткая информация о математическом моделировании
Широкое применение математических методов позволяет поднять общий уровень теоретических исследований, дает возможность проводить их в более тесной связи с экспериментальными исследованиями. Математическое моделирование может рассматриваться как новый метод познания, конструирования, проектирования, который сочетает в себе многие достоинства как теории, так и эксперимента. Работа не с самим объектом (явлением, процессом), а с его моделью дает возможность безболезненно, относительно быстро и без существенных затрат исследовать его свойства и поведение в любых мыслимых ситуациях (преимущества теории). В то же время вычислительные (компьютерные, имитационные) эксперименты с моделями объектов позволяют, опираясь на мощь современных вычислительных методов и технических инструментов информатики, подробно и глубоко изучать объекты в достаточной полноте, недоступной чисто теоретическим подходам (преимущества эксперимента).
Технические, экологические, экономические и иные системы, изучаемые современной наукой, больше не поддаются исследованию (в нужной полноте и точности) обычными теоретическими методами. Прямой натурный эксперимент над ними долог, дорог, часто либо опасен, либо попросту невозможен. Вычислительный эксперимент позволяет провести исследование быстрее и дешевле. Математическое моделирование является в настоящее время одной из важнейших составляющих научно-технического прогресса. Без применения этой методологии в развитых странах не реализуется ни один крупномасштабный технологический, экологический или экономический проект.
Рождение и становление методологии математического моделирования пришлось на конец 40-х-начало 50-х годов XX века и было обусловлено по крайней мере двумя причинами. Первым, но не основным, побудительным мотивом послужило появление компьютеров, которые избавили исследователей от огромной по объему рутинной вычислительной работы. Второй, более важной, причиной явился беспрецедентный социальный заказ - выполнение национальных программ СССР и США по созданию ракетно-ядерного щита. Эти сложнейшие научно-технические проблемы не могли быть реализованы традиционными методами без широкого использования вычислительных средств. Ядерные взрывы и полеты ракет и спутников были промоделированы сначала на компьютерах и лишь затем претворены на практике.
Основу математического моделирования составляет триада модель - алгоритм - программа. Математические модели реальных исследуемых процессов сложны и включают системы нелиненых функционально-дифференциальных уравнений. Ядро математической модели составляют уравнения с частными производными.
На первом этапе вычислительного эксперимента выбирается (или строится) модель исследуемого объекта, отражающая в математической форме важнейшие его свойства - законы, которым он подчиняется, связи, присущие составляющим его частям, и т. д. Математическая модель (ее основные фрагменты) исследуется традиционными аналитическими средствами прикладной математики для получения предварительных знаний об объекте.
Второй этап связан с выбором (или разработкой) вычислительного алгоритма для реализации модели на компьютере. Необходимо получить искомые величины с заданной точностью на имеющейся вычислительной технике. Вычислительные алгоритмы должны не искажать основные свойства модели и, следовательно, исходного объекта, они должны быть адаптирующимися к особенностям решаемых задач и используемых вычислительных средств. Изучение математических моделей проводится методами вычислительной математики, основу которых составляют численные методы решения задач математической физики - краевых задач для уравнений с частными производными.
На третьем этапе создается программное обеспечение для реализации модели и алгоритма на компьютере. Программный продукт должен учитывать важнейшую специфику математического моделирования, связанную с использованием ряда (иерархии) математических моделей, многовариантностью расчетов. Это подразумевает широкое использование комплексов и пакетов прикладных программ, разрабатываемых, в частности, на основе объектно-ориентированного программирования.
Успех математического моделирования определяется одинаково глубокой проработкой всех основных звеньев вычислительного эксперимента. Опираясь на триаду модель - алгоритм - программа, исследователь получает в руки универсальный, гибкий и недорогой инструмент, который вначале отлаживается, тестируется и калибруется на решении содержательного набора пробных задач. После этого проводится широкомасштабное исследование математической модели для получения необходимых качественных и количественных свойств и характеристик исследуемого объекта.
Вычислительный эксперимент по своей природе носит междисциплинарный характер, невозможно переоценить синтезирующую роль математического моделирования в современных научно-технических разработках. В совместных исследованиях участвуют специалисты в прикладной области, прикладной и вычислительной математике, по прикладному и системному программному обеспечению. Вычислительный эксперимент проводится с опорой на широкое использование самых разных методов и подходов - от качественного анализа нелинейных математических моделей до современных языков программирования.
Моделирование в том или ином виде присутствует почти во всех видах творческой деятельности. Математическое моделирование расширяет сферы точного знания и поле приложений рациональных методов. Оно базируется на четкой формулировке основных понятий и предположений, апостериорном анализе адекватности используемых моделей, контроле точности вычислительных алгоритмов, квалифицированной обработке и анализе данных расчетов.
Решение проблем жизнеобеспечения на современном этапе основывается на широком использовании математического моделирования и вычислительного эксперимента. Вычислительные средства (компьютеры и численные методы) традиционно хорошо представлены в естественнонаучных исследованиях, прежде всего в физике и механике. Идет активный процесс математизации химии и биологии, наук о земле, гуманитарных наук и т.д.
Наиболее впечатляющие успехи достигнуты при применении математического моделирования в инженерии и технологии. Компьютерные исследования математических моделей в значительной степени заменили испытания моделей летательных аппаратов в аэродинамических трубах, взрывы ядерных и термоядерных устройств на полигонах.
Современные информационные технологии используются в медицине. Сбор и анализ диагностических данных позволяет провести своевременную диагностику заболеваний. Например, компьютерный томограф является примером того, как использование математических методов обработки больших массивов данных позволило получить качественно новый медицинский инструментарий.
Здесь изложены основные подходы к построению и анализу математических моделей, общие для различных областей знания, не зависящие от конкретной специфики. Окружающий людей мир един, что проявляется, в частности, в универсальности математических моделей, в использовании одних и тех же математических конструкций для описания различных явлений и объектов. Указаны общие черты вычислительного эксперимента с теоретическими и экспериментальными методами в научных исследованиях. Ниже приводится краткое описание различных типов вычислительного эксперимента. Вычислительный эксперимент рассматривается как наиболее высокая ступень математического моделирования, порожденная преобладающим использованием компьютеров и численных методов для изучения математических моделей.
1.2 Математизация знаний
Математизация научного знания, под которой понимается применение математических понятий в естественных и гуманитарных науках, технике, является приметой нашего времени. Часто и уровень развития той или иной науки характеризуется по степени использования математических методов. Известный афоризм "Во всяком знании столько науки, сколько в ней математики" отражает это мнение.
На эмпирическом уровне развития науки описываются наблюдаемые явления, проводятся опыты, собираются и классифицируются экспериментальные данные. Для теоретического уровня характерно введение новых абстракций и идеализаций, понятий, формулировка основных законов, образующих ядро теории. При этом достигается целостный взгляд на исследуемый объект, дается единое истолкование всей совокупности экспериментальных данных.
Большая эвристическая роль теории проявляется в том, что она позволяет предсказать новые, ранее не известные характеристики объекта, явления или процесса. История развития науки содержит блестящие иллюстрации этого: открытие Нептуна, открытие позитрона и т.д. Математические идеи и методы служат не просто математическими украшениями, а действенными средствами количественного и качественного анализа.
Различные науки имеют разный уровень математизации. Для наук, в которых превалирующее значение имеют качественные математические модели, характерен невысокий (более точно, относительно невысокий) уровень математизации. Степень математизации можно характеризовать по тому, какие математические модели используются и насколько широко. Например, применение математики в механике базируется на использовании систем уравнений с частными производными. Причем такие математические модели используются не от случая к случаю, а во всех разделах механики, таких как теория упругости, гидро- аэродинамика и т.д. Большой уровень математизации характерен и для физики, хотя в различных ее разделах математические методы пока используются в разной степени.
В настоящее время отмечается все возрастающий уровень математизации химии. Например, химическая кинетика базируется на системах обыкновенных дифференциальных уравнений, химическая гидродинамика - на уравнениях в частных производных и т.д. Повышается и уровень математизации биологии. В этой связи достаточно сослаться на классические работы В.Вольтерра по моделированию системы хищник - жертва, выполненные еще в начале двадцатого века.
Мы являемся свидетелями все более широкого использования математических идей в экономике, истории и других гуманитарных науках. Процесс математизации наук идет чрезвычайно быстро благодаря опыту, накопленному при математизации механики и физики, благодаря достигнутому уровню развития самой математики. Применение математики в химии и биологии в большой степени базируется на уже разработанном ранее математическом аппарате. Поэтому темпы математизации этих наук в значительной степени сдерживаются только уровнем развития самой химии, самой биологии. Здесь важное значение имеет и психологический фактор боязни математики. Без развития экспериментальных и теоретических исследований существенное продвижение за счет только математических методов невозможно. Успешное применение математических методов требует прежде всего глубокого овладения содержанием исследуемого процесса или явления, необходимо быть прежде всего специалистом в прикладной области, а потом уже математиком.
Единство природы проявляется в том, что для описания различных физических, химических, биологических и т.д. процессов и явлений применяются одни и те же математические модели. Это свойство конечного числа математических моделей отражает прежде всего их абстрактность. Одно и то же математическое выражение (понятие) может описывать совершенно различные процессы, характеристики. Так например, уравнение Лапласа описывает движение несжимаемой жидкости в гидродинамике, электростатическое поле вне заряженных тел, стационарное тепловое поле, прогиб мембраны в теории упругости и т.д. Как отмечал А.Пуанкаре "Математика - это искусство давать разным вещам одно наименование". Это позволяет, в частности, при исследовании одного конкретного явления или процесса использовать результаты, полученные при исследовании другого явления или процесса. В такой общности, единстве математических моделей проявляется интегрирующая роль (ее наддисциплинарный характер) математики, ее методов.
1.3 Использование математических моделей
При математизации научных знаний выделяется этап абстрагирования от конкретной природы явления, идеализации и выделения его математической формы (строится математическая модель). Именно абстрактность математической модели порождает определенные трудности для ее применения к описанию конкретного явления или процесса. Сейчас, благодаря накопленному опыту, процесс идеализации, абстрагирования проходит значительно спокойнее и быстрее в различных науках.
Вторым этапом математизации является исследование математических моделей как чисто математических (абстрактных) объектов. С этой целью используются средства самой математики как уже созданные, так и специально построенные. В настоящее время большие возможности для исследования математических моделей предоставляют вычислительные средства: компьютеры и численные методы.
Третий этап применения математики в прикладных исследованиях характеризуется интерпретацией - приданием конкретного прикладного содержания математическим абстракциям. Специалист по прикладному математическому моделированию, работая бок о бок со специалистами в прикладной области, всегда за математическими абстракциями видит конкретное прикладное содержание.
Математические модели могут изучаться в традициях чистой математики. В этом случае математические модели изучаются сами по себе, без какой-либо связи с прикладным содержанием. Они исследуются на принятом в математике уровне строгости, что обеспечивает им универсализм и необходимую общность. Здесь уместно сослаться на мнение крупных математиков: Д.Гильберта, А.М.Ляпунова и др. Эта точка зрения сводится к следующему. После математической формулировки прикладной проблемы ее нужно рассматривать на уровне чистой математики. Несомненно, что исследование математических моделей является одним из самых мощных стимулов развития самой математики.
Эвристическая роль математического моделирования проявляется в том, что вместо натурного эксперимента проводится математический эксперимент. Вместо исследования проявления того или иного воздействия на исследуемый объект используется параметрическое изучение математической модели, устанавливается зависимость решения от того или иного параметра. Такой эксперимент, дополняя натурный, позволяет значительно глубже исследовать явление или процесс.
1.4 Аналитические методы исследования математических моделей
Качественное исследование начинается с размерностного анализа задачи. Приведение задачи к безразмерному виду позволяет сократить число определяющих параметров задачи. Выделение малых или больших безразмерных параметров дает возможность в ряде случаев существенно упростить исходную математическую модель, учесть особенности задачи при разработке численных методов ее решения.
Сама математическая модель может быть достаточно сложной, нелинейной. Это зачастую делает невозможным ее качественное исследование традиционными методами прикладной математики. Именно поэтому в громадном большинстве случаев проводиться качественное исследование на более простых, но обязательно содержательных, по отношению к исходной математической модели задачах. В этом случае мы должны говорить о модельных (упрощенных) задачах для основной математической модели (моделей для модели). Так например, особенности модели потенциального течения с дозвуковыми и сверхзвуковыми подобластями течения в плане качественного исследования передаются уравнением Трикоми, которое в математической физике относится к классу уравнений смешанного типа.
Большое внимание при качественном исследовании математических моделей (или модельных задач для них) уделяется вопросам корректности. Прежде всего рассматривается проблема существования решения. Соответствующие строгие результаты (теоремы существования) дают уверенность в корректности математической модели. Кроме того, конструктивные доказательства теорем существования могут быть положены в основу приближенных методов решения поставленной задачи.
При прикладном математическом моделировании важным является вопрос об устойчивости решения относительно малых возмущений входных данных. Неустойчивость (неограниченный рост решения при малых возмущениях) наиболее характерна для обратных задач и должна учитываться при построении приближенного решения.
Для нелинейных математических моделей может быть характерна множественность, неединственность решения. При качественном исследовании математических моделей изучаются точки ветвления, бифуркации решения, вопросы выделения нужного искомого решения и т.д.
Методы качественного исследования для различных типов математических моделей разработаны с неодинаковой полнотой. Среди моделей, где качественные методы принесли наиболее впечатляющие результаты, отметим обыкновенные дифференциальные уравнения. В теории уравнений с частными производными качественные методы также используются, хотя и не в такой большой степени. В качестве содержательного примера отметим принцип максимума для параболических и эллиптических уравнений второго порядка, который позволяет провести качественное исследование математических моделей, основанных на уравнениях с частными производными.
Точное или приближенное решение находится с использованием аналитических и численных методов. В этой связи среди классических примеров аналитических методов отметим методы разделения переменных, интегральных преобразований для линейных задач математической физики.
Для нелинейных математических моделей особое значение имеют методы линеаризации, различные варианты методов возмущений. Теория возмущений базируется на использовании асимптотических разложений по выделенному малому параметру. Особое внимание этим методам, несмотря на их ограниченность, уделяется при рассмотрении сингулярно возмущенных задач.
Качественное поведение решения нелинейной задачи может хорошо передаваться некоторыми частными решениями. Поиск частных решений нелинейных задач основывается на использовании автомодельных переменных, на результатах группового анализа уравнений, лежащих в основе математической модели.
Сложные нелинейные многопараметрические модели могут быть исследованы на компьютере численными методами. В отличие от аналитического решения, которое может давать явную параметрическую зависимость решения от тех или иных условий задачи, при численном решении требуется многократное решение задачи при изменении того или иного параметра. Но ведь численное решение может быть получено и для тех задач, для которых аналитического решения нет.
1.5 Использование компьютеров
Перейдем теперь к характеристике основных этапов использования компьютеров при математическом моделировании. Мы будем основное внимание обращать на использование вычислительных средств при нахождении приближенного решения задачи. Необходимо однако отметить и возможности применения компьютеров и на этапе качественного исследования математической модели, этапе отыскания аналитических решений модельных задач. Например, компьютер можно использовать для нахождения автомодельных решений. При выделении автомодельной переменной исходная задача для уравнения в частных производных сводится, например, к обыкновенному дифференциальному уравнению, происходит понижение размерности. Общее решение последнего находится на основе использования систем аналитических вычислений на компьютере (методов вычислительной алгебры), широко представленных в современных математических пакетах.
В применении компьютеров при математическом моделировании можно выделить, по крайней мере, два этапа, два уровня. Первый из них характеризуется исследованием достаточно простых математических моделей. На этом этапе (уровне) применения компьютеров вычислительные средства используются наряду и наравне с другими методами (чисто математическими) прикладной математики.
Выделенный этап применения компьютеров при математическом моделировании характеризуется условной цепочкой заказчик (теоретик) - исполнитель (прикладной математик). Заказчик ставит задачу, анализирует результаты, а исполнитель обеспечивает решение задачи с применением компьютеров. В этом случае речь идет о решении конкретной (достаточно узкой) задачи с определенным набором входных данных.
Для этого уровня применения компьютеров в прикладном математическом моделировании характерен лозунг Р.Хеминга: "Цель расчетов - понимание, а не числа". Это отражает традиции работы заказчика-теоретика, который больше всего ценит качественный анализ. Для современного этапа научных исследований и разработок одного понимания мало. Для выхода на эксперимент, реальную конструкцию требуются точные количественные зависимости и характеристики.
Второй этап (уровень) применения компьютеров характеризуется исследованием сложных нелинейных математических моделей. В этих условиях вычислительные средства становятся основными, абсолютно преобладающими. Традиционные средства прикладного математического моделирования выполняют вспомогательную, обслуживающую роль (качественное исследование задачи в сильно упрощенных постановках - модельные задачи, тестирование вычислительных алгоритмов и т.д.).
Именно возможность исследования сложных математических моделей на основе численных методов и компьютеров позволяет с новых позиций рассмотреть методологию научных исследований. Мощные компьютеры, высокоэффективные вычислительные алгоритмы, современное программное обеспечение позволяют в настоящее время организовать научные исследования в рамках единой технологии вычислительного эксперимента, который включает в себя теоретические и экспериментальные исследования.
1.6 Обработка экспериментальных данных
Экспериментатор, в самой общей схеме своего исследования, воздействует на исследуемый объект, получает информацию о результатах этого воздействия и обрабатывает ее. Эти данные зашумлены случайными погрешностями измерений. В силу этого при первичной обработке экспериментальных данных основной математический аппарат базируется на теории вероятностей и математической статистике. Экспериментальные исследования все чаще ведутся с помощью измерительно-вычислительных комплексов, которые позволяют получать, хранить и обрабатывать экспериментальные данные.
В каждом экспериментальном исследовании проводится статистическая обработка опытных данных. Количественная оценка влияния отдельных факторов (параметров) проявляется в построении эмпирических зависимостей, интерполирующих с той или иной точностью экспериментальные данные. В этом случае можно говорить об использовании аппроксимационных математических моделей, в которых содержательные математические модели как таковые просто отсуствуют. Выбор числа и условий проведения опытов для решения той или иной проблемы осуществляется на этапе планирования эксперимента. Здесь привлекаются результаты математической теории оптимального эксперимента, математической теории планирования эксперимента.
1.7 Математическая модель прибора
Настоящий уровень развития экспериментальных исследований характеризуется возрастающим применением все более совершенных приборов. Сами приборы с неизбежностью вносят возмущения в исследуемое явление или процесс. С целью избавления от этих погрешностей строится математическая модель прибора.
При проведении экспериментов необходимо иметь в виду две принципиально различные ситуации. Первая из них связана с ситуацией, когда для исследуемого явления или объекта нет теоретического описания, нет математической модели и ставится задача накопления экспериментального материала с тем, чтобы в последующем дать теоретическое описание. В этом случае математические методы используются для хранения и переработки информации, в частности, для получения эмпирических зависимостей.
При построении аппроксимационных математических моделей типичной является ситуация с определением параметров эмпирических формул, подборе самой формулы. По массе экспериментальных данных необходимо подобрать параметры аппроксимационных моделей так, чтобы с приемлемой точностью можно было описать экспериментальные данные. В этом случае мы сталкиваемся с необходимостью приближенного решения соответствующих задач минимизации.
Второй класс экспериментов проводится в условиях, когда есть теоретическое описание исследуемого объекта. Структура математической модели определена и ставится задача определения параметров модели. Сам натурный эксперимент направлен на то, чтобы определить те или иные свойства объекта, на конкретизацию математической модели объекта.
При обработке опытных данных таких экспериментов часто приходится иметь дело с обратными задачами. Такие задачи могут быть некорректными в классическом смысле и поэтому трудными для численного исследования. На стадии обработки и интерпретации данных экспериментальных исследований вычислительные средства находят все более широкое применение с использованием различных классов математических моделей.
1.8 Вычислительный эксперимент
Теоретические и экспериментальные исследования обладают большой степенью автономности. В условиях когда фундаментальные модели известны, апробированы может быть поставлена проблема более тесного координирования и связи теоретических и экспериментальных исследований. Речь идет о новой объединяющей технологии научных исследований, которой является математическое моделирование и вычислительный эксперимент.
Изложим вначале общую схему вычислительного эксперимента, а затем дадим краткую характеристику его основных этапов. Понимая вычислительный эксперимент в узком смысле, как создание и изучение математических моделей исследуемого объекта с помощью вычислительных средств, можно выделить в качестве основы триаду модель - алгоритм - программа. В широком (методологическом) смысле под вычислительным экспериментом мы понимаем новую технологию научных исследований. Основные этапы вычислительного эксперимента прослеживаются на рисунке.
Схема вычислительного эксперимента
Для исследуемого объекта сначала строится математическая модель. Она базируется на известных фундаментальных моделях. Вычислительный эксперимент, по своей сути, предусматривает исследование группы близких моделей. Вначале строится простая, но достаточно содержательная и полная с точки зрения описания исследуемых процессов, с точки зрения близости к экспериментальным данным модель.
В процессе проведения вычислительного эксперимента, на его последующих циклах модель уточняется, учитываются новые факторы и т.д. Поэтому мы всегда можем говорить (более того, должны говорить) о наборе, упорядоченном наборе (об иерархии) математических моделей, каждая из которых с той или иной точностью описывает действительность. И в рамках наиболее простой модели необходимо добиваться согласия с экспериментом. Это и является, в конце концов, целью вычислительного эксперимента.
После построения математической модели традиционными средствами прикладной математики проводится предварительное исследование математической модели. Суть вычислительного эксперимента, его содержательное зерно состоит в исследовании на компьютере математических моделей численными методами. Здесь же речь идет только о предварительном исследовании математической модели. На этом этапе с доступной полнотой, на принятом в математике уровне строгости решаются вопросы о корректности полной задачи в узком математическом смысле.
Основное содержание предварительного исследования математической модели состоит в выделении более простых (модельных) задач и их всестороннем исследовании, так как полная математическая модель слишком сложна. Модельные математические задачи в цикле вычислительного эксперимента строятся для двух различных целей: во-первых, для качественного исследования полной задачи (а опосредовано и исследуемого объекта), во-вторых - для проверки, тестирования вычислительных алгоритмов приближенного решения полной задачи.
При качественном исследовании модельных (упрощенных) задач изучаются вопросы множественности решения, его устойчивости и т.д. Большое значение имеют также точные частные решения существенно нелинейных задач, асимптотические решения и т.д. Таким образом здесь применяется обычный математический арсенал теоретического исследования проблемы.
На следующем этапе вычислительного эксперимента строится дискретная задача и численный метод решения этой дискретной задачи. Сама математическая модель включает в себя, как правило, уравнения с частными производными (ядро математической модели), системы дифференциальных и алгебраических уравнений. Построение вычислительных алгоритмов и их исследование является прерогативой вычислительной математики.
При прикладном математическом моделировании наблюдаются две тенденции научных исследований. В традициях (парадигме) чистой математики одни исследователи изучают дискретные модели и численные методы их исследования вне связи их с прикладным математическим моделированием, реализацией на компьютере в контексте решения прикладной проблемы. Проводятся строгие доказательства существования решения дискретной задачи, получают теоретические оценки погрешности приближенного решения, сходимости итерационного процесса. Это уместно прежде всего при разработке методов решения базовых задач, при разработке вычислительного арсенала исследователя.
Представители прикладного направления в вычислительной математике работают на несколько другом ("физическом") уровне строгости, для которого характерны такие нестрогие понятия как "практическая сходимость", "реальные сетки" и т.д. Безусловное требование полной строгости при прикладном математическом моделировании ни к чему хорошему не приводит.
Вычислительный эксперимент характеризуется двумя особенностями, которые необходимо учитывать при создании адекватного ему программного обеспечения. Это, во-первых, многовариантность расчетов в рамках фиксированной математической модели и, во-вторых, многомодельность. Здесь уже нельзя обойтись одной программой на компьютере, нужно иметь возможность легко менять ее для решения близких задач (задач для набора моделей).
Программное обеспечение вычислительного эксперимента базируется на использовании комплексов и пакетов прикладных программ. Комплекс программ предназначен для решения близких по своей математической природе задач из одной предметной области. Он включает в себя библиотеку программных модулей (в большой или меньшей степени независимых), из которых комплектуются рабочие программы. В комплексах прикладных программ сборка программ из модулей осуществляется вручную.
В пакетах прикладных программ для сборки используются системные средства компьютера, что позволяет в значительной степени автоматизировать этот процесс. Пакеты прикладных программ, рассматриваемые как технология решения задач в рамках вычислительного эксперимента, позволяют наиболее эффективно использовать накопленный программный продукт, резко поднять производительность труда программистов.
В наибольшей степени основные особенности вычислительного эксперимента учитывается при использовании объектно-ориентированного программирования и современных языков программирования.
Затем в цикле вычислительного эксперимента проводится серия расчетов на компьютерах при изменении тех или иных параметров задачи. Полученные данные анализируются и интерпретируются с участием специалистов в прикладной области. Обработка результатов проводится с учетом имеющихся теоретических представлений и экспериментальных данных. Она осуществляется, во-многом, в традициях классического натурного эксперимента. Сами опытные данные представляются в виде таблиц, графиков, фотографий с дисплея, кинофильмов и т.д.
Надо только всегда иметь в виду, что объем обрабатываемой информации, детализация полученных результатов в вычислительном эксперименте несравненно больше. В вычислительном эксперименте проблемы хранения и обработки информации имеют все возрастающее значение.
На этапе анализа результатов становиться ясным, удачно ли выбрана математическая модель, ее вычислительная реализация. Если есть необходимость, модели и численные методы уточняются и весь цикл вычислительного эксперимента повторяется, то есть совершается новый виток спирали в познании истины.
1.9 Основные особенности новой технологии научных исследований
Характеризуя вычислительный эксперимент в целом, чрезвычайно важно отметить его универсальность, которая позволяет легко переносить эту технологию на исследование других объектов. Это обстоятельство характерно вообще для математического моделирования и порождено тем, что многие явления и процессы имеют одни и теже математические модели.
Отмеченная многоцелевая направленность и методологическая универсальность вычислительного эксперимента позволяет на основе накопленного опыта математического моделирования, банка вычислительных алгоритмов и программного обеспечения быстро и эффективно решать новые задачи.
Второй особенностью вычислительного эксперимента, как технологии научных исследований, является его междисциплинарный характер. Мы постоянно подчеркиваем это обстоятельство, говоря о том, что прикладной математик объеденил теоретика и экспериментатора для более быстрого достижения общей цели. Вычислительный эксперимент может рассматриваться как удобная форма кооперации умственного труда, повышения его производительности. В едином цикле вычислительного эксперимента работает и теоретик, и экспериментатор, и прикладной математик, и программист.
Можно отметить следующие отличительные особенности и преимущества вычислительного эксперимента перед натурным экспериментом.
Во-первых, вычислительный эксперимент проводится даже тогда, когда натурный эксперимент невозможен. Такая ситуация имеет место с крупномасштабными экологическими экспериментами. Отметим в этой связи моделирование глобальных климатических изменений при использовании атомного оружия. Другой пример - исследование процессов при термоядерных параметрах (кроме взрыва атомной бомбы пока нет других возможностей достичь их).
Во-вторых, при использовании вычислительного эксперимента резко снижается стоимость разработок и экономится время. Это обеспечивается многовариантностью выполняемых расчетов, простотой модификации математических моделей для имитации тех или иных реальных условий.
В качестве иллюстрации отметим то, что расчеты на компьютерах в большой степени заменили эксперименты в аэродинамических трубах при создании космического корабля многоразового использования Шатл. Создание новых изделий и технологий с необходимостью связано с тяжелой, дорогостоящей и длительной доводкой. Вычислительные средства позволяют в значительной степени сэкономить время и деньги именно на этой стадии.
Данные экспериментальных исследований используются для калибровки математических моделей, контроля точности приближенного решения задачи. В традициях экспериментального исследования мы воздействуем на математическую модель и обрабатываем результаты (вот почему мы говорим об эксперименте, хотя и вычислительном). И лишь изредка мы контролируем точность своего "прибора", сравнивая его с эталоном. В традициях теоретического исследования в вычислительном эксперименте мы имеем дело с математической моделью, а не с самим объектом. Эти общие черты мы рассматриваем как дополнительные аргументы в пользу интерпретации вычислительного эксперимента в широком (методологическом) смысле как интегрирующей технологии научных исследований.
Вычислительный эксперимент необходимо рассматривать как новую технологию научных исследований в перспективе, как тенденцию, как логику развития организации научных исследований. В настоящее время он, зачастую, реализуется в узком смысле по цепочке "заказчик - прикладной математик". Более тесная увязка теоретических и экспериментальных исследований в единой технологии научных исследований является ярко выраженной тенденцией нашего времени. И примечательно, что основным связующим звеном этой методологии является математическое моделирование и вычислительный эксперимент.
1.10 Вычислительный эксперимент в науке и технологии
Остановимся теперь на краткой характеристике основных областей применения математического моделирования. Основное внимание уделим классификации видов вычислительного эксперимента по применениям и по типам используемых математических моделей. Отмеченная взаимоувязанная классификация позволяет ориентировать исследователя на использование адекватного математического аппарата исследования математических моделей. Такая методологическая проблема зачастую затушевывается и сдерживает интеграционные процессы в самой прикладной математики, не говоря уже о трудностях математического моделирования.
Математическое моделирование традиционно развивается в недрах фундаментальных наук: механике и физике, для которых отмечается наивысший уровень теоретических исследований (другими словами, уровень математизации). В этих науках с внедрением современных математических методов, в том числе и численных, относительно благополучно. Для механики, например, характерно наличие устоявшихся математических моделей, существует банк основных задач. Поэтому здесь основное внима
Значительно менее совершенен математический арсенал инженера и технолога. В технике до настоящего времени традиционным является путь опосредованного внедрения научного знания. Прежде всего новые идеи становятся достоянием фундаментальных наук, затем трансформируются в той или иной прикладной области и лишь затем - в конкретных технических проектах и разработках. Это относится прежде всего к применению современных математически методов теоретического исследования, математическому моделированию и вычислительному эксперименту. Такой путь превращения идеи в конкретное научно-техническое решение, новую технологию неоправданно долог и расточителен.
В современных условиях необходимо обеспечить повсеместное непосредственное внедрение математических методов в науку и технологию. Математическое моделирование технологических процессов сулит огромную выгоду, переход на новый качественный уровень самой технологии. Наиболее благодатное поле для приложения методов математического моделирования и вычислительного эксперимента - техника и промышленность, технология. Особое внимание заслуживают отрасли определяющие научно-технический прогресс сегодня, и прежде всего микроэлектроника. Численное моделирование в этом случае обеспечивает подъем своей технической базы - компьютеров.
Отметим еще один аспект в применении вычислительного эксперимента. В настоящее время мировая общественность совершенно справедливо обеспокоена экологическими последствиями крупномасштабных проектов, обеспечением безопасности функционирования работающих установок и проектируемых объектов. Вычислительный эксперимент на базе адекватных моделей позволяет испытать модель экологически опасного объекта в мыслимых и немыслимых условиях, дать практические рекомендации обеспечения условий безопасной работы, дать, если хотите, гарантии такой работы.
При исследовании нового процесса или явления обычный подход связан с построением той или иной математической модели и проведением расчетов при изменении тех или иных параметров задачи. В этом случае мы имеем поисковый вычислительный эксперимент. Если основу математической модели составляют уравнения с частными производными, то в цикле вычислительного эксперимента исследуется и решается численными методами прямая задача математической физики.
В результате проведения поискового вычислительного эксперимента дается описание наблюдаемым явлениям, прогнозируется поведение исследуемого объекта в тех или иных условиях, возможно и не достижимых в реальных условиях. Такой тип вычислительного эксперимента характерен при проведении теоретических исследований в фундаментальных науках.
С другой стороны, при математическом моделировании технологических процессов в качестве основного может быть выбран оптимизационный вычислительный эксперимент. Для него характерно решение задачи оптимизации по уменьшению затрат, облегчению конструкции и т.д. Для сформулированной математической модели ставится соответствующая задача оптимального управления, задача оптимизации.
Характерным примером могут служить задачи оптимального управления для уравнений математической физики, например, граничного управления, когда граничные условия подбираются так, чтобы минимизировать соответствующий функционал (функционал качества). В этом случае многовариантные расчеты проводятся с целью подобрать управляющие параметры, а результатом является решение в том или ином смысле оптимальное.
При обработке данных натурных экспериментов используется диагностический вычислительный эксперимент. По дополнительным косвенным измерениям делается вывод о внутренних связях явления или процесса. В условиях, когда структура математической модели исследуемого процесса известна, ставится задача идентификации модели, например, определяются коэффициенты уравнений. Диагностическому вычислительному эксперименту обычно ставится в соответствие обратная задача математической физики.
Часто приходится сталкиваться с положением, когда математической модели исследуемого процесса или явления нет и создать ее не представляется возможным. Такая ситуация характерна, в частности, при обработке данных натурного эксперимента. Тогда обработка проводится в режиме "черного ящика" и мы имеем дело с аппроксимационными моделями. При отсутствии математических моделей на основе широкого использования компьютеров проводится имитационное моделирование.
2. Компьютерное моделирование
2.1 Краткая информация о компьютерном моделировании
Компьютерное моделирование широко используется как средство познания действительности, проектирования и обучения [1, 2, 4]. Программные средства для моделирования можно разделить на две группы.
К первой относятся пакеты, предназначенные для решения сложных промышленных и научно-исследовательских задач большими производственными или научными коллективами. В таких проектах ведущую роль играет организация работ: хорошо налаженное взаимодействие между отдельными группами, быстрый доступ к многочисленным экспериментальным данным и библиотекам программ, тщательное документирование и тестирование, многовариантные расчеты. При этом обычно используются хорошо изученные модели, которые лишь модифицируются и приспосабливаются для решения конкретных задач. В некотором смысле это относится и к большим научным проектам, когда успех во многом предопределен предварительными исследованиями, но для получения окончательных результатов требуется хорошо скоординированная совместная работа. Пакеты первой группы условно называются промышленными.
Однако такие проекты невозможны без предварительных исследований, выполняемых отдельными учеными или проектировщиками. Стартовой точкой в них является гипотеза, а основной задачей - ее проверка. Исходным материалом служат плохо формализованные модели, то есть модели, чьи свойства еще не вполне осознаны. В самом начале исследований обычно ничего другого предложить невозможно, кроме как двигаться вперед на ощупь, практически без плана, формируя его по мере накопления материала. Главное - пробовать и видеть отклик. Это означает, что необходимо уметь организовывать и поддерживать непрерывную обратную связь между исследователем и исследуемой моделью. Аналогичная задача возникает и при обучении, когда необходима обратная связь между обучающей программой и учеником, или когда учитель прямо на занятии с помощью модели объясняет суть явления.
Промышленные пакеты слишком сложны и громоздки для проведения исследований на ранних стадиях и тем более обучения, для этого нужны специальные программные средства. Именно они и образуют вторую группу пакетов. Называются пакеты второй группы универсальными, они уступают по количеству уникальных возможностей промышленным, зато более просты для освоения и доступны отдельному исследователю при решении относительно несложных задач из практически любой прикладной области. Под несложными понимаются не простые задачи, а задачи, посильные одному разработчику, не являющемуся специалистом в области программирования и методов вычислений. В универсальных пакетах нужны разнообразные численные библиотеки, способные справиться с широким спектром проблем, а не методы, ориентированные на узкий класс задач. Для них нужны графические библиотеки, обеспечивающие показ изучаемого явления с разных сторон, а не одним, принятым в конкретной области, способом и, конечно же, поддержка интерактивного вмешательства в ход компьютерного эксперимента.
С момента появления пакета Simulink универсальные, не ориентированные на конкретные прикладные области пакеты для моделирования и исследования динамических систем в широком понимании этого термина, включая и дискретные, и непрерывные, и гибридные модели, стали повседневной реальностью. Относительная простота и интуитивная ясность входных языков универсальных пакетов в сочетании с разумными требованиями к мощности компьютеров позволяют использовать эти пакеты в учебном процессе.
Изучаемые с помощью универсальных пакетов модели можно условно разделить на модели для естественнонаучных областей и модели технических объектов. В первом случае мы обычно имеем дело с моделью, сведенной к одной, итоговой системе уравнений, или, другими словами, с однокомпонентной моделью, а во втором - со структурированной, многокомпонентной моделью, итоговая система для которой должна строиться автоматически по описанию отдельных компонент.
И среди однокомпонентных, и среди многокомпонентных, наибольший интерес представляют модели, чье поведение меняется во времени в зависимости от наступающих событий. Их часто называют гибридными системами. В отечественной литературе также используются синонимы - непрерывно-дискретные, системы с переменной структурой, реактивные, событийно-управляемые. Еще недавно единственным способом изучения гибридных систем было исследование их отдельных фаз или режимов и «склеивание» общего поведения вручную, подобно тому, как мы склеиваем панораму из отдельных фотографий. Теперь появилась возможность моделировать глобальное поведение таких объектов [4].
Под гибридными системами понимаются динамические системы с различным поведением в разных областях фазового пространства. Их фазовая траектория в зависимости от происходящих событий оказывается то в одной области, то в другой. Таким образом, к гибридным можно отнести классические динамические системы, чье фазовое пространство разбивается на ячейки с различным поведением, системы с разрывными правыми частями и системы, у которых меняется размерность в различных областях фазового пространства. Достижение фазовой траекторией границы областей будем называть событием, приводящим к смене поведения. Каждой области можно поставить в соответствие вершину некоторого графа, а его направленные дуги трактовать как возможные пути смены текущего локального поведения. Границы областей обычно задают с помощью предикатов, которые приписываются соответствующим дугам графа. Таким образом, гибридная система может быть представлена в виде графа, вершинам которого поставлены в соответствие классические динамические системы, и одна из вершин помечена как начальная, а дугам - условия смены поведения и мгновенные действия, выполняемые при смене поведения. Такая формализация называется гибридным автоматом. Это наиболее наглядная и удобная форма описания поведения гибридных систем, совпадающая при описании дискретных систем с картой состояний, принятой в «унифицированном языке моделирования» UML [2]. Глобальное поведение гибридной системы определяется всеми возможными путями, которые можно построить из начальной вершины. По мере движения модельного времени, фазовая траектория пересекает границы областей, при этом меняется вид решаемых уравнений. Можно также представить себе ситуацию, когда какая-либо из областей будет покидаться системой немедленно, как только система туда попадет. В этом случае гибридная система будет демонстрировать как длительные, «непрерывные» поведения, так и мгновенные, «дискретные».
Необходимость обеспечения обратной связи между исследователем и моделью опять же приводит нас к событийно-управляемым системам и дополнительно заставляет проводить и визуализировать вычислительный эксперимент в реальном времени. Назовем такой способ познания действительности активным компьютерным экспериментом, в отличие от традиционного пассивного вычислительного эксперимента, план которого может быть составлен заранее.
Отличительной чертой современных пакетов является объектно-ориентированный подход, позволяющий обеспечить еще одно очень важное и характерное для научных исследований и обучения требование - возможность легко пополнять и модифицировать разрабатываемую библиотеку, представляющую обычно последовательность все более сложных моделей, свойства которых приходится постоянно сравнивать.
2.2 Типовые модели и компоненты универсальных пакетов
Модели, используемые на ранних стадиях научных исследований и проектирования, и практически все модели, используемые в образовании, названные во введении несложными, можно в свою очередь разделить на группы. Каждая из таких групп обычно является основной для определенной категории пользователей, у которых уже сложились свои требования к возможностям пакетов и свое виденье способа общения с ними. Не следует нарушать требования пользователя и отвергать сложившиеся технологии моделирования без веских на то оснований. Наоборот, здесь надо идти пользователю навстречу и фиксировать в программных разработках отобранные практикой технологии.
Классификация моделей возникла потому, что для моделей различных типов существуют различия в технологии моделирования. Выделяют изолированные и открытые системы, а также учитывают, является ли модель однокомпонентной или многокомпонентной.
Изначально вычислительные пакеты были ориентированы на эксперименты с изолированными моделями, изучать которые можно с помощью пассивного вычислительного эксперимента, то есть, по сути, речь идет об иной форме столь памятного еще многим пакетного режима. И именно эту черту унаследовали знаменитые MATLAB, Maple, Mathematica и другие математические пакеты. Существующие в них диалоги активно используются в основном при создании модели, но не при ее изучении. Сегодня, с появлением потребности в активном вычислительном эксперименте, ситуация принципиально изменилась. Диалог стал активно использоваться и при проведении эксперимента. Таким образом, основным типом изучаемых моделей становятся открытые системы.
Аналогичная ситуация наблюдается и со вторым «измерением» классификации. В тех же прекрасно работающих с однокомпонентными моделями математических пакетах практически невозможно создать многокомпонентную модель. Пакет Simulink, позволяющий быстро создавать модели из типовых блоков, был обречен на успех, особенно среди инженеров. Однако реализованный в нем подход устаревает, так как восходит к эре аналоговых машин. В последнее время все больше внимания начинает уделяться многокомпонентным моделям различной физической природы и их автоматическому синтезу с использованием других подходов (например, проект Modelica [7]). И хотя в отдельных областях есть несомненные достижения, задачи здесь еще только ставятся.
Попробуем перечислить базовые модели, технологии их построения и исследования в универсальном пакете.
2.2.1 Изолированная однокомпонентная динамическая система
Такая модель задается системой обыкновенных дифференциальных и алгебраических уравнений с заданными коэффициентами и начальными условиями. Уравнения могут быть записаны явно, либо, как это часто бывает в теории управления, используется аппарат передаточных функций. Примером простейшей изолированной непрерывной системы может служить математический маятник, поведение которого изучают, например, при наличии или отсутствии трения.
Строгая трактовка изолированной системы не позволяет проводить с ней никаких активных экспериментов. Действительно, даже если параметры модели принадлежат некоторой области, и необходимо исследовать ее поведение при различных значениях параметров, то неявно предполагается, что проводится серия заранее спланированных экспериментов. В каждом конкретном эксперименте сначала фиксируются новые значения параметров, а затем находится решение аналитически или численно. Иными словами, записывается и реализуется цикл на языке пакета.
Изолированные непрерывные системы наиболее просто реализуются в математических пакетах. Пользователь пишет уравнения, цикл, позволяющий менять коэффициенты, внутри которого предусматривает вызов той или иной процедуры визуализации результатов, компилирует или интерпретирует модель и последовательно просматривает результаты в графических окнах. И этого оказывается достаточно для огромного числа пользователей математических пакетов. Если мы хотим, чтобы универсальный пакет был востребован и этой категорией пользователей, необходимо упростить до минимума интерфейс и свести его к привычному для пользователей математических пакетов.
В современных пакетах для моделирования, а они, несомненно, могут применяться для изучения изолированных систем, особенно когда нет возможности получить решение аналитически, перед пользователем иногда открывается столько ненужных ему окон, что он просто теряется и возвращается к испытанным программным средам. Упрощенный интерфейс универсального пакета для пользователей математических пакетов может сводиться к окну редактора уравнений, окну декларации используемых переменных и окну плана эксперимента.
На визуализации результатов необходимо остановиться особо. В математических пакетах традиционно используется математическая двумерная и трехмерная графика и «живые таблицы», позволяющие контролировать ход вычислений. Сопоставить модели ее динамический графический образ сложно, так как для этого требуются навыки программирования. В универсальных пакетах динамический графический образ становится основным инструментом визуализации, и для его формирования существуют специальные редакторы. Если динамический графический образ является элементом описания, то требуется также редактор (двумерной и трехмерной) анимации уже на стадии проектирования модели (такой подход принят, например, в пакетах Anylogic и Ejs). Последовательность заполнения этих окон может быть произвольной: математикам и проектировщикам привычнее начинать с уравнений, преподавателям - с динамического образа.
2.2.2 Изолированная однокомпонентная гибридная система
В изолированных однокомпонентных гибридных системах смена поведения зависит исключительно от внутренних событий. Например, в уравнении математического маятника коэффициенты могут меняться периодически или при достижении маятником заданного положения. Модели этого типа достаточно сложно реализуются в математических пакетах, в то же время дискретные системы (частный случай гибридных систем) воспроизводятся достаточно просто во всех пакетах, опирающихся на карту состояния Харела (например, пакет Xjcharts).
Интерфейс пользователя для изолированных однокомпонентных гибридных систем требует еще одного окна - например, окна редактора карт состояния (Simulink, Stateflow) или их расширения - гибридных карт состояний (Model Vision, Anylogic). Существует много различных способов описать смену фаз или режимов - это и сети Петри, и графы связей, но нам кажется наиболее перспективным использование гибридных автоматов.
Для описания дискретных действий в гибридных моделях требуется расширенный набор типов переменных, а также некоторый набор алгоритмических операторов (как минимум, оператор присваивания, условный оператор и оператор цикла).
2.2.3 Открытая однокомпонентная гибридная система
Это наиболее востребованная практикой модель, которая позволяет проводить активный компьютерный эксперимент и может быть использована в качестве библиотечной компоненты. Такая модель имеет доступные извне переменные, посредством которых она может взаимодействовать с окружающим миром: с другими компонентами и с экспериментатором. Используя модель маятника в виде изолированной системы, можно построить открытую систему, объявив, например, длину маятника не коэффициентом, а входом, и связав его с движком в окне двумерной анимации. Переход от изолированной модели к открытой может быть нетривиальным: например, маятник, у которого длина стержня непрерывно меняется, описывается совсем другими уравнениями. Окна переменных («живые таблицы») и анимации (по крайней мере, двумерной) становятся интерактивными. Пользователь может с помощью ползунков, круговых регуляторов, кнопок и тумблеров активно воздействовать на модель во время эксперимента. Очевидно, что активный эксперимент требует синхронной визуализации.
Авторы языка Modelica называют компоненту ориентированной, если все ее внешние переменные можно классифицировать либо как входы, значения которых не могут изменяться внутри компоненты, либо как выходы, значения которых, напротив, могут изменяться только внутри компоненты. Ориентированная компонента также называется блоком «вход-состояние-выход».
Блоки до сих пор трактовались как единственно возможные элементарные кирпичики, из которых строятся сложные модели. Блок может работать независимо и параллельно с другими блоками. Из блоков, соединенных связями, можно строить иерархические структурные схемы. Такая трактовка имеет место и в «классическом» пакете Simulink, и в новейшем языке Modelica. Различия касаются только характера связей (ориентированные или неориентированные) и способов автоматического построения эквивалентной однокомпонентной непрерывной динамической системы.
При использовании гибридного автомата для описания динамических систем общего вида даже в элементарном блоке появляется новая «тонкая» структура. В самом деле, гибридная карта состояний, по сути, определяет гибридную систему как композицию (возможно иерархическую) более простых динамических систем (на самом низком уровне вложенности классических динамических систем), приписанных узлам графа. В каждый конкретный момент модельного времени функционирует локальная динамическая система, приписанная текущему состоянию, демонстрируя локальное поведение. Эта локальная динамическая система может быть приписана сразу нескольким состояниям.
Очевидно, что между блоком и локальным поведением нет никакой принципиальной разницы: и то, и другое - это динамические системы (классические или гибридные), и можно говорить о другом типе многокомпонентности - поведенческом, в котором элементарной компонентой становится динамическая система общего вида. Такие компоненты можно складывать (например, объединять уравнения в единую систему) и вычитать (вычеркивать уравнения), формируя из них нужное локальное поведение. Дня гибридных автоматов динамическая система может играть роль элементарного строительного блока. В частном случае таким элементарным блоком может являться система уравнений, так же как и для математических пакетов. Таким образом, гибридную карту состояний можно рассматривать как последовательное соединение динамических систем, в то время как структурная схема является параллельным соединением.
2.2.4 Структурная многокомпонентная система с ориентированными блоками
Успех проектирования электрических схем из компонент вселяет надежду на создание пакетов, в которых на основании компонентных и топологических уравнений можно будет строить сколь угодно сложные модели, объединяющие объекты различной физической природы. Основой этих моделей служит блок с особыми внешними переменными - контактами (Modelica), или неориентированный блок. Значения контактов могут меняться как внутри блока, так и извне. Одним из препятствий на этом пути построения многокомпонентных моделей служит то, что возникают трудности при автоматическом построении совокупной системы уравнений (особенно динамически). Но даже если такую систему удается построить, практически невозможно заранее ответить на вопросы: имеет ли она решение, единственное ли оно, какими численными свойствами оно обладает. Во всех существующих пакетах ответы на эти вопросы «перекладываются на плечи» численных методов, а они для этого меньше всего приспособлены. В то же время для ряда областей - проектирование электрических цепей или электромеханических приборов - использование блоков с контактами является общепринятым приемом.
2.2.5 Многокомпонентная гибридная система переменной структуры
Модели этого наиболее сложного типа не реализованы в полном объеме ни в одном из известных пакетов. Речь идет о событийно-управляемых многокомпонентных иерархических моделях переменной структуры, построенных из блоков с переменными «вход», «выход», «состояние» и «контакт».
2.2.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. Следовательно, он более приспособлен для создания моделей со сложным дискретным поведением.
Здесь будет уместно перечислить достоинства гибридного автомата при использовании его в пакетах моделирования. Гибридный автомат:
- компактно и наглядно описывает все возможные варианты смены поведения подобно тому, как конечный автомат столь же наглядно описывает все допустимые цепочки принимаемого им языка;
- требует указания в явном виде особых событий, приводящих к смене поведения, и облегчает работу численных методов в окрестности точки смены поведения;
позволяет ввести «алгебру» локальных поведений, упрощая тем самым применение объектно-ориентированного подхода;
- позволяет легко описать сложные эксперименты с моделью, облегчая проектирование испытательных стендов;
- позволяет в наглядной форме следить за появлением событий, приводящих к смене поведения, и самими переключениями при отладке.
Не останавливаясь на описании других пакетов, можно утверждать, что все они настолько различны (и в данном случае это недостаток), что нельзя выделить какой-либо один. Это чрезвычайно важно как для отдельного пользователя, так и для учебного процесса в целом.
Все перечисленные выше пакеты обладают еще одним, чрезвычайно важным с нашей точки зрения недостатком. В силу того, что они являются коммерческими, они вбирают в себя в момент создания последние научные достижения, профильтрованные через индивидуальные предпочтения разработчиков, и надолго замораживают их. Действительно, создание конкурентоспособного нового продукта требует огромного стартового финансирования и усилий больших творческих коллективов специалистов различного профиля, и его коренная перестройка экономически невыгодна.
2.4 Модульный подход к разработке универсальных пакетов. Проект CoLoS.
Количество универсальных существующих и разрабатываемых пакетов для моделирования все увеличивается. Это дает право утверждать, что мы имеем дело с востребованной областью вычислительного эксперимента, и позволяет сделать некоторые обобщения. Нам представляется, что в этой новой области мы имеем сейчас ситуацию аналогичную той, которая предшествовала созданию первых специализированных коллекций, таких как EISPACK и LINPACK.
Накопленного опыта достаточно для того, чтобы сформулировать единые требования к пакетам для проведения активного вычислительного эксперимента. По крайней мере, все яснее вырисовывается их структура и требования к отдельным компонентам.
Перечислим необходимые компоненты пакета. Это - Редакторы уравнений, гибридного автомата, структуры, панелей управления, двумерной и трехмерной анимации. Добавим сюда Движитель гибридного времени, а также численную библиотеку и получим список компонент универсального пакета. Разработать их все одновременно на высоком уровне трудно даже большому коллективу специалистов, что и находит отражение в сегодняшних пакетах. Это легко увидеть, сравнив, например, численные библиотеки математических и универсальных пакетов.
Несмотря на существование прекрасно организованных сайтов, где можно найти тщательно документированные и протестированные программы, отбор методов в пакетах производится порой случайным образом. При разработке нового пакета для создания требуемой библиотеки достаточно проделать высококвалифицированную, но большей частью организационную работу. Взяв единую библиотеку за основу, ее можно дополнять при создании конкретного пакета. Наличие такой общей библиотеки только усилит доверие пользователя к новому программному средству.
Аналогичная ситуация наблюдается и с Редакторами уравнений или структуры - это относительно независимые компоненты, и они могут работать во многих пакетах одновременно. Более того, если зафиксировать интерфейс таких блоков и способы обмена данными, то можно просто заменять их целиком. Если бы удалось согласовать интерфейс этих блоков, а в качестве первоначальных вариантов взять уже готовые компоненты, к работе над созданием новых универсальных пакетов могли бы подключиться многие специалисты. Как минимальный результат, через несколько лет можно было бы создать прототип работающей системы.
Как бы ни фантастически звучали эти предложения, работа в этом направлении началась. В пакетах Model Vision и Anylogic используется одна и та же численная библиотека, написанная на языках Fortran и Java. Пакет OSP и пакет Ejs объединяет единая численная библиотека и Редактор анимации [9]. Авторов пакетов Model Vision, Ejs и проекта OSP объединяет то, что они члены международной ассоциации CoLoS [5], и предложение объединить свои усилия родилось как следствие многолетнего обсуждения проблем, связанных с применением компьютеров в обучении.
Заключение
В работе была сделана попытка дать общий взгляд на ситуацию, которая складывается в прикладной математике. Ее современный этап характеризуется исследованием математических моделей на основе широкого использования возможностей вычислительных средств (компьютеров и соответствующего аппарата самой математики - численных методов).
Возможность исследования сложнейших математических моделей позволила подойти по-новому и к вопросу организации прикладных научных исследований, более тесной координации экспериментальных и теоретических исследований в рамках новой методологии научных исследований - вычислительного эксперимента. Она основана на качественно новом уровне научных исследований, который связан с использованием сложных прикладных математических моделей, которые не могут быть изучены стандартными аналитическими методами прикладной математики.
Суть вычислительного эксперимента наиболее полно отражается в триаде модель - алгоритм - программа. Для исследуемого объекта строится математическая модель (набор моделей), которые исследуются численными методами на компьютере. Для предварительного исследования математических моделей используются традиционные методы прикладной математики. Данные расчетов анализируются, сопоставляются с данными экспериментальных исследований, проводится уточнение математической модели и т.д.
Методология вычислительного эксперимента сложилась при решении наиболее крупных научно-технических проблем, которые ставит перед нами жизнь. Активное внедрение идей математического моделирования, которое является интеллектуальным ядром информатизации общества, позволит поднять уровень научных исследований в естественнонаучных и гуманитарных областях.
Список литературы
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.А.Самарский, П.Н.Вабищевич Математическое моделирование и вычислительный эксперимент. – Москва: Институт математического моделирования РАН