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

При создании модели автоматически создается один простой эксперимент, названный Simulation. Как и следует из его названия, простой эксперимент представляет собой самый простой тип эксперимента. Он запускает модель с заданными значениями параметров, поддерживает режимы виртуального и реального времени, анимацию, отладку модели.

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

 Чтобы создать простой эксперимент
  1. В панели Проекты, щелкните правой кнопкой мыши по модели, для которой вы хотите создать новый эксперимент, и выберите Создать > Эксперимент из контекстного меню.
    Появится диалоговое окно Новый эксперимент.
  2. Выберите Простой эксперимент из списка Тип эксперимента.
  3. Введите имя эксперимента в поле Имя.
  4. Выберите агента верхнего уровня для этого эксперимента из выпадающего списка Агент верхнего уровня.
  5. Если вы хотите применить к создаваемому эксперименту временные установки другого эксперимента, оставьте установленным флажок Копировать установки модельного времени из и выберите эксперимент из расположенного справа выпадаюшего списка.
  6. Щелкните мышью по кнопке Готово.

Свойства

Основные

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

Исключить – Если опция выбрана, то эксперимент будет исключен из модели.

Агент верхнего уровня – Здесь задается агент верхнего уровня этого эксперимента. Агент этого типа будет играть роль корня иерархического дерева агентов модели, запускаемой этим экспериментом.

Максимальный размер памяти – [Параметр приложения, не применяется при запуске модели в виде апплета] Максимальный размер памяти Java, выделенный для данной модели.

Параметры

Здесь пользователь задает актуальные значения параметров агента верхнего уровня модели.

Модельное время

Режим выполнения – Здесь вы можете выбрать режим выполнения модели:

Виртуальное время (максимальная скорость) – Режим виртуального времени. В этом режиме модель выполняется без привязки к физическому времени – она просто выполняется настолько быстро, насколько это возможно. Этот режим лучше всего подходит в том случае, когда требуется моделировать работу системы в течение достаточно длительного периода времени.

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

Остановить – Здесь вам нужно задать, когда вы хотите, чтобы моделирование было остановлено. Если вы хотите, чтобы моделирование продолжалось бесконечно, до тех пор, пока вы сами его не остановите, выберите из выпадающего списка Нет. Если же вы хотите, чтобы моделирование длилось до заданного времени или заданной даты, выберите здесь соответственно В заданное время или В заданную дату. В этом случае время остановки будет задаваться элементом управления Начальное время/Начальная дата.

Начальное время – Начальное время моделируемого интервала времени.

Начальная дата – Начальная календарная дата моделируемого интервала времени.

Конечное время – Конечное время моделируемого интервала времени (количество единиц модельного времени, по прошествии которого модель будет остановлена).

Конечная дата  – Конечная календарная дата моделируемого интервала времени.

Случайность

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

Случайное начальное число (уникальные "прогоны") – Если опция выбрана, то "прогоны" модели будут уникальными и не смогут быть воспроизведены в силу того, что при каждом новом запуске модели генератор случайных чисел будет инициализироваться другим числом.

Фиксированное начальное число (воспроизводимые "прогоны") – Если опция выбрана, то генератор случайных чисел модели будет всегда инициализироваться одним и тем же начальным числом (оно задается в поле Начальное число), поэтому все запуски модели будут идентичными и воспроизводимыми. 

Нестандартный генератор (подкласс класса Random) – Если по каким-либо причинам вас не устраивает качество стандартного генератора Random, то вы можете использовать вместо него ваш собственный ГСЧ. Для этого cоздайте его (это должен быть подкласс Java класса Random, например, MyRandom), выберите данную опцию и введите выражение, возвращающее экземпляр класса вашего ГСЧ, в расположенном справа поле, например: new MyRandom() или new MyRandom( 1234 ). Подробнее см. здесь.

