如何让代理识别与其链接的另一个代理并访问其属性

问题描述 投票:0回答:1

我正在研究一种私人交通模式,车主租用车辆,司机(运营商)晚上带回租金并收取佣金。

我无法让操作员识别与其关联的车主

在尝试设置费用时,运营商可以向乘客收取费用(具体取决于租赁费),它会返回错误并报告列表,而不是与他们链接的车主(代码检查正确,但返回错误运行模型)。

找到-Veh-Owner ;;由运营商调用 让潜在的 Veh-Owners (Veh-Owners in-radius 5) 与 [NOT any?链接邻居];;找到尚未链接且在 5 个单位半径内的 Veh-Owners 还有吗?潜在车辆所有者 [ 让目标-Veh-Owner max-one-of 潜在-Veh-Owners [佣金] 创建与目标 Veh-Owner 的链接 设置 target-Veh-Owner 的汇款 [目标费用] ;;汇款是运营商产生并在一天结束时返还的款项。目标费用是车主对其车辆要求的租金。 将目标车辆所有者的运营商成本设置为其中之一(范围 0.3 0.4 0.05)* [目标费用] 设置颜色红色 设置标签“工作”] [设置标签“失业”设置颜色绿色]

固定票价 ;;由操作员调用 让estimated-pax-per-day为其中之一(范围90 180 15) 让 target-Veh-Owner 链接到邻居 设定票价(目标车辆所有者的[目标费用] + 运营商成本)/每天估计的乘客量 ;;带来一个 ;; 错误,它期望一个数字,但得到一个列表! 结束

netlogo
1个回答
0
投票

正如评论中所指出的,鉴于您的问题中未格式化的代码,很难诊断问题,但我认为问题在于

let target-Veh-Owner out-link-neighbors

out-link-neighbors
返回一个代理集,即使只有一个出站链接。因此,
[target-fee] of target-Veh-Owner
返回目标费用列表,即使代理集只有一个成员并且结果列表只有一个元素。

如果只有一个出站链接,那么一个简单的解决方案是

let target-Veh-Owner one-of out-link-neighbors

Target-Veh-Owner
将成为单个代理,并且
of
将返回单个值而不是列表。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.