Anylogic-----------集合Collection

Collection

       智能体可以包含变量。变量通常用于存储模型模拟的结果,对一些随着时间变化的数据或对象特征进行建模。

       Variable是任务标量类型或Java类得简单变量。

       集合表示一组对象,称其为元素。一些集合允许重复元素,而另一些则不允许。有些是有序的,有些是无序的。集合用于定义将多个元素分组为单个单元的数据对象。集合用于存储、检索和操作聚合数据。通常,他们表示形成一个自然组的数据项,例如队列(再本例中,元素表示在队列中等待的人员),或autopark(元素是卡车),或电话目录(集合执行名称到电话号码的映射)。

       与其他Anylogic变量一样,在整个模型模拟过程中,可以从代码访问集合,因此可以通过集合API简单地访问和修改它们的内容。

案例

•在基于智能体的模型中,集合可用于存储一组智能体或者变量——例如,给定智能体的邻居或同事。

 

•在离散事件模型中,您可以使用集合来控制在队列或服务对象中持有的智能体,方法是在对象进入动作时将智能体添加到集合中,在退出时将智能体从那里移除。

集合的使用方法:

       1.将集合元素从智能体选项板拖到智能体类型或实验的图形关系图上。

       2.设置集合属性。

       3.在“名称”编辑框中键入集合的名称。名称用于标识和访问代码中的变量。

       4. 指定集合的类。您可以从“集合类”组合框中选择最常用的一个类,也可以指定任何其他您希望的集合类。

       5.如果集合是列表或集合(集合类是ArrayList、LinkedList、LinkedHashSet或TreeSet),请在这里指定集合元素的类。您可以从Elements类组合框中选择一个最常用的类,或者指定任何其他Java类。选择Object可以让集合存储任何Java类的元素。

       6. 可以初始化集合,其中包含在其初始内容部分中指定的元素集。要添加元素,单击按钮从下拉列表中选择元素,或者首先单击该按钮,然后在图形编辑器中选择元素。只能选择与集合的elements类对应的元素。

如果在初始内容部分没有选择任何元素,则集合将初始化为空。您可以在以后使用集合API动态地修改集合的内容。

       7.如果集合是映射(集合类是TreeMap或LinkedHashMap),则在Key elements类字段中指定该映

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Agent-based模型是一种在计算机科学和社会科学领域中常用的建模方法。它模拟了由个体决策和交互所产生的整体行为和现象。 首先,建立Agent-based模型需要确定研究对象及其特征。个体可以是人、动物、物体等,并具有一些属性和行为规则。这些特征可以通过收集数据、文献回顾或专家意见来确定。 其次,需要确定决策和交互规则。个体的行为是根据其所处的环境和其他个体的状态而确定的。可以使用数学方程、规则或概率分布等方法来描述个体的决策和交互规则。 然后,建立模拟环境。根据研究对象和具体问题的需要,可以选择不同的建模软件来创建模拟环境。常用的软件包括NetLogo、AnyLogic和Repast等。 接下来,设置实验参数。为了进行模型的实验和分析,需要设置一些参数来控制模拟过程。这些参数可以包括个体的数量、时间步长、初始状态等。 然后,进行模拟运行。在模拟运行过程中,可以观察和记录个体的行为和相互作用,以及整体结果的变化。可以使用图表、动态图像或其他可视化方法来展示模拟结果。 最后,进行模型验证和灵敏度分析。验证模型是否能够真实地再现实际情况,并对模型进行灵敏度分析,检查模型对参数变化的响应情况。通过改变模型的参数或初始条件,可以观察到不同的结果。 总之,建立Agent-based模型需要明确研究对象和特征、确定决策和交互规则、建立模拟环境、设置实验参数、进行模拟运行,最后验证模型和进行灵敏度分析。这些步骤可以帮助研究者更好地理解和解释复杂的现象和行为。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值