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

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

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

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

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

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

paramvariation.png

Оптимизация

[доступен опционально в AnyLogic Advanced и встроен в AnyLogic Professional]

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

optimization.png

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

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

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

compareruns.png

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

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

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

sensitivityanalysis.png

Монте-Карло

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

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

montecarlo.png

Калибровка

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

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

calibration.png

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

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

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