#netlogo #hybrid #python-turtle #agent-based-modeling #systemdynamics
#netlogo #гибрид #python-черепаха #моделирование на основе агентов #системная динамика
Вопрос:
Я создал две простые модели; одна модель системной динамики и одна модель на основе агентов в NetLogo. SDM имеет запас «туристов», и его значение зависит от притока и оттока. Значение пересчитывается каждый тик. Туристы прорастают в ABM каждый тик. Теперь я хотел бы использовать значение touristsStock в качестве входных данных для черепах, которые прорастают каждый тик в модели, основанной на агентах. Каков наилучший способ сделать это? Я уже проверил примеры кодов в библиотеке моделей (например, модель Tabonuco Yagrumo), но для меня это не имеет никакого смысла. Каков наилучший способ интеграции этих моделей друг с другом? Заранее спасибо!
Соответствующий фрагмент кода ABM приведен ниже:
to go
clear-turtles
;sprouts turtles only on patches with value beach AND patches that are close to the lagoon (calculated in ArcMap)
;the initial number of tourists is multiplied by the percentage of tourists that were satisfied in the previous tick.
;percentage of tourists that were not satisfied is subtracted from 100 and divided by 100 to make it a factor between 0-1.
ask n-of (initial-number-tourists * ((100 - percent-dissatisfied) / 100)) (patches with [ beach_close_to_lagoon = 1])
[
sprout 1 [
set color black
set size 10
]
]
ask turtles [
set neighbor min-one-of other turtles [distance myself] ;; choose my nearest tourist based on distance
set distance-tourist distance neighbor ; measure/calculate distance of closest neighboring tourist
]
ask turtles
[ ifelse distance-tourist > 5
[ set satisfied? True]
[ set satisfied? False ] ]
update-turtles ;before the end of each tick, the satisfaction of each turtle is updated
update-globals ;before the end of each tick, the percentage of satisfied tourists is updated in globals
;clear-turtles ;because each tick represents one day, the tourists will leave the beach after one tick so the turtles will die
tick
end