如何分析/优化模拟工具?

问题描述:

在过去和现在间歇地,我已经使用了模拟工具,如Easy Java SimulationsNetLogo如何分析/优化模拟工具?

它们是可视化建模各种数学/复合概念的理想工具,因为“你所要做的”就是编写模拟循环 - 图形等将为你处理。

但是,我注意到的一件事是,使用这样的工具提高执行时间/建模速度非常困难,因为实现的内部隐藏在表面之下。

关于如何使用模拟器工具,一般来说都有很好的文档,但是在改善执行时间方面我还没有找到任何东西。

例如,假设你正在实施牛顿方法寻根。这是一个直接的算法,但是根据

  • 运用图片附件,或
  • 各种其他各种选项的选择

模拟会以不同的速度运行的类型。

有没有办法确定模拟数据的“最佳”显示?

我在使用这样的工具来教授关于建模/科学编程的课程时,正考虑这个问题。

如果一切都失败了,你可以用这两种方式的组合:

  • 揣测环境:问问自己,你将如何实现其功能,然后推断其功能很可能将需要最少的计算工作。
  • 试错法:只是通过测试它们来比较不同的方法。如果环境有一定的代码定时功能,例如(准确地)告诉你现在是什么时间的函数,那么这会有很大的帮助。

不要忘记效果,如内存缓存和优化。如果您尝试在特定环境中使用特定功能,它可能会与您以前的体验有所不同。

+0

的NetLogo有包括一个分析器扩展 – Matt 2010-11-11 05:23:17

您可以尝试使用Repast Symphony代理仿真工具包。 这是一个成熟的,免费的,开源的编程环境,有很多有用的功能。 您可以将包含profiler plugin的Repast与Eclipse集成在一起。

用的NetLogo,你可以使用Profiler扩展

 

    extensions [profiler] 

profiler documentation on the netlogo home page