Компьютерное моделирование
Учебник
Покупка
Основная коллекция
Издательство:
КУРС
Авторы:
Градов Владимир Михайлович, Овечкин Геннадий Владимирович, Овечкин Павел Владимирович, Рудаков Игорь Владимирович
Год издания: 2023
Кол-во страниц: 263
Дополнительно
Вид издания:
Учебник
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-906818-79-9
ISBN-онлайн: 978-5-16-105145-0
Артикул: 638282.08.01
Рассматриваются теория и практика построения компьютерных моделей. Подробно изложены вопросы построения генераторов случайных величин с заданными законами распределения, приведены рекомендации и методики проверки их качества. На конкретных примерах показаны основные приемы моделирования с помощью метода статистических испытаний. Подробно изложены вопросы моделирования систем массового обслуживания. Рассмотрены основы стратегического и тактического планирования машинного эксперимента. Представлены основы построения моделей с помощью инструментальных средств моделирования Pilgrim.
В части описания методов и технологий численного моделирования дается материал, составляющий ядро вычислительных средств математического эксперимента, касающийся аппроксимации функций (включая линейную, нелинейную и многомерную интерполяции, наилучшее среднеквадратичное приближение), определения интегралов функций одной и многих переменных, построения и алгоритмизации математических моделей, описываемых дифференциальными уравнениями в частных производных.
Учебник подготовлен для студентов учреждений высшего профессионального образования по направлению подготовки 02.03.03 — Математическое обеспечение и администрирование информационных систем (квалификация «бакалавр») и полностью соответствует Федеральному Государственному образовательному стандарту по данному направлению.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 02.03.03: Механика и математическое моделирование
- ВО - Магистратура
- 02.04.03: Математическое обеспечение и администрирование информационных систем
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
В.М. ГРАДОВ, Г.В. ОВЕЧКИН, П.В. ОВЕЧКИН, И.В. РУДАКОВ УЧЕБНИК Москва КУРС ИНФРА-М 2023 КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ Рекомендовано Научно-методическим советом «РГРТУ» в качестве учебника для студентов высших учебных заведений, обучающихся по направлению подготовки 1.02.03.03 — математическое обеспечение и администрирование информационных систем (квалификация «бакалавр»)
УДК 004.94(075.8) ББК 32.973.2я73 Г75 Градов В.М., Овечкин Г.В., Овечкин П.В., Рудаков И.В. Компьютерное моделирование: Учебник/ В.М. Градов, Г.В. Овечкин, П.В. Овечкин, И.В. Рудаков — Москва: КУРС: ИНФРА-М, 2023. — 264 с. ISBN 978-5-906818-79-9 (КУРС) ISBN 978-5-16-012263-2 (ИНФРА-М, print) ISBN 978-5-16-105145-0 (ИНФРА-М, online) Рассматриваются теория и практика построения компьютерных моделей. Подробно изложены вопросы построения генераторов случайных величин с заданными законами распределения, приведены рекомендации и методики проверки их качества. На конкретных примерах показаны основные приемы моделирования с помощью метода статистических испытаний. Подробно изложены вопросы моделирования систем массового обслуживания. Рассмотрены основы стратегического и тактического планирования машинного эксперимента. Представлены основы построения моделей с помощью инструментальных средств моделирования Pilgrim. В части описания методов и технологий численного моделирования дается материал, составляющий ядро вычислительных средств математического эксперимента, касающийся аппроксимации функций (включая линейную, нелинейную и многомерную интерполяции, наилучшее среднеквадратичное приближение), определения интегралов функций одной и многих переменных, построения и алгоритмизации математических моделей, описываемых дифференциальными уравнениями в частных производных. Учебник подготовлен для студентов учреждений высшего профессионального образования по направлению подготовки 02.03.03 — Математическое обеспечение и администрирование информационных систем (квалификация «бакалавр») и полностью соответствует Федеральному Государственному образовательному стандарту по данному направлению. УДК 004.94(075.8) ББК 32.973.2я73 Г75 ISBN 978-5-906818-79-9 (КУРС) © Градов В.М., Овечкин Г.В., ISBN 978-5-16-012263-2 (ИНФРА-М, print) Овечкин П.В., Рудаков И.В., 2016 ISBN 978-5-16-105145-0 (ИНФРА-М, online) © КУРС, 2016 ФЗ № 436-ФЗ Издание не подлежит маркировке в соответствии с п. 1 ч. 2 ст. 1 Рецензенты: В.В. Золотарев — доктор технических наук, профессор Института космических исследований РАН. А.Н. Пылькин — доктор технических наук, профессор, заведующий кафедрой вычислительной и прикладной математики ФГБОУ ВПО «Рязанского государственного радиотехнического университета».
ВВЕДЕНИЕ Моделирование используется практически во всех сферах человеческой деятельности. Оно может применяться для того, чтобы лучше понять принципы работы какого-либо объекта, научиться им управлять, понять, как он будет работать в новых условиях, оптимизировать работу объекта и т.п. При этом моделирование позволяет проводить исследование объектов, реальные эксперименты над которыми по ряду причин (дорого, опасно для здоровья, очень большие или маленькие объекты, очень быстрые или медленные процессы) оказываются невозможными. Кроме того, моделирование позволяет изучать объекты, которые даже не существуют. Например, моделирование широко используется при конструировании новых летательных аппаратов. Из всех видов моделирования нас в первую очередь будет интересовать имитационное моделирование, которое является едва ли не самым популярным средством, используемым для решения перечисленных задач. При имитационном моделировании для исследования системы используются программы, которые воссоздают в модельном времени динамику функционирования исследуемой системы, и написание таких программ требует от разработчика определенных знаний и умений, изложенных в данном учебнике. Также большой интерес представляют методы и алгоритмы вычислительной математики, которые широко применяются в компьютерном моделировании. Данные вопросы рассмотрены в предлагаемом читателям учебнике. Структурно учебник состоит из одиннадцати глав. В первой главе изложены основные понятия математического моделирования, представлена классификация математических моделей, рассмотрены основы компьютерного и имитационного моделирования, перечислены типовые этапы, выполняемые при компьютерном моделировании систем. Вторая глава посвящена рассмотрению вопросов, связанных с построением базовых генераторов псевдослучайных чисел, используемых при компьютерном моделировании. Основное внимание уделено арифметическим генераторам, обладающим рядом преимуществ при моделировании по сравнению с физическими и табличными генераторами. Третья глава содержит описание методов, используемых при проверке качества генераторов случайных чисел. Описаны как графические, так и статистические тесты для проверки равномерности и независимости формируемых псевдослучайных чисел. В четвертой главе изложены основные методы генерации непрерывных случайных величин с заданным законом распределения. Внимание уделено как универсальным методам генерации (при этом
рассмотрены точные и приближенные методы), так и частным методам генерации случайных величин с наиболее часто используемыми законами распределения. В пятой главе рассмотрены способы построения генераторов для дискретных случайных величин с произвольными и частными законами распределения, также изложены вопросы моделирования полной группы несовместных событий и сложных независимых и зависимых событий. В шестой главе обсуждается моделирование систем с помощью метода статистических испытаний (метод Монте-Карло), а также представлен ряд примеров его использования. Рассмотрены классические модели одномерных и двумерных случайных блужданий. Седьмая глава посвящена моделированию систем массового об служивания. В ней представлена классификация подобных систем, рассмотрены их основные характеристики, а также даны методы получения характеристик как с помощью аналитических расчетов, так и при помощи компьютерного моделирования. В восьмой главе рассмотрены вопросы планирования компьютерного эксперимента. Основное внимание уделено тактическому планированию эксперимента, в рамках которого решаются вопросы обеспечения заданной точности и достоверности результатов моделирования. В девятой главе представлены основы моделирования систем массового обслуживания при помощи инструментальных средств имитационного моделирования Pilgrim. Рассмотрены основные объекты системы и даны примеры их использования. В десятой главе представлены методы и алгоритмы вычислитель ной математики, которые широко применяются в задачах компьютерного моделирования. Рассмотрены вопросы аппроксимации функций (включая лагранжеву линейную, нелинейную и многомерную интерполяции, а также наилучшее среднеквадратичное приближение), применения численных методов интегрирования функций одной и многих переменных, построения и алгоритмизации математических моделей, формулируемых на основе дифференциальных уравнений в частных производных. Показаны возможности известного математического пакета Matlab для решения обсуждаемых задач. Одиннадцатая глава содержит двенадцать лабораторных работ, снабженных индивидуальными вариантами заданий, которые рекомендуется выполнить учащимся, изучающим дисциплину «Компьютерное моделирование». Следует отметить, что для упрощения изучения материала боль шая часть рассмотренных в учебнике методов и алгоритмов снабжена примерами их реализации на современном языке программирования C#. Кроме того, в конце каждой главы представлен список контрольных вопросов, которые можно использовать для оценки уровня усвоения материала.
Глава 1. ОБЩИЕ ПОНЯТИЯ КОМПЬЮТЕРНОГО МОДЕЛИРОВАНИЯ 1.1. Понятие модели и моделирования Перед человечеством постоянно возникает необходимость в ис следовании объектов и систем в окружающем его мире. При этом могут преследоваться самые разные цели: лучше понять принципы работы систем, усовершенствовать их, научиться управлять системами, прогнозировать их поведение в заданных условиях и т.п. Одним из наиболее часто используемых в процессе исследования подходов является моделирование. Дадим определения основным понятиям, используемым в учебнике. Система представляет собой совокупность объектов, функцио нирующих и взаимодействующих друг с другом для достижения определенной цели [4]. Система может являться элементом другой системы более высокого порядка (надсистемы) и включать в себя системы более низкого порядка (подсистемы). Моделью называется объект любой природы, который создается исследователем с целью получения новых знаний об объекте-оригинале и отражает только существенные, с точки зрения разработчика, свойства оригинала [2]. Любая модель создается для проведения моделирования. Под моделированием будем понимать исследование каких-либо явлений, процессов или систем объектов путем построения и изучения их моделей. Следует отметить, что одному объекту может соответствовать много моделей, поскольку для разных целей исследования наиболее существенные свойства оригинала могут отличаться. Например, в качестве модели человека могут выступать его скульптура, скелет, размер одежды, результаты анализов и т.п. Одна модель при этом может соответствовать нескольким разным объектам. Также отметим, что при моделировании важно использовать модель, адекватную исследуемой системе. Это означает, что существенные с точки зрения экспериментатора свойства модели и системы в достаточной для достижения целей исследования степени должны совпадать. Очевидно, что наиболее адекватные результаты будут получены при проведении экспериментов над самой системой. Однако существуют несколько веских причин, по которым в процессе исследования нужно использовать не реальную систему, а ее модель.
Во-первых, реальные системы часто очень сложны и число фак торов, которые влияют на ее работу, просто огромно. В процессе проведения экспериментов контролировать и изменять все эти факторы оказывается невозможным. Поэтому исследователю необходимо упростить ситуацию с помощью модели, в результате чего разнообразие этих факторов уменьшается до желаемого уровня и существенно облегчается их контроль и изменение. Во-вторых, проведение экспериментов над реальной системой во многих случаях оказывается вообще невозможным по ряду причин. Например, из-за слишком высокой стоимости эксперимента (экономика страны), его опасности для самой системы и окружающего мира (ядерный реактор), ограниченности современного уровня науки и техники и т.п. Также исследуемые системы могут быть очень велики (Солнечная система) или малы (атом) для проведения экспериментов, изучаемые процессы могут протекать слишком быстро (процессы в двигателе внутреннего сгорания) или слишком медленно (геологические процессы), исследуемый объект может уже (древняя цивилизация) или еще (новый летательный аппарат) не существовать. Использование модели позволяет проводить исследование таких систем. В определении моделирования не указано, какие именно свойства оригинала следует считать существенными и переносить в модель. Общего и исчерпывающего ответа на этот вопрос нет. Выбор наиболее существенных свойств оригинала определяется на основе опыта исследователя, создающего модель, и во многом определяется целью моделирования. Перечислим типичные цели применения моделирования. 1. Исследование оригинала. В данном случае исследователь занимается изучением сущности объекта или явления. 2. Анализ («что будет, если...»). При этом исследователь учится прогнозировать последствия различных воздействий на оригинал. 3. Синтез («как сделать, чтобы...»). При этом исследователь учится управлять оригиналом, оказывая на него воздействия. 4. Оптимизация («как сделать лучше»). В данном случае исследо вателю необходимо выбрать наилучшее решение в заданных условиях. 1.2. Классификация видов моделирования Далее рассмотрим различные виды моделирования. Их упрощен ная классификация представлена на рис. 1.1. При физическом моделировании используется сама система или подобная ей, имеющая ту же или другую физическую природу (например, гидродинамические исследования на уменьшенных моделях кораблей). Физическая модель может быть реализована в уменьшенном или увеличенном масштабе (масштабируемые модели). Под математическим моделированием понимается процесс установления соответствия реальной системе математической модели
и исследование этой модели, позволяющее получить характеристики реальной системы. Применение математического моделирования позволяет исследовать объекты, реальные эксперименты над которыми затруднены или невозможны (дорого, опасно для здоровья, однократные процессы, невозможны из-за физических или временных ограничений — находятся далеко, еще или уже не существуют и т.п.). В зависимости от вида модели математическое моделирование делится на аналитическое и компьютерное. При аналитическом моделировании для представления процессов функционирования элементов системы используются математические соотношения (алгебраические, интегральные, дифференциальные, логические и т.д.). Аналитическая модель может быть исследована следующими методами [12]: а) аналитическим, при котором устанавливаются явные зависимости для искомых характеристик; б) численным, при котором получаются приближенные численные решения для заданных входных данных; в) качественным, когда в явном виде можно найти лишь некоторые свойства решения, например существование, единственность, характер зависимости. Примером аналитической модели является модель колебания ма тематического маятника (рис. 1.2). Движение маятника описывается дифференциальным уравнением ml d t dt mgl t 2 2 2 0 θ θ ( ) ( ) + = , (1.1) где m, l — масса и длина подвеса маятника; g — ускорение свободного падения; θ( )t — угол отклонения маятника в момент времени t. Рис. 1.1. Классификация видов моделирования
Используя данное уравнение, можно получить оценки интересующих исследователя характеристик. Заметим, что аналитическое решение предпочтительнее всегда, но его обычно удается получить лишь после ряда упрощающих предположений, существенно ухудшающих адекватность модели. При компьютерном моделировании математическая модель формули руется в виде алгоритма или программы для ЭВМ, что позволяет проводить над ней вычислительные эксперименты. Компьютерное моделирование в зависимости от используемых методов достаточно условно можно разделить на численное, статистическое и имитационное. При численном моделировании используются методы вычислительной математики (численное решение уравнений, задающих модель, при различных наборах параметров модели). При статистическом моделировании выполняется обработка дан ных о системе (модели) с целью получения статистических характеристик системы. При имитационном моделировании процесс функционирования исследуемой системы воспроизводится на ЭВМ при соблюдении логической и временной последовательности протекания процессов, что позволяет узнать данные о состоянии системы или отдельных ее элементов в определенные моменты времени. Именно имитационному моделированию будет посвящена оставшаяся часть учебника. Поэтому рассмотрим его более подробно. 1.3. Имитационное моделирование В настоящее время имитационное моделирование является одним из наиболее эффективных методов исследования сложных систем, а часто и единственным практически доступным методом получения информации о поведении системы, особенно на этапе ее проектирования. Основным преимуществом имитационного моделирования по сравнению с аналитическим моделированием является возмож Рис. 1.2. Математический маятник
ность решения более сложных задач. Имитационные модели позволяют достаточно просто учитывать такие факторы, как наличие дискретных и непрерывных элементов, нелинейные характеристики элементов системы, многочисленные случайные воздействия и многие другие факторы, которые часто создают трудности при аналитических исследованиях. Применение имитационного моделирования целесообразно при наличии определенных условий. Эти условия определяет Р. Шеннон [13]. 1. Не существует законченной математической постановки данной задачи, либо еще не разработаны аналитические методы решения сформулированной математической модели. К этой категории относятся многие модели массового обслуживания, связанные с рассмотрением очередей. 2. Аналитические методы имеются, но математические процедуры столь сложны и трудоемки, что имитационное моделирование дает более простой способ решения задачи. 3. Кроме оценки определенных параметров желательно осуще ствить на имитационной модели наблюдение за ходом процесса в течение определенного периода. Имитационное моделирование также можно успешно применять в сфере образования и профессиональной подготовки. Разработка и использование имитационной модели позволяет обучаемым видеть и разыгрывать на модели реальные процессы и ситуации. Вместе с тем в процессе применения имитационного моделирования возникает целый ряд проблем [13], которые могут привести к получению недостоверных сведений об исследуемом объекте. Поэтому исследователь должен знать эти проблемы и попытаться их решить. Первая проблема состоит в нахождении компромисса между точ ностью и сложностью модели. По мнению Р. Шеннона, искусство моделирования в основном состоит в умении находить и отбрасывать факторы, не влияющие или незначительно влияющие на исследуемые характеристики системы. Если модель слишком упрощена и в ней не учтены некоторые существенные факторы, то высока вероятность получить по этой модели ошибочные результаты. Если же модель слишком сложная и в нее включены факторы, оказывающие малое влияние на изучаемую систему, то существенно повышаются затраты на создание такой модели и возрастает риск ошибки в логической структуре модели. Поэтому перед созданием модели необходимо проделать большой объем работы по анализу структуры системы и взаимосвязей между ее элементами, изучению совокупности входных воздействий, тщательной обработке имеющихся статистических данных об исследуемой системе. При выборе наиболее существенных факторов
обычно руководствуются принципом Парето, который говорит о том, что 20% наиболее важных факторов определяют 80% свойств системы, а оставшиеся 80% факторов определяют лишь 20% ее свойств. Вторая проблема заключается в искусственном воспроизводстве случайных воздействий окружающей среды. Этот вопрос очень важен, поскольку результаты, полученные на модели, неверно воспроизводящей случайные воздействия, с большой вероятностью не будут соответствовать действительности. В модели для формирования случайности обычно используются так называемые генераторы псевдослучайных чисел, качество которых должно быть тщательно проверено перед использованием модели. Третьей проблемой является оценка адекватности модели и полученных с ее помощью результатов. Адекватность моделей может быть оценена методом экспертных оценок, сравнением с другими моделями (уже подтвердившими свою достоверность), сравнением полученных результатов с реальными данными по системе. Следует отметить, что существует много типов имитационных моделей, подходящих для моделирования разнообразных систем. Рассмотрим дихотомическую классификацию имитационных моделей в соответствии с некоторыми признаками. Имитационные модели делятся следующим образом [12]. 1. Статические и динамические. Статическая имитационная мо дель — это система в определенный момент времени (снимок системы) или же система, в которой время просто не играет никакой роли. Примерами статической имитационной модели являются модели, созданные по методу Монте-Карло. Динамическая имитационная модель представляет систему, меняющуюся во времени, например систему массового обслуживания. 2. Детерминированные и стохастические. Если имитационная модель не содержит вероятностных (случайных) компонентов, она называется детерминированной. Примером является моделирование движения молекул в газе, когда каждая молекула представляется в виде шарика с определенным направлением и скоростью движения. Взаимодействие двух молекул или молекулы со стенкой сосуда происходит согласно законам абсолютно-упругого столкновения и легко описывается алгоритмически. В стохастических имитационных моделях ряд входных компонентов является случайным. Большинство систем массового обслуживания и управления запасами являются стохастическими. Стохастические имитационные модели выдают результат, который является случайным сам по себе, и поэтому он может рассматриваться лишь как оценка истинных характеристик модели. 3. Непрерывные и дискретные. В дискретных моделях переменные, характеризующие состояние системы, меняются мгновенно, а в не