在Netlogo中寻找更好的数据结构



我正在为代理(工厂(安排任务在接下来的X时间期间。对于每个任务,我都在记录一个量_to_produce和orderId。我每天使用一系列列表。在三个时期内,它看起来像这样。

TimePeriod 1

Amount_To_Produce, OrderID
5,100
6,101
2,102
TimePeriod 2
Amount_To_Produce, OrderID
10,103
5,101
20,104
TimePeriod 3
Amount_To_Produce, OrderID
5,100
5,105

这可以正常工作:我每天都在处理:

(foreach List1 ...命令(

,但是如果我想将其扩展到更多的日子,那是一个痛苦。

加上我需要将其与另外两个列表相关联,这些列表存储了购买商品和订购的代理商(请注意,一个订单可以在几天内溢出(。但这还可以 - 问题确实是每天需要清单的需求。

我会知道代理商正在计划的未来几天,因此不必动态创建它。我唯一的想法是:

Day, Amount_To_Produce, OrderID
1,5,100
1,6,101
1,2,102
2,10,103
2,5,101
2,20,104
3,5,100
3,5,105

这个问题是foreach将处理第1天的订单三次,而不是一次。

无论如何:Netlogo是否具有更好的数据结构来管理此类内容?

我真正想要的是,每个代理都有自己的数据库,一系列表可以使用SQL类型命令查询这些表(我们可以在NL7.0中获得此信息吗?(

与此同时,您将如何存储这些数据?

extensions [table]
globals [tbl1 tbl2 listOfTables]
to test
  set tbl1 table:make
  set tbl2 table:make
  set listOfTables (list tbl1 tbl2)
  table:put tbl1 1 [[5 100] [6 101] [2 102]]
  show listOfTAbles
end

最新更新