Упорядочение одновременных событий – Здесь вы можете выбрать порядок выполнения для одновременных событий (событий, которые происходят в один и тот же момент исполнения модели). Выберите один из следующих режимов: FIFO (в порядке поступления), LIFO (в обратном порядке) или Случайно.

Окно

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

Заголовок – Заголовок, который будет показан в окне презентации.

Разрешить изменение масштаба и перетаскивание – Если опция выбрана, то пользователь сможет изменять масштаб содержимого окна презентации во время моделирования и перемещать холст окна презентации с помощью мыши (перемещая мышь с нажатой правой кнопкой).

Панель разработчика – Если опция выбрана, панель разработчика будет доступна в окне модели.

Показать панель разработчика при старте модели – [Параметр доступен, если выбрана опция Панель разработчика] Если опция выбрана, панель разработчика будет по умолчанию отображаться в окне модели при каждом запуске эксперимента.

Действия Java

Код инициализации эксперимента – Код инициализации эксперимента, который выполняется, когда эксперимент и его интерфейс уже созданы.

Действие перед запуском каждого эксперимента – Код, который выполняется перед запуском каждого эксперимента. 

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

Действие после "прогона" модели – Код, выполняемый после каждого "прогона" модели. Этот код выполняется, когда исполняющий модуль завершает выполнение модели (вызывается метод Engine.finished()). Этот код не выполняется, если вы останавливаете модель с помощью кнопки Прекратить выполнение.

Java для экспертов

Импорт – Выражения импорта import, необходимые для успешной компиляции кода класса эксперимента. Во время генерации Java кода эти выражения вставляются перед строкой объявления Java класса эксперимента.

Дополнительный код класса – Здесь вы можете объявить какие-то служебные переменные кода, вложенные классы, константы и методы. Этот код будет вставлен в объявление класса эксперимента. Все объявленные здесь члены класса будут доступны из кода эксперимента. 

Аргументы Java машины – [Параметр приложения, не применяется при запуске модели в виде апплета] Задайте здесь аргументы Java машины, которые будут применяться при запуске модели. Подробное описание возможных аргументов дано на сайте Java Sun Microsystems: http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/java.html

Аргументы командной строки – [Параметр приложения, не применяется при запуске модели в виде апплета] Здесь вы можете задать аргументы командной строки, с помощью которых вы хотите передать модели определенные данные. Значения переданных аргументов доступны в Дополнительном коде класса эксперимента с помощью метода String[] getCommandLineArguments()

Специфические

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

Адаптивная частота обновления  – AnyLogic позволяет изменять частоту отрисовки презентации. Чем больше частоту вы зададите, тем плавнее будет отрисовываться презентация. Выберите здесь, хотите ли вы задать фиксированную частоту отрисовки в кадрах в секунду, либо адаптивную частоту отрисовки, которая будет пересчитываться во время работы модели, чтобы обеспечить указанное отношение между скоростью выполнения и плавностью отрисовки презентации. Чтобы выбрать адаптивную частоту отрисовки, установите этот флажок.

Выбор приоритета (Презентация : Моделирование) –  [Доступно, если выбрана опция Адаптивная частота обновления] Если выбран режим обновления с адаптивной частотой, то здесь нужно указать коэффициент отношения скорости выполнения модели к плавности отрисовки презентации
Однако учтите, что отрисовка презентации требует определенного времени, и частая перерисовка замедлит выполнение модели. Поэтому задавайте такую частоту, которая отвечала бы вашим требованиям к модели, обеспечивая либо более плавную отрисовку презентации, либо более быстрое выполнение модели.

Кадров в секунду – [Доступно, если не выбрана опция Адаптивная частота обновления] Если режим обновления с адаптивной частотой отключен, то здесь вы сможете задать частоту отрисовки презентации (в кадрах в секунду). Чем большее значение вы укажете, тем лучше будет выглядеть анимация вашей модели. Однако учтите, что отрисовка презентации требует определенного времени, и частая перерисовка замедлит выполнение модели.

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