Мне нужно сделать некоторые предположения о структуре вашей модели. Во-первых, кажется, что energy_c_evehicle1
, energy_b_evehicle1
и demand1
являются переменными, которые относятся к батарее каждого endusers1
. Следовательно, они должны быть определены как endusers1-own
переменные, а не как глобальные переменные. (Как и глобальные значения, каждый enduser1
работает на одной и той же батарее.)
endusers1-own [
energy_c_evehicle1
energy_b_evehicle1
demand1
]
Инициализация energy_b_evehicle1
будет затем перемещаться с setup
на create_endusers1
.
to create_endusers1
create-endusers1 numcluster1 [
move-to one-of patches with [ pcolor = green ]
set color white
set shape "triangle"
set size 2
set energy_b_evehicle1 5 * 1.56
]
end
Теперь каждый конечный пользователь1 будет работать со своей батареей и потребностями. Вы можете внести эти изменения и посмотреть, как это повлияет на поведение вашей модели.
Еще одно наблюдение: в demand_battery
вы просите каждого конечного пользователя1 call_dist1
. Но в call_dist1
вы просите каждого конечного пользователя1 увеличить ее спрос. Таким образом, каждый enduser1 просит каждого enduser1 увеличить свою потребность, поэтому потребность каждого enduser1 будет увеличена в numcluster1 раз. Я сомневаюсь, что это то, что вы хотите. Если demand_battery
будет просто
to demand_battery
ask endusers1
[if energy_b_evehicle1 < 1.56 [set demand1 demand1 + 1]]
end
Каждый конечный пользователь1 будет проверять только свою собственную батарею и увеличивать свою собственную потребность, если условие выполнено.
Надеюсь, это поможет, Чарльз