Netlo go Behaviorspace Как сохранить данные не за такт, а на основе репортера - PullRequest
1 голос
/ 24 января 2020

У меня есть модель netlo go, для которой пробег занимает около 15 минут, но проходит через множество тиков. Это потому, что за один тик мало что происходит. Я хочу сделать немало прогонов в эксперименте в поведенческом пространстве. Выходными данными (только выходными данными таблицы) будут все выходные и входные переменные за тик. Однако не все эти данные актуальны: они релевантны только один раз в день (день переменный, цикл длится 1095 дней).

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

Кто-нибудь знает, как это исправить?

Вид С уважением, Фемке

1 Ответ

2 голосов
/ 24 января 2020

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

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

  1. Скажите BehaviorSpace, чтобы использовать только один процессор для эксперимента. Затем вы можете использовать один и тот же выходной файл для всех прогонов модели. Если вы хотите, чтобы в выходных строках была указана какая модель запуска, используйте примитив поведенческого пространства-номер-номера.

  2. Пусть каждая прогон модели создаст свой собственный выходной файл с уникальным именем. Откройте файл, используя что-то вроде: file-open (слово «Output-for-run-» поведенческое пространство-run-number «.csv»), чтобы выходные файлы назывались Output-for-run-1.csv et c .

(Если вы не знакомы с ним, расширение CSV очень полезно для записи выходных файлов. Вы можете поместить все, что хотите вывести в большой список, а затем, когда модель завершает запись списка в CSV-файл с помощью: csv: to-file (слово "Output-for-run-" поведенческий-номер-запуска ".csv") the-big-list)

Стив Р. .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...