Имитационное моделирование
Выбери формат для чтения
Загружаем конспект в формате doc
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Раздел 4. Экономико-математические методы
Тема 4.10. Имитационное моделирование
4.10.1. Область применения имитационного моделирования.
Как уже отмечалось, модели линейного программирования наиболее успешно применяются при планировании усилий, связанных с реализацией комплексных проектов. Если плановый период имеет большую протяженность (например. 10 лет или более), соответствующая многошаговая модель линейного программирования, как правило, содержит лишь среднегодовые показатели. При этом влияние результатов оптимизации на показатели, характеризующие текущие операции на отрезках продолжительностью от 1 недели до 1 месяца, в явной форме не учитывается. Если же рассматривается плановый период значительно меньшей продолжительности (скажем, от 3 месяцев до 1 года), то соответствующая модель полностью абстрагируется от вариаций плановых показателей на временных отрезках продолжительностью от 1 рабочего дня до 1 недели. Таким образом, анализ, осуществляемый в рамках линейного программирования, обычно не позволяет определить правила, с помощью которых можно было бы перейти от рекомендуемого плана к процедурам его реализации на отрезках времени, меньших по сравнению с интервалами, которые рассматриваются моделью.
Ограниченность анализа, основанного на использовании метода линейного программирования, обусловлена также отсутствием достоверной информации относительно будущего. Неопределенность прогнозов в той или иной степени свойственна всем задачам планирования.
Модели динамического программирования, напротив, вполне пригодны для анализа мультивременных задач планирования в условиях неопределенности и, таким образом, подходят для построения оптимальных стратегий. Однако по сравнению с моделями линейного программирования динамические оптимизационные модели способны в реальных условиях описывать лишь чрезвычайно упрощенные операционные системы. Как было показано в теме 4.9, если исключить случаи, когда исследуемая система характеризуется небольшим количеством переменных состояний, вычислительные процедуры при нахождении решений для моделей динамического программирования оказываются неимоверно трудоемкими.
Ориентированные на использование математического аппарата вероятностные динамические модели, в частности модели управления запасами и модели массового обслуживания, также обладают аналогичным недостатком (темы 4.6 и 4.7). Чтобы найти численное решение для такого рода моделей, приходится не только ограничиваться случаями, когда операционная система обладает небольшой размерностью, но и вводить упрощающие предположения относительно самой схемы функционирования исследуемой системы. Так, например, с помощью характерных для теории массового обслуживания математических методов, невозможно полностью адекватным образом проанализировать «поведение» очередей в ремонтных мастерских. Соответствующие стохастические модели могут служить лишь грубым приближением протекающих в действительности процессов формирования и обслуживания очередей.
Итак, несмотря на то, что математическое программирование и стохастическое моделирование имеют широкий диапазон применения, при рассмотрении многих важных задач организационного управления возникает необходимость обращаться к совершенно иным методам анализа.
Методы, изложенные в предыдущих темах, не смогут обеспечить исчерпывающего анализа таких задач организационного управления, как
1) Формирование инвестиционной политики при перспективном планировании. Инвестиционная политика крупных фирм должна, в частности, учитывать финансовое обеспечение научно-исследовательских и опытно-конструкторских работ при создании новых видов продукции, возможности расширения рынка сбыта, критериальные оценки основных проектов, оценку степени риска при планировании тех или иных комплексов работ, источники финансирования (кредит, привлечение капитала продажей акций и т. д.), увеличение фонда заработной платы, размещение и сокращение финансовых активов, сравнительную оценку вариантов слияния с другой фирмой и приобретения последней и т. п. Полноценная модель, с помощью которой можно было бы анализировать различные варианты инвестиционной политики, должна учитывать стохастическую природу и динамический характер инвестирования, а также предусматривать способ просеивания огромного количества стоящих перед фирмой альтернатив.
2) Выбор средств обслуживания (или оборудования) при текущем планировании. Здесь рассматриваются задачи типа определения количества контрольных прилавков в большом торговом центре, количества бензоколонок на бензозаправочной станции и количества лифтов в строящемся здании. Можно привести много других примеров, в которых рассматриваются вопросы распределения кадров, планировка заводских помещений, выбор мощности оборудования и т. д.
Типичными вопросами, возникающими в связи с решением задачи выбора средств обслуживания или оборудования, являются вопросы, начинающиеся словами «сколько», «каких размеров», «как разместить».
3) Разработка планов с обратной информационной связью и операционных предписаний. К важным задачам данного класса относится, например, задача выработки правил составления календарных планов на предприятиях с мелкосерийным производством, комбинатах по ремонту различных изделий, вычислительных центрах и т. д. Эти предписания, или операционные алгоритмы, должны учитывать гарантийные сроки выполнения заказов, потребности в обслуживании, наличные ресурсы, производственные мощности, темпы повышения квалификации рабочих (или приток дополнительной квалифицированной рабочей силы), уровень снабжения сырьем, по мере поступления информации о новых уже выполненных заказах предприятие сталкивается с задачей уточнения или полного пересмотра своих планов-графиков.
Почему описанные выше классы задач с трудом поддаются анализу? Причина заключается в необходимости одновременного учета факторов неопределенности, динамической взаимной обусловленности текущих решений и последующих событий, в комплексной взаимозависимости между управляемыми переменными исследуемой операционной системы, а в ряде случаев также и в том, что требуется рассматривать строго дискретную и четко определенную последовательность интервалов времени. Такого рода «глобальные» системные задачи обладают слишком большой размерностью и наличием слишком большого количества внутренних взаимосвязей, в силу чего их не удается решить методами математического программирования. Решения, принимаемые по вопросам, порождаемым перечисленными выше проблемами, нередко приводят к очень большим затратам и существенным образом влияют на будущие стоимостные характеристики функционирования системы и на эффективность деятельности фирмы в целом. Поэтому руководители такого рода фирм крайне заинтересованы в применении системного подхода к решению возникающих перед ними задач с тем, чтобы анализ организационно-управленческих ситуаций отличался более высоким качеством по сравнению с анализом, основанным на чистой интуиции или на опыте. Наиболее эффективным из существующих в настоящее время методов является имитационный подход. В настоящей теме наша основная цель заключается в том, чтобы дать описание метода имитационного моделирования и определить, какого рода задачи могут этим методом решаться. Мы не собираемся рассматривать вопросы, связанные с построением и анализом имитационных моделей (или схем) во всех подробностях. Эти вопросы излагаются в специальных работах, посвященных проблемам имитационного моделирования, а также в учебных пособиях, которые выпускаются фирмами-изготовителями ЭВМ и содержат описание специализированных языков для составления имитационных машинных программ.
4.10.2. Сущность имитационного подхода.
При имитационном подходе, прежде всего, строится экспериментальная модель системы. Затем производится сравнительная оценка конкретных вариантов функционирования системы путем «проигрывания» различных ситуаций на рассматриваемой модели.
Обычно представляется слишком неудобным и дорогостоящим решать задачи организационного управления путем имитации реальных действий, как, например, это делается в армейских условиях во время различного рода учений. Более предпочтительным является представление сложной функциональной системы с помощью логико-математической модели, «заложенной» в ЭВМ.
При этом факторы неопределенности, динамические характеристики и весь комплекс взаимосвязей между элементами исследуемой системы представляют в виде формул, хранящихся в ЭВМ. Имитирование системы начинают с некоторого вполне конкретного исходного состояния. В результате принимаемых решений, а также вследствие ряда контролируемых и неконтролируемых событий, среди которых могут быть и события случайного характера, система переходит в последующие моменты времени в другие состояния. Эволюционный процесс таким образом продолжается до тех пор, пока не наступит конечный момент планового периода. Отрезки времени внутри планового периода нередко оказываются четко определенными и образуют упорядоченную последовательность на достаточно большом периоде имитирования. Поэтому имитационный эксперимент сопряжен с огромным количеством вычислений, выполняемых ЭВМ с большой скоростью. Такое отражение в ЭВМ реального процесса длительностью в несколько лет за несколько минут называют сжатием времени.
Многие специалисты по исследованию операций смотрят на машинное имитирование как на средство, к которому прибегают лишь в самых крайних случаях. Это отношение объясняется двумя причинами.
Первая из них связана с характером самих результатов имитирования. Когда модель содержит элементы неопределенности, каждый ответ, вытекающий из конкретного акта имитирования, необходимо рассматривать только как оценку, верную с точностью лишь до статистических погрешностей. Так, например, имитационная модель образования очереди дает лишь оценку ее средней длины и соответствующую вероятность задержки. Следовательно, делая выводы об относительных преимуществах различных пробных вариантов с учетом результатов имитационных тестов, необходимо проявлять осторожность при оценке флуктуаций, сопровождающих исследуемый процесс.
Вторая причина недоверия к имитационному методу определяется способом его практического использования. Если функциональная система настолько сложна, что для ее рассмотрения неприменимы такие методы операционных исследований, как линейное и динамическое программирование или обычный анализ в рамках теории вероятностей, то построение имитационной модели и последующий анализ результатов имитирования в этом случае, скорее всего, будут сопряжены со значительными трудностями. Многие из склонных к опрометчивым выводам операционистов не без досады убедились, что, как и реальная действительность, «имитационный мир» оказывается трудно постижимым — имитационная модель приводит к такому количеству разнообразных исходов, что в результате получаемую информацию не так-то легко интерпретировать. Цель имитационного моделирования состоит в воспроизведении поведения исследуемой системы на основе результатов анализа наиболее существенных взаимосвязей между ее элементами. Результаты исследования имитационной модели, как правило, представляют собой оценки значений операционных (функциональных) характеристик той системы, поведение которой имитируется. Так, например, при имитационном моделировании функционирования любой системы массового обслуживания практический интерес могут представлять такие показатели, как средняя продолжительность обслуживания «клиента», средняя длина очереди, доля времени вынужденного простоя системы обслуживания и т.д.
Имитационное моделирование следует рассматривать как статистический эксперимент. В отличие от описанных выше математических моделей, результаты которых отражали устойчивое во времени поведение системы, результаты, получаемые в имитационной модели, представляют собой наблюдения, подверженные экспериментальным ошибкам. Это означает, что любое утверждение, касающееся характеристик моделируемой системы, должно основываться на результатах соответствующих статистических проверок.
Метод, используемый для решения перечисленных выше задач, который в известном смысле является предшественником современного имитационного моделирования, известен давно. Это — метод Монте-Карло. Его основная идея состоит в использовании выборок для получения искомых оценок. Процесс получения выборок требует, чтобы решаемая задача была описана соответствующим вероятностным распределением, в соответствии с которым и осуществляются выборки.
Популярность метода Монте-Карло применительно к решению теоретических задач стала падать в конце 50-х годов. Больший интерес стал проявляться к способу анализа сложных практических задач, который стали называть имитационным моделированием. Имитационное моделирование, подобно методу Монте-Карло, основано на использовании выборок оценивания результатов работы системы. В этом отношении многие идеи, возникшие в связи с методом Монте-Карло, нашли непосредственное приложение в имитационном моделировании. К этим идеям относятся использование случайных чисел для получения выборок в соответствии с некоторым вероятностным распределением и разработку способов уменьшения объема выборок, необходимых для надежной оценки результата.
Изложенные выше соображения позволяют также понять, почему метод имитационного моделирования удается реализовать только с помощью ЭВМ. Для получения статистической надежности, достаточной для обоснования управляющих решений, как правило, требуется многократное повторение имитационных тестов.
Отсутствие единой теории имитационного моделирования на ЭВМ есть одновременно «и благо, и зло». Положительным здесь является то, что имеется возможность строить имитационные модели любой степени сложности при огромном количестве динамических взаимосвязей, а также при отсутствии стационарности и наличии взаимно коррелированных стохастических элементов. Отрицательным же моментом является то, что по мере усложнения модели оценка степени ее адекватности оказывается весьма затруднительной.
4.10.3. Целевая установка имитационного моделирования.
При построении имитационной модели, предназначенной для углубленного анализа проблем организационного управления, преследуют по крайней мере одну из следующих целей:
1) Изучение действующей функциональной системы. Рассмотрим промышленную фирму, которая недавно зарегистрировала увеличение числа заказов на свою продукцию и отметила затем заметное ухудшение качества обслуживания своих клиентов в части соблюдения сроков выполнения этих заказов. У этой фирмы может появиться желание построить имитационную модель, с помощью которой можно было бы изучить, каким образом существующие процедуры определения сроков выполнения принимаемых заказов, календарного планирования производства и оформления заявок на поставку сырья порождают наблюдаемые задержки.
2) Анализ гипотетической функциональной системы. Обратимся к больнице, руководство которой рассматривает вопрос внедрения новой системы управления запасами медицинских препаратов. Руководство больницей может изъявить желание построить с использованием ретроспективных данных имитационную модель, чтобы проверить, каким будет средний уровень средств, связанных в запасах, и как часто будут возникать нехватки различных видов препаратов в случае, если будет реализован предлагаемый план.
3) Проектирование более совершенной функциональной системы. Рассмотрим предприятие с мелкосерийным производством, в котором станочные мощности распределены в соответствии с приоритетами, присвоенными выполняемым работам. У фирмы может появиться желание построить имитационную модель для нахождения эффективного способа определения системы приоритетов с тем, чтобы все работы могли выполняться без больших задержек и чтобы при этом коэффициент использования оборудования предприятия был достаточно высок.
4.10.4. Этапы построения и использования имитационной модели.
Ниже приводится краткая характеристика каждого из основных видов работ, которые необходимо выполнить с целью практической реализации метода имитационного моделирования:
Шаг 1. Построение модели. Содержание данного этапа почти не отличается от содержания этапа построения модели любого другого типа. Опасность при этом заключается в излишней детализации модели, которая может привести к слишком большим затратам машинного времени при выполнении соответствующего эксперимента. Лучший способ уберечься от такого рода опасности заключается в том, чтобы постоянно помнить о конкретной цели исследования. Например, если модель должна помочь в выборе одного из двух вариантов размещения нового складского помещения, то, по-видимому, нет необходимости при построении имитационной модели делить плановый период на часы или дни: вполне достаточно использовать отрезки времени, продолжительность которых равняется 1 недели. Однако если с помощью модели нужно решить, сколько в новом складе должно быть погрузочно-разгрузочных платформ (например, одна или две), то, возможно, возникнет необходимость имитировать процесс функционирования упомянутого складского помещения, ориентируясь на отрезки времени продолжительностью от 5 до 15 мин.
Шаг 2. Разработка проекта эксперимента. Операционист сможет уменьшить вероятность той или иной ошибки и, таким образом, потери времени, если он подробно разработает сопровождающие эксперимент процедуры до того, как модель будет «приведена в действие». Это означает, что операционисту необходимо тщательно продумать, какие функциональные характеристики имитируемой системы планируется измерять. Кроме того, следует определить, с помощью какого метода математической статистики будут учитываться флуктуации экспериментальных данных, полученных в результате этих измерений.
Шаг 3. Разработка программного обеспечения. Весь имитационный эксперимент проводится на ЭВМ. Другими словами, все стадии эволюционного развития модели, так же как и генерирование случайных событий, протекают в ЭВМ. Если имитируемая система обладает очень простой структурой, то может оказаться, что при разработке соответствующего «вычислительного варианта» модели удобнее всего использовать один из стандартных языков программирования. Однако представляется более вероятным, что предпочтение будет отдано одному из языков моделирования, такому, как Симскрипт или GPSS, трансляторы с которых имеются для многих ЭВМ.
Пример 4.10.1. Имитационное моделирование фондовой биржи.
Мистер N хочет оценить степень оптимальности некоторой конкретной стратегии приобретения и продажи акций. Для упрощения схемы рассуждений предположим, что он приобретает или продает только какие-нибудь одни акции. В рассматриваемый момент времени он обладает пакетом в 100 акций, каждая из которых оценивается на текущий момент в 10 у.е. Для простоты, допустим также, что цена акции может ежедневно меняться только на 1 у.е. Держатель акций совершает не более одной сделки в день и платит за каждую сделку комиссионные в размере 2% стоимости реализуемых акций (как в случае приобретения, так и в случае продажи); разумеется, в некоторые дни таких сделок может и не быть.
Мистер N хочет проверить степень прибыльности следующей стратегии:
1) обладая пакетом акций, необходимо продать его, как только цены на акции начинают падать;
2) в противном случае следует приобретать акции, как только цены на них начинают возрастать.
Если мистер N обладает пакетом акций, то, согласно стратегии, он сохраняет его в течение всего периода, когда цены на акции либо не меняются, либо возрастают; если же мистер N не располагает акциями, то он воздерживается от их приобретения в течение периода, когда уровень цен на них либо остается без изменений, либо падает.
Чтобы произвести оценку такой стратегии, мистер N должен, кроме того, сделать некоторое предположение относительно характера суточных изменений цен на акции. На основе анализа ретроспективных данных мистер N строит модель изменения цен, представленную на рис.4.10.1.
Цена одной акции в n-й день
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
Р и с. 4.10.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 она будет продолжать возрастать; аналогичные суждения он выносит и в тех случаях, когда цена акции не меняется или начинает падать.
Прежде чем начинать имитационный процесс, необходима генерация конкретных ситуаций, которые происходят в соответствии с распределением вероятностей, приведенным на рис. 4.10.1, и отражали бы стохастический дрейф цен.
Один из наиболее простых способов такого рода генерации заключается в бросании двух монет; при этом соответствие между случайными исходами при бросании монет и генерируемыми ситуациями можно представить с помощью таблицы, приведенной на рис. 4.10.2. Нетрудно убедиться, что при таких правилах соответствия генерируется распределение вероятностей, полностью совпадающее с распределением, которое предполагалось мистером N.
Цена одной акции
в (n-1)-й день
Цена одной акции в п-й день
Возрастает
Остается без изменения
Падает
Возросла по сравнению с (n-2)-м днем
Герб и решетка
Два герба
Две решетки
Осталась такой же, как в (n-2)-й день
Два герба
Герб и решетка
Две решетки
Упала по сравнению с (n-2)-м днем
Два герба
Две решетки
Герб и решетка
Рис. 4.10.2. Стохастическое изменение цен, полученное путем
бросания монет
Пусть имитируется период продолжительностью 20 дней, каждый из которых соответствующим образом занумерован (день 1, день 2, день 3 и т.д.). При этом пару монет нужно бросать 20 раз; результаты последовательного бросания монет представлены в таблице на рисунке 4.10.3. Для определения соответствующей последовательности цен на акции необходимо задать начальные условия, а именно цену одной акции в день 0, а также информацию относительно того, наблюдалось или не наблюдалось в этот день изменение цены по отношению к предшествующему дню. Пусть цена одной акции в день 0 равнялась 10 у.е. и совпадала с соответствующим показателем в предшествующий день. При таких начальных условиях и при выпадании после первого бросания герба и решетки цена одной акции в день 1 равняется 10 у.е. (см. вторую строку таблицы на рис. 4.10.2). Тогда, поскольку цены в день 0 и в день 1 совпадают, в день 2 выпадание двух решеток означает, что цена одной акции в соответствии со второй строкой таблицы на рисунке 4.10.2 падает до 9. Поскольку в день 2 наблюдалось понижение цены (по отношению к дню 1), выпадание (при третьем бросании монет) двух гербов указывает на то, что в день 3, согласно третьей строке таблицы, цена одной акции будет равняться 10. (Читателю предлагается самостоятельно проверить данные, содержащиеся в таблице на рис.4.10.3 для дней 5, 10, 15 и 20).
день
Результат
бросания
монет
Направление
изменения
вчерашней цены
Изменение
сегодняшней цены
Цена
акции
-
-
-
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
14
2г
Без изменения
Возрастает
12
15
г/р
возрастает
возрастает
13
16
г/р
- “ -
- “ -
14
17
2р
- “ -
Убывает
13
18
г/р
убывает
убывает
12
19
г/р
- “ -
- “ -
11
20
2р
- “ -
Без изменения
11
Рис. 4.10.3. Имитирование изменения цен
День
Цена акции у.е.
Решение
Кол-во акций, имеющихся на руках
Стоимость акций, у.е.
Наличные деньги, у.е.
10
100
1000
1
10
100
1000
2
9
Продать
882,00
3
10
Купить
86
860
4,80
4
10
86
860
4,80
5
11
86
946
4,80
6
12
86
1032
4,80
7
12
86
1032
4,80
8
11
Продать
931,88
9
12
Купить
76
912
1,64
10
13
76
988
1,64
11
12
Продать
895,40
12
11
895,40
13
11
895,40
14
12
Купить
73
876
1,88
15
13
73
949
1,88
16
14
73
1022
1,88
17
13
Продать
931,90
18
12
931,90
19
11
931,00
20
11
931,90
P и с.4.10.4. Результаты имитации рассматриваемой
стратегии за 20-дневный период.
Теперь, используя конкретные данные об изменении цен в течение 20-дневного периода, мы можем проверить, насколько правильной является стратегия мистера N. Результаты имитирования подробно представлены в таблице на рис. 4.10.4. (В эту таблицу для удобства ее использования перенесены также данные об изменении цен, указанные в таблице на рис. 4.10.3.)
Решения, приведенные в третьем столбце, определяются непосредственно ценами на акции в предшествующие два дня и принятой стратегией поведения. Данные, содержащиеся в трех последних столбцах, получены в результате дополнительных вычислений. Проиллюстрируем результаты, приведенные в таблице на рис. 4.10.4, рассмотрев ряд конкретных ситуаций. Так, например, в день 2 мистер N продает имеющиеся у него 100 акций по цене 9 у.е; однако он должен при этом уплатить 2% комиссионных, что составляет 18 у.е. (0.029100). Следовательно, в результате продажи акций он получает наличными 882 у.е. (900 — 18). В день 3 он вновь приобретает пакет акций. При этом он снова должен уплатить 2% комиссионных, так что фактически каждая акция ему обходится в 10.20 у.е. Поскольку сумма наличных денег у N равняется 882, он может приобрести лишь 86 акций, оставив себе наличными 4,80(882 - 8610.20). Заметим, что сумма наличных денег у N в конце рассматриваемого периода (т.е. по истечении 20 дней) оказывается равной 931.90 у.е. и меньше той суммы, которую он имел бы, если бы вместо того, чтобы придерживаться указанной стратегии, он продал свои 100 акций, имевшиеся у него в наличии, в день 0 и, таким образом, получил бы после уплаты комиссионных 980 у.е.
Является ли рассмотренная нами стратегия (при всех принятых предположениях) выгодной? Вероятно, нет. Однако с выводами торопиться не следует. Предположим, что вместо произвольным образом выбранного нами периода имитирования (20 дней) был бы назначен период в 40 или 10 дней. К какому заключению мы бы пришли в этих случаях? Или представим себе, что при том же 20-дневном периоде генерация ситуаций путем бросания монет производилась бы повторно. Можно ли утверждать, что окончательный результат, полученный с помощью упомянутой стратегии, по-прежнему казался бы неудовлетворительным? Пока можно лишь сказать, что выводы относительно степени «доброкачественности» рассматриваемой стратегии действительно частично зависят от статистического разброса имитационных данных, а также от продолжительности периода имитирования.
При дальнейшем анализе модели мы увидим, что заключительная оценка стратегии осложняется тем обстоятельством, что по мере увеличения длины имитируемого периода диапазон возможных исходов для N увеличивается. Более того, если даже при увеличении продолжительности рассматриваемого периода стратегия и приводит к росту ожидаемого выигрыша (т. е. ожидаемой суммы наличных денег, получаемых в результате игры на бирже), то вероятность разорения на промежуточных этапах все равно остается.
Таким образом, мы видим, что даже такой простой пример имитационного моделирования порождает ряд весьма сложных вопросов относительно меры эффективности выбираемой стратегии и метода проектирования научно обоснованного эксперимента по проверке этой эффективности.
4.10.5. Особенности процедуры построения модели.
Рассмотрим три аспекта процедуры построения модели: определение формирующих модель компонентов, проверка модели на адекватность и надежность, уточнение параметров модели и измерение ее основных характеристик.
Компоненты модели. Структуру имитационной модели в большинстве случаев удобно описывать, определяя содержание фигурирующих в ней динамических процессов и результатов функционирования имитируемой системы. Динамические процессы в рассмотренной выше имитационной модели фондовой биржи включают последовательные моменты заключения сделок мистером N, который придерживается определенного правила принятия решений, учитывая при этом факторы, определяющие изменения уровня цен на акции. Результаты рассматриваемой деятельности определяются количеством акций, которыми обладает N, суммой имеющихся у него наличных и его общим капиталом. Результаты функционирования реальной системы, как правило, атрибутированы (т. е. имеют вполне определенный физический смысл). Так, например, когда цена акции известна, пакет акций, которым располагает N, имеет денежное выражение. Кроме того, наблюдаются атрибутивные связи, устанавливающие способ суммирования результатов функционирования системы. Например, полный капитал мистера N состоит как из имеющихся у него наличных, так и из его пакета акций.
В любой момент времени имитационная модель находится в некотором вполне определенном состоянии. Состояние системы характеризуется не только результатами, полученными к текущему моменту времени, но нередко включает в себя и некоторые ретроспективные данные. Так, например, состояние системы в начале любого дня при имитировании фондовой биржи описывается вчерашним уровнем цен на акции, направлением изменения позавчерашней цены на одну акцию, числом имеющихся у N акций и суммой наличных, которыми он располагает.
Модель может учитывать также экзогенные события, т. е. изменения, не обусловленные предысторией имитируемого процесса. Например, в случае имитационного моделирования фондовой биржи мистер N независимо от результатов применения выбранной им стратегии может в день 21 «ввести в игру» дополнительно 1000 у.е. (за счет имеющихся у него сбережений).
Зная состояние системы и ее динамику, можно определить «действия» и состояния системы во все последующие моменты времени. Имитационные модели, обладающие эволюционной структурой, часто называют каузальными.
Отметим, что при построении каузальной модели необходимо знать, каким образом система функционирует в пределах каждого отрезка времени рассматриваемого периода. Например, в случае имитирования фондовой биржи каждый день прежде всего необходимо определить цену одной акции, после чего вырабатывается решение относительно целесообразности либо приобретения, либо продажи акций (либо принимается решение ничего не предпринимать). На практике цена акций на бирже может несколько раз меняться в течение дня, так что построенная нами модель представляет собой лишь грубое приближение к действительности. В модели предполагается также, что если мистер N продает свои акции, то он в конце дня получает за них наличными; аналогичным образом, если мистер N покупает акции, то он оплачивает их наличными в конце того же дня. В действительности подобного рода биржевые сделки не всегда завершаются так быстро.
Адекватность и надежность модели. Позволяет ли модель разобраться в существе имитируемого процесса и можно ли с ее помощью прийти к надежным умозаключениям? В конечном счете, поскольку имитационная модель может описывать реальные явления лишь приближенно, ее следует оценивать по возможности проведения на ее основе анализа управляющих решений, представляющих собой предмет конкретного операционного исследования.
Определив цель имитационного эксперимента, операционист строит каждый элемент модели с надлежащей степенью детализации и точности. Здесь необходимо сделать предостережение. Опытные специалисты по имитационному моделированию утверждают, что даже для начинающего операциониста не представит труда построить модель из отдельных компонентов, каждый из которых будет соответствовать действительности, однако после «сшивания» отдельных частей получаемая в результате модель может вести себя не так, как имитируемая реальная ситуация. Поэтому не следует слепо предполагать, что имитационная модель как единое целое является в достаточной степени точной только потому, что каждая из составляющих ее частей, рассматриваемая изолированно от других, представляется вполне адекватной описываемому процессу. Это предостережение особенно важно по той причине, что цель имитационного моделирования заключается в воспроизведении поведения всей функциональной системы в целом, а не отдельных ее частей.
Параметры и измеряемые характеристики модели. Абстрактное описание элементов имитационной модели — это только полдела. Необходимо еще собрать достаточно данных, которые описывали бы эти элементы полно и адекватно. Недостаток в такого рода данных может повлечь за собой необходимость пересмотра самого способа построения модели.
Особую осторожность следует проявлять в тех случаях, когда используются данные, полученные путем экстраполяции, а также в тех случаях, когда измеряемые характеристики не стационарны.
Необходимо также проявлять внимательность при имитировании явлений циклического (или периодического) характера. В тех случаях, когда такого рода явления действительно имеют место, при выборе переменных, подлежащих измерению в процессе эксперимента, следует быть весьма осмотрительным. Если, например, учитывать только «конечные значения», то может оказаться, что получаемое решение будет отличаться сильной чувствительностью к степени точности задания имитируемого планового периода.
Применение имитационных моделей в большинстве случаев сопряжено с учетом случайных событий. Так, например, в имитационных моделях очередей к числу случайных переменных относятся время поступления заявки на обслуживание и время обслуживания; в моделях управления запасами такого рода переменными являются уровни спроса и сроки поставок; в моделях же, описывающих научно-исследовательские и опытно-конструкторские работы, случайными оказываются события, связанные с открытиями новых видов продукции. При имитировании такого типа процессов нередко приходится проигрывать процесс на модели тысячи и десятки тысяч раз с тем, чтобы адекватно отразить закономерности соответствующего распределения вероятностей.
4.10.6. Использование случайных чисел.
В имитационных моделях выборка, соответствующая любому вероятностному распределению, производится на основе использования случайных чисел из интервала [0, 1]. Прежде чем объяснить, как осуществляются выборки, введем статистические условия, которым должны удовлетворять случайные числа в интервале [0, 1].
1. Все числа из континуума [0, 1] могут появляться с одинаковой вероятностью.
2. Последовательные положения точек в интервале [0, 1] генерируются абсолютно случайным образом, т.е. они независимы и некоррелированные.
Для получения случайных чисел в интервале [0, 1] применяются арифметические методы, причем главным образом те, которые достаточно легко реализуются с помощью ЭВМ. Наиболее часто используется мультипликативный конгруэнтный метод, когда случайные числа генерируются с помощью рекурсивной формулы. Соответствующие статистические проверки показывают, что этот метод позволяет получать случайные числа, распределенные равномерно в интервале [0, 1]. Кроме того, параметры рекурсивного выражения можно подобрать так, чтобы количество случайных чисел, полученных до того, как они начнут повторяться, было достаточным для проведения одного полного прогона модели.
В табл. 4.10.1 приведено 180 случайных чисел, полученных таким методом. Для удобства стоящая слева десятичная запятая опущена. Можно, разумеется, утверждать, что случайные числа, получаемые с помощью арифметических операций, не являются истинно случайными, даже если они удовлетворяют статистическим тестам. Действительно, все эти числа «определены» заранее, как только задано начальное значение для рекурсивного выражения. Поэтому полученные подобным образом числа иногда называются псевдослучайными в отличие от истинно случайных, для генерации которых используется совершенно иной подход.
Одно из главных преимуществ арифметического метода генерации случайных чисел состоит в возможности получать одинаковые последовательности чисел каждый раз, когда это требуется. Так, если сравниваются две различные программы, использование одинаковых последовательностей случайных чисел дает гарантию того, что различие в результатах обусловлено разницей в программах, а не ошибкой эксперимента.
Таблица 4.10.1
058962 352943 586999 345500 790012 630566 364609 128099 673284 497110 769774 234646 767638 286650 811154 287072 479909 422037 893129 821570 891254 953397 699089 391962 948578 826125 429090 139412 974665 593277 787674 386551 613960 230243 902490 342756 519930 712470 595449 160463 934123 603734 178239 655823 210783 542293 356707 259606 347270 747163 357549 420822 306993 054556 564395 895364 692630 697501 551336 030504 220998 051455 319740 455344 854407 028341 480379 627205 439814 994034 005875 088946 480798 084273 178448 312230 267349 794021 357985 001720 788457 715256 195421 735221 652531 298202 916428 814746 640618 510998 300419 203535 517436 272799 979865 424002 725225 535325 684924 291621 585405 887838 058382 359749 633051 560561 665907 950391 709176 701533 826616 645896 435829 801902 888953 116597 699005 144655 576880 159382 764371 151787 031383 822207 650795 504908 172286 489546 386699 914280 005383 803777 774217 411304 499874 297506 286166 039436 661127 611829 720835 818541 423735 175532 239580 857687 989902 220226 412235 491375 238133 006422 895334 314207 827234 135543 368147 988993 620635 822874 351526 703292 056012 006447 534569 149393 085234 166865 234088 902734 309612 733068 611896 073756 935472 949026 274906 108197 175026 076380
Имея генератор случайных чисел R, распределенных равномерно, можно получать выборки, распределенные по другим законам, например, экспоненциальное распределение времени обслуживания может быть получено из формулы:
р= -(1/)lnR, (4.10.1)
где - средняя скорость обслуживания.
Покажем на простом примере, каким образом используются выборки случайных чисел из интервала [0, 1].
Пример 4.10.2. Игра с бросанием монеты.
В игре с монетой игрок А выигрывает у игрока В 10 руб., если монета падает решеткой вверх (Р), и проигрывает 10 руб., если выпадает герб (Г). Предположим, что монета правильная, так что события «Р» (как и события «Г») имеют место в 50% случаев. Другими словами, вероятность исхода Р и вероятность исхода Г равняются
Р {Р} = 0,5, Р {Г} = 0,5.
Поскольку все случайные числа по определению равномерно распределены в интервале [0, 1], можно предложить следующие правила для определения исхода игры. Обозначим генерируемое случайное число через R и будем считать, что если 0< R <0.5, то имеет место исход Р, а если 0.5< R <1, то будет исход Г. Такое распределение R в интервале [0, 1] в точности эквивалентно условию равновероятности Р и Г.
Для того, чтобы показать, как моделируется игра с бросанием монеты, предположим, что игроки А и В повторяют бросание 10 раз. Это эквивалентно получению 10 случайных чисел в интервале [0,1]. Воспользуемся первыми 10 числами из первого столбца табл. 4.10.1, которые и будут представлять указанные бросания монеты. Последовательными исходами игры будут соответственно Р, Г, Р, Г, Г, Г, Р, Г, Г и Р. Окончательно в результате 10 бросаний игрок А проигрывает игроку В 60-40=20 руб. Естественно, что с ростом числа бросаний мы будем ожидать «ничейного» результата, т. е. когда ни один из игроков не сумеет выиграть.
Таким образом, чем продолжительнее прогон, тем меньше разброс результатов, а значит, тем более точные оценки мы получаем. Другими словами, для улучшения результатов моделирования предпочтительнее получать наблюдения после достижения стационарных условий.
4.10.7. Имитационное моделирование как статистический эксперимент.
Основная цель рассмотренного выше примера – привлечь внимание к тому факту, что имитационное моделирование не ограничивается разработкой модели и написанием машинной программы; моделирование представляет собой статистический эксперимент, и его результаты необходимо рассматривать именно с этой точки зрения. В частности, для любого эксперимента, связанного с моделированием, необходимо ответить на следующие вопросы:
1. Какова должна быть продолжительность прогона для достижения стационарных условий?
2. Каким образом получать статистически независимые наблюдения?
3. Каким образом можно получать результаты моделирования, оставляя затраты на разумном уровне и не слишком жертвуя точностью?
4. Сколько наблюдений требуется для достижения необходимого значения доверительных интервалов?
Эти вопросы никак нельзя считать простыми, и мы пока отложим их обсуждение. Рассмотрим приемы построения и эксплуатации отлаженной имитационной модели, имея в виду некоторые важные идеи, которые не удается описать с помощью простого метода Монте-Карло.
Первый шаг к созданию имитационной модели состоит в описании реально существующей системы с использованием характеристик основных событий. Событие определяется как точка во времени, в которой происходят изменения характеристик системы. Обычно изменения имеют место в тех случаях, когда кончается один процесс (или несколько процессов) и начинаются другие. Для получения требуемых результатов моделирования достаточно наблюдать систему в те моменты, когда происходят события.
Для иллюстрации идеи использования событий в имитационном моделировании рассмотрим пример системы массового обслуживания с одним узлом обслуживания.
Пример 4.10.3. Целью моделирования такой системы является оценивание операционных характеристик обслуживающей системы, в том числе среднего времени пребывания клиента в очереди, средней длины очереди и доли времени простоя системы. Операционные характеристики процесса массового обслуживания могут менять свои значения либо в момент поступления дополнительного требования на обслуживание, либо при завершении обслуживания. К обслуживанию очередного клиента могут приступить немедленно, но не исключена и необходимость ожидания, когда клиенту придется занять место в очереди. С другой стороны, после завершения обслуживания система может приступить к обслуживанию следующего клиента. Однако при отсутствии очереди система начинает простаивать. Можно получить необходимую информацию, наблюдая различные условия, которые возникают при наступлении того или иного события. Например, можно следить за длиной очереди следующим образом. При поступлении нового клиента длина очереди увеличивается на единицу, если система функционирует. Аналогично длина очереди уменьшается на единицу, если обслуживание завершено и очередь непустая.
Для эксплуатации любой имитационной модели необходимо выбрать единицу времени. В зависимости от природы моделируемой системы такой единицей может быть минута, месяц и т.п. Например, при моделировании работы аэропорта в качестве единицы времени можно использовать и одну минуту, если интенсивность работы аэропорта высокая (крупный город), и один час, если аэропорт не очень загружен (небольшой город).
Покажем теперь, как эксплуатируется типичная имитационная модель. Допустим, что надо моделировать работу системы в течение Т единиц времени. Работа начинается с данными, относящимися к нулевому моменту времени, и отмечаются соответствующие события на шкале времени в хронологическом порядке. Таким образом, модель функционирует, «перепрыгивая» от одного события к другому, непосредственно за ним следующему. Каждое событие сопровождается корректировкой протокола, отражающего возможные изменения в показателях функционирования. Резкие переходы (скачки), совершаемые моделью при переходе от одного события к другому, указывают на то, что процесс протекает в дискретном времени, откуда появилось название «дискретное моделирование».
Пусть в среднем в систему поступает =3 клиента в час, а время обслуживания одного клиента равно 0.2 ч или 0.6 ч с равной вероятностью 0.5. Клиенты обслуживаются согласно дисциплине «первым пришел – первым обслуживаешься»; длина очереди, а также источник поступления клиентов не ограничены. Пусть система начинает работу при пустой очереди, тогда первая заявка на обслуживание поступает через
р1= -(1/3)ln0.058962=0.94 ч.
(используем формулу (4.10.1) для получения случайных чисел, распределенных по экспоненциальному закону, при этом берем псевдослучайные числа из табл.4.10.1.)
Следующая заявка поступит в момент
t=0.94+ (-1/3)ln0.673284=1.07.
Время обслуживания первого клиента, задаваемое очередным (третьим) случайным числом R= 0.479909 из табл. 4.10.1, равно 0.2 ч, тогда время окончания его обслуживания будет равно 0.94+0.2=1.14, значит, второй клиент будет стоять в очереди 1.14-1.07=0.07 ч. Третья заявка поступает в момент t=1.07+ (-1/3)ln0.948578=1.09
и становится в очередь. Следующая заявка поступает в момент
t=1.09+ (-1/3)ln0.61396=1.25.
Второй клиент начинает обслуживание в 1.14 и оканчивает (R=0.934123) в 1.14+0.6=1.74, значит, третий клиент находится в очереди 1.74-1.09=0.65 и т.д.
Поступление Поступление Поступление Конец Поступление Конец
первого второго третьего обслуживания четвертого обслуживания
клиента клиента клиента первого клиента второго
клиента клиента
Т
0 0.94 1.07 1.09 1.14 1.25 1.74
Процедура повторяется до тех пор, пока не будет промоделирован весь интервал Т. После этого можно определить различные характеристики системы массового обслуживания, такие как доля времени простоя, среднее время ожидания, средняя длина очереди и т.п. Процедура имеет большое сходство с физическим экспериментом.
Пример 4.10.4. Построим имитационную модель системы управления запасами.
Пусть ежедневно вначале учитываются объемы заказов на пополнение, подлежащие реализации в данный день, осуществляются поставки клиентам и, наконец, производится оценка оставшегося объема запасов и оформляется (при необходимости) дополнительный заказ на пополнение запасов, который исполняется через L дней.
Допустим, что заказывается Q единиц продукции всякий раз, когда имеющийся уровень наличия запасов меньше либо равен s.
Процедура 1. Просматриваем последовательно дни с t=1 до t=Т. Если подошел срок исполнения заказа на пополнение, то объем наличных запасов увеличиваем на Q.
Процедура 2. Генерируем для дня t коммерческий спрос в объеме q, предполагая для него некоторое распределение вероятностей (используем генератор случайных чисел или другие методы, обеспечивающие получение случайных величин заданного распределения).
Процедура 3. Сокращаем объем наличных запасов на величину q. Сравниваем остаток с уровнем s. Если остаток меньше либо равен s, устанавливаем срок исполнения заказа на пополнение на t + L. Переходим к процедуре 1.
В результате эксплуатации данной имитационной модели могут быть получены количественные показатели, характеризующие средний ежедневный объем наличных запасов, число случаев неудовлетворенного спроса, количество дней, когда оформлялся заказ на пополнение и т.п.
Пусть Q=2, s=1, L=2. Предположим, что спрос q может принимать значения 1 или 3 с вероятностями 0.5. Начальные условия для первого дня: наличные запасы равны 2, заказа на пополнение нет.
Проимитируем данную систему управления запасами на 20-дневном интервале, генерируя случайный спрос с помощью бросания монеты:
орел – q =1, решка – q =3.
Результаты занесем в табл.4.10.2
Таблица 4.10.2.
День
Запасы
на утро
спрос
На какой день
пополняем?
Удовлетворение
спроса в %
1
2
3
На 3
66.7
2
3
3
0+2
3
На 5
66.7
4
3
5
0+2
1
На 7
100
6
1
1
100
7
0+2
1
На 9
100
8
1
3
33.3
9
0+2
1
На 11
100
10
1
1
100
11
0+2
1
На 13
100
12
1
3
33.3
13
0+2
3
На 15
66.7
14
1
15
0+2
1
На 17
100
16
1
3
33.3
17
0+2
1
На 19
100
18
1
1
100
19
0+2
1
На 21
100
20
1
3
33.3
Можно вычислить теперь средний процент удовлетворения спроса:
(03+33.34+66.73+10010)/20=66.66,
средний ежедневный объем наличных запасов:
(03+71+102)/20=1.35.
Модель несколько усложнится, если избыток спроса (по отношению к уровню запасов) прибавляется к спросу в последующий интервал времени.
Пример 4.10.5. Корпорация "ELA" занимается производством легковых автомобилей. Аккумуляторы для модели "Lunar" компания закупает на стороне, у внешнего поставщика. На основе прошлого опыта специалисты "ELA" оценили, что спрос на аккумуляторы за неделю можно аппроксимировать нормальным распределением со средним значением 500 и стандартным отклонением 10 для промежутка от 470 до 530.
Начальный запас аккумуляторов составляет 2000 шт., причем администрация компании приняла решение о подачах заказов на партии аккумуляторов размером в 2500 шт. каждый раз, когда их запас опускается ниже уровня в 1500 шт. Кроме того, прошлый опыт показывает, что интервалы времени между подачей заказа и осуществлением поставок изменяются следующим образом:
Таблица 4.10.3. Распределение времени поставки заказа фирмы "ELA"
Время поставки заказа, недель
1
2
3
4
Вероятность
0,20
0,50
0,25
0,05
Единичная стоимость хранения запасов равна 0,50 ф. ст. в неделю и рассчитывается для общего размера запаса, оставшегося на конец недели. Стоимость заказа – 50 ф. ст., а отсутствие аккумуляторов на складе оценивается в 20 ф. ст. в неделю.
Используя имитационную модель для периода в 20 недель, оценим среднюю стоимость проведения изложенной выше политики в неделю. Принимается предпосылка о том, что все расчеты производятся в конце недели, а подачи заказов и поставки по ним – в начале недели.
Решение. Переменными являются спрос и время поставки заказа. Так как спрос аппроксимируется непрерывным нормальным распределением, будем моделировать переменную спроса с шагом в 5 аккумуляторов. Например, вероятность спроса, равного 510 аккумуляторам, будет оцениваться с помощью соотношения Р(507,5< спрос < 512,5). Используя формулу Муавра-Лапласа и приложение 2, построим таблицы нормального распределения интервалов случайных чисел для времени поставки заказа (табл.4.10.4) и для спроса за неделю (табл.4.10.5). Теперь воспользуемся генератором случайных чисел и осуществим моделирование, результаты которого приведены в табл.4.10.6.
Таблица 4.10.4. Распределение Таблица 4.10.5. Распределение интервалов случайных чисел интервалов случайных чисел
для времени поставки заказа для спроса за неделю
Таблица 4.10.6. Моделирование управления запасами
Неделя
Запас на начало недели
Спрос
Запас на конец недели
Повторный заказ, Да/нет
Время поставки
Дефицит
Случайное число
Объем
Случайное число
Недели
1 2000
034
480
1520
2 1520
743
505
1015
3 1015
738
505
510
Да
95
4
4 510
636
505
5
5 5
964
520
515
6 0
736
505
505
7 2500
614
505
1995
8 1995
698
505
1490
9 1490
637
505
985
Да
73
3
10 985
162
490
495
11 495
332
495
12 2500
616
505
1995
13 1995
804
510
1485
14 1485
560
500
985
Да
10
1
15 3485
111
490
2995
16 2995
410
500
2495
17 2595
959
515
1980
18 1980
774
510
1470
19 1470
246
495
975
Да
76
3
20 975
762
505
470
Итого 10050
22865
1020
Подведем итоги:
Среднее значение спроса – 10050/20 = 502,5 аккумуляторов в неделю.
Средний размер запаса на конец недели – 22865/20 = 1143,25 аккумуляторов в неделю.
Средний размер дефицита – 1020/20 = 51,0 аккумуляторов в неделю.
Число заказов, поданных в течение 20 недель, равно, 4, следовательно, среднее число заказов в неделю – 4/20 = 0,2.
Ожидаемая стоимость в неделю
=1143,250,50+5120+0,250= 1602 ф. ст.
Как и в предыдущих примерах, процесс моделирования следует продолжить, чтобы убедиться, что достигнутые условия действительно характеризуют стационарное состояние модели.
Имитационные модели можно также применять при исследовании поведения системы управления запасами в условиях альтернативных вариантов политики подачи заказов. Это позволит администрации выбрать тот вариант, который наилучшим образом отвечает поставленным целям.
До сих пор рассматривались лишь такие имитационные модели, которые в определенной степени аппроксимируют реальные ситуации. Их назначение – имитирование условий функционирования операционных систем с целью определения последствий принятия тех или иных управляющих решений. К данному классу моделей тесно примыкают имитационные модели, с помощью которых пытаются решать задачи поиска цели и целенаправленного поведения. В этих моделях обнаруживаются элементы так называемого искусственного интеллекта.
К числу широко известных примеров машинных программ, в которых заложены элементы искусственного интеллекта, относятся программы игры в шахматы и шашки. Имели место случаи, когда такого рода программы находили применение и в связи с решением задач организационного управления. Среди этих приложений можно выделить самостоятельную группу, в которой основным объектом исследования являются бихевиориальные качества руководителя. Мерой эффективности модели бихевиориальной ориентации является ее способность генерировать решения, согласующиеся с управляющими решениями, которые вырабатывает личность, чье поведение модель имитирует.
Другая группа моделей нацелена на решение сложных комбинаторных задач, аналогичных задачам, рассмотренным в теме 4.5. Методы, в которых используются модели данного класса, иногда называют эвристическими. В частности, ряд моделей эвристического характера был разработан в связи с решением комплексных задач календарного планирования. Приведенный ниже пример поможет читателю уловить основную идею метода эвристического программирования.
Пусть с помощью имитационной модели пытаются построить такой график размещения заказов на предприятии с мелкосерийным производством, при котором имеющееся оборудование используется с максимальной эффективностью. Машинное имитирование начинается с пробного размещения нескольких заказов. Затем определяется следующий заказ, подлежащий включению в разрабатываемый график, и рассматриваются различные ограничения, определяются даты исполнения и подбирается оборудование требуемой производительности. В результате такого анализа ЭВМ может пересмотреть график размещения некоторых предыдущих заказов. Короче говоря, в машинной модели заложена стратегия «продвижения вперед с учетом ретроспективных данных». Такая модель является самообучающейся. Она опирается на метод «проб и ошибок» и после серии последовательных тестов приводит к одному из допустимых графиков размещения заказов. Если формирующие стратегию предписания разработаны достаточно тщательно, этот график, как правило, оказывается вполне удовлетворительным. Нередко получаемый график является почти оптимальным; при этом степень оптимальности оценивается с учетом конкретного критерия эффективности, который по построению содержит элементы эвристики, заложенные в самой стратегии.
Методы имитационного моделирования на ЭВМ находят также применение в операционных играх. Широкое распространение получили так называемые деловые игры, в которых принимают участие несколько команд игроков; при этом каждая команда представляет «свою фирму». Участвующая в игре команда принимает решения относительно цен, объемов производства, организации рекламы и т. д. ЭВМ выполняет двойную задачу: она ведет учет всех шагов участвующих в игре сторон и одновременно оценивает экономические последствия принятия тех или иных управляющих решений играющих фирм.
В последнее время деловые игры нашли широкое применение в области подготовки кадров административных работников. Они используются также при анализе динамических характеристик больших систем, функционирующих в условиях конкуренции с другими системами, каждая из которых придерживается своей «стратегии поведения».
Мы рассмотрели метод Монте-Карло, в котором всем переменным модели ставится в соответствие определенное множество дискретных значений. Данный метод позволяет на основе собранной исходной информации сгенерировать для каждой переменной соответствующее распределение вероятностей. Из этих распределений с помощью случайных чисел получают значения переменных модели, которые используют затем в процессе моделирования.
Методы имитационного моделирования, хотя и не приводят к получению оптимальных решений, как, например, методы линейного программирования, однако, позволяют выработать направления политики, приводящей к лучшим результатам. Но прежде, чем внедрять какой-либо из результатов, изученных по имитационной модели, в практику, необходимо произвести оценку ее надежности и, осуществив расчеты на более длительный период, получить репрезентативные характеристики. Обычно расчеты по имитационным моделям проводятся с помощью пакетов прикладных программ.