Как настроить эксперимент Anylogic Optimization?

Кто-нибудь пробовал использовать эксперимент по оптимизации с Anylogic? Я пытаюсь оптимизировать набор параметров с помощью моделирования. Anylogic говорит, что целевая функция вызывается в конце каждого прогона симуляции. Проблема в том, что, кажется, это называется всякий раз, когда... я в замешательстве. Как я могу убедиться, что он вызывается в конце? Есть ли функция, которую мне нужно настроить в оптимизаторе?

Спасибо! L.

1 ответ

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

  1. В вашем эксперименте по моделированию есть конфигурации, которые не передаются непосредственно в ваш эксперимент по оптимизации. Это заставляет вас думать, что симуляция точно такая же, а это не так. Например, вы запускаете симуляцию в разные ожидаемые даты... тщательно проверьте всю конфигурацию
  2. оптимизация работает без случайного начального числа. Это может вызвать путаницу в некоторых случаях. Если вы используете фиксированное начальное число, убедитесь, что вы этого хотите.
  3. Одна или несколько переменных вашей целевой функции сбрасываются в конце симуляции, давая вам всегда одно и то же значение целевой функции. В этом случае вы должны внимательно рассмотреть свою модель.
  4. Использование статических переменных: не используйте статические переменные, если вы не уверены, что они делают... Статическая переменная используется совместно со всеми экземплярами класса, поэтому не странно, когда вы видите, что переменная используется совместно с другими симуляциями.

В большинстве случаев эксперимент по оптимизации не работает волшебным образом (иногда это работает), и вы должны тщательно составить его, чтобы работать по своему усмотрению.

Резюме: целевая функция ВСЕГДА вызывается в конце, и если вы чувствуете, что это не так, ошибка на вашей стороне.

Другие вопросы по тегам