Agent based modeling Repast Java:如何在没有GUI的情况下直接在Eclipse中运行模型,以及如何在甚至没有Eclipse的情况下在headless模式下运行模型

Agent based modeling Repast Java:如何在没有GUI的情况下直接在Eclipse中运行模型,以及如何在甚至没有Eclipse的情况下在headless模式下运行模型,agent-based-modeling,repast-simphony,Agent Based Modeling,Repast Simphony,我想知道怎么做 1) 如何在Eclipse中直接运行模型而不使用GUI—只需像在Eclipse中运行其他java代码一样运行模型,然后打印出我感兴趣的内容 2) 如何在没有Eclipse的情况下以headless模式运行它——我计划在远程服务器中部署我的模型,服务器或我自己的PC可以在一天中的特定时间自动运行该模型 3) 每次更改代码时,我都必须启动一个新的GUI以反映代码更改。打开GUI至少需要5秒钟。这是一种非常低效的模型开发和调试方法。可用的更好策略是什么 对于无头或批量运行的模型,请查看

我想知道怎么做

1) 如何在Eclipse中直接运行模型而不使用GUI—只需像在Eclipse中运行其他java代码一样运行模型,然后打印出我感兴趣的内容

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


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

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

  • 取消归档完整的_model.jar
  • 然后在命令行中使用InstanceRunner类,就像在complete_model目录中一样

  • 其中localParamFile.txt是一个展开的参数文件,指定要运行的参数组合(有关示例,请参阅有效负载中的unrolled paramfile.txt)如果您只运行一个实例,那么这只是一行。

    1)批处理运行仍然需要一些时间来弹出一个窗口供用户单击,这与GUI没有区别。在eclipse中单击run按钮可以立即运行模型吗?2) 问题3的答案是什么?重复关闭并启动GUI以进行测试和调试实在太费时了。如果使用批处理GUI,那么您可能看不到从那里运行单个运行的好处,因为GUI至少需要一些时间才能弹出。但是,我建议查看第9.2节中的headless选项,它不会显示批处理GUI。作为问题3的一个选项,您可以考虑如何创建小单元测试来测试代码中的逻辑。这应该是快速的,没有GUI或其他中间步骤。
        java -Xmx512m -cp "../lib/*" repast.simphony.batch.InstanceRunner \
            -pxml ../scenario.rs/batch_params.xml \
            -scenario ../scenario.rs \
            -id $instance \
            -pinput localParamFile.txt