#netlogo
#netlogo
Вопрос:
Я запускаю модель несколько раз из пространства поведения. Каждый раз продолжительность выполнения должна отличаться в зависимости от данных, импортированных из внешнего источника данных (например, время окончания последней смены производства в течение обычного дня). Как это сделать в пространстве поведения?
Комментарии:
1. Как это сделать, может зависеть от структуры ваших данных, способа их загрузки и т.д. Можете ли вы предоставить больше информации (в идеале, MCVE и набор данных для игрушек)?
Ответ №1:
Вы можете вручную ограничить продолжительность выполнения, используя условие остановки в вашем эксперименте с пространством поведения. Вам понадобится глобальный параметр для отслеживания количества выполняемых тактов, а затем вам нужно будет заполнить его в части настройки вашей модели:
globals [ ticks-to-run ]
to setup
reset-ticks
set ticks-to-run random 150 ; replace `random 150` by the data you load from your external source
end
to go
tick
end
Это предполагает, что вы выполняете setup
в своих командах установки и go
в своих командах Go. Затем в вашем условии остановки добавьте ticks > ticks-to-run
, и ваша модель остановится, как только она пройдет мимо вашей ticks-to-run
. Также убедитесь, что в этом случае ваше ограничение по времени равно 0
, поскольку любое значение там остановит запуск модели до вашего пользовательского ticks-to-run
ограничения.