Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
21
Добавлен:
16.03.2016
Размер:
184.83 Кб
Скачать

Тема 17

Имитационное моделирование

Как уже отмечалось, модели линейного программирования наи­более успешно применяются при планировании усилий, связанных с реализацией комплексных проектов. Если плановый период имеет большую протяженность (например. 10 лет или более), соответствующая многошаговая модель линейного программирования, как правило, содержит лишь среднегодовые показатели. При этом влияние результатов оптимизации на показатели, характеризующие текущие операции на отрезках продолжительностью от 1 недели до 1 месяца, в явной форме не учитывается. Если же рассматри­вается плановый период значительно меньшей продолжительности (скажем, от 3 месяцев до 1 года), то соответствующая модель полностью абстрагируется от вариаций плановых показателей на вре­менных отрезках продолжительностью от 1 рабочего дня до 1 недели. Таким образом, анализ, осуществляемый в рамках линейного про­граммирования, обычно не позволяет определить правила, с помощью которых можно было бы перейти от рекомендуемого плана к про­цедурам его реализации на отрезках времени, меньших по сравне­нию с интервалами, которые рассматриваются моделью.

Ограниченность анализа, основанного на использовании метода линейного программирования, обусловлена также отсутствием достоверной информации относительно будущего. Неопределенность про­гнозов в той или иной степени свойственна всем задачам планирова­ния.

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

Ориентированные на использование математического аппарата вероятностные динамические модели, в частности модели управления запасами и модели массового обслуживания, также обладают анало­гичным недостатком (темы 9 и 10). Чтобы найти численное решение для такого рода моделей, приходится не только ограничиваться случаями, когда операционная система обладает небольшой размер­ностью, но и вводить упрощающие предположения относительно самой схемы функционирования исследуемой системы. Так, напри­мер, с помощью характерных для теории массового обслуживания математических методов, которые аналогичны методам, изложенным в теме 10, невозможно полностью адекватным образом проанализировать «поведение» очередей в ремонтных мастер­ских. Соответствующие стохастические модели могут служить лишь грубым приближением протекающих в действительности процессов формирования и обслуживания очередей.

Итак, несмотря на то, что математическое программирование и стохастическое моделирование имеют широкий диапазон приме­нения, при рассмотрении многих важных задач организационного управления возникает необходимость обращаться к совершенно иным методам анализа.

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

1) Формирование инвестиционной политики при перспективном планировании. Инвестиционная политика крупных фирм должна, в частности, учитывать финансовое обеспечение научно-исследова­тельских и опытно-конструкторских работ при создании новых видов продукции, возможности расширения рынка сбыта, критериальные оценки основных проектов, оценку степени риска при планировании тех или иных комплексов работ, источники финансирования (кредит, привлечение капитала продажей акций и т. д.), увеличение фонда заработной платы, размещение и сокращение финансовых активов, сравнительную оценку вариантов слияния с другой фирмой и при­обретения последней и т. п. Полноценная модель, с помощью которой можно было бы анализировать различные вариан­ты инвестиционной политики, должна учитывать стохастическую природу и динамический характер инвестирования, а также преду­сматривать способ просеивания огромного количества стоящих перед фирмой альтернатив.

2) Выбор средств обслуживания (или оборудования) при текущем планировании. Здесь рассматриваются задачи типа определения количе­ства контрольных прилавков в большом торговом центре, количества бензоколонок на бензозаправочной станции и количества лифтов в строящемся здании. Можно привести много других примеров, в которых рассматриваются вопросы распределения кадров, плани­ровка заводских помещений, выбор мощности оборудования и т. д.

Типичными вопросами, возникающими в связи с решением задачи выбора средств обслуживания или оборудования, являются вопросы, начинающиеся словами «сколько», «каких размеров», «как разместить».

3) Разработка планов с обратной информационной связью и опе­рационных предписаний. К важным задачам данного класса относится, например, задача выработки правил составления календарных планов на предприятиях с мелкосерийным производ­ством, комбинатах по ремонту различных изделий, вычислительных центрах и т. д. Эти предписания, или операционные алгоритмы, долж­ны учитывать гарантийные сроки выполнения заказов, потребности в обслуживании, наличные ресурсы, производственные мощности, темпы повышения квалификации рабочих (или приток дополни­тельной квалифицированной рабочей силы), уровень снабжения сырьем, по мере поступления информации о новых уже выполненных заказах предприятие сталкивается с задачей уточнения или пол­ного пересмотра своих планов-графиков.

