Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Стохастическое моделирование





Существуют различные способы описания стохастического поведения: использование различных законов распределения и/или статистики для описа- ния времени между событиями; реализация недетерминированных алгоритмов, например, утеря с определенной вероятностью заявки. В случае, если несколько событий должны произойти в одно и то же время, AnyLogic позволяет выбрать событие, которое должно произойти, случайно, используя равномерное распре- деление.

AnyLogic поддерживает Stat::Fit – специализированное программное обеспечение для обработки статистики, которое позволяет подбирать распреде- ления по имеющейся выборке.

Рассмотрим средства для разработки стохастических моделей в AnyLogic. В AnyLogic включено 37 генераторов случайных величин с наиболее часто встречающимися вероятностными распределениями: равномерным, экс- поненциальным, Бернулли, биномиальным и т.п. Их описание можно найти в

руководстве пользователя AnyLogic.

Все классы вероятностных распределений унаследованы от класса Distr. Они называются DistrExponential, DistrChi, DistrNormal и т.д. Класс Distr имеет только один абстрактный метод get(), возвращающий случайное значение, сгенерированное по этому закону распределения. Пользователь может опреде- лить свое вероятностное распределение, для чего нужно создать свой класс распределения и унаследовать его от базового класса Distr. Методы классов распределений подробно описаны в справочнике классов AnyLogic.

Вызвать метод очень просто, например, exponential(0.6) или uniform(-1,1),


который вернет соответствующее случайное значение.

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

Проведение экспериментов

С помощью экспериментов задаются конфигурационные настройки модели. AnyLogic поддерживает несколько типов экспериментов: простой экс- перимент, эксперимент для варьирования параметров, оптимизационный и др. На рис. 3 показано окно выбора эксперимента.

Рис. 3


Простой эксперимент. Задачи вида «что – если» (так называемая прямая задача имитационного моделирования ИМ) в AnyLogic решаются с по- мощью простого эксперимента. Простой эксперимент (с именем Simulation) создается автоматически при создании проекта. Он позволяет визуализировать модель с помощью анимации, графиков (диаграмм) и т.п. Широкие возможно- сти для отображения данных предоставляет библиотека бизнес-графики (Business Graphics Library).



Для построения, например, графика зависимости переменных от времени в поле анимации сначала нужно построить прямоугольник, в переделах которо- го будет размещаться график, после чего в любое место поля редактора перене- сти экземпляр объекта ChartTime из Business Graphics Library. Затем в окне свойств данного объекта следует настроить параметры, определяющие цвет и толщину линий, имена отображаемых переменных, названия переменных, ко- торые будут отображаться, цвет текста и т.д.

Простой эксперимент используется в большинстве случаев при разработ- ке и анализе моделей, созданных в AnyLogic. В частности, он поддерживает средства для отладки модели. Можно организовать несколько простых экспе- риментов с различными значениями исходных факторов и, сделав один из этих экспериментов текущим, запустить модель на выполнение.

Эксперимент для варьирования параметров. Анализ чувствительно- сти модели. Анализ чувствительности модели – процедура оценки влияния исходных гипотез и значений ключевых факторов на выходные показатели мо- дели. Обычно эксперимент с варьированием параметров и анализом реакции модели помогает оценить, насколько чувствительным является выдаваемый моделью прогноз к изменению гипотез, лежащих в основе модели. При анализе чувствительности обычно рекомендуется выполнять изменение значений фак- торов по отдельности, что позволяет ранжировать их влияние на результирую- щие показатели.

В AnyLogic доступен механизм автоматического запуска модели заданное


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

Чтобы запустить такой эксперимент, нужно выполнить следующее:

- создать эксперимент для варьирования параметров;

- сконфигурировать эксперимент, выбрав параметры модели, которые вы хотите варьировать, и, задав значения, которые эти параметры должны будут принять за определенное вами количество прогонов модели, в окне свойств данного эксперимента;

- запустить модель, выбрав данный эксперимент в качестве текущего.

Такой вид эксперимента не поддерживает визуализацию работы модели с помощью анимации.

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

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


В качестве блока регистрации значений выходных показателей и выбора очередного приближения при оптимизации (рис. 4) пользователь может исполь- зовать любой внешний оптимизатор или же оптимизатор OptQuest, встроенный в AnyLogic. Оптимизатор OptQuest разработан недавно на основе метаэвристик рассеянного поиска (scatter search) и поиска «табу» (tabu search). Этот оптими- затор является лучшим из предлагаемых на рынке профессиональных пакетов оптимизации для решения сложных проблем оптимизации.

 

 

Условие прекращения эксперимента выполнено

 

Рис. 4

 

 

Оптимизатор OptQuest запускается прямо из среды разработки модели. Чтобы настроить оптимизацию в AnyLogic необходимо выполнить следующее:

1) создать в разработанной модели оптимизационный эксперимент;

2) задать оптимизационные параметры и области их изменения;

3) задать условие остановки модели после каждого прогона. Это может быть либо остановка по времени выполнения прогона, либо остановка по условиям, накладываемым на переменные модели;

4) задать целевую функцию, т.е. исследуемую реакцию системы;

5) задать ограничения, которые в конце каждого прогона определяют, до- пустимо ли значение вектора исходных входных факторов. Ограниче- ния можно не задавать (т.е. это опционально);

6) задать условия прекращения эксперимента.

После запуска модели оптимизационный эксперимент найдет наилучшие значения входных параметров, при которых заданная целевая функция обра- тится в минимум или максимум.









Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2017 zdamsam.ru Размещенные материалы защищены законодательством РФ.