首页 > 解决方案 > Repast Java:如何在没有 GUI 的情况下直接在 Eclipse 中运行模型以及如何在没有 Eclipse 的情况下以无头模式运行它

问题描述

我想知道如何

1) 如何在没有 GUI 的情况下直接在 Eclipse 中运行模型 - 只需像在 Eclipse 中运行其他 java 代码一样运行模型并打印出我感兴趣的内容。

2)如何在没有 Eclipse 的情况下以无头模式运行它 - 我计划将我的模型部署在远程服务器中,服务器或我自己的 PC 可以在一天中的特定时间自动运行模型。

3) 每次更改代码时,我都必须启动一个新的 GUI 以反映代码更改。打开 GUI 至少需要 5 秒钟。这是一种非常低效的模型开发和调试方式。有什么更好的可用策略?

标签: agent-based-modelingrepast-simphony

解决方案


对于无头或批量运行模型,请查看Repast Batch 入门指南。这可以让您在没有 GUI 的情况下运行多个运行,如 (1) 中所示,或者如果您查看第 9.2 节,它将允许您在不调用 Eclipse 的情况下从命令行运行,如您的情况 (2)。如果您想要更多控制,我建议查看 InstanceRunner 类并利用由 Batch GUI 或 batch_runner.jar 生成的 complete_model.jar 有效负载。

  1. 取消归档 complete_model.jar
  2. 然后从命令行使用 InstanceRunner 类,就像在 complete_model 目录中一样
    java -Xmx512m -cp "../lib/*" repast.simphony.batch.InstanceRunner \
        -pxml ../scenario.rs/batch_params.xml \
        -scenario ../scenario.rs \
        -id $instance \
        -pinput localParamFile.txt

其中 localParamFile.txt 是一个展开的参数文件,指定要运行的参数组合(请参阅有效负载中的 unrolledParamFile.txt 以获取示例),如果您只运行一个实例,这将只是一行。


推荐阅读