【问题标题】:How to implement randomness in a population of agents in AnyLogic?如何在 AnyLogic 中的一组代理中实现随机性?
【发布时间】:2016-09-07 03:36:37
【问题描述】:

我正在尝试实现一个模型来模拟社区的发展。所以我有一个城市,有很多社区,每个社区都有很多房子。我遇到的问题是找到一种方法,以不同的时间和不同的速度开发房屋(社区)。我是 AnyLogic 的新手,任何帮助将不胜感激。谢谢。

【问题讨论】:

    标签: anylogic


    【解决方案1】:

    这是一个很笼统的问题,但您说的是动态创建代理实例。要获得不同的创建时间/创建速率,您通常会使用 AnyLogic Event 以及从某个概率分布中采样的重复时间。

    查看帮助部分

    基于代理的建模 > 从群体中添加和删除代理

    定义行为。事件和状态图 > 事件

    对于基于速率的创建(即从指数分布中采样的时间),请使用速率触发事件。对于其他一些分布(比如正常或统一或一些自定义分布),使用动态事件(并让第一个这样的事件设置动态事件的另一个实例)或具有第一次出现和重复时间的正常事件,这些表达式是来自分布的样本 (例如,normal(2,20))。

    有关概率分布的帮助,请参阅此帮助部分:

    AnyLogic 帮助 > 随机建模 > 概率分布

    例如,要在名为communities 的群体中动态创建一个社区,事件操作将为add_communities()。 (帮助说明了如何处理设置新创建的代理的任何参数:此处的示例使用代理参数中设置的默认值,但还有另一种形式,您可以提供参数值,如add_communities("MyCoolPlace", 10),假设Agent 有一个 String 参数,然后是一个 int(整数)参数。

    如果您的事件不在包含人口的同一代理中,则事件操作将需要访问该代理(适当的add_ 函数仅用于调用拥有人口的代理)。有关这方面的信息,请参阅此帮助部分:

    使用 Java 进行高级建模 > AnyLogic 的 Java 基础 > 我在哪里 我怎么去……?

    【讨论】:

      猜你喜欢
      • 2021-03-16
      • 2020-04-26
      • 2019-07-30
      • 2011-01-21
      • 1970-01-01
      • 2017-11-24
      • 2018-08-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多