问题标签 [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 投票
2 回答
72 浏览

java - Java 2D 数组,随机值被分配而不是应该的值

编辑3:这个问题已经回答。我多次计算错误并犯了一个大错误,因此没有意识到代码库本身很好

关于stackoverflow的第一个问题。

所以我正在运行模拟,在我的代码中我需要对资源的折旧进行建模,这很简单,减少了 25%。简单的。但是由于某种原因,每次当我尝试将值更改为 2D 数组中保存的原始值的 75% 时,它都会将其更改为 100,而不是任何数字。当我打印出我设置为等于的值时,它给了我正确的数字,但是当我实际设置它时,它只是变为 100。任何提示或帮助将不胜感激。

顺便说一句,这些数组是 int 类型的全局和受保护的二维数组。

代码片段:所以在这个代码片段中,当实际赋值被注释掉时,System.out.println 打印出正确的值,但当实际赋值时它变为 100。

我已经尝试了一些选项,但仍在尝试修复它,但我很想知道是否有其他人之前遇到过类似的问题?

编辑:我已经更新了数组的声明和数组被更改的唯一其他函数。在资源提取函数之后数组值很好,但是在消耗函数期间,当我尝试分配一个新的值 75% 时,一切都会出错目前持有的任何东西。

因此,例如,数组中的数字是 4000,那么在消耗之后应该是 3000,但是那一行只打印出 72 而不是 3000,因为 72 是截断后 97 的 3/4。但是,当赋值被注释掉并运行时,所有数字都会正确地递增到任何数字,例如 4869。

编辑2:

我已经发布了我的全部代码。模拟一遍又一遍地运行。因此,提取和消耗一遍又一遍。我已经完成了数学计算,我发布的错误仍然存​​在,并且只会根据代理和资源的数量而变化。

前任。代理 = 24 和资源 = 24,然后经过几次迭代后,由于某种原因,它的上限为 24,当代理 = 8 和资源 = 8 时,它的上限为 72。我做了数学运算,因为公式的工作原理,他们不应该在每次迭代中获得相同的数量,直到达到像 10000 这样的非常高的数字。

抱歉所有的冗长,我感谢到目前为止我得到的所有帮助!

0 投票
1 回答
223 浏览

simulation - 就餐 Simphony 模型库

是否有 Repast Simphony 的模型库?我正在寻找类似于OpenABM的计算模型库的东西。不幸的是,这个库中只有 NetLogo 的模型,而没有 Repast 的模型。(特别是,我正在寻找一篇使用基于代理的模拟来研究创新扩散过程的科学论文以及我可以下载的 Repast 中的相应模型。后面的想法是在讲座中展示 Repast 的力量。)

非常感谢!

0 投票
1 回答
3375 浏览

java - ClassNotFoundException:org.apache.log4j.Priority

我正在尝试使用 Repast Simphony 设置 Web 项目。
该应用程序有一个开始按钮,按下按钮后,Repast Simphony 模拟应该开始使用自定义运行器(http://repast.sourceforge.net/docs/RepastSimphonyFAQ.pdf 2.8)。当从另一个应用程序运行时,运行器本身可以工作,但是一旦我尝试将它链接到应用程序抛出的按钮:

log4j-core 已添加到类路径中,并且还包含在我的 pom.xml 中的依赖项中

我也试过重新安装我的 JDK 和 IDE 没有效果。
最好的问候,
科尼施泰因

0 投票
1 回答
99 浏览

groovy - Compilation fails for Repast ReLogo code in groovy

I coded a Repast program in ReLogo. Basically, I copy pasted the code by following instructions up to Page 19 of this document.

I am on Ubuntu 18.04 and I installed Repast Symphony as instructed. My java version is basically oracle JDK-8:-

I then try to run the code as instructed on Page 20 but project fails to compile and gives this error:-

My groovy compiler settings are thus: enter image description here

0 投票
1 回答
184 浏览

agent-based-modeling - 如何在 Repast Simphony 中生成不同的 2D 显示(gui 或样式代码?)?

我在过去的 simphony 中建立了一个 3D 模型,它工作(相当)好。然而,由于模型的性质,代理往往会形成密集的团块。我想知道是否有一种方法可以通过生成连续更新的 2D 显示或最终状态视图来生成通过团块中间的 2D 切片或横截面,以查看代理在团块内所做的事情。

我已经探索了 gui 中的显示选项并尝试了代理的不同分层,但由于密度的原因,这些都不起作用。是否有一种方法可以稍微改变 gui 的这一方面,以在 50x50x50 的网格中给出 x=25 处的 yz 平面的 2D 视图(例如)。

预先感谢您的帮助!

0 投票
2 回答
79 浏览

repast-simphony - 在 Repast Simphony 中制作圆柱形空间?

我正在尝试对上皮空间的内部进行建模,并且被困在围绕圆柱形空间的内部边缘的运动中。基本上,我正在尝试实现 StickyBorders 并将代理保持在我正在创建的圆柱形空间中的这些边界上。

有没有办法在 Repast Simphony 中使用柱坐标?我发现了这个例子(https://www.researchgate.net/publication/259695792_An_Agent-Based_Model_of_Vascular_Disease_Remodeling_in_Pulmonary_Arterial_Hypertension)他们似乎做了类似的事情,但这篇论文没有深入解释方法,我不相信这是过去的交响乐模型中的一个例子。

目前,我有一类上皮细胞,它们被设置成一个圆柱体,而其他药剂则从该圆柱体内开始。为了移动,他们选择最想要的位置(类似于僵尸代码),然后在原始位置的一个方格内指向所需位置的方向上的新位置。他们在移动到新点之前检查它,并确保在紧邻的摩尔附近至少有两个其他上皮细胞,以确保它们靠在墙上。

我想知道是否有一种方法可以将空间的边界设置为圆柱体,或者检查代理的哪一侧靠墙并限制其在该方向上的移动。

0 投票
1 回答
140 浏览

scheduler - Repast Simphony 调度方法优先级

我有一个包含大约 10 种预定方法的模型。现在我对控制他们的执行有点困惑。我希望这些预定的方法以一定的顺序执行。

我怎样才能拥有 ScheduleParameters.FIRST_PRIORITY、ScheduleParameters.Second_PRIORITY、ScheduleParameters.THIRD_PRIORITY、...和 ​​ScheduleParameters.LAST_PRIORITY。

0 投票
1 回答
767 浏览

java - 有没有一种简单的方法可以从超类对象列表中创建子类对象列表?

我有一组代理对象(超类)。

代理对象可以是:1)受感染(扩展代理)和 2)健康(扩展代理)。例子...

每个代理 x 对象都保存一个列表,其中列出了与代理 x 接触的所有代理 y 对象,无论子类如何。列表的类型是 Agent,这个列表是一个名为“links”的实例变量。例子...

有没有一种简单的方法可以遍历代理 y 对象列表并将所有健康的代理分类到一个名为“healthy_links”的新列表中,类型为健康?

0 投票
1 回答
100 浏览

repast-simphony - 以编程方式运行 repast simphony 模型时无法读取输入文件

第一次在堆栈溢出时摆姿势,所以请原谅任何缺少的约定。让我知道,我会纠正他们。

我无法以编程方式运行我的模型。我相信这是由于 imageio 无法读取 jar 或外部项目中的图像文件,我找不到修复它的方法。

当我正常运行模型时,一切都很好,但是当我从另一个项目以编程方式运行它时,我得到:

首先是警告:

然后 GUI 启动,当我按下“开始运行”或“初始化运行”时,我得到:

其次是我认为与这里无关的许多其他人,因为我阅读了一份就餐 sourceforge 邮件列表,他们在其中说此错误/警告 GUI 错误日志是要阅读的内容。GUI 中的记录器显示:

此错误的违规代码(在模型中)必须是:

我尝试过使用绝对路径:

这个方法:

我正在使用 FAQ 示例的重命名版本以编程方式运行模型:

该类位于 C:/Users/USERNAME/Documents/Git/REPO/Runner/src/execute 的另一个项目中

我已经从 repast.simpony.runtime_2.6.0/lib 添加了 jar,并将 repast.simpony.runtime_2.6.0/bin 文件夹添加到类路径中。

我的目标是从 Runner 项目中运行多个模型

感谢您的时间。

编辑:进行了Eric Tatara建议的更改并得到以下错误:

0 投票
1 回答
56 浏览

repast-simphony - repast.simpony.ui.GUIScheduleRunner 错误信息

我是 RePast 的新用户,正在学习运行 mesoFON 模型。我收到此错误消息。问题是什么?

我正在使用 Eclipse IDE 2018-09。