Метод Монте-Карло имитационного моделирования
Сыктывкарский Государственный Университет
Колледж Экономики, Права и Информатики
Программное
обеспечение вычислительной техники
и автоматизированных систем
Курсовая
Метод Монте-Карло
имитационного
моделирования
руководитель: Ванеева А.Г
выполнила: Бакина М.Л
Сыктывкар
2011
Содержание:
Введение______________________
1.Понятие и терминология имитационного моделирования____________ 4
1.1.Применение
имитационного моделирования_________________
1.2.Виды
имитационного моделирования_________________
2.Метод
Монте-Карло___________________
2.1
История_______________________
2.2 Метод Монте-Карло в имитационном моделирование__________10
3.Нахождение
числа ______________________________
Заключение____________________
Используемая
литература____________________
Введение
В наше время все чаще возникают вопросы, воплощение которых невозможно на практике. Это послужило появлению имитационного моделирования. В частности метод Монте-Карло.
Годом рождения метода Монте-Карло считается 1949 год, когда в свет выходит статья Метрополиса и Улама «Метод Монте-Карло». Название метода происходит от названия города в княжестве Монако, широко известного своими многочисленными казино, поскольку именно рулетка является одним из самых широко известных генераторов случайных чисел. Станислав Улам пишет в своей автобиографии «Приключения математика», что название было предложено Николасом Метрополисом в честь его дяди, который был азартным игроком.
Целью моей работы является:
- -Освоить метод Монте-Карло имитационного моделирования.
Для достижения поставленной цели необходимо решить ряд задач:
- Изучение технической литературы
- Решение задачи методом Монте-Карло имитационного моделирования
1.Понятие и терминология имитационного моделирования.
Имитационное моделирование — метод, позволяющий строить модели, описывающие процессы так, как они проходили бы в действительности. Такую модель можно «проиграть» во времени как для одного испытания, так и заданного их множества. При этом результаты будут определяться случайным характером процессов. По этим данным можно получить достаточно устойчивую статистику.
Имитационное моделирование — это метод исследования, при котором изучаемая система заменяется моделью, с достаточной точностью описывающей реальную систему и с ней проводятся эксперименты с целью получения информации об этой системе. Экспериментирование с моделью называют имитацией (имитация — это постижение сути явления, не прибегая к экспериментам на реальном объекте).
Имитационное моделирование — это частный случай математического моделирования. Существует класс объектов, для которых по различным причинам не разработаны аналитические модели, либо не разработаны методы решения полученной модели. В этом случае аналитическая модель заменяется имитатором или имитационной моделью.
Имитационным
моделированием иногда называют получение
частных численных решений
Имитационная модель — логико-математическое описание объекта, которое может быть использовано для экспериментирования на компьютере в целях проектирования, анализа и оценки функционирования объекта.
1.1.Применение имитационного моделирования. К имитационному моделированию прибегают, когда
1)дорого
или невозможно
2)невозможно
построить аналитическую
3)необходимо
сымитировать поведение
Цель
имитационного моделирования
Имитационное
моделирование позволяет
Имитация,
как метод решения
Можно выделить две разновидности имитации:
- Метод Монте-Карло (метод статистических испытаний);
- Метод имитационного моделирования (статистическое моделирование).
1.2.Виды имитационного моделирования
1)Агентное моделирование — относительно новое (1990-е-2000-е гг.) направление в имитационном моделировании, которое используется для исследования децентрализованных систем, динамика функционирования которых определяется не глобальными правилами и законами (как в других парадигмах моделирования), а наоборот, когда эти глобальные правила и законы являются результатом индивидуальной активности членов группы. Цель агентных моделей — получить представление об этих глобальных правилах, общем поведении системы, исходя из предположений об индивидуальном, частном поведении ее отдельных активных объектов и взаимодействии этих объектов в системе. Агент — некая сущность, обладающая активностью, автономным поведением, может принимать решения в соответствии с некоторым набором правил, взаимодействовать с окружением, а также самостоятельно изменяться.
2)Дискретно-событийное моделирование — подход к моделированию, предлагающий абстрагироваться от непрерывной природы событий и рассматривать только основные события моделируемой системы, такие как: «ожидание», «обработка заказа», «движение с грузом», «разгрузка» и другие. Дискретно-событийное моделирование наиболее развито и имеет огромную сферу приложений — от логистики и систем массового обслуживания до транспортных и производственных систем. Этот вид моделирования наиболее подходит для моделирования производственных процессов. Основан Джеффри Гордоном в 1960-х годах.
3)Системная динамика — парадигма моделирования, где для исследуемой системы строятся графические диаграммы причинных связей и глобальных влияний одних параметров на другие во времени, а затем созданная на основе этих диаграмм модель имитируется на компьютере. По сути, такой вид моделирования более всех других парадигм помогает понять суть происходящего выявления причинно-следственных связей между объектами и явлениями. С помощью системной динамики строят модели бизнес-процессов, развития города, модели производства, динамики популяции, экологии и развития эпидемии. Метод основан Джеем Форрестером в 1950 годах.
Области
применения: Бизнес процессы, Боевые действия,
Динамика населения, Дорожное движение,
ИТ-инфраструктура, Математическое моделирование
исторических процессов, Логистика, Пешеходная
динамика, Производство, Рынок и конкуренция,
Сервисные центры, Цепочки поставок, Уличное
движение, Управление проектами, Экономика
здравоохранения, Экосистема, Информационная
безопасность.
2.Метод Монте-Карло
Метод Монте-Карло - общее название группы численных методов, основанных на получении большого числа реализаций стохастического (случайного) процесса, который формируется таким образом, чтобы его вероятностные характеристики совпадали с аналогичными величинами решаемой задачи. Используется для решения задач в различных областях физики, математики, экономики, оптимизации, теории управления и др.
2.1.История появления метода Монте-Карло. Сначала Энрико Ферми в 1930-х годах в Италии, а затем Джон фон Нейман и Станислав Улам в 1940-х в Лос-Аламосе предположили, что можно использовать связь между стохастическими процессами и дифференциальными уравнениями «в обратную сторону». Они предложили использовать стохастический подход для аппроксимации многомерных интегралов в уравнениях переноса, возникших в связи с задачей о движении нейтрона в изотропной среде.
Идея была развита Уламом, который, по иронии судьбы, также как и Фокс боролся с вынужденным бездельем во время выздоровления после болезни, и, раскладывая пасьянсы, задался вопросом, какова вероятность того, что пасьянс «сложится». Ему в голову пришла идея, что вместо того, чтобы использовать обычные для подобных задач соображения комбинаторики, можно просто поставить «эксперимент» большое число раз и, таким образом, подсчитав число удачных исходов, оценить их вероятность. Он же предложил использовать компьютеры для расчётов методом Монте-Карло.
Появление первых электронных компьютеров, которые могли с большой скоростью генерировать псевдослучайные числа, резко расширило круг задач, для решения которых стохастический подход оказался более эффективным, чем другие математические методы. После этого произошёл большой прорыв и метод Монте-Карло применялся во многих задачах, однако его использование не всегда было оправдано из-за большого количества вычислений, необходимых для получения ответа с заданной точностью.
Годом рождения метода Монте-Карло считается 1949 год, когда в свет выходит статья Метрополиса и Улама «Метод Монте-Карло». Название метода происходит от названия города в княжестве Монако, широко известного своими многочисленными казино, поскольку именно рулетка является одним из самых широко известных генераторов случайных чисел. Станислав Улам пишет в своей автобиографии «Приключения математика», что название было предложено Николасом Метрополисом в честь его дяди, который был азартным игроком.
В
1950-х годах метод
В 1970-х годах в новой области математики — теории вычислительной сложности было показано, что существует класс задач, сложность (количество вычислений, необходимых для получения точного ответа) которых растёт с размерностью задачи экспоненциально. Иногда можно, пожертвовав точностью, найти алгоритм, сложность которого растёт медленнее, но есть большое количество задач, для которого этого нельзя сделать (например, задача определения объёма выпуклого тела в n-мерном евклидовом пространстве) и метод Монте-Карло является единственной возможностью для получения достаточно точного ответа за приемлемое время.
В
настоящее время основные усилия
исследователей направлены на создание
эффективных Монте-Карло
2.2 Метод Монте- Карло имитационного моделирования.
Аналитический метод решения проблемы посредством выполнения большого числа тестовых операций, называемых имитационным моделированием, и получения необходимого решения из объединенных результатов тестов. Метод вычисления распределения вероятностей возможных результатов
При имитационном моделировании часто используется метод статистических испытаний (Монте-Карло). Теорию и практику машинных имитационных экспериментов с моделями экономических систем еще 30 лет назад подробно разобрал Т. Нейлор. Вернемся к внутриэконометрическому применению датчиков псевдослучайных чисел.
Имитационное моделирование по методу Монте-Карло (Monte-Carlo Simulation) позволяет построить математическую модель для проекта с неопределенными значениями параметров, и, зная вероятностные распределения параметров проекта, а также связь между изменениями параметров (корреляцию) получить распределение доходности проекта.
Применение
метода имитации Монте-Карло требует
использования специальных
Как
уже отмечалось, анализ рисков с
использованием метода имитационного
моделирования Монте-Карло
Результатом такого комплексного анализа выступает распределение вероятностей возможных результатов проекта.
Программный пакет Risk-Master позволяет в диалоговом режиме осуществить процедуру подготовки информации к анализу рисков инвестиционного проекта по методу Монте-Карло и провести сами расчеты.
Первый
шаг при применении метода имитации
состоит в определении функции
распределения каждой переменной, которая
оказывает влияние на формирование
потока наличности. Как правило, предполагается,
что функция распределения
Как
только функция распределения
Алгоритм метода имитации Монте-Карло
Шаг 1.Опираясь на использование статистического пакета, случайным образом выбираем, основываясь на вероятностной функции распределения значение переменной, которая является одним из параметров определения потока наличности.
Шаг 2. Выбранное значение случайной величины наряду со значениями переменных, которые являются экзогенными переменными используется при подсчете чистой приведенной стоимости проекта.
Шаги 1 и 2 повторяются большое количество раз, например 1000, и полученные 1000 значений чистой приведенной стоимости проекта используются для построения плотности распределения величины чистой приведенной стоимости со своим собственным математическим ожиданием и стандартным отклонением.
Используя значения математического ожидания и стандартного отклонения, можно вычислить коэффициент вариации чистой приведенной стоимости проекта и затем оценить индивидуальный риск проекта, как и в анализе методом сценариев.
Теперь
необходимо определить минимальное
и максимальное значения критической
переменной, а для переменной с
пошаговым распределением помимо этих
двух еще и остальные значения,
принимаемые ею. Границы варьирования
переменной определяются, просто исходя
из всего спектра возможных
По прошлым наблюдениям за переменной можно установить частоту , с которой та принимает соответствующие значения. В этом случае вероятностное распределение есть то же самое частотное распределение, показывающее частоту встречаемости значения, правда, в относительном масштабе (от 0 до 1). Вероятностное распределение регулирует вероятность выбора значений из определенного интервала. В соответствии с заданным распределением модель оценки рисков будет выбирать произвольные значения переменной. До рассмотрения рисков мы подразумевали, что переменная принимает одно определенное нами значение с вероятностью 1. И через единственную итерацию расчетов мы получали однозначно определенный результат. В рамках модели вероятностного анализа рисков проводится большое число итераций, позволяющих установить, как ведет себя результативный показатель (в каких пределах колеблется, как распределен) при подстановке в модель различных значений переменной в соответствии с заданным распределением.
Задача аналитика, занимающегося анализом риска, состоит в том, чтобы хотя бы приблизительно определить для исследуемой переменной (фактора) вид вероятностного распределения. При этом основные вероятностные распределения, используемые в анализе рисков, могут быть следующими: нормальное, постоянное, треугольное, пошаговое. Эксперт присваивает переменной вероятностное распределение, исходя из своих количественных ожиданий и делает выбор из двух категорий распределений: симметричных (например, нормальное, постоянное, треугольное) и несимметричных (например, пошаговое распределение).
Существование коррелированных переменных в проектном анализе вызывает порой проблему, не рассмотреть которую означало бы заранее обречь себя на неверные результаты. Ведь без учета коррелированности, скажем, двух переменных - компьютер, посчитав их полностью независимыми, генерирует нереалистичные проектные сценарии. Допустим цена и количество проданного продукта есть две отрицательно коррелированные переменные. Если не будет уточнена связь между переменными (коэффициент корреляции), то возможны сценарии, случайно вырабатываемые компьютером, где цена и количество проданной продукции будут вместе либо высоки, либо низки, что естественно негативно отразится на результате.
Проведение расчетных итераций является полностью компьютеризированная часть анализа рисков проекта. 200-500 итераций обычно достаточно для хорошей репрезентативной выборки. В процессе каждой итерации происходит случайный выбор значений ключевых переменных из специфицированного интервала в соответствии с вероятностными распределениями и условиями корреляции. Затем рассчитываются и сохраняются результативные показатели. И так далее, от итерации к итерации.
Завершающая
стадия анализа проектных рисков
- интерпретация результатов, собранных
в процессе итерационных расчетов.
Результаты анализа рисков можно
представить в виде профиля риска.
На нем графически показывается вероятность
каждого возможного случая (имеются
в виду вероятности возможных
значений результативного показателя).
3.Нахождение числа Pi путем метода Монте-Карло имитационного моделирования.
Напомним
этапы имитационного
- определение вероятностных распределений каждой переменной;
- компьютер выбирает случайное значение для каждой неопределенной переменной, основанное на вероятностном распределении этой переменной;
- отобранное значение вместе с фиксированными факторами (ставкой налогов, амортизационных отчислений и т. д.) используется в модели для определения результативных показателей;
- этапы 2 и 3 повторяются многократно, например 500 раз. В результате получают распределение 500 значений результативного показателя. Обычно это позволяет выделить наиболее вероятное значение.
Преимуществом метода моделирования является тот факт, что он позволяет увидеть широкий диапазон вероятных результатов, а не несколько дискретных оценок. Тем не менее метод Монте-Карло мало распространен на практике из-за трудоемкости и сложности выявления всех взаимосвязей и корреляции переменных.
Для вычисления числа p с помощью метода Монте-Карло рассмотрим круг радиуса 1 с центром в точке (1,1). Круг вписан в квадрат, SКВ=2×2=4.
Выбираем внутри квадрата N случайных точек. Выбрать точку – это значит задать ее координаты: числа x и y. Обозначим NКР - число точек, попавших при этом внутрь круга.
Исходными данными являются сторона квадрата, содержащего круг, и количество точек, которые мы будем случайным образом выбирать внутри квадрата. Результатом является площадь круга.
Точка принадлежит квадрату, если 0 =< x =< 2 и 0 =< y =<2.
Если (x-1)2+(y-1)2 =< 1, то точка попадает в круг, иначе она вне круга. Это и есть математическое соотношение, позволяющее для каждой точки определять, лежит ли она в круге.
Геометрически очевидно, что , отсюда
т. е. , т. к. , получаем (1)
Формула (1) дает оценку числа p. Чем больше N, тем больше точность этой оценки. Следует заметить, что данный метод вычисления площади будет справедлив только тогда, когда случайные точки будут не "просто случайными", а еще и "равномерно разбросанными" по всему квадрату.
Для
моделирования равномерно распределенных
случайных чисел в интервале
от 0 до 1 в языке программирования
Паскаль используется датчик случайных
чисел - функция RANDOM1. Таким образом,
суть компьютерного эксперимента заключается
в обращении к функции RANDOM для получения
координат точки x и у N раз. При этом определяется
попадет ли точка с координатами (х, у)
в круг единичного радиуса. В случае попадания
увеличивается на 1 значение величины Nкруга.
Алгоритм
Программа(Pascal ABC2)
PROGRAM MONTE_KARLO; (Название программы)
VAR I,N,N1:LONGINT;(Задаем тип переменных, длинное целое число)
X,Y,PI:REAL;(Задаем тип переменных, вещественное число)
BEGIN (Начало программы)
RANDOMIZE; (Функция, выдающая случайные числа)
WRITE('Введите количество точек N='); (Вывод сообщения на экран)
READLN(N);(Ввод с клавиатуры кол-ва точек)
FOR I:=1 TO N DO (Цикл нахождения случайных точек внутри круга и квадрата)
BEGIN
X:=2*RANDOM;
Y:=2*RANDOM;
IF SQR(X-1)+SQR(Y-1)<=1 THEN N1:=N1+1;
END;
PI:=4*N1/N;
WRITELN('PI=',PI:15:11); (Вывод числа Пи)
END.
Вычислительный эксперимент и анализ результатов
| N | Результат |
| 50 | 2,8000000000 |
| 50 | 3,2800000000 |
| 50 | 3,2800000000 |
| 600 | 3,1400000000 |
| 600 | 3,1266666667 |
| 600 | 3,2333333333 |
| 2500 | 3,1408000000 |
| 2500 | 3,1008000000 |
| 2500 | 3,0784000000 |
| 5000 | 3,1184000000 |
| 5000 | 3,1280000000 |
| 5000 | 3,1656000000 |
| 10000 | 3,1404000000 |
| 10000 | 3,1444000000 |
| 10000 | 3,1588000000 |
| 1000000 | 3,1440640000 |
| 1000000000 | 3,1440640000 |
Выводы:
1)С увеличением точности вычислений увеличивается время работы программы;

- Метод наблюдения
- Метод наблюдения в журналистике
- Метод наблюдения: возможности и ограничения при изучении феномена уличных арт-акций
- Метод наблюдения в социологии
- Метод наблюдения и особенности его использования в психолого-педагогическом исследовании
- Метод набора персонала
- Метод наглядности в обучении изобразительному искусству средствами мультимедийной презентации
- Метод «мертвой точки» и его практическое применение
- Метод минимального элемента
- Метод М.Монтессори и его реализация в практике современного образования
- Метод множителей Лагранжа
- Метод «мозгового штурма»
- Метод молекулярной динамики
- Метод Монте Карло