русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

ЭТАПЫ И ЦЕЛИ КОМПЬЮТЕРНОГО МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ


Дата добавления: 2015-07-04; просмотров: 3520; Нарушение авторских прав


Рассмотрим процесс компьютерного математического моделирования, включающий численный эксперимент с моделью (рис. 1).

 

 

Рис.1. Общая схема процесса компьютерного математического моделирования

 

Первый этап – определение целей моделирования. Основные из них таковы:

1) Понимание

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

2) Управление

Модель нужна для того, чтобы научиться управлять объектом (или процессом) и определить наилучшие способы управления при заданных целях и критериях;

З) Прогнозирование

Модель используется для того, чтобы прогнозировать прямые и косвенные последствия воздействия на объект заданными способами.

Поясним это на примерах. Пусть объект исследования – взаимодействие потока жидкости или газа с телом, являющимся для этого потока препятствием. Опыт показывает, что сила сопротивления потоку со стороны тела растет с ростом скорости потока, но при некоторой достаточно высокой скорости эта сила скачком уменьшается с тем, чтобы с дальнейшим увеличением скорости снова возрасти. Что же произошло, обусловив уменьшение силы сопротивления? Математическое моделирование позволяет получить четкий ответ: в момент скачкообразного уменьшения сопротивления вихри, образующиеся в потоке жидкости или газа позади обтекаемого тела, начинают отрываться от него и уноситься потоком.

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



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

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

Составим список величин, от которых зависит поведение объекта или ход процесса, а также тех величин, которые желательно получить в результате моделирования. Обозначим первые из них (входные) через x1, x2,..., хn,,; вторые (выходные) через y1, y2,…,yn. Символически поведение объекта или процесса можно представить в виде

где Fj — те действия, которые следует произвести над входными параметрами, чтобы получить результаты. Хотя запись напоминает обозначение функции, мы здесь используем ее в более широком смысле. Лишь в простейших ситуациях здесь F есть функция в обычном смысле; чаще всего она выражает лишь наличие некоторой связи между входными и выходными параметрами модели.

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

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

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

Важнейшим этапом моделирования является разделение входных параметров по степени важности влияния их изменений на выходные. Такой процесс называется ранжированием (разделением по рангам). Чаще всего невозможно, да и не нужно учитывать все факторы, которые могут повлиять на значения интересующих нас величин уj. От того, насколько умело, выделены важнейшие факторы, зависит успех моделирования, быстрота и эффективность достижения цели. Выделить наиболее значимые факторы и отсеять менее важные может лишь специалист в той предметной области, к которой относится модель. Так, опытный учитель знает, что на успех контрольной работы влияет степень знания предмета и психологический настрой класса; однако, влияют и другие факторы — например, каким уроком по счету идет контрольная, какова в этот момент погода и т.д. — фактически проведено ранжирование.

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

На рис. 2 проиллюстрированы две крайние ситуации: а) некоторый параметр хi, очень сильно влияет на результирующую величину уi; б) почти не влияет на нее. Ясно, что если все представляющие интерес величины уi реагируют на хi, так, как изображено на рис. 2б, то хi, является параметром, который при первом подходе может быть из модели исключен. Если же хотя бы одна из величин уi реагирует на изменение хi, так, как изображено на рис. 2а, то хi нельзя исключать из числа значимых параметров.

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

       
     
   
     

 

 


Рис.2. Варианты степени влияния величины хi на результирующую величину уj

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

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

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

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


Изучите лекцию 1 и ответьте на следующие вопросы.

ВОПРОСЫ к I лекции по курсу «Компьютерное моделирование»

 

1. Что означает слово «modulus» в переводе с латинского?

2. Как развивалась методология моделирования до XX века?

3. Что понимают под моделированием в настоящее время?

4. Как можно описать понятие «модель»?

5. Что такое натурные модели? Приведите примеры.

6. Что такое абстрактные модели?

7. Приведите классификацию абстрактных моделей.

8. В чем особенности применения компьютера в моделировании.

9. Дайте характеристику математических моделей; приведите их примеры.

10. Дайте характеристику информационных моделей; приведите их примеры.

11. Дайте характеристику вербальных моделей; приведите их примеры.

12. Можно ли использовать компьютер в аналитическом математическом моделировании?

13. Аналитическое и численное решение: перечислите их преимущества и недостатки.

14. Из каких этапов состоит процесс компьютерного моделирования? Приведите блок-схему.

15. Перечислите основные цели компьютерного моделирования.

16. Как можно выразить символически поведение объекта или процесса? Все ли зависимости в моделях носят функциональный характер?

17. Какими могут быть виды входных параметров математической модели? Приведите примеры.