Почему описанные выше классы задач с трудом поддаются анали­зу? Причина заключается в необходимости одновременного учета факторов неопределенности, динамической взаимной обусловленности текущих решений и последующих событий, в комплексной взаимо­зависимости между управляемыми переменными исследуемой опера­ционной системы, а в ряде случаев также и в том, что требуется рас­сматривать строго дискретную и четко определенную последователь­ность интервалов времени. Такого рода «глобальные» системные задачи обладают слишком большой размерностью и наличием слиш­ком большого количества внутренних взаимосвязей, в силу чего их не удается решить методами математического программирования. Решения, принимаемые по вопросам, порождаемым перечисленными выше проблемами, нередко приводят к очень большим затратам и существенным образом влияют на будущие стоимостные характеристики функционирования системы и на эффективность деятельности фирмы в целом. Поэтому руководи­тели такого рода фирм крайне заинтересованы в применении систем­ного подхода к решению возникающих перед ними задач с тем, чтобы анализ организационно-управленческих ситуаций отличался более высоким качеством по сравнению с анализом, основанным на чистой интуиции или на опыте. Наиболее эффективным из существующих в настоящее время методов является имитационный подход. В настоящей теме наша основная цель заключается в том, чтобы дать описание метода имитационного моде­лирования и определить, какого рода задачи могут этим методом решаться. Мы не собираемся рассматривать вопросы, связанные с построением и анализом имитационных моделей (или схем) во всех подробностях. Эти вопросы излагаются в специальных работах, посвященных проблемам имитационного моделирования, а также в учебных пособиях, которые выпускаются фирмами-изготовителями ЭВМ и содержат описание специализированных языков для состав­ления имитационных машинных программ.

При имитационном подходе прежде всего строится экспериментальная модель системы. Затем производится сравнитель­ная оценка конкретных вариантов функционирования системы путем «проигрывания» различных ситуаций на рассматриваемой модели.

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

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

Многие специалисты по исследо­ванию операций смотрят на машинное имитирование как на средство, к которому прибегают лишь в самых крайних случаях. Это отношение объясняется двумя причинами.

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

Вторая причина недоверия к имитационному методу определяется способом его практического использования. Если функциональная система настолько сложна, что для ее рассмотрения неприменимы такие методы операционных исследований, как линейное и динами­ческое программирование или обычный анализ в рамках теории вероятностей, то построение имитационной модели и последующий анализ результатов имитирования в этом случае скорее всего будут сопряжены со значительными трудностями. Многие из склонных к опрометчивым выводам операционистов не без досады убедились, что, как и реальная действительность, «имитационный мир» оказы­вается трудно постижимым — имитационная модель приводит к тако­му количеству разнообразных исходов, что в результате получаемую информацию не так-то легко интерпретировать. Цель имитационного моделирования состоит в воспроизведении по­ведения исследуемой системы на основе результатов анализа наибо­лее существенных взаимосвязей между ее элементами. Результаты исследования имитационной модели, как правило, представляют собой оценки значений операционных (функциональных) характе­ристик той системы, поведение которой имитируется. Так, например, при имитационном моделировании функционирования любой систе­мы массового обслуживания практический интерес могут представ­лять такие показатели, как средняя продолжительность обслу­живания «клиента», средняя длина очереди, доля времени вынужденного простоя системы обслуживания и т.д.

Имитационное моделирование следует рассматривать как статистический эксперимент. В отличие от описанных выше математичес­ких моделей, результаты которых отражали устойчивое во времени поведение системы, результаты, получаемые в имитационной моде­ли, представляют собой наблюдения, подверженные эксперимен­тальным ошибкам. Это означает, что любое утверждение, касающее­ся характеристик моделируемой системы, должно основываться на результатах соответствующих статистических проверок.

Метод, используемый для решения перечисленных выше задач, который в известном смысле является предшественником совре­менного имитационного моделирования, известен давно. Это — ме­тод Монте-Карло. Его основная идея состоит в использовании вы­борок для получения искомых оценок. Процесс получения выборок требует, чтобы решаемая задача была описана соответствующим вероятностным распределением, в соответствии с которым и осу­ществляются выборки.

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

Изложенные выше соображения позволяют также понять, почему метод имитационного моделирования удается реализовать только с помощью ЭВМ. Для получения статистической надежности, доста­точной для обоснования управляющих решений, как правило, требует­ся многократное повторение имитационных тестов.

В отличие от математического программирования имитационное моделирование пока не располагает хорошо структурированными принципами построения моделей. Каждый конкретный случай требу­ет значительной специальной проработки. Используемые при этом языки моделирования являются той основой, на которой возможна выработка каких-либо общих принципов построения имитационных моделей. (Широко распространенными языками моделирования являются Симскрипт и GPSS.)

Отсутствие единой теории имитационного моделирования на ЭВМ есть одновременно «и благо, и зло». Положительным здесь является то, что имеется возможность строить имитационные модели любой степени сложности при огромном количестве динамических взаимо­связей, а также при отсутствии стационарности и наличии взаимно коррелированных стохастических элементов. Отрицательным же моментом является то, что по мере усложнения модели оценка степени ее адекватности оказывается весьма затруднительной.

