logo
АСУ ТП / ИДЗ №1 / Анализ сложных систем

13.2. Метод Монте-Карло

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

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

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

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

Метод Монте-Карло широко применяется в исследовании операций главным образом потому, что это простейший из всех вычислительных методов, пригодных для решения больших и сложных проблем, типичных для этой науки. Случайность часто является характерным элементом этих проблем. Они нередко бывают новы и трудно формализуемы. Даже если их можно выразить в математической форме, то почти никогда не удается свести к известному виду, в результате чего бывает трудно или невозможно применить традиционные методы анализа. В то же время для метода Монте-Карло достаточно построить модель реального процесса. Поскольку быстродействующие ЭЦВМ принимают на себя основную долю вычислительного труда, метод Монте-Карло часто позволяет заменить вычислительной техникой математическую изобретательность и мысль. Более того, для решения большей части проблем, встречающихся в исследовании операций и анализе систем, не существует других методов, кроме метода Монте-Карло, особенно если помимо определения ожидаемой величины параметра желательно получить также оценку вероятного распределения результата. Если задача бывает сложна, то традиционные методы анализа обычно становятся бесполезными.

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

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

Положим, что изделия поступают в случайной последовательности на пункт обслуживания, где их обрабатывают поочередно. Предположим, что интервалы между случайными моментами поступления составляют в 40% случаев 10 мин, а в 60% случаев - 20 мин. Предположим, что длительность обслуживания также изменяется случайным образом, причем требуется 10 мин для обслуживания 80% изделий и 30 мин для обслуживания остальных 20% изделий.

Тогда для каждого изделия будем иметь:

средний интервал между поступлениями; 0,4 х 10 + + 0,6 х 20 = 16 мин,

среднее время обслуживания: 0,8 х 10 + 0,2 х 30 14 мин,

среднее время простоя: 16 - 14 = 2 мин.

Нас интересует среднее время ожидания обслуживания. Чтобы решить эту задачу, используем модель, где интервалы между моментами поступления и длительностью обслуживания выражаются последовательностью случайных чисел. Сначала выберем случайные числа, чтобы определить интервалы времени между поступлениями изде­лий. Если это будут 0, 1, 2 или 3, считаем интервал прибытия равным 10 мин. Если это 4, 5, 6, 7, 8 или 9, будем считать его равным 20 мин. Аналогично для определении времени обслуживания поступающего изделия выберем второй ряд случайных чисел. Если это будет 0, 2, 3, 4, 5, 6 или 7, то время обслуживания составит 10 мин, а если это будет 8 или 9, то сочтем его равным 30 мин.

Теперь мы можем заполнить табл. 13.1, полагая начало процесса в момент времени 0. Здесь R и R' представляют собой случайные числа.

Таблица 13.1 - Простейшая задача массового обслуживания

N

R

Момент поступле-ния

Момент начала

обслуживания

R'

Длитель-ность обслужи-вания, мин

Момент конца обслуживания

Длитель-ность ожидания, мин

Длитель-ность простоя обслуживания

1

2

3

4

5

6

7

8

9

1

-

0

0

2

10

10

0

0

2

1

10

10

8

30

40

0

0

Продолжение таблицы 13.1

1

2

3

4

5

6

7

8

9

3

9

30

40

6

10

50

10

0

4

8

50

50

1

10

60

0

0

5

8

70

70

9

30

100

0

10

6

2

80

100

4

10

110

20

0

7

5

90

110

1

10

120

20

0

8

7

110

120

3

10

130

10

0

9

4

130

120

4

10

140

0

0

10

9

150

150

9

30

170

0

10

Таким образом, для 10 выборок, указанных в таблице, общее время ожидания составляет 60 мин, или 6 мин на изделие в среднем. Этот пример оставляет без ответа многие вопросы, например вопрос о числе выборок, необходимых для получения достоверной величины времени ожидания, однако он наглядно демонстрирует основные особенности метода Монте-Карло в том виде, как он применяется в исследовании операций.

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

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