问题标签 [repast-simphony]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
33 浏览

java - 如何修复就餐 simphony 错误:saf.v3d.scene.VComposite.addChild(VComposite.java:46)

我的晚餐 simphony 模型中有一个新错误。当我的代理分娩并且我在上下文中将其子项上下文化时,下一步会给我一个类似 java.lang.NullPointerException 的错误(参见源代码)。你能帮我修一下吗?

java.lang.NullPointerException

0 投票
1 回答
380 浏览

netlogo - 基于代理的模拟:为什么 Netlogo 的运行速度比基于 Java 的 Repast 快得多

每个人都说 Jave 是一种用于大型系统和工程项目的语言,它的运行速度比大多数其他语言快得多。我只是将它与另一种基于代理的建模语言 Netlogo 进行了比较,我发现 Netlog 在经典的狼-羊模拟模型中运行速度比基于 Jave 的 Repast 快四倍。两个模型都使用相同的参数进行仿真,并实时运行 5 秒。Netlogo 可以模拟超过 8000 个时间步,而 Jave Repast 只能执行大约 2600 个时间步。为什么?

在此处输入图像描述

0 投票
1 回答
133 浏览

gis - 在 Repast Simphony 中读取并显示 1 个或多个光栅文件

我是使用 Repast 的 GIS 方面的新手。代理必须从多个 shapefile 和 2 个光栅文件(基于纬度、经度)中获取像素值,以便在每个滴答声中决定它们的运动路线。到目前为止,我首先创建了一个地理,然后将栅格覆盖添加到地理。

我的问题如下:

  1. 我的代理将在这个地理区域中移动,所以我需要创建可写的网格覆盖(用于栅格和 shapefile),然后将其添加到地理区域中吗?

  2. 是否可以向地理添加 2 个栅格文件和 3-4 个 shapefile?

  3. 如何从光栅文件中读取数据?例如,来自植被栅格文件的 NDVI 指数。(我在看栅格图层类。)

  4. 上述所有文件均按年份创建。所以,我需要根据适当的刻度重新创建这些图层。这种方法正确吗?但是,我的主要问题是,如何在过去的 simphony 中显示栅格数据?一些资源会很有用。

我使用了 org.geotools 包来读取 geotif 格式的光栅文件。

现在,没有错误消息,所以我假设代码运行正确(显示打印 stmts)并读取光栅文件。但是,显示栅格数据会很棒。

0 投票
1 回答
77 浏览

netlogo - Repast:有没有像Netlogo这样的链接类型的代理?

我经常使用 Netlogo,我发现它并没有限制我想要构建的任何东西。但是,我有兴趣为更大的工程项目学习基于 Java 的 ABS。关键问题之一是是否存在一种代理类型作为链接(有向和无向)并支持相关的原始命令(方法)以便于使用?(见https://ccl.northwestern.edu/netlogo/docs/dictionary.html#linkgroup

0 投票
1 回答
56 浏览

repast-simphony - Repast:无法通过安装构建器使用独立 JAR 运行模拟模型

我使用安装生成器生成 Jzombie 模型 JAR 并将其安装在我的电脑上。但我无法初始化模型并运行它。它报告了一些错误,但我不知道实际上哪里出错了。我可以在 Eclipse 中毫无问题地运行模型。

在此处输入图像描述

0 投票
1 回答
306 浏览

agent-based-modeling - Repast:如何根据特定条件获取特定代理集?

我以前在使用 Netlogo,有一些非常好的内置方法可以让我从总人口中过滤和控制所需的代理。(见:http ://ccl.northwestern.edu/netlogo/docs/dictionary.html#agentsetgroup )。例如,我可以很容易地使用简单的代码在模拟中命令不同类别的人员代理,例如:

在 Repast 中,是否有专门为轻松控制代理集而构建的方法列表?

0 投票
1 回答
75 浏览

java - 处理在覆盖范围之外生成的坐标

有没有办法检查点/坐标是否处理异常和下面描述的问题。

我尝试从网格覆盖范围(从光栅文件)创建一个信封,但这似乎不起作用。

尽管检查了代码中显示的点位置,但我得到以下异常:

0 投票
1 回答
164 浏览

agent-based-modeling - Repast:如何计算满足特定条件的代理总数

每个代理都有一个私有布尔变量“Happy?”。如何计算具有[快乐?=真]?

有没有直接吃的方法?或者我已经遍历所有代理并单独计算它们?

更新:

我试过全局调度方法:https ://repast.github.io/docs/RepastReference/RepastReference.html#schedule-global

当我使用 ContextBuilder 中的 @ScheduledMethods 放置以下代码时,它不起作用。

如果我将上述代码放在男孩代理或女孩代理操作中,它就会起作用。

0 投票
1 回答
161 浏览

repast-simphony - Repast Java:创建自定义边缘代理以安排特定操作

我有一个模型,在不同种类的其他代理(对象)之间有很多边(链接)。我想将这些边缘建模为代理,我可以在其中添加属性和调度操作。看一个如何完成这项工作的简单示例很有帮助?

更新:我按照您的说明运行模型时出现错误:

我认为它在 Zombie 中受到这种方法的影响:(但我不知道哪里错了,因为错误消息没有提供具体说明)

0 投票
2 回答
360 浏览

agent-based-modeling - Repast Java:以结构化方式调度代理和全局行为

我以前与 Netlogo 合作多年,我非常习惯于基于一组程序开发基于代理的模型。供应链仿真模型结构示例如下:

上述结构对于开发仿真模型非常有用和直观。我们首先将模拟世界切割成几个关键部分(程序),在其中我们进一步开发与相关代理和行为相关的特定方法。最重要的部分是建立一个更高级别的程序(如一个包),这可能有助于将不同类型的代理及其行为/交互完全集成(打包)在一个地方,并基于这些以所需的顺序执行模型程序。

是否有任何提示/示例可以在 Repast 中实施这种模块化建模策略?

更新:下面是我写的一个简单的模型,它是关于男孩和女孩如何在聚会中互动的(完整的参考可以在https://ccl.northwestern.edu/netlogo/models/Party找到)。下面是男孩班的代码(女孩是一样的,所以不再粘贴)。

上述代码的运行可以遵循标准的 Repast Annotated 调度方法。然而,由于我想对不同的代理及其方法进行一些集成以允许创建更大的过程(方法),我设法创建了一个全局调度程序代理类来管理这个建模策略。下面是代码:

上面使用全局调度程序代理运行模型的代码工作正常,结果应该是一样的。但是,我不确定模型的执行是否真的遵循顺序(即 update_happiness() -> relocate() -> summary() -> end_run()。我也想知道是否有更好更简单的方法实现这样的建模策略?