Целевая установка. При построении имитационной модели, пред­назначенной для углубленного анализа проблем организационного управления, преследуют по крайней мере одну из следующих целей:

1) Изучение действующей функциональной системы. Рассмотрим промышленную фирму, которая недавно зарегистрировала увеличе­ние числа заказов на свою продукцию и отметила затем заметное ухудшение качества обслуживания своих клиентов в части соблю­дения сроков выполнения этих заказов. У этой фирмы может появить­ся желание построить имитационную модель, с помощью которой можно было бы изучить, каким образом существующие процедуры определения сроков выполнения принимаемых заказов, календарного планирования производства и оформления заявок на поставку сырья порождают наблюдаемые задержки.

2) Анализ гипотетической функциональной системы. Обратимся к больнице, руководство которой рассматривает вопрос внедрения новой системы управления запасами медицинских препаратов. Руко­водство больницей может изъявить желание построить с использова­нием ретроспективных данных имитационную модель, чтобы прове­рить, каким будет средний уровень средств, связанных в запасах, и как часто будут возникать нехватки различных видов препаратов в случае, если будет реализован предлагаемый план.

3) Проектирование более совершенной функциональной системы. Рассмотрим предприятие с мелкосерийным производством, в котором станочные мощности распределены в соответствии с приоритетами, присвоенными выполняемым работам. У фирмы может появиться желание построить имитационную модель для нахождения эффектив­ного способа определения системы приоритетов с тем, чтобы все работы могли выполняться без больших задержек и чтобы при этом коэффициент использования оборудования предприятия был доста­точно высок.

Перейдем теперь к описанию этапов построения и использования имитационной модели.

Шаги практической реализации имитационного метода. Ниже приводится краткая характеристика каждого из основных видов работ, которые необходимо выполнить с целью практической реа­лизации метода имитационного моделирования:

Шаг 1. Построение модели. Содержание данного этапа почти не отличается от содержания этапа построения модели любого другого типа. Опасность при этом заключается в излишней детализации модели, которая может привести к слишком большим затратах машинного времени при выполнении соответствующего эксперимента. Лучший способ уберечься от такого рода опасности заключается в том, чтобы постоянно помнить о конкретной цели исследования. Например, если модель должна помочь в выборе одного из двух вариантов размещения нового складского помещения, то, по-видимому, нет необходимости при построении имитационной модели делить плановый период на часы или дни: вполне достаточно использовать отрезки времени, продолжительность которых равняет­ся 1 недели. Однако если с помощью модели нужно решить, сколько в новом складе должно быть погрузочно-разгрузочных платформ (например, одна или две), то, возможно, возникнет необходимость имитировать процесс функционирования упомянутого складского помещения, ориентируясь на отрезки времени продолжительностью от 5 до 15 мин.

Шаг 2. Разработка проекта эксперимента. Операционист сможет уменьшить вероятность той или иной ошибки и, таким образом, потери времени, если он подробно разработает сопровождающие эксперимент процедуры до того, как модель будет «приведена в дей­ствие». Это означает, что операционисту необходимо тщательно продумать, какие функциональные характеристики имитируемой системы планируется измерять. Кроме того, следует определить, с помощью какого метода математической статистики будут учиты­ваться флуктуации экспериментальных данных, полученных в резуль­тате этих измерений.

Шаг 3. Разработка программного обеспечения. Весь имитацион­ный эксперимент проводится на ЭВМ. Другими словами, все стадии эволюционного развития модели, так же как и генерирование случайных событий, протекают в ЭВМ. Если имити­руемая система обладает очень простой структурой, то может ока­заться, что при разработке соответствующего «вычислительного варианта» модели удобнее всего использовать один из стандартных языков программирования. Однако представляется более вероятным, что предпочтение будет отдано одному из языков моделирования, такому, как Симскрипт или GPSS, трансляторы с которых имеются для многих ЭВМ.

Пример 17.1. Имитационное моделирование фондовой биржи.

Мистер N хочет оценить степень оптимальности некоторой кон­кретной стратегии приобретения и продажи акций. Для упрощения схемы рассуждений предположим, что он приобретает или продает только какие-нибудь одни акции. В рассматриваемый момент времени он обладает пакетом в 100 акций, каждая из которых оценивается на текущий момент в 10 у.е. Для простоты, допустим также, что цена акции может ежедневно меняться только на 1 у.е. Держатель акций совершает не более одной сделки в день и платит за каждую сделку комиссионные в размере 2% стоимости реализуе­мых акций (как в случае приобретения, так и в случае продажи); разумеется, в некоторые дни таких сделок может и не быть.

Цена одной акции в 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

Р и с.17.1. Вероятности изменения цен на акции

