|
Стохастическое моделированиеСуществуют различные способы описания стохастического поведения: использование различных законов распределения и/или статистики для описа- ния времени между событиями; реализация недетерминированных алгоритмов, например, утеря с определенной вероятностью заявки. В случае, если несколько событий должны произойти в одно и то же время, 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) задать условия прекращения эксперимента. После запуска модели оптимизационный эксперимент найдет наилучшие значения входных параметров, при которых заданная целевая функция обра- тится в минимум или максимум. Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем... Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом... Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)... Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычислить, когда этот... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|