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

java - 我的循环有什么问题?

我有一个包含 6 个框的列表(boxlist),每个框的计数为 1 个对象(num_objects)。每个框都存在于地理环境中(位于特定的纬度和经度坐标处):

我的循环正确地计算出有 6 个盒子,盒子中有 1 个对象,应该创建 6 个对象,但它会创建 12 个对象。我怎样才能解决这个问题?

注意:在实际模拟中,盒子可能有多个对象。

0 投票
1 回答
126 浏览

java - 在 java if 语句中混合关系和布尔条件

java中的组合boolean和非布尔if语句如何工作?是否需要编写条件语句的特定方式?

例如,下面的代码每次都会给我不同的结果。

甲虫随机初始化为雄性或雌性,年龄为 0。

我无法想象java不允许混合......

编辑:

语境...

我有系统输出代码,可以看到我确实得到了雄性和雌性甲虫。我也有 sysout 代码来查看它们是否正常老化。

有时,方法会被跳过,就好像条件不满足一样。有时它们都可以正常工作。

抱歉,输出是代码格式,但它最简单。我想要的是,如果甲虫是 7 岁的雌性,它们会找到配偶。如果甲虫年龄为 13 岁且为雄性,它们将死亡。如果甲虫年龄为 25 岁且为雌性,它们将死亡。有时会发生这种情况:

0 投票
1 回答
84 浏览

java - Java 中的“首选项”

我不知道确切的措辞,但我想知道在从列表中选择时是否可以有“偏好”。

For example, if I have a list of comparable tree objects with different variables (size, type, height), is it possible to "prefer" say bigger tree/ one type of tree over the other etc. In other words when choosing one object从列表中,倾向于选择最大的树或选择一种类型的树而不是另一种,但并非总是如此(存在随机元素)。

0 投票
2 回答
214 浏览

java - Repast Simphony Project 自动生成错误

我刚刚在我的 Eclipse 中安装了 Groovy 和 Repast Simphony 并创建了一个 Repast Simphony 项目。在自动生成的文件中是一个错误。在 ModelInitializer 类中,导入:

抛出错误:Groovy:unable to resolve class repast.simphony.essentials.RepastEssentials

(我检查了文件系统并且文件存在于给定位置)

当我删除 static 关键字时,错误消失了,但是第二个错误“Groovy:class ProbeID is not an annotation in @ProbeID”(这是 toString()-method 的注释)仍然存在。

我在我的 Windows 7 机器上运行 Eclipse,版本:Luna Service Release 2 (4.4.2) Build id:20150219-0600 Java:1.8.0_31

我已经安装在 eclipse 中(用于 Repast):

  • Groovy 编译器 2.3 功能 (2.9.1.xx)
  • Eclipse 4.4 (2.9.1.xx) 上 Groovy-Eclipse 插件的 JDT Core 补丁
  • 就餐 Simphony 2.3.1

任何想法可能导致问题以及如何解决它?

提前致谢, 弗兰克

0 投票
2 回答
163 浏览

java - 使用 java 进行就餐 simphony 中的代理决策会占用大量内存

我正在构建一个包含许多自治代理的模型。他们决定在他们的直接环境或“邻居”中选择哪个对象。他们这样做是为了检索对象,将它们添加到列表中,根据偏好对列表进行排序,并在每次迭代中选择最佳选择。决定决定了他们的行动。

不幸的是,一旦代理人数过多,该计划就会大大减慢。

我使用比较方法(如下)来比较对象,该方法相对较短,但占用大量内存。我想知道你们是否知道其他任何计算效率更高的方法?

0 投票
2 回答
303 浏览

java - 将码头与 Repast simphony 一起使用时出错

我想将 java websocket 与 Repast simphony 一起使用,但它不起作用,我收到以下错误:

有人可以解释我如何解决这个错误吗?谢谢

我测试了从互联网上获取的代码,如果我不使用 repast simphony 运行它,它就可以工作

我的服务器

0 投票
2 回答
355 浏览

repast-simphony - 就餐交响乐@ScheduleMethod 问题

由于某种原因,当我使用@ScheduledMethod 时,我的方法没有被调用。不知道有什么问题,因为我以前使用过它,一切都很好。

这是代码:

在此先感谢,迪娜。

0 投票
1 回答
194 浏览

java - 使用 Repast Simphony 的意外结果

我需要使用Repast Simphony作为模拟器来开发迭代囚徒困境的Java版本。

想法是每个人Player都是一个代理,我们有一个不能移动的n x n网格。Player每个Player人都必须与 4 个邻居(北部、南部、西部和东部的一个)一起玩,根据每轮 4 场不同游戏的结果找到最佳策略。

由于没有内置系统来在Repast Simphony中的代理之间交换消息,我不得不实施某种解决方法来处理代理的同步(A vs B 和 B vs A 应该算作同一轮,这就是他们需要的原因要同步)。

这是通过将每一轮视为:

  • Player 为 4 个敌人中的每一个选择下一步行动
  • Player 向 4 个敌人中的每一个发送正确的移动
  • Player 等待4个敌人中的每一个回复

根据我对Repast Simphony的理解,计划的方法是顺序的(没有代理级别的并行性),这意味着我被迫以与发送方法不同的方法进行等待(以较低的优先级计划以确保完成所有发送在开始等待之前)。

这里的问题是,尽管接收到所有 4 条预期消息(至少这是打印的),一旦等待方法启动,它报告的接收到的元素少于 4 个。

这是从Player课堂上获取的代码:

这是控制台输出,因此您可以看到所有内容似乎都可以毫无问题地发送和接收(使用3 x 3网格):

正如您在最后一行中看到的那样,playSharedQueue.size()1真的不明白为什么。

如果方法调用是连续的 waitResults() methos is invoked after the 9play()` 执行,并且每个正确发送 4 条消息,我找不到该大小仍然为 1 的原因。

当然,所有内容都是连续的意味着没有synchronization问题,即使我使用LinkedBlockingQueue而不是HashSet.

你们对此有什么提示吗?

0 投票
1 回答
252 浏览

java - 在 Repast Simphony 2.3.1 中显示 GridValueLayer 样式?

Repast Simphony 2.0-beta 在指定值层样式方面存在一个已知问题

显示它们的选项未显示在 GUI 界面中。在 GUI 中,右键单击显示器并选择“编辑”,应该会在左侧打开一个窗口几个选项卡:

  • 一般的
  • 代理选择
  • 代理风格
  • 网格样式
  • 价值层细节
  • 时间表详情

由于该错误,“值层详细信息”选项卡不显示,因此无法设置 ValueLayer 样式并查看层的状态。

版本 2.3.1 中是否默认修复了该错误?我有个类似的问题。该选项卡不显示

我的问题是这是同样的问题还是其他问题,我该如何解决?

原始问题的解决方案

通过将三个 .class 文件(附在 Repast 邮件列表上的电子邮件中的 Nick Collier)下载到文件夹中,解决了这个问题:

Repast-Simphony-2.0.0-beta/eclipse/plugins/repast.simphony.visualization_2.0.0/bin/repast/simpony/visualization/gui

一个有效的例子

托管在 Google Code 上的 Repast StupidModel 有一个显示该选项的示例。该模型是使用早期版本的 Repast 构建的。我试图复制他们对 ValueLayer 和样式表的实现。

0 投票
1 回答
191 浏览

java - GridCell 类型不是通用的;它不能用参数参数化. 创建列表时

我是 java 新手,吃过饭。我正在尝试创建网格单元(网格单元)类型为网格单元(值层单元)的列表,但我不断收到错误“GridCell 类型不是通用的;它不能用参数参数化”

我该如何解决?