Эксперименты

AnyLogic предлагает широкие возможности для проведения экспериментов и анализа результатов моделирования: Вы можете управлять прогонами модели; собирать, просматривать и сравнивать результаты моделирования; калибровать и оптимизировать Ваши модели. Для одной модели могут быть заданы несколько экспериментов. Эксперимент может быть экспортирован как Java-апплет или Java-приложение. Вы можете спроектировать любой графический интерфейс для Ваших экспериментов, используя графический редактор AnyLogic. Каждый эксперимент подлежит "тонкой настройке", в которой Вы можете определить действия, выполняющиеся до и после каждой итерации, либо до начала эксперимента. Результаты моделирования могут быть сохранены в файл с расширением .csv и открыты с помощью любого табличного процессора, например, Excel (существует только в версии Professional). AnyLogic поддерживает следующие типы экспериментов:

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

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

Варьирование параметров

Производит повторный запуск модели с разными значениями параметров корневого объекта. Этот эксперимент позволяет сравнить поведение модели при разных значениях параметров и оценить степень влияния отдельных параметров на поведение модели. Запуская несколько прогонов модели с фиксированными значениями параметров, Вы также можете оценить влияние случайных факторов в стохастических моделях.

paramvariation.jpg

Оптимизация

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

optimization.jpg

Сравнение "прогонов"

[доступен только в AnyLogic Professional]

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

compareruns.jpg

Анализ чувствительности

[доступен только в AnyLogic Professional]

Выполняет несколько "прогонов" модели, варьируя значения одного из параметров и показывая, как результаты моделирования зависят от этих изменений.

sensitivityanalysis.jpg

Монте-Карло

[доступен только в AnyLogic Professional]

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

montecarlo.jpg

Калибровка

[доступен только в AnyLogic Professional]

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

calibration.jpg

Нестандартный

[доступен только в AnyLogic Professional]

Запускает эксперимент нестандартного сценария, полностью написанного пользователем. У этого типа эксперимента нет ни предопределенного поведения, ни встроенного графического интерфейса. Поэтому нестандартный эксперимент дает пользователю неограниченную гибкость в вопросах задания параметров, управления "прогонами" модели, принятия решений. Разработчику модели предоставляется редактор кода, выполняющего все вышеперечисленные и многие другие задачи с использованием AnyLogic Engine API (такие методы, как run(), stop() и т.д.).