Переход, срабатывающий при выполнении условия


Такой переход будет разрешен, когда заданное логическое условие станет истинным (т.е. равно true). Если у агента есть непрерывно изменяющиеся переменные, то численный решатель будет постоянно отслеживать выполнение заданного условия. В чисто дискретных моделях условие проверяется при каком-либо изменении, произошедшем в типе агента, т.e. при вызове метода onChange().

 Чтобы сделать переход срабатывающим при выполнении заданного условия

  1. Выделите переход в графическом редакторе.
  2. В панели Свойства выберите При выполнении условия из выпадающего списка Происходит.
  3. Введите условие в расположенном ниже поле Условие.

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

При задании условия срабатывания перехода вы должны учитывать так называемую проблему чувствительности. Пусть переход ожидает выполнения условия x>=5, а переменная x непрерывно изменяет свое значение, как показано на приведенном ниже рисунке: 

 

Проблема чувствительности

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


См. также

 Диаграммы состояний

 Переход

 Срабатывание перехода