Институт бизнеса и права
Сборник научных трудов
Внимание!
При использовании материалов сборника ссылка на сайт и указание автора обязательно

 
новости
об институте
вступительное тестирование
научная работа
      конференции
      СНО
часто задаваемые вопросы
форум
баннеры, игры, ссылки
Филиалы:

Нижневартовск
Череповец



Rambler's Top100  
 
 
 
be number one  

designed by baranenko.com  

Powered by Sun

Денисова Е.В.
Аспирант Санкт-Петербургского государственного университета экономики и финансов,
преподаватель НОУ «Институт бизнеса права»
Научный руководитель: к.т.н., доцент Шустов Д.А.

Имитационное моделирование экономических систем

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

Имитационная модель образуется взаимодействием следующих элементов:

• состояний,
• событий,
• датчиков случайных чисел,
• таймера,
• цепей событий,
• Цели моделирования,
• сметчиков,
• блока инициализации,
• критерия остановки,
• методов обработки результатов.

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

Под событием модели понимается скачкообразное изменение ее состояния. События могут быть первичными (прибытие заявки, завершение обслуживания) и вторичными (по отношению к прибытию - приём заявки на обслуживание, продвижение очереди и т.п.,), которые наступают как следствие первичных.

С помощью датчиков случайных чисел (ДСЧ) в модели формируются ее очередные состояния (моменты наступления следующих первичных событий каждого вида, объемы спроса на запасные части и т. д.). Случайные величины генерируются в соответствии с заданными распределениями.

Имитируемый процесс развивается в модельном (системном) времени. Счетчик модельного времени называется таймером. Наиболее сложные процессы моделируют упрощенно: с постоянным шагом по оси времени (имеется в виду «системное» время), При этом отдельные стороны процесса (прибытие заявок, обслуживание) моделируются «суммарно» — через распределение числа событий данного рода за выбранный интервал. Подобное построение моделирующего алгоритма используется также при моделировании так называемых непрерывных систем, то есть систем, описываемых дифференциальными уравнениями (обыкновенными или в частных производных), когда возможно предварительное выделение узловых событий, определяющих динамику темы, и приходится отслеживать всю траекторию.

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

Для наших целей наибольший интерес представляют, чисто дискретные модели, состояния которых меняются скачкообразно при наступлении событий. Функционирование любого процесса разбивается на этапы (активные фазы), каждый из которых соответствует некоторому событию и реализуется в один момент системного времени: Между смежными активными фазами находится пассивная стадия, в которой с данным процессом ничего не происходит, но может произойти любое число событий других процессов. Событие может изменить значение атрибута, создать или уничтожить сущность, начать или прекратить активность. Моделирование требует программы, которая выстраивает последовательность событий в их взаимной зависимости.

Логика модели реализуется в процессе обработки цепей событий. В цепи

текущих событий ЦТС находятся события, которые наступают в один момент модельного времени (уход из системы обслуженной заявки, продвижение очереди, выборка на обслуживание головной заявки очереди, формирование для нее момента завершения обслуживания). Ясно, что последовательность их обработки должна быть строго определенной. В цепи будущих событий ЦБС находятся события, запланированные посредством ДСЧ на последующие моменты системного времени (завершение обслуживания в других каналах, прибытие очередных заявок различных типов, поломка обслуживающего устройства, восстановление ранее отказавшего, уход из канала либо очереди нетерпеливой заявки и т. п.). В цепи задержанных событий находятся события, развитие которых заблокировано сложившимися в системе на данный момент модельного

времени условиями (например, занятостью необходимых ресурсов). Могут использоваться и другие цепи событий.

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

Модели этого типа имеют наибольшую логическую сложность; зато они исклю¬чают из рассмотрения «пустые» интервалы времени, не ознаменованные никакими событиями. Это уменьшает затраты машинного времени на прогон модели.

Специализированные программные системы моделирования дискретных событий обычно содержат встроенные средства ведения цепей. Поэтому они позволяют программировать модели в потоковом (процессном) стиле, описывая траектории прохождения заявок через устройства системы и указывая узловые точки для сбора статистики. При работе на языках общего назначения организация и обработка цепей событий обеспечивается программистом. Цепи будущих событий могут быть представлены табличными или списковыми структурами. Первый способ проще в реализации, но связан с избыточным расходом распределяемой памяти и необходимостью сдвигов при выборке или вставке: элемента цепи. Второй способ свободен от указанных недостатков и особенно удобен в языках программирования типа Паскаль или Фортран 90, имеющих встроенные средства работы со списковыми структурами.

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

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

Упомянутые показатели обычно связываются с некоторыми стационарными (установившимися при устремлении к бесконечности системного времени) характеристиками. Данные, накопленные за время переходного к такому режиму процесса, будут вносить погрешности в окончательные результаты. Инициализация модели, претендующей на повышенную точность, должна либо сразу задать начальные условия, близкие к стационарному режиму, либо обеспечить отбрасывание статистики переходного процесса. Обычно начальный участок отбрасывают с неконтролируемым «запасом», что ведет к непроизводительным потерям машинного времени. При необходимости нескольких туров (а почти всегда) это отбрасывание становится особенно накладным. В таких случаях для эргодических процессов, стационарный режим которых не зависит от начальных условий, в качестве туров рассматриваются отрезки одного длинного прогона.

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

1. двухэтапный прогон, когда на первом этапе грубо определяются величины, необходимые для формирования критерия остановки на втором этапе;

2. рекуррентная обработка результатов моделирования;

3. метод последовательного анализа.

Обработка результатов моделирования состоит в сжатии получаемой информации, вычислении статистических (точечных и интервальных) оценок типа математических ожиданий и высших моментов для искомых показателей, оценке статистической значимости различия средних, построении гистограмм и статистических функций распределения. Другим аспектом обработки результатов является выдача их на печать в компактной и удобной для дальнейшего анализа форме. Соответственно в систему моделирования должны включаться необходимые подпрограммы, как правило, широкого применения, слабо связанные со спецификой модели.


предыдущая статья следующая статья

Cборник научных статей
«Социально-экономическое состояние России: пути выхода из кризиса»,
СПб.: Институт бизнеса и права, 2009
© Институт бизнеса и права с 1994 года