<< Пред. стр. 1 (из 3) След. >>
Курс лекцийИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ЭКОНОМИЧЕСКИХ ПРОЦЕССОВ
ОГЛАВЛЕНИЕ
ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ЭКОНОМИЧЕСКИХ ПРОЦЕССОВ 1
ОГЛАВЛЕНИЕ 1
ВВЕДЕНИЕ В ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ. 3
Математическое и компьютерное моделирование 3
Классификация видов моделирования 3
Математическое моделирование сложных систем 3
Понятие имитационного моделирования 5
Технология Имитационного моделирования 7
Этапы имитационного моделирования 7
МЕТОД МОНТЕ-КАРЛО 9
ИМИТАЦИЯ СЛУЧАЙНЫХ ВЕЛИЧИН И ПРОЦЕССОВ 11
Базовый датчик 11
Требования к базовым датчикам и их проверка 11
1. Отрезок апериодичности 11
2. Равномерность 11
3. Некоррелированность 12
Модели базовых датчиков 12
Мультипликативный конгруэнтный метод (метод вычетов) 12
Линейные смешанные формулы. 13
Генерация случайных событий 13
ГЕНЕРАЦИЯ ДИСКРЕТНЫХ СЛУЧАЙНЫХ ВЕЛИЧИН 15
Специальные методы генерации некоторых дискретных случайных величин 15
1. Равномерное распределение 15
2. Геометрическое распределение 15
3. Отрицательное биномиальное распределение. 16
4. Биномиальное распределение 16
5. Пуассоновское распределение 16
ГЕНЕРАЦИЯ НЕПРЕРЫВНЫХ СЛУЧАЙНЫХ ВЕЛИЧИН 18
1. Метод обратной функции 18
2. Метод суперпозиции 19
3. Метод исключения 20
4. Нормальные случайные величины 21
УПРАВЛЕНИЕ МОДЕЛЬНЫМ ВРЕМЕНЕМ 23
Виды представления времени в модели 23
Изменение времени с постоянным шагом 24
Изменение времени по особым состояниям 25
МОДЕЛИРОВАНИЕ ПАРАЛЛЕЛЬНЫХ ПРОЦЕССОВ 28
Виды параллельных процессов 28
Методы описания параллельных процессов 29
Моделирование на основе транзактов 29
СРЕДА MATLAB 32
Общие сведения 32
Система визуального моделирования SIMULINK 33
Начало работы 33
Демонстрация возможностей. 34
Библиотека блоков Simulink. 35
Source - блоки-источники. 35
Sinks - блоки-получатели. 36
Continuous - непрерывные системы. 36
Discontinuities - разрывные системы. 36
Discrete - дискретные системы. 37
Look-Up Tables - работа с таблицами. 37
Math Operations - математические операторы. 37
Model Verification - проверка модели 38
Model-Wide Utilities: - широкие возможности обслуживания модели 39
Ports & Subsystems - Порты и Подсистемы 39
Signal Attributes - признаки сигнала 40
Signal Routing - направление сигнала 40
User-Defined Functions - Определенные пользователем Функции 40
ВВЕДЕНИЕ В ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ.
Математическое и компьютерное моделирование
Классификация видов моделирования
Физическое - используется сама система, либо подобная ей (летательный аппарат в аэродинамической трубе).
Математическое - процесс установления соответствия реальной системе S математической модели M и исследование этой модели, позволяющее получить характеристики реальной системы.
Аналитическое - процессы функционирования элементов записываются в виде математических соотношений (алгебраических, интегральных, дифференциальных, логических и т.д.). Аналитическая модель м.б. исследована методами: а) аналитическим (устанавливаются явные зависимости, получаются, в основном, аналитические решения); б) численным (получаются приближенные решения); в) качественным (в явном виде можно найти некоторые свойства решения).
Компьютерное - математическое моделирование формулируется в виде алгоритма (программы для ЭВМ), что позволяет проводить над ней вычислительные эксперименты.
Численное - используются методы вычислительной математики (отличается от численного аналитического тем, что возможно задание различных параметров модели).
Статистическое - обработка данных о системе (модели) с целью получения статистических характеристик системы.
Имитационное - воспроизведение на ЭВМ (имитация) процесса функционирования исследуемой системы, соблюдая логическую и временную последовательность протекания процессов, что позволяет узнать данные о состоянии системы или отдельных ее элементов в определенные моменты времени.
Применение математического моделирования позволяет исследовать объекты, реальные эксперименты над которыми затруднены или невозможны (дорого, опасно для здоровья, однократные процессы, невозможные из-за физических или временных ограничений - находятся далеко, еще или уже не существуют и т.п.).
Экономический эффект: затраты в среднем сокращаются в 10-100 раз.
Математическое моделирование сложных систем
Понятие сложной системы
Элемент s - некоторый объект, обладающий определенными свойствами, внутреннее строение которого для целей исследования не играет роли (самолет: для моделир. полета - не элемент, а для моделир. работы аэропорта -элемент).
Связь l между элементами - процесс их взаимодействия, важный для целей исследования.
Система S - совокупность элементов со связями и целью функционирования F.
Сложная система - состоящая из разнотипных элементов с разнотипными связями.
Большая система - состоящая из большого числа однотипных элементов с однотипными связями.
Система:
Автоматизированная система - сложная система с определяющей ролью элементов двух типов: технических средств (прежде всего ЭВМ) и действий человека :
здесь - остальные элементы системы.
Структура системы - ее расчленение (декомпозиция) на элементы или группы элементов с указанием связей между ними, неизменное во время функционирования системы.
Практически все системы рассматриваются функционирующими во времени, поэтому определим их динамические характеристики.
Состояние - множество характеристик элементов системы, изменяющихся во времени и важных для целей функционирования.
Процесс (динамика) - множество значений состояний системы, изменяющихся во времени.
Цель функционирования - задача получения желаемого состояния системы. Достижение цели обычно влечет целенаправленное вмешательство в процесс функционирования системы, которое называется управлением.
Задачи исследования систем:
1. анализ - изучение свойств функционирования системы;
2. синтез - выбор структуры и параметров по заданным свойствам системы.
Понятие математического моделирования
- временной интервал моделирования системы S (интервал модельного времени).
Построение модели начинается с определения параметров и переменных, определяющих процесс функционирования системы. Параметры системы - характеристики системы, остающиеся постоянными на всем интервале T. Если , то говорят, что имеется параметрическое семейство систем.
Переменные - зависимые и независимые.
Независимые:
входные воздействия (в т.ч. управляющие):
воздействия внешней среды (контролируемые - неконтролируемые = наблюдаемые - ненаблюдаемые и детерминированные - случайные):
состояния системы
Отличаются от тем, что характеризуют свойства системы, изменяющиеся во времени. X - пространство состояний или фазовое пространство. Последовательность nguage: x для называется фазовой траекторией системы. А последовательность y - выходной траекторией.
Зависимые - выходные характеристики (сигналы)
Общая схема ММ функционирования системы:
Множество переменных вместе с законами функционирования
называется математической моделью системы.
Если t непрерывно, то модель называется непрерывной, иначе - дискретной
Если модель не содержит случайных элементов, то она называется детерминированной, в противном случае - вероятностной.
Если математическое описание модели слишком сложное и частично или полностью неопределена, то в этом случае используются агрегативные модели. Сущность агрегативной модели заключается в разбиении системы на конечное число взаимосвязанных частей (подсистем), каждая из которых допускает стандартное математическое описание. Эти подсистемы называются агрегатами.
Понятие имитационного моделирования
Имитационное моделирование (от англ. simulinion) - это распространенная разновидность аналогового моделирования, реализуемого с помощью набора математических инструментальных средств, специальных имитирующих компьютерных программ и технологий программирования, позволяющих посредством процессов-аналогов провести целенаправленное исследование структуры и функций реального сложного процесса в памяти компьютера в режиме "имитации", выполнить оптимизацию некоторых его параметров.
Имитационной моделью называется специальный программный комплекс, который позволяет имитировать деятельность какого- либо сложного объекта. Он запускает в компьютере параллельные взаимодействующие вычислительные процессы, которые являются по своим временным параметрам (с точностью до масштабов времени и пространства) аналогами исследуемых процессов. В странах, занимающих лидирующее положение в создании новых компьютерных систем и технологий, научное направление (Сопзри1ег Бсiепсе) использует именно такую трактовку имитационного моделирования, а в программах магистерской подготовки по данному направлению имеется соответствующая учебная дисциплина.
Следует отметить, что любое моделирование имеет в своей методологической основе элементы имитации реальности с помощью какой-либо символики (математики) или аналогов. Поэтому иногда в российских вузах имитационным моделированием стали называть целенаправленные серии многовариантных расчетов, выполняемых на компьютере с применением экономико-математических моделей и методов. Однако с точки зрения компьютерных технологий такое моделирование (тое~е1Ипд) - это обычные вычисления, выполняемые с помощью расчетных программ или табличного процессора Ехсе1. Математические расчеты (в том числе табличные) можно производить и без ЭВМ: используя калькулятор, логарифмическую линейку, правила арифметических действий и вспомогательные таблицы. Но имитационное моделирование - это чисто компьютерная работа, которую невозможно выполнить подручными средствами. Поэтому часто для этого вида моделирования используется синоним компьютерное моделирование.
Имитационную модель нужно создавать. Для этого необходимо
специальное программное обеспечение - система моделирования (япш1абоп вув~епз). Специфика такой системы определяется технологией работы, набором языковых средств, сервисных программ и приемов моделирования.
Имитационная модель должна отражать большое число параметров, логику и закономерности поведения моделируемого объекта во времени (временная динамика) и в пространстве (пространственная динамика). Моделирование объектов экономики связано с понятием финансовой динамики объекта. С точки зрения специалиста (информатика-экономиста, математика-программиста или экономиста-математика), имитационное моделирование контролируемого процесса или управляемого объекта - это высокоуровневая информационная технология, которая обеспечивает два вида действий, выполняемых с помощью компьютера:
1. работы по созданию или модификации имитационной модели;
2. эксплуатацию имитационной модели и интерпретацию результатов.
Имитационное (компьютерное) моделирование экономических процессов обычно применяется в двух случаях:
* для управления сложным бизнес-процессом, когда имитационная модель управляемого экономического объекта используется в качестве инструментального средства в контуре адаптивной системы управления, создаваемой на основе информационных (компьютерных) технологий;
* при проведении экспериментов с дискретно-непрерывными моделями сложных экономических объектов для получения и отслеживания их динамики в экстренных ситуациях, связанных с рисками, натурное моделирование которых нежелательно или невозможно.
Можно выделить следующие типовые задачи, решаемые средствами имитационного моделирования при управлении экономическими объектами:
* моделирование процессов логистики для определения временных и стоимостных параметров;
* управление процессом реализации инвестиционного проекта на различных этапах его жизненного цикла с учетом возможных рисков и тактики выделения денежных сумм;
* анализ клиринговых процессов в работе сети кредитных организаций (в том числе применение к процессам взаимозачетов в условиях российской банковской системы);
* прогнозирование финансовых результатов деятельности пред- приятия на конкретный период времени (с анализом динамики сальдо на счетах);
* бизнес-реинжиниринг несостоятельного предприятия (изменение структуры и ресурсов предприятия-банкрота, после чего с помощью имитационной модели можно сделать прогноз основных финансовых результатов и дать рекомендации о целесообразности того или иного варианта реконструкции, инвестиций или кредитования производственной деятельности);
* анализ адаптивных свойств и живучести компьютерной региональной банковской информационной системы (например, частично вышедшая из строя в результате природной катастрофы система электронных расчетов и платежей после катастрофического земле- трясения 1995 г. на центральных островах Японии продемонстрировала высокую живучесть: операции возобновились через несколько дней);
* оценка параметров надежности и задержек в централизованной экономической информационной системе с коллективным доступом (на примере системы продажи авиабилетов с учетом несовершенства физической организации баз данных и отказов оборудования);
* анализ эксплуатационных параметров распределенной многоуровневой ведомственной информационной управляющей системы с учетом неоднородной структуры, пропускной способности каналов связи и несовершенства физической организации распределенной базы данных в региональных центрах;
* моделирование действий курьерской (фельдьегерьской) вертолетной группы в регионе, пострадавшем в результате природной катастрофы или крупной промышленной аварии;
* анализ сетевой модели РБВ.Т (Ргодгаш Еча1иа1юп апс~ В.еч1еи Тесйпн1не) для проектов замены и наладки производственного оборудования с учетом возникновения неисправностей;
* анализ работы автотранспортного предприятия, занимающегося коммерческими перевозками грузов, с учетом специфики товарных и денежных потоков в регионе;
* расчет параметров надежности и задержек обработки информации в банковской информационной системе.
Приведенный перечень является неполным и охватывает те примеры использования имитационных моделей, которые описаны в литературе или применялись авторами на практике. Действительная область применения аппарата имитационного моделирования не имеет видимых ограничений. Например, спасение американских астронавтов при возникновении аварийной ситуации на корабле APOLLO стало возможным только благодаря "проигрыванию" различных вариантов спасения на моделях космического комплекса.
Система ИМ, обеспечивающая создание моделей для решения перечисленных задач, должна обладать следующими свойствами:
* возможностью применения имитационных программ совместно со специальными экономико-математическими моделями и методами, основанными на теории управления;
* инструментальными методами проведения структурного анализа сложного экономического процесса;
* способностью моделирования материальных, денежных и ин- формационных процессов и потоков в рамках единой модели, в общем модельном времени;
* возможностью введения режима постоянного уточнения при получении выходных данных (основных финансовых показателей, временных и пространственных характеристик, параметров рисков и др.) и проведении экстремального эксперимента.
Историческая справка. Имитационное моделирование экономических процессов - разновидность экономико-математического моделирования. Однако этот вид моделирования в значительной степе- ни базируется на компьютерных технологиях. Многие моделирующие системы, идеологически разработанные в 1970-1980-х гг., претерпели эволюцию вместе с компьютерной техникой и операционными системами ( эффективно используются в настоящее время на новых компьютерных платформах. Кроме того, в конце 1990-х гг. появились принципиально новые моделирующие системы, концепции которых не могли возникнуть раньше - при использовании ЭВМ и операционных систем 1970-1980-х гг.
Технология Имитационного моделирования
Имитационное моделирование реализуется посредством набора математических инструментальных средств, специальных компьютерных программ и приемов, позволяющих с помощью компьютера провести целенаправленное моделирование в режиме "имитации" структуры и функций сложного процесса и оптимизацию некоторых его параметров. Набор программных средств и приемов моделирования определяет специфику системы моделирования - специального программного обеспечения.
В отличие от других видов и способов математического моделирования с применением ЭВМ имитационное моделирование имеет свою специфику: запуск в компьютере взаимодействующих вычислительных процессов, которые являются по своим временным параметрам - с точностью до масштабов времени и пространства - аналогами исследуемых процессов.
Этапы имитационного моделирования
Имитационное моделирование как особая информационная технология состоит из следующих основных этапов.
1. Структурный анализ процессов.
Проводится формализация структуры сложного реального процесса путем разложения его на подпроцессы, выполняющие определенные функции и имеющие взаимные функциональные связи согласно легенде, разработанной рабочей экспертной группой. Выявленные подпроцессы, в свою очередь, могут разделяться на другие функциональные подпроцессы. Структура общего моделируемого процесса может быть представлена в виде графа, имеющего иерархическую многослойную структуру. В результате появляется формализованное изображение имитационной модели в графическом виде.
Экономические процессы содержат подпроцессы, не имеющие физической основы и протекающие виртуально, так как оперируют с информацией, деньгами, логикой, законами и их обработкой, поэтому структурный анализ является эффективным этапом при моделировании экономических процессов.
На этом этапе описываются экзогенные переменные, т.е. те переменные, которые задаются вне модели, т.е. известны заранее. Ещё описываются параметры - это коэффициенты уравнений модели. Часто их не разделяют. Эндогенные переменные - это те переменные, кот. опред. в ходе расчетов по модели и не задаются в ней извне.
2. Формализованное описание модели.
Графическое изображение модели, ф-ии, выполняемой каждым подпроцессом, условия взаимодействия всех подпроцессов и особенности поведения моделируемого процесса (временная, пространственная, финансовая динамики_ д.б. описаны на спец языке одним из способов:
* Описание вручную на алгоритмическом языке, т.е. написание программы на языке програмирования.
* Автоматизир описание с пом компьютерного графического конструктора.
3. Построение модели.
* Обычно это трансляция и редактирование связей (сборка модели);
* Режимы интерпритации и компиляция;
* Верификация (калибровка) параметров, работа на тестовых примерах.
4. Проведение модельного эксперимента.
Проводится оптимизация определенных параметров реального процесса. Этому должен предшествовать процесс, кот. называется планирование эксперимента.
МЕТОД МОНТЕ-КАРЛО
- Способ исследования поведения вероятностных систем экономических, технических и т.п. в условиях, когда неизвестны в полной мере внутренние взаимодействия в этих системах.
Создателями метода статистических испытаний (метода Монте-Карло) считают американских математиков Д. Неймана и С. Улама. В 1944 году, в связи с работами по созданию атомной бомбы Нейман предложил широко использовать аппарат теории вероятностей для решения прикладных задач с помощью ЭВМ. Данный метод был назван так в честь города в округе Монако, из-за рулетки, простейшего генератора случайных чисел.
Первоначально метод Монте-Карло использовался главным образом для решения задач нейтронной физики, где традиционные численные методы оказались мало пригодными. Далее его влияние распространилось на широкий класс задач статистической физики, очень разных по своему содержанию. К разделам науки, где все в большей мере используется метод Монте-Карло, следует отнести задачи теории массового обслуживания, задачи теории игр и математической экономики, задачи теории передачи сообщений при наличии помех и ряд других.
Метод Монте-Карло (или метод статистических испытаний) можно определить как метод моделирования случайной величины с целью вычисления характеристик их распределений. Суть состоит в том, что результат испытаний зависит от некоторой случайной величины, распределенной по заданному закону. Поэтому результат каждого отдельного испытания носит случайный характер. (Как правило, составляется программа для осуществления одного случайного испытания.) Проведя серию испытаний, получают выборку. Полученные статистические данные обрабатываются и представляются в виде численных оценок интересующих исследователя величин (характеристик системы).
Т.е. испытание повторяется N раз, причем каждый опыт не зависит от остальных, и результаты всех опытов усредняются. Это значит, что число испытаний должно быть достаточно велико, поэтому метод существенно опирается на возможности компьютера.
Теоретической основой метода Монте-Карло являются предельные теоремы теории вероятностей. Они гарантируют высокое качество статистических оценок при весьма большом числе испытаний. Метод статистических испытаний применим для исследования как стохастических, так и детерминированных систем. Практическая реализация метода Монте-Карло невозможна без использования компьютера.
Можно проиллюстрировать метод статистических испытаний на простейшем примере: вычисление числа ? как отношение площади 1/4 круга к площади всей картинки путем разбрасывания случайным образом точек по всему рисунку. Затем считается отношение попавших в круг точек ко всем точкам, и по этому отношению приблизительно определяется отношение площадей. Увеличением числа вбрасываемых точек можно более точно определить площадь круга, но это так же ведет и к увеличению времени вычислений.
Точность вычислений очень сильно зависит от качества используемого генератора псевдослучайных чисел. Другими словами, точность тем выше, чем более равномерно случайные точки распределяются по единичному квадрату.
p»4Sкр/Sкв (1)
Подсчитаем число точек внутри квадрата и внутри четверти круга. Очевидно, что их отношение будет приближенно равно отношению площадей этих фигур , так как попадание капель в различные места чертежа равновероятно. Пусть Nкр - число капель в круге,Nкв -число капель в квадрате , тогда
p»4Nкр/Nкв (2)
число бросаний Точное значение Програмное значение Погрешность 10000 0.25 3,1632 0,021607346 100000 0.25 3,14436 0,002767346
Каждому точке поставим в соответствие два случайных числа, характеризующих его положение вдоль осей Ох и Оу (см. рис. 2). Если окажется, что для точки (хi,уi) выполняется неравенство хi2+уi21, то, значит, она лежит вне круга. Если хi2 +уi2 Ј 1, то точка лежит внутри круга.
Для подсчета значения p воспользуемся формулой (2). Ошибка вычислений по этому методу, как правило пропорциональна , где D - некоторая постоянная, а N - число испытаний. В этом примере . Из этой формулы видно, что для того, чтобы уменьшить ошибку в 10 раз, т.е. получить ещё один верный десятичный знак, нужно увеличить N, т.е. объём работы, в 100 раз (см. таблицу с результатами испытаний).
ИМИТАЦИЯ СЛУЧАЙНЫХ ВЕЛИЧИН И ПРОЦЕССОВ
Базовый датчик
Моделирование случайных элементов в системах является одной из самых главных, базовых задач математического моделирования.
Любая случайная величина или процесс X может моделироваться следующим образом:
Базовый датчик выдает независимые равномерно распределенные случайные величины:
1. непрерывные в [0,1);
2. дискретные в
Типы базовых датчиков:
1. физические (любой физический шум) - не используются, т.к. характеристики нестабильны и реализацию повторить нельзя;
2. псевдослучайные - строятся на основе детерминированного алгоритма, но полученные результаты неотличимы от случайных.
Псевдослучайные базовые датчики строятся по модели при заданном
Требования к базовым датчикам и их проверка
1. Отрезок апериодичности
Периодом T и длиной отрезка апериодичности датчика называются наименьшие из величин, удовлетворяющие
Чем больше T и L, тем лучше датчик (особенно L).
Как определить их:
1. Берем V - достаточно большое число (обычно
2. Генерируем и проверяем ,запоминая.
3. Генерируем и проверяем . Если нет для , то и . Иначе запоминаем , для которого , и находим следующий , для которого (если нужно, генерируются дополнительные величины). Тогда
4. Генерируем и и ищем первое совпадение . Тогда
2. Равномерность
Должно быть для
Проверка:
1. Берем и генерируем
2. Находим и разбиваем отрезок [0,1) на k равных частей (длиной )
3. Для каждого числа определяем, в какой интервал оно попало:
и заполняем массив :
4. По значениям этого массива строим гистограмму (для наглядности).
5. Используем критерий
.
Выбираем уровень значимости (обычно 5%), а число степеней свободы . В таблицах находим значение и проверяем: если ,то "данные эксперимента не противоречат гипотезе о равномерности случайных чисел", иначе - "противоречат".
3. Некоррелированность
1. Генерируем
2. Вычисляем , (можно и больше).
3. Вычисляем
4. Проверяем для всех k
Если да, то "данные эксперимента не противоречат гипотезе о равномерности случайных чисел", иначе - "противоречат". Здесь - уровень значимости, а берется из таблиц
4. Простейшие проверки
Подходят для любой непрерывной случайной величины.
1. Математическое ожидание:
2. Дисперсия:
Модели базовых датчиков
Мультипликативный конгруэнтный метод (метод вычетов)
В основе лежит следующее рекуррентное соотношение:
- множитель, M - модуль, - стартовое значение. Рекомендуемые значения для 64-разрядной сетки:
Тогда период
Для 32-разрядной:
Тогда период
Линейные смешанные формулы.
p - порядок, стартовые значения: . Период
Частный случай. Датчик Терпугова.
function Rand (var y: Integer): Double;
const b=843314861;
c=453816693;
m2=1073741824; {M/2}
begin
{$O-,$R-} {Optimization- & Range Check-}
y:=y*b+c;
if y<0 then y:=(y+m2)+m2;
Result:=Double(y)*0.4656613E-09;
end;
Причем тогда и только тогда, когда
Существуют и другие методы моделирования базовых датчиков.
Генерация случайных событий
1. Пусть имеется некоторое случайное событие А, наступающее с вероятностью р(А). Тогда ( - числа, генерируемые базовым датчиком). Следовательно, генератор 1 случайного события:
,где
2. Полная группа попарно несовместимых событий . Пусть Идея:
ГЕНЕРАЦИЯ ДИСКРЕТНЫХ СЛУЧАЙНЫХ ВЕЛИЧИН
Пусть имеется дискретная случайная величина с рядом распределения.
x ... p ... ,
Т.о. задача сводится к генерации полной группы попарно несовместимых событий. Т.е., если наступило , .
Программная реализация
Специальные методы генерации некоторых дискретных случайных величин
1. Равномерное распределение
x 0 1 ... n p ...
Тогда
Док-во.
x удовлетворяет равномерному распределению.
2. Геометрическое распределение
x = 0,1,2,... до
Док-во.
3. Отрицательное биномиальное распределение.
х=0,1,2,... до
<< Пред. стр. 1 (из 3) След. >>