agent-based-modeling - Repast Java:如何在没有 GUI 的情况下直接在 Eclipse 中运行模型以及如何在没有 Eclipse 的情况下以无头模式运行它
问题描述
我想知道如何
1) 如何在没有 GUI 的情况下直接在 Eclipse 中运行模型 - 只需像在 Eclipse 中运行其他 java 代码一样运行模型并打印出我感兴趣的内容。
2)如何在没有 Eclipse 的情况下以无头模式运行它 - 我计划将我的模型部署在远程服务器中,服务器或我自己的 PC 可以在一天中的特定时间自动运行模型。
3) 每次更改代码时,我都必须启动一个新的 GUI 以反映代码更改。打开 GUI 至少需要 5 秒钟。这是一种非常低效的模型开发和调试方式。有什么更好的可用策略?
解决方案
对于无头或批量运行模型,请查看Repast Batch 入门指南。这可以让您在没有 GUI 的情况下运行多个运行,如 (1) 中所示,或者如果您查看第 9.2 节,它将允许您在不调用 Eclipse 的情况下从命令行运行,如您的情况 (2)。如果您想要更多控制,我建议查看 InstanceRunner 类并利用由 Batch GUI 或 batch_runner.jar 生成的 complete_model.jar 有效负载。
- 取消归档 complete_model.jar
- 然后从命令行使用 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 以获取示例),如果您只运行一个实例,这将只是一行。
推荐阅读
- javascript - 我可以检查一个函数绑定到什么吗?
- oracle - 合并 MERGE 和 INSERT ALL 语句
- api - 角度 6 中的 HTTP GET 401 授权要求错误
- javascript - 无法在 vue/webpack 中的绝对路径文件位置解析“products.json”
- linux - 如何等待变量的值设置为真,直到某个时间间隔
- sql-server - 如何从特定日期获取 3 个月之前的日期,比如 SQL 中的当前日期?
- mysql - 如何更新 AWS RDS MySQL 实例中的 --thread_stack 值?
- odoo - 来自 SQL 表的 Odoo 采购成本
- jenkins - 指向 Git 存储库作为 Jenkins Job DSL 作业的来源?
- mysql - Tstamp 间隔总是从午夜开始