问题标签 [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 回答
83 浏览

repast-simphony - 如何在 Repast 2.7 中找到我的可视化问题?

我用 Repast 2.7 创建了疾病传播模拟器。当我尝试按开始运行时,我收到此错误:

我检查了所有代码 3 - 4 次,并在互联网上进行了大量研究,但我无法找出导致问题的原因。这是我的代码:

我所有的项目: https ://drive.google.com/drive/folders/1jFfUmBZEznCTASUJ0D6QoPv-p62yUbin

我的课在这里:

健康代理类:

死代理类:

住院代理类:

受感染的代理类:

恢复的代理类:

医院代理类:

生成器类:

0 投票
1 回答
41 浏览

repast-simphony - Repast:如何覆盖现有文件而不是在文本接收器中自动创建新文件

我想知道如何覆盖现有文件而不是在文本接收器中自动创建一个新文件。

例如,如果我运行模型两次,它会创建两个文件。第二个文件使用相同的定义文件名创建,但名称后面有一个新数字,例如modelouput.txt、modeloutput.0.txt、modeloutput.1.txt。

如何摆脱这种自动创建版本号,如果存在就覆盖现有的版本号。

0 投票
0 回答
131 浏览

python - 在 Python 模拟程序中动态修改 shapefile 显示

我希望能够在 Python 模拟程序中使用基于 GIS 的 shapefile,使其显示可以随着模拟的时间进行动态更改(就是这样,在每个模拟滴答声中,shapefile 显示的某些方面/视图可以更改)。模拟中 shapefile 显示的这些动态变化可以是,例如,shapefile 多边形颜色的改变,在这些多边形内的某处添加(写入)点、圆或饼图,或者改变它们的颜色,以及类似的事情.

对于那些熟悉基于 Java 的 Repast 3 的人来说,这个模拟工具包使用(集成)基于 Java 的 OpenMap(来自 BBN Technologies, http: //openmap-java.org/)来使上面解释的内容成为可能,如此处所述(请看这可能是什么样子的数字): http ://repast.sourceforge.net/repast_3/how-to/Gis_How_To.html

问题是:您是否知道 Python(或任何其他解决方案)中有一个类似的工具包/程序/模块,它与 OpenMap 的工作相同,以便执行上面第一段中解释的操作?

0 投票
0 回答
23 浏览

repast-simphony - Repast:批量运行导致 UTF-8 损坏的字符

我的模型有一个 DataWriter 类来输出一个 csv 文件,该文件在标题行中包含一些 UTF-8 字符。当我在 GUI 模式下运行模型时,它在输出 csv 文件中正确显示。但是,当我以批处理模式运行它时,输出文件中的标题 UTF-8 字符已损坏。

批处理模式下此问题的根本原因是什么?

0 投票
1 回答
229 浏览

java - 就餐中的 EXCEPTION_ACCESS_VIOLATION

我已经在我的 Windows 10 计算机上安装了 Repast,但如果我尝试运行其中一个演示代码,我会收到错误消息。

加载 EGL 入口点时出错。

Java 运行时环境检测到一个致命错误:

EXCEPTION_ACCESS_VIOLATION (0xc0000005) 在 pc=0x0000000000000000, pid=22096, tid=21896

JRE 版本:OpenJDK Runtime Environment (11.0.4+11) (build 11.0.4+11) Java VM: OpenJDK 64-Bit Server VM (11.0.4+11, mixed mode, tiered,compressed oops, g1 gc, windows- amd64)有问题的框架:C 0x0000000000000000

不会写入核心转储。默认情况下,在 Windows 的客户端版本上不启用小型转储

包含更多信息的错误报告文件保存为:C:\Surfdrive\Models_and_Scripts\Repast\Zombies_Demo\hs_err_pid22096.log

如果您想提交错误报告,请访问: https ://github.com/AdoptOpenJDK/openjdk-build/issues 崩溃发生在 Java 虚拟机之外的本地代码中。请参阅有问题的框架以了解报告错误的位置。

我试图以管理员身份运行 Repast 并将 javaw.exe 设置为以管理员身份运行,但这并不能解决问题。

这是错误日志文件中的 THREAD(完整文件太长): --------------- THREAD ---------------

非常感谢您提前回答。埃吉尔

0 投票
1 回答
89 浏览

java - 如何在 Repast Simphony 中删除随机化以进行测试?

我想从我的 Repast 模型中删除所有随机化,以便我可以自信地重构功能不变。但是,我无法通过RandomHelper.setSeed(1)在顶部使用设置种子来删除随机化myBuilder.build(),并确保1在初始化时在 GUI 中将我的“默认随机种子”参数种子设置为。

因此,我尝试从样本 JZombies 模型中删除随机化,并遇到了同样的问题。再次,我设置RandomHelper.setSeed(1)在顶部JZombiesBuilder.build(),并确保默认随机种子设置为1. 有时输出是相同的,有时不是。

在这两种情况下,我都使用文本接收器来记录聚合代理计数和聚合代理属性的恒定数量的滴答作为我的数据。我发现使用 Windows 的FC&的输出文件存在差异FCIV

我需要进行哪些更改以确保确定性行为?

编辑:

在 JZombies 演示模型中,我还通过将RandomHelper.setSeed(1);每个类的构造函数放在顶部来获得确定性行为。在我的实际模型中做同样的事情会使第一步始终相同。与第二次打勾仍然存在差异。我认为问题是随机调度,现在?

0 投票
1 回答
99 浏览

repast-simphony - Repast:如何直接从代码而不是 GUI 添加和设置新参数

我想创建一个包含字符串列表(集线器代码列表)的参数。此字符串列表是通过读取外部 csv 文件创建的(此列表可能包含不同的代码,具体取决于 CSV 文件中的集线器代码)

我想要的是找到一种简单的自动方法来执行列表中每个集线器代码的批处理运行。

所以这个问题是:

0 投票
1 回答
26 浏览

repast-simphony - Repast - 在批处理运行之间交换信息

Repast 中的批处理运行是独立运行,没有交互。但是,在我的模型中,我需要启用这种交互。例如 run-2 需要从 run-1 获取一些数据才能完全运行。

有没有办法在批处理运行之间交换信息?

0 投票
1 回答
70 浏览

repast-simphony - Repast - 永久消除/删除代理

我拥有的模型包含大量代理。但是,我希望部分删除/消除一些在运行时完成工作的代理,以释放计算内存,加速模型执行并避免 OOM。

context.remove() 真的会永久消除/杀死代理(对象)吗?此操作后是否释放内存?如果不是,正确的程序是什么?

0 投票
0 回答
24 浏览

repast-simphony - Repast:Query() 方法的运行速度比手动迭代慢得多

最近我发现了一个使用repast query() 方法的大问题。我发现它比使用简单的手动迭代方法来获取特定代理集要慢得多。以具有相同“hub_code”的所有集线器的包对象查询为例,我使用查询和手动迭代方法进行了测试:

执行速度有很大不同。我的模型中有 50000 个包和 350 个集线器对象。使用内置查询功能平均需要 1 分 40 秒来运行 1600 个滴答声,而使用手动迭代方法只需要 5 秒。造成这种巨大差异的原因是什么以及为什么查询工作如此缓慢?相反,它在逻辑上应该运行得更快。

与查询方法相关的另一个问题是“PropertyGreaterThanEquals”或“PropertyLessThanEquals”的运行速度比使用“PropertyEquals”方法慢得多。下面是另一个关于查询适合卡车卸货的码头的简单示例。

模型中只有 3 个码头和 17 个卡车对象。如果使用“PropertyEquals”,总共运行 1920 个滴答只需要不到一秒的时间;但是,如果选择查询方法“PropertyGreaterThanEquals”或“PropertyLessThanEquals”,我总共花了 1 分钟多的时间来运行 1920 个刻度。从这个意义上说,我必须再次遍历所有对象(码头)并手动执行大于查询?这似乎是另一个影响模型执行速度的问题?

我正在使用 java 版本“11.0.1”2018-10-16 LTS Java(TM) SE Runtime Environment 18.9(内部版本 11.0.1+13-LTS)我的 Eclipse 编译器级别为 10。安装的 JRE(默认)JDK 11。

感谢您提供有用的建议。