AnyLogic 8.8.4: генетическая оптимизация и пешеходные лифты

AnyLogic 8.8.4 уже доступен для скачивания. В новой версии появились два значимых улучшения: встроенная генетическая оптимизация и лифты в Пешеходной библиотеке. Подробнее обо всех улучшениях и обновлениях — в справке AnyLogic.

Генетическая оптимизация

Начиная с версии AnyLogic 8.8.4, пользователи смогут выбирать один из двух оптимизаторов: OptQuest или генетический. Чем же они отличаются?

По умолчанию в AnyLogic доступна оптимизация на базе OptQuest, но у нее есть ограничения — не более 7 переменных и 500 итераций. Для обхода ограничений и решения масштабных оптимизационных задач можно выбрать платную опцию. Генетический алгоритм оптимизации, который появился в новой версии, также доступен в AnyLogic по умолчанию, но не имеет ограничений и не требует доплат, независимо от размера проекта.

Кроме того, экспорт оптимизационного эксперимента на базе OptQuest в виде отдельного приложения — платная опция, доступная пользователям AnyLogic Professional, а при использовании генетического оптимизатора экспортировать можно бесплатно.

Чтобы выбрать оптимизатор для своего эксперимента, перейдите в свойство Оптимизатор Оптимизационного эксперимента или Эксперимента калибровки.

Свойства Оптимизационного эксперимента в AnyLogic
Выберите оптимизатор в свойствах Оптимизационного эксперимента

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

Чтобы изучить, как генетическая оптимизация используется в Нестандартном эксперименте, вы можете открыть соответствующую модель во вкладке «Примеры моделей» в AnyLogic (Начальная страницаОбучающие моделиЭкспериментыOptimization in Custom Experiment) или скачать исходный файл модели Optimization in Custom Experiment.

Пешеходные лифты

В течение многих лет наши пользователи придумывали разные способы для моделирования лифтов. Теперь пешеходный лифт стал базовым элементом в AnyLogic.

Функциональность лифта представлена элементом разметки Лифт и блоком PedElevator. Блок описывает поведение пешеходов, которые будут пользоваться лифтом. Оба элемента можно найти на палитре Пешеходной библиотеки в AnyLogic.

Обратите внимание: элемент Лифт, который раньше был в Библиотеке производственных систем, переименован в Подъемник, чтобы избежать путаницы.

Пешеходная библиотека на палитре в AnyLogic
Элемент разметки Лифт и блок PedElevator на палитре Пешеходной библиотеки в AnyLogic

Элемент разметки Лифт — для настройки работы лифта

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

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

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

Настройки логики движения лифта
Настройки логики движения лифта

Блок PedElevator — для настройки поведения пешеходов

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

Настройки блока PedElevator в AnyLogic
Настройки блока PedElevator

Встроенная логика автоматически собирает сигналы:

  • пешеходов, ожидающих на этажах (используется информация о текущем этаже и целевом направлении);
  • пассажиров, уже вошедших в лифт (используется информация о необходимом этаже).

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

Но вы также можете смоделировать собственный алгоритм работы лифта, переведя его в ручной режим с помощью API-функци elevator.setManualMode(true). В этом случае вам придется вручную управлять лифтом с помощью методов elevator.moveTo(level), elevator.pickUpPeds() и elevator.dropOffPeds().

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

Узнайте больше о новой функциональности лифта, поэкспериментируйте с ручным режимом управления и изучите нюансы, связанные с моделированием лифтов с помощью наших обучающих моделей:


Чтобы оставаться в курсе новостей и получать на почту последние статьи нашего блога, подпишитесь на ежемесячную рассылку AnyLogic.

Похожие материалы