Мистер N хочет проверить степень прибыльности следующей стра­тегии:

1) обладая пакетом акций, необходимо продать его, как только цены на акции начинают падать;

2) в противном случае следует приобретать акции, как только цены на них начинают возрастать.

Если мистер N обладает пакетом акций, то, согласно стра­тегии, он сохраняет его в течение всего периода, когда цены на акции либо не меняются, либо возрастают; если же мистер N не располагает акциями, то он воздерживается от их приобретения в течение периода, когда уровень цен на них либо остается без изменений, либо падает.

Чтобы произвести оценку такой стратегии, мистер N должен, кроме того, сделать некоторое предположение относительно харак­тера суточных изменений цен на акции. На основе анализа ретро­спективных данных мистер N строит модель изменения цен, пред­ставленную на рис.17.1. Проиллюстрируем эту таблицу, рассмотрев в ней вторую и третью строки. Если как в понедельник, так и во вторник цена одной акции равняется 10 у.е. то, по мнению N, в среду цена одной акции будет равняться II с вероятностью 1/4, 10 с вероятностью 1/2 и 9 с вероятностью 1/4 (см. вто­рую строку). Если же во вторник цена одной акции равняется 9 у.е., то, как полагает N, в среду одна акция будет стоить 10 у.e. с веро­ятностью 1/4, 9 с вероятностью 1/4 и 8 с вероятностью 1/2 (см. третью строку). Заметим, что в случае, когда цена акции возра­стает, N считает, что с вероятностью 1/2 она будет продолжать воз­растать; аналогичные суждения он выносит и в тех случаях, когда цена акции не меняется или начинает падать.

Прежде чем начинать имитационный процесс необходима генерация конкрет-ных ситуаций, которые происходят в соответствии с распределением вероятностей, приведенным на рис. 17.1, и отражали бы стохастический дрейф цен.

Один из наиболее простых способов такого рода генерации заключается в бросании двух монет; при этом соответствие между случайными исходами при бросании монет и генерируемыми ситуациями можно представить с помощью таблицы, приведенной на рис. 17.2. Нетрудно убедиться, что при таких правилах соответствия гене­рируется распределение вероятностей, полностью совпадающее с рас­пределением, которое предполагалось мистером N.

Цена одной акции

в (n—1)-й день

Цена одной акции в п-й день

Возрастает

Остается без Падает

изменения

Возрасла по сравнению с (n-2)-м днем

Герб и решетка

Два герба

Две решетки

Осталась такой же, как в (n-2)-й день

Два герба

Герб и решетка

Две решетки

Упала по сравнению с (n-2)-м днем

Два герба

Две решетки

Герб и решетка

Рис. 17.2. Стохастическое изменение цен, полученное путем бросания монет

Пусть имитируется период продолжительностью 20 дней, каждый из которых соответствующим образом занумерован (день 1, день 2, день 3 и т. д.). При этом пару монет нужно бросать 20 раз; результаты последовательного бросания монет представлены в таблице на рисунке 17.2. Для определения соответствующей последовательности цен на акции необходимо задать начальные условия, а именно цену одной акции в день 0, а также информацию относительно того, наблю­далось или не наблюдалось в этот день изменение цены по отноше­нию к предшествующему дню. Пусть цена одной акции в день 0 равнялась 10 у.е. и сов­падала с соответствующим пока­зателем в предшествующий день. При таких начальных условиях и при выпадании после первого бросания герба и решетки цена одной акции в день 1 равняется 10 у.е. (см. вторую строку таб­лицы на рис. 17.2). Тогда, по­скольку цены в день 0 и в день 1 совпадают, в день 2 выпадание двух решеток означает, что цена одной акции в соответствии со вто­рой строкой таблицы на рисунке 17.2 падает до 9. Поскольку в день 2 наблюдалось понижение цены (по отношению к дню 1), выпадание (при третьем бросании монет) двух гербов указывает на то, что в день 3, согласно третьей строке таблицы, цена одной акции будет равняться 10. (Читателю предлагается самостоятельно проверить данные, содержащиеся в таблице на рис.17.3 для дней 5, 10, 15 и 20).

день

Результат

бросания

монет

Направление из-менения вчераш-ней цены

Цена

акции

0

-

-

10

1

г/р

Без изменения

10

2

- “ -

9

3

Убывает

10

4

Возрастает

10

5

Без изменения

11

6

г/р

возрастает

12

7

- “ -

12

8

Без изменения

11

9

убывает

12

10

г/р

возрастает

13

11

- “ -

12

12

г/р

убывает

11

13

- “ -

11

14

Без изменения

12

15

г/р

возрастает

13

16

г/р

- “ -

14

17

- “ -

13

18

г/р

убывает

12

19

г/р

- “ -

11

20

- “ -

11

Соседние файлы в папке mat_Gelrud