繁体   English   中英

基于AnyLogic Agent的模拟代理价值转移

[英]AnyLogic Agent-Based simulation agents value transfer

我对Java和AnyLogic还是很陌生,所以请对此进行介绍。

代理有没有办法从另一个代理获取变量值? 在这种情况下,代理将是同一类型。 因此,它们都具有相同的变量,但是由于它是具有随机初始值而不是参数的变量,所以值是不同的。

代理程序最初也通过Small-World连接进行连接,并且这些连接在运行期间不会更改。

例如,发生在事件中的代理如何从另一个代理中收集变量值(例如,代理i获得代理j的变量值X)。 为了修改代理i的变量X的值,可以将该值放在一个小方程式中。 换句话说,代理i会受到其连接的代理j的影响,因此会更改其X的值。

我尝试了.getConnectedAgent().get多种组合,但.getConnectedAgent()成功。 我现在正尝试将每个代理的X值提取到数据库中,然后使用该数据库按代理i收集代理j的X值,但是我在此没有任何进展。

需要提取的值是double ,但是如果更容易,我可以将变量更改为整数。

无需将其提取到数据库中。 您应该对面向对象的编程进行更多的学习,您的问题与AnyLogic无关,而与正确使用Java有关。

如果您有一个称为“ MyAgents”的代理,其中每个代理都有一个具有随机双精度值的变量var,则代理12可以通过调用var = get_Main().MyAgents.get(13).var获得代理14的双var = get_Main().MyAgents.get(13).varvar = get_Main().MyAgents.get(13).var

在这里, var的左侧是主叫代理的变种。 get_Main()在层次结构中将其上移至一个级别,以访问其自身的总体和其他代理。 然后,它访问第14个代理(Java从零开始)及其var值。

如果计划使用getConnectedAgent() ,则需要首先连接代理。 如果您使用“小世界”,则可以在某种程度上完成此操作,但是通常您希望手动定义连接。 检查帮助中的“链接到代理”文章。

干杯

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM