数值结果数据库


17

在数值方法文献中,许多研究论文包括对新算法变异的描述,然后是将新方法与一种或两种现有方法进行比较的一些测试问题。这使得很难确定

  • 新方法将如何处理其他感兴趣的问题
  • 新方法与其他现有方法的比较

当然,这两个问题对于决定是否采用新方法的人通常都是至关重要的。为了改善这种情况,似乎希望尽可能使人们用他们的方法运行大量测试问题(请参阅此问题),并将结果分类在数据库中,以便与其他方法进行比较。然后,科学家或工程师可以查询数据库,也许表明哪些解决方案/问题特征对其最重要(准确性,效率,定性性质等),并可以对数据库中所有方法的性能进行定量比较。

我意识到实现此想法有很多困难(主要是:让人们实际解决所有这些问题,并衡量计算成本)。但是我的问题是:是否存在这样的结果数据库?(例如在某些特定的子字段中)还是在任何地方都采用了这种方法?

到目前为止发布的两个答案都与问题数据库有关。我在问结果数据库。

Answers:


9

在您指定的标准中,我认为我所知道的最接近的项目将是佛罗里达大学的稀疏矩阵集合。人们通常使用此数据集来比较稀疏的线性代数求解器,并且您可以使用非常好的Web界面,MATLAB界面或Java GUI按应用程序,非零数,矩阵尺寸等进行过滤。我已经看到了论文中列出的这些问题的表格,以及与4到8个线性代数求解器的求解器运行时比较。

我同意编译这样的数据库将是有用的,而且,我认为用友联稀疏矩阵收集方法来编译数据是一个很好的方法,对于任何考虑实现这一想法的人来说都是一个很好的开始。实际上,只要可以访问所有求解器,运行所有问题似乎都不是什么大难题。如果您可以使用求解器,并且具有安装了所有必需软件的可靠的标准参考机,则应该运行脚本并收集数据。在我看来,困难在于,如果不是开源软件,人们将不得不向您提供他们的软件。如果它是商业性的,您可以购买它,甚至可能让人们捐赠该软件,COIN-OR项目。但是,如果它既不是商业软件也不是开放源代码的研究软件,那么您需要说服人们参与其中,他们可能不信任第三方来公平地评估他们的软件。

我还知道,在优化中,有可下载的问题数据库(想到了CUTEr )和用于优化的测试问题书。我见过很多人(例如,我特别想起Ruth Misener在AIChE 2011上的演讲),将他们的优化求解器与其他求解器在演示文稿中的问题数据库上进行比较;我不确定什么会公开发布。我知道优化中存在进行大规模比较的传统(很多求解器,很多问题)。我只是认为没有可用的在线数据库。

我认为重要的另一件事是,我们在这里区分方法软件实现。在科学计算中,我们都会根据计算复杂性指标或我们遇到的各种问题来讨论哪种方法更快或更慢。但是,当要定量测量计算时间时,除非有人计算一种特定算法中的FLOP数量,否则必须在软件中实施该算法,然后以某种方式(例如内存使用量,挂钟执行时间等)测量性能。 )。在查看计算复杂度或FLOP计数时,评估一种方法的性能是有意义的,因为我们不需要实现来测量这些事情,但是在我们对实际挂钟运行时间感兴趣的那一刻,谈论方法就是仅用作抽象的口语设备。(例如,

我提出了方法和软件之间的区别,因为在这样的数据库中,我还可以看到随着时间的推移跟踪软件改进的可能性。因此,例如,使用PETSc或PyCLAW之类的东西,或正在测试的任何软件,很有趣的是,看看哪些问题受到软件升级的正面(或负面!)影响。对于试图确定升级其代码的金钱和人力成本是否值得的研究人员而言,这可能很有用。这种区别很重要的另一个原因是,好的方法可能会被错误地实施。我认为这种可能性有助于人们在分享研究代码时保持沉默。

我认为这个想法有什么用(我希望从中得到一些东西,并且愿意在获得博士学位后做出贡献),强调软件和方法之间的区别非常重要,因为如果我们正在运行测试问题,那么我们将要发布软件的结果。


2
我非常喜欢您的评论,您提出了一个重要的观点。如您所知,您所提供的链接是问题数据库,而不是结果数据库。
David Ketcheson 2012年

这些是我能找到的最接近的东西。我尝试寻找结果数据库,因为我认为您提出了一个非常重要的想法,但我找不到任何想法。也许这是一个重要的新项目?
Geoff Oxberry 2012年

谢谢; 我同意,这些就像您所说的“最接近的现有近似值”很有用。我确实正在考虑将此项目(与其他一些项目将使其更具信誉)作为一个新项目。我很高兴您对此感兴趣!我们可以在其他地方讨论它,因为SE避免讨论。
大卫·凯奇森

4

已经尝试创建“难”积分列表以进行数值计算(请参阅Walter Gautschi,Robert Piessens等人的论文),但没有正式的数据库。

在ODE领域,有 IVP测试集,这是用于初值问题的测试集。


实际上,我是在问计算结果的数据库,而不是问题的数据库。
David Ketcheson

1
@DavidKetcheson它包含驱动程序代码,您可以自己自动计算结果。
杰德·布朗

大!尽管我希望看到一个存储结果的实际数据库(当然,此外还具有重新计算结果的能力),但这是我所看到的与我所想到的最接近的东西。
David Ketcheson,2012年

3

我对这样的数据库不熟悉,但是我认为以有用的方式定义它非常困难。在我看来,一个更好的系统是以可运行的形式发布代码,以便用户可以扩展以进行他们想要的全面测试。在社区存储库方面,GertVdE提到的IVP测试套件还包含驱动程序代码,以针对测试问题运行多个已发布的ODE / DAE求解器。在我的出版物中,我尝试发布代码和所有脚本,这些脚本和脚本用于创建分析输出数据并创建出现在纸张中的图表。


1
小问题:这不仅仅是评论,还是答案。不过,我赞赏批评的思想。我希望看到人们都能做到。为什么要让我安装和运行您的代码,以便可以根据我的结果来绘制结果?然后您可以声称我没有设置正确的选项?无论如何,我(意味着典型的研究人员)不会这样做,因为它工作太多。但是,如果我要做的只是读入数据文件,我可能会愿意。
David Ketcheson,2012年

1

关于基准问题的计算航空声学讲习班在考虑航空声学问题时有着类似的目标。他们首先提前提出了一组基准测试问题,然后让人们使用自己的方法解决它们并比较结果。例如,这是第四次会议的会议记录: http //www.archive.org/details/nasa_techdoc_20040182258

尽管据我所知,他们没有比较它们的代码彼此之间的效率如何,但他们主要关注准确性。


有趣!有解决方案数据库吗?或者他们如何精确比较结果?
David Ketcheson 2012年

“数据库”在我发布的报告中。在本文的最后,有一个标题为“解决方案比较”的部分。为此只有四次会议,上一次是2004年。我希望能有更多的努力像您建议的那样使这些类型的东西在线。
James Custer 2012年

1

在地震建模中,已经进行了多种此类努力。想到的是动态破裂模拟项目和源倒置项目(http://eqsource.webfactional.com/wiki/)。这些都提供了要解决的物理问题,并且在某种程度上与所使用的方法无关。确实,这些项目是要让特定领域的建模者相互比较,而不是针对每种数值pdes方法实际上都是一组通用的测试问题。但是您可以将其与其他结果进行比较,这表明许多代码存在很多问题。

马达加斯加计划是值得研究的一种计划,该计划已经在地震成像领域内开发,但声称是相当通用的。


马达加斯加就是一个很好的例子。谢谢!
Jack Poulson
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.