18. Что такое ранжирование?

19. К чему приводит отбрасывание значимых входных параметров при построении модели?

20. Какие требования предъявляются к модели после ее «огрубления»?

21. Каков следующий за математическим описанием этап создания модели?

22. Что означает выражение «модель адекватна реальному процессу»?


 

Л.Бахвалов. «Компьютерное моделирование: долгий путь к сияющим вершинам?» Часть 1

Л.Бахвалов «Компьютерное моделирование: долгий путь к сияющим вершинам?» // Компьютерра, №40, 1997

Часть 1. Моделирование и системный анализ

Исторически случилось так, что первые работы по компьютерному моделированию были связаны с физикой, где с помощью моделирования решался целый ряд задач гидравлики, фильтрации, теплопереноса и теплообмена, механики твердого тела и т. д. [1, 2, 4]. Моделирование в основном представляло собой решение сложных нелинейных задач математической физики с помощью итерационных схем (за исключением разве тех задач, где использовался метод Монте-Карло), и по существу было оно, конечно, моделированием математическим. Успехи математического моделирования в физике способствовали распространению его на задачи химии, электроэнергетики, биологии и некоторых других дисциплин, причем схемы моделирования не слишком отличались друг от друга. Сложность решаемых с помощью моделирования задач всегда ограничивалась лишь мощностью имеющихся ЭВМ.

Надо заметить, что подобный вид моделирования весьма широко распространен и в настоящее время. Более того, за время развития методов моделирования на ЭВМ при решении задач фундаментальных и смежных предметных областей накоплены целые библиотеки подпрограмм и функций, облегчающих применение и расширяющих возможности моделирования. И все же в настоящее время понятие «компьютерное моделирование» обычно связывают не с фундаментальными дисциплинами, а в первую очередь с системным анализом — направлением кибернетики, впервые заявившим о себе в начале 50-х годов при исследовании сложных систем в биологии, макроэкономике, при создании автоматизированных экономико-организационных систем управления [3].

Системный анализ стремительно сформировался сначала в весьма модное направление науки об управлении сложными системами, а затем по мере развития — в методологию, а точнее, в нечто безбрежное, таинственное, доступное только самым могучим умам. Они с гордостью называли себя системными аналитиками и, как и положено после канонизации, возвышались над тысячами инженеров и программистов, работая в таинственных Институтах Системного Анализа Сложных, Очень Сложных и Совсем Сложных Систем, публикуя работы с названиями типа «Теория декомпозиции сингулярных, квазилинейных, иерархических макросистем рефлексивного типа». Однако по истечении некоторого времени обнаружилась странная особенность подобных работ: они существовали сами по себе, а многочисленные практические работы по системному анализу и управлению реальными объектами выполнялись сами по себе, без какой-либо связи с этими теоретическими изысканиями. Более того, обнаружилась странная особенность системного анализа: в чистом виде весь предмет может быть сведен к нескольким, интуитивно довольно прозрачным «принципам системного анализа», выглядящим как библейские заповеди, — принцип иерархичности, принцип единства целей, принцип эмерджентности и др.

Общая теория систем, концепция которой впервые была сформулирована в 50-е годы Л. Берталанфи и которая, казалось бы, должна составлять теоретический фундамент системного анализа, сегодня так же далека от завершения, как и в 60-е годы, если не считать некоторых результатов, имеющих исключительно абстрактный, математический характер. Основные же методы и процедуры, используемые обычно при системном анализе, заимствованы из других дисциплин, в большой степени – из исследования операций, появившейся раньше, чем системный анализ. Заимствованы и другие методы, которые обычно связывают с системным анализом – теория игр, теория принятия решений, математическое программирование, теория динамических систем и др. Более того, при тщательном рассмотрении истории возникновения и перспектив развития системного анализа нельзя обнаружить даже тенденций зарождения в его недрах единого подхода к анализу сложных систем. Не говоря уже об оформлении его в строгую и законченную теорию, напоминающую по стройности хотя бы теорию систем массового обслуживания.

В чем же тут дело? Как было впервые замечено профессором Б.Г.Юдиным и впоследствии уточнено академиком Н. Н. Моисеевым, крупнейшим советским специалистом в области системного анализа, центральной процедурой в системном анализе является построение обобщенной модели, отображающей все факторы и взаимосвязи реальной ситуации, которые могут проявиться в процессе решения [3, 4, 5]. Иными словами, построение математических моделей является основой всего системного анализа, центральным этапом исследования или проектирования любой системы [5].

Конечно же, по сравнению с гордым и звучным термином «системный анализ», «моделирование» звучит куда более скромно, тем более что каждому понятно — любое моделирование сопряжено с приземленными вещами: сбором, сортировкой и обработкой данных. К тому же эти экспериментальные данные и факты подчас обладают целым рядом неприятных особенностей: то их слишком много, и не ясно, как их учесть или сократить; то их слишком мало, и не ясно, где взять недостающие. Наконец, факты/данные просто противоречат друг другу или того хуже — данным вашего коллеги или оппонента. А если добавить сюда проблемы воспроизводимости, проблемы пропущенных данных, проблемы размерностей, трудности с организацией поиска, накопления и систематизации, то станет очевидным: в таких условиях не до высоких сияющих вершин системного анализа и общих теорий сложных систем. И, тем не менее, именно моделирование является сутью системного анализа. Разберемся с этим более подробно.

Часть 2. Виды моделирования. Компьютерное моделирование

Моделирование представляет собой один из основных методов познания, является формой отражения действительности и заключается в выяснении или воспроизведении тех или иных свойств реальных объектов, предметов и явлений с помощью других объектов, процессов, явлений, либо с помощью абстрактного описания в виде изображения, плана, карты, совокупности уравнений, алгоритмов и программ [4].

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

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

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

структурно-функциональное моделирование, при котором моделями являются схемы (блок-схемы), графики, чертежи, диаграммы, таблицы, рисунки, дополненные специальными правилами их объединения и преобразования;

математическое (логико-математическое) моделирование, при котором моделирование, включая построение модели, осуществляется средствами математики и логики;

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

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

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

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

Начнем с термина «компьютерная модель». В настоящее время под компьютерной моделью чаще всего понимают:

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

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

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

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

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

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

 

Литература:

 

1. Бусленко Н. П., Шрейдер Ю. А. Метод статистических испытаний. М., 1961.

2. Бусленко Н. П. Моделирование сложных систем. Москва, 1961.

3. Юдин Б. Г. Системный анализ. — М.: БСЭ, 1976.

4. Бирюков Б. В., Гастеев Ю. А., Геллер Е. С. Моделирование. — М.: БСЭ, 1974.

5. Моисеев Н. Н. Математические задачи системного анализа. — М.: Наука, 1981.

6. Дал У. И., Мюрхауг Б, Нюгорд К. Универсальный язык моделирования. М.: Мир, 1969.

7. Гэйн К., Сарсон Т. Структурный системный анализ: средства и методы. В 2-х частях. Пер. с англ, под ред. А. В. Козлинского. — М.: Эйтекс, 1993.

8. Малышев Ю. Н. Угольная промышленность России, ее состояние и перспективы. Журнал «Уголь», №1, 1995.

9. Бахвалов Л. А. Метамоделирование процессов реструктуризации и функционирования горной промышленности. Горный информационно-аналитический бюллетень. — М.: Московский государственный горный университет. Выпуск 1. 1996.

10. Дэвид А. Марка, Клемент Мак-Гоуэн. Методология структурного анализа и проектирования. М., 1993.

11. Методология динамического моделирования IDEFO/CPN/WFA. Учебный курс по методологиям IDEF. Метатехнология. М., 1995.

12. Питерсон Дж. Теория сетей Петри и моделирование систем. М.: Мир, 1984, стр. 264.

13. Форрестер Дж. Мировая динамика. — М.: Наука, 1978.

14. Using Proof Animation (Wolverine). Wolverine Software Corporation, 1995, page 374.

15. Thomas J. Schriber. An Introduction to Simulation Using GPSS/H. John Wile & Sons, 1991, ISBN, 0-471-04334-6, page 425.

16. Орлов С. Программные продукты поддержки презентаций. Computer World, №39, 1995, стр. 28-31.

17. В Андрианов А. Н., Бычков С. П., Хорошилов А. И. Программирование на языке СИМУЛА-67. М.: Наука, 1985.

18. Бахвалов Л. А. Моделирование динамики России на основе модели Форрестера. Приборы и системы управления. №8. 1997.

19. Дорри М. X., Рощин А. А. Инструментальные средства «Экспресс-Радиус» для автоматизации динамических расчетов систем управления. Приборы и системы управления, №3, 1996.

20. Прицкер А. Моделирование на СЛАМ 2. — М.: Наука, 1984.

21. OR/MS today. October 1995. Volume 22, No. 5.


 

ЛЕКЦИЯ№2

 



<== предыдущая лекция | следующая лекция ==>
КОМПЬЮТЕРНОЕ МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ | РАЗЛИЧНЫЕ КЛАССИФИКАЦИИ МАТЕМАТИЧЕСКИХ МОДЕЛЕЙ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 2.005 сек.