Java Repast-将模型打包并作为jar分发,无需GUI和源代码
以前我使用的是一个ABM模型,现在该模型将投入生产环境(将其嵌入在线平台系统) 为此,我有两个重要目标要实现:Java Repast-将模型打包并作为jar分发,无需GUI和源代码,java,agent-based-modeling,repast-simphony,Java,Agent Based Modeling,Repast Simphony,以前我使用的是一个ABM模型,现在该模型将投入生产环境(将其嵌入在线平台系统) 为此,我有两个重要目标要实现: 如何以强化的方式将模型和相关文件打包并分发给其他人,最好是作为一个jar文件,其他程序可以方便地自动调用该文件,以便在需要时运行模拟。最好在无头模式下运行模型。调用和运行模型时,应避免弹出repast GUI控制窗口。 顺便说一句:当前版本的模型不需要同时批量运行不同的场景,每次只需要一次运行 如何完全或至少部分隐藏/混淆模型的源代码,以保护与模型本身相关的知识产权 对于1来说,这
对于1来说,这并不理想,但实际上可以模拟单个批处理运行的功能。它不是一个单一的jar解决方案,但它肯定是实现单一无头运行的最简单方法。所以
repast.simphony.batch.InstanceRunner
为主类运行模型。在MacOS上,该脚本类似于:
cd instance
java -cp "../lib/*" repast.simphony.batch.InstanceRunner -pxml ../scenario.rs/batch_params.xml -scenario ../scenario.rs -id 1 -pinput param_line.txt
param_line.txt文件应该是一行,其中包含以下格式的模型参数:R\tP1\tV1,P2\tV2,…
其中R是运行编号(即1),“\t”是选项卡,P1是第一个参数的名称,V1是第一个参数的值,依此类推
有关InstanceRunner参数的详细信息,请参见此处:
您将提供给人们的是顶级目录的压缩副本,并且可以通过执行shell脚本来运行模型。正如我所说,这并不理想,但它是我能想到的唯一无头解决方案。嗨,尼克,成功应用了上述方法,解决问题2的最佳方法是什么?(使源代码对其他人不可见)我注意到完整的_model文件夹实际上并不包括src文件夹。这种方法是否已经自动省略了模型源代码?