Этапы построения и использования имитационной модели
Ниже приводится краткая характеристика каждого из основных видов работ, которые необходимо выполнить с целью практической реализации метода имитационного моделирования: Шаг 1. Построение модели. Содержание данного этапа почти не отличается от содержания этапа построения модели любого другого типа. Опасность при этом заключается в излишней детализации модели, которая может привести к слишком большим затратам машинного времени при выполнении соответствующего эксперимента. Лучший способ уберечься от такого рода опасности заключается в том, чтобы постоянно помнить о конкретной цели исследования. Например, если модель должна помочь в выборе одного из двух вариантов размещения нового складского помещения, то, по-видимому, нет необходимости при построении имитационной модели делить плановый период на часы или дни: вполне достаточно использовать отрезки времени, продолжительность которых равняется 1 недели. Однако если с помощью модели нужно решить, сколько в новом складе должно быть погрузочно-разгрузочных платформ (например, одна или две), то, возможно, возникнет необходимость имитировать процесс функционирования упомянутого складского помещения, ориентируясь на отрезки времени продолжительностью от 5 до 15 мин. Шаг 2. Разработка проекта эксперимента. Операционист сможет уменьшить вероятность той или иной ошибки и, таким образом,
306 потери времени, если он подробно разработает сопровождающие эксперимент процедуры до того, как модель будет «приведена в действие». Это означает, что операционисту необходимо тщательно продумать, какие функциональные характеристики имитируемой системы планируется измерять. Кроме того, следует определить, с помощью какого метода математической статистики будут учитываться флуктуации экспериментальных данных, полученных в результате этих измерений. Шаг 3. Разработка программного обеспечения. Весь имитационный эксперимент проводится на ЭВМ. Другими словами, все стадии эволюционного развития модели, так же как и генерирование случайных событий, протекают в ЭВМ. Если имитируемая система обладает очень простой структурой, то может оказаться, что при разработке соответствующего «вычислительного варианта» модели удобнее всего использовать один из стандартных языков программирования. Однако представляется более вероятным, что предпочтение будет отдано одному из языков моделирования, такому, как Симскрипт или GPSS, трансляторы с которых имеются для многих ЭВМ. Пример 2.9.1. Имитационное моделирование фондовой биржи. Мистер N хочет оценить степень оптимальности некоторой конкретной стратегии приобретения и продажи акций. Для упрощения схемы рассуждений предположим, что он приобретает или продает только какие-нибудь одни акции. В рассматриваемый момент времени он обладает пакетом в 100 акций, каждая из которых оценивается на текущий момент в 10 у.е. Для простоты, допустим также, что цена акции может ежедневно меняться только на 1 у.е. Держатель акций совершает не более одной сделки в день и платит за каждую сделку комиссионные в размере 2% стоимости реализуемых акций (как в случае приобретения, так и в случае продажи); разумеется, в некоторые дни таких сделок может и не быть. Мистер N хочет проверить степень прибыльности следующей стратегии: 1) обладая пакетом акций, необходимо продать его, как только цены на акции начинают падать; 2) в противном случае следует приобретать акции, как только цены на них начинают возрастать. Если мистер N обладает пакетом акций, то, согласно стратегии, он сохраняет его в течение всего периода, когда цены на акции либо не меняются, либо возрастают; если же мистер N не располагает
307 акциями, то он воздерживается от их приобретения в течение периода, когда уровень цен на них либо остается без изменений, либо падает. Чтобы произвести оценку такой стратегии, мистер N должен, кроме того, сделать некоторое предположение относительно характера суточных изменений цен на акции. На основе анализа ретроспективных данных мистер N строит модель изменения цен, представленную на рис.2.9.1.
Цена одной акции в n-й день Цена одной акции в (n -1)-й день Возрастает Остается без изменения Падает Возросла по сравнению с (n-2)-м днем 1/2 1/4 1/4 Осталась такой же, как и в (n -2)-й день 1/4 1/2 1/4 Упала по сравнению с (n - 2)-м днем 1/4 1/4 1/2 Р и с. 2.9.1. Вероятности изменения цен на акции Проиллюстрируем эту таблицу, рассмотрев в ней вторую и третью строки. Если как в понедельник, так и во вторник цена одной акции равняется 10 у.е. то, по мнению N, в среду цена одной акции будет равняться 11 (возрастет) с вероятностью 1/4, 10 (остается без изменения) с вероятностью 1/2 и 9 (упадет) с вероятностью 1/4 (см. вторую строку). Если же во вторник цена одной акции равняется 9 у.е., то, как полагает N, в среду одна акция будет стоить 10 у.e. с вероятностью 1/4, 9 с вероятностью 1/4 и 8 с вероятностью 1/2 (см. третью строку). Заметим, что в случае, когда цена акции возрастает, N считает, что с вероятностью 1/2 она будет продолжать возрастать; аналогичные суждения он выносит и в тех случаях, когда цена акции не меняется или начинает падать. Прежде чем начинать имитационный процесс, необходима генерация конкретных ситуаций, которые происходят в соответствии с распределением вероятностей, приведенным на рис. 2.9.1, и отражали бы стохастический дрейф цен. Один из наиболее простых способов такого рода генерации заключается в бросании двух монет; при этом соответствие между случайными исходами при бросании монет и генерируемыми ситуациями можно представить с помощью таблицы, приведенной на
308 рис. 2.9.2. Нетрудно убедиться, что при таких правилах соответствия генерируется распределение вероятностей, полностью совпадающее с распределением, которое предполагалось мистером N. Цена одной акции в п-й день Цена одной акции в (n-1)-й день ВозрастаетОстается без изменения Падает Возросла по сравнению с (n-2)- м днем Герб и решетка Два герба Две решетки Осталась такой же, как в (n-2)-й день Два герба Герб и решетка Две решетки Упала по сравнению с (n-2)- м днем Два герба Две решетки Герб и решетка Рис. 2.9.2. Стохастическое изменение цен, полученное путем бросания монет Пусть имитируется период продолжительностью 20 дней, каждый из которых соответствующим образом занумерован (день 1, день 2, день 3 и т.д.). При этом пару монет нужно бросать 20 раз; результаты последовательного бросания монет представлены в таблице на рисунке 2.9.3.
день Результат бросания монет Направление изменения вчерашней цены Изменение сегодняшней цены Цена акции
0 - - - 10 1 г/р Без изменения Без изменения 10 2 2р - “ - Убывает 9 3 2г Убывает Возрастает 10 4 2г Возрастает Без изменения 10 5 2г Без изменения Возрастает 11 6 г/р возрастает возрастает 12 7 2г - “ - Без изменения 12 8 2р Без изменения Убывает 11 9 2г убывает Возрастает 12 10 г/р возрастает возрастает 13 11 2р - “ - Убывает 12 12 г/р убывает убывает 11 13 2р - “ - Без изменения 11
309 14 2г Без изменения Возрастает 12 15 г/р возрастает возрастает 13 16 г/р - “ - - “ - 14 17 2р - “ - Убывает 13 18 г/р убывает убывает 12 19 г/р - “ - - “ - 11 20 2р - “ - Без изменения 11 Рис. 2.9.3. Имитирование изменения цен Для определения соответствующей последовательности цен на акции необходимо задать начальные условия, а именно цену одной акции в день 0, а также информацию относительно того, наблюдалось или не наблюдалось в этот день изменение цены по отношению к предшествующему дню. Пусть цена одной акции в день 0 равнялась 10 у.е. и совпадала с соответствующим показателем в предшествующий день. При таких начальных условиях и при выпадании после первого бросания герба и решетки цена одной акции в день 1 равняется 10 у.е. (см. вторую строку таблицы на рис. 2.9.2). Тогда, поскольку цены в день 0 и в день 1 совпадают, в день 2 выпадание двух решеток означает, что цена одной акции в соответствии со второй строкой таблицы на рисунке 4.10.2 падает до 9. Поскольку в день 2 наблюдалось понижение цены (по отношению к дню 1), выпадание (при третьем бросании монет) двух гербов указывает на то, что в день 3, согласно третьей строке таблицы, цена одной акции будет равняться 10. (Читателю предлагается самостоятельно проверить данные, содержащиеся в таблице на рис.2.9.3 для дней 5, 10, 15 и 20). Теперь, используя конкретные данные об изменении цен в течение 20-дневного периода, мы можем проверить, насколько правильной является стратегия мистера N. Результаты имитирования подробно представлены в таблице на рис. 2.9.4. (В эту таблицу для удобства ее использования перенесены также данные об изменении цен, указанные в таблице на рис. 2.9.3.) День Цена акции Решение Кол-во акций, имеющихся на Стоимость акций, у.е. Наличные деньги, у.е. 0 10 100 1000 1 10 100 1000 2 9 Продать 0 0 882,00 3 10 Купить 86 860 4,80 4 10 86 860 4,80
310 5 11 86 946 4,80 6 12 86 1032 4,80 7 12 86 1032 4,80 8 11 Продать 0 0 931,88 9 12 Купить 76 912 1,64 10 13 76 988 1,64 11 12 Продать 0 0 895,40 12 11 0 0 895,40 13 11 0 0 895,40 14 12 Купить 73 876 1,88 15 13 73 949 1,88 16 14 73 1022 1,88 17 13 Продать 0 0 931,90 18 12 0 0 931,90 19 11 0 0 931,00 20 11 0 0 931,90 P и с.2.9.4. Результаты имитации рассматриваемой стратегии за 20-дневный период. Решения, приведенные в третьем столбце, определяются непосредственно ценами на акции в предшествующие два дня и принятой стратегией поведения. Данные, содержащиеся в трех последних столбцах, получены в результате дополнительных вычислений. Проиллюстрируем результаты, приведенные в таблице на рис. 2.9.4, рассмотрев ряд конкретных ситуаций. Так, например, в день 2 мистер N продает имеющиеся у него 100 акций по цене 9 у.е; однако он должен при этом уплатить 2% комиссионных, что составляет 18 у.е. (0.02×9×100). Следовательно, в результате продажи акций он получает наличными 882 у.е. (900 – 18). В день 3 он вновь приобретает пакет акций. При этом он снова должен уплатить 2% комиссионных, так что фактически каждая акция ему обходится в 10.20 у.е. Поскольку сумма наличных денег у N равняется 882, он может приобрести лишь 86 акций, оставив себе наличными 4,80(882 – 86×10.20). Заметим, что сумма наличных денег у N в конце рассматриваемого периода (т.е. по истечении 20 дней) оказывается равной 931.90 у.е. и меньше той суммы, которую он имел бы, если бы вместо того, чтобы придерживаться указанной стратегии, он продал свои 100 акций, имевшиеся у него в наличии, в день 0 и, таким образом, получил бы после уплаты комиссионных 980 у.е.
311 Является ли рассмотренная нами стратегия (при всех принятых предположениях) выгодной? Вероятно, нет. Однако с выводами торопиться не следует. Предположим, что вместо произвольным образом выбранного нами периода имитирования (20 дней) был бы назначен период в 40 или 10 дней. К какому заключению мы бы пришли в этих случаях? Или представим себе, что при том же 20- дневном периоде генерация ситуаций путем бросания монет производилась бы повторно. Можно ли утверждать, что окончательный результат, полученный с помощью упомянутой стратегии, по-прежнему казался бы неудовлетворительным? Пока можно лишь сказать, что выводы относительно степени «доброкачественности» рассматриваемой стратегии действительно частично зависят от статистического разброса имитационных данных, а также от продолжительности периода имитирования. При дальнейшем анализе модели мы увидим, что заключительная оценка стратегии осложняется тем обстоятельством, что по мере увеличения длины имитируемого периода диапазон возможных исходов для N увеличивается. Более того, если даже при увеличении продолжительности рассматриваемого периода стратегия и приводит к росту ожидаемого выигрыша (т. е. ожидаемой суммы наличных денег, получаемых в результате игры на бирже), то вероятность разорения на промежуточных этапах все равно остается. Таким образом, мы видим, что даже такой простой пример имитационного моделирования порождает ряд весьма сложных вопросов относительно меры эффективности выбираемой стратегии и метода проектирования научно обоснованного эксперимента по проверке этой эффективности.
Ви переглядаєте статтю (реферат): «Этапы построения и использования имитационной модели» з дисципліни «Математична економіка»