ГЛАВА 18
ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ
Имитационное моделирование является мощным инструментом исследования поведения реальных систем. Методы имитационного моделирования позволяют собрать необходимую информацию о поведении системы путем создания ее компьютеризованной модели. Эта информация используется затем для проектирования системы. Имитационное моделирование не решает оптимизационных задач, а скорее представляет собой технику оценки значений функциональных характеристик моделируемой системы.
Современное имитационное моделирование применяется в основном для исследования ситуаций и систем, которые можно описать как системы массового обслуживания. Это не ограничивает применение имитационного моделирования, поскольку на практике любую ситуацию исследования операций или принятия решений можно в той или иной мере рассматривать как систему массового обслуживания. По этой причине методы имитационного моделирования находят широкое применение в задачах, возникающих в процессе создания систем массового обслуживания, систем связи; в экономических и коммерческих задачах, включая оценки поведения потребителя, определение цен, экономическое прогнозирование деятельности фирм; в социальных и социально-психометрических задачах; в задачах анализа военных стратегий и тактик.
Предшественником современного имитационного моделирования считается метод Монте-Карло, основная идея которого состоит в использовании выборки случайных чисел для получения вероятностных или детерминированных оценок каких-либо величин. Основное различие между современными методами имитации и методом Монте-Карло заключается в том, что в последнем время не является обязательным фактором, а получаемые оценки "статичны". Метод Монте-Карло применяется для вычисления площадей фигур, ограниченных кривыми, или, в более общем случае, вычисления кратных интегралов; вычисления констант (например л, равной 3,14159...); обращения матриц и т.п.
Имитация является случайным экспериментом, поэтому любой результат, полученный путем имитационного моделирования, подвержен экспериментальным ошибкам и, следовательно, как в любом статистическом эксперименте, должен основываться на результатах соответствующих статистических проверок. Это важное замечание мы подчеркиваем на протяжении всей главы.
18.1. МЕТОД МОНТЕ-КАРЛО
Для демонстрации метода Монте-Карло рассмотрим следующий пример. Здесь особо подчеркнута статистическая природа имитационного эксперимента.
Пример 18.1.1
Используем метод Монте-Карло для оценки площади круга, уравнение окружности которого имеет вид
(х - 1)2 + (у-2)2 = 25.
Круг имеет радиус г = 5 см, и его центр находится в точке (х, у) = (1, 2).
Процедура оценки площади требует заключения круга в описанный около него квадрат, сторона которого равна диаметру круга (рис. 18.1). Вершины квадрата определяются непосредственно из геометрических свойств фигуры.
(-4, 7) (6, 7)
(-4,-3) (6,-3)
Рис. 18.1. Оценка площади круга методом Монте-Карло
Оценка площади круга основана на предположении, что все точки квадрата равновероятны. Предположим, что выборка состоит из наблюдений п точек квадрата, и т из них попали внутрь круга или на окружность. Тогда
т, \ т,,п
площадь круга = -(площадь квадрата) =-(10x10). п п
Здесь координаты х и у точек квадрата представлены как равномерно распределенные случайные величины с плотностями вероятностей
/(*) = -. -4<х<6, v ; 10
/(>•) = -, -3<у<7.
Обе функции равны нулю вне указанных интервалов.
Процедура вычисления выборочных значений (х, у) начинается с генерирования независимых случайных чисел, равномерно распределенных на интервале [0, 1]. Затем эти числа отображаются на наш квадрат. Равномерно распределенные на интервале [0, 1] случайные числа имеют плотность вероятности вида
1, если 0 < д- < ], О в противном случае.
В табл. 18.1 приведен небольшой список случайных чисел из интервала [0, 1]. Эти числа сгенерированы с использованием специальных методов, которые описаны в разделе 18.4.
Таблица 18.1
0,0589 | 0,3529 | 0,5869 | 0,3455 | 0,7900 | 0,6307 |
0,6733 | 0,3646 | 0,1281 | 0,4871 | 0,7698 | 0,2346 |
0,4799 | 0,7676 | 0,2867 | 0,8111 | 0,2871 | 0,4220 |
0,9486 | 0,8931 | 0,8216 | 0,8912 | 0,9534 | 0,6991 |
0,6139 | 0,3919 | 0,8261 | 0,4291 | 0,1394 | 0,9745 |
0,5933 | 0,7876 | 0,3866 | 0,2302 | 0,9025 | 0,3428 |
0,9341 | 0,5199 | 0,7125 | 0,5954 | 0,1605 | 0,6037 |
0,1782 | 0,6358 | 0,2108 | 0,5423 | 0,3567 | 0,2569 |
0,3473 | 0,7472 | 0,3575 | 0,4208 | 0,3070 | 0,0546 |
0,5644 | 0,8954 | 0,2926 | 0,6975 | 0,5513 | 0,0305 |
Пусть Л, и Л2 - различные случайные числа из интервала [0, 1]. Тогда координаты (х, у) точек квадрата можно выразить через эти случайные числа:
х = -4 + [6 - (-4)]Л, = -4 + ЮЛ,,
у = -3 + [7 - (-3)]Л2 = -3 + 10Л2.
Используя приведенные формулы, мы можем сгенерировать равномерно распределенную случайную точку (х, у) квадрата для каждой пары случайных чисел (Л,,Л2). Сгенерированная точка {х, у) попадает внутрь круга, если
(х- 1)2 + (у-2)2<25.
Например, если Л, = 0,0589 и Л2 = 0,6733, то
х = -4 + ЮЛ, = -4 + 10 х 0,0589 = -3,411,
у = -3 + 10Л2 = -3 + 10 х 0,6733 = 3,733.
Так как величина (-3.411 - I)2 + (3.733 - 2)2 = 22,46 меньше 25, следовательно, точка (х, у) попадает внутрь круга.
Исследуем теперь влияние случайной выборки на точность оценки площади круга. Точность оценки можно повысить, увеличив объем одной выборки и/или повторив эксперименты (прогоны) на разных выборках (но одинакового размера).
Хотя вычисление отдельных выборочных значений относительно просто, создание выборки достаточно большого объема требует больших вычислений. Шаблон Excel chl8Circle.xls создан для выполнения вычислений рассматриваемого примера (рис. 18.2). Входными данными для вычислений являются радиус круга (ячейка С5), координаты центра круга (ячейки С6 и С7), размер выборки (ячейка С4) и количество прогонов (ячейка СЗ). В ячейку Е4 вводится число имитаций (т.е. количество полных повторений экспериментов с тем же количеством прогонов). Например, если объем выборки п равен 30 000 и число имитаций равно 3, то шаблон автоматически вычислит результаты для выборок объема 30 000, 60 000 (2 имитации) и 90 000 (3 имитации).