Von den Kriterien, die Sie angegeben haben, denke ich, dass das nächste Projekt, von dem ich weiß, die spärliche Matrixsammlung der Universität von Florida ist . Leute verwenden diesen Datensatz routinemäßig, um spärliche lineare Algebra-Löser zu vergleichen, und Sie können nach Anwendung, Anzahl der Nonzeros, Matrixdimensionen usw. mit einer wirklich netten Webschnittstelle, MATLAB-Schnittstelle oder Java-GUI filtern. Ich habe Tabellen dieser Probleme gesehen, die in Abhandlungen zusammen mit Löser-Laufzeit-Vergleichen mit 4 bis 8 linearen Algebra-Lösern aufgelistet sind.
Ich bin damit einverstanden, dass es nützlich wäre, solche Datenbanken zu kompilieren, und außerdem halte ich den Ansatz der spärlichen UF-Matrixsammlung zum Kompilieren der Daten für einen hervorragenden Ansatz und wäre ein guter Anfang für alle, die über die Realisierung dieser Idee nachdenken. Das Ausführen aller Probleme scheint in der Praxis keine große Schwierigkeit zu sein, solange Sie auf alle Löser zugreifen können. Wenn Sie Zugriff auf die Solver und einen zuverlässigen Standard-Referenzcomputer mit der gesamten erforderlichen Software haben, müssen Sie ein Skript ausführen und die Daten sammeln. Meiner Meinung nach besteht die Schwierigkeit darin, Leute dazu zu bringen, Ihnen ihre Software zu geben, wenn diese nicht Open Source ist. Wenn es kommerziell ist, können Sie es kaufen oder sogar Leute dazu bringen, die Software zu spenden.COIN-OR- Projekt. Wenn es sich jedoch um Forschungssoftware handelt, die weder kommerziell noch Open Source ist, müssen Sie die Leute davon überzeugen, sich an dem Unternehmen zu beteiligen, und sie vertrauen möglicherweise keinem Dritten, wenn es darum geht, ihre Software fair zu bewerten.
Ich weiß auch, dass es bei der Optimierung herunterladbare Datenbanken mit Problemen ( CUTEr fällt
mir ein) und Bücher mit Testproblemen für die Optimierung gibt. Ich habe gesehen, dass Leute (ich denke zum Beispiel speziell an einen Vortrag von Ruth Misener auf der AIChE 2011) ihren Optimierungslöser mit anderen Lösern in Datenbanken für Probleme in Präsentationen vergleichen. Ich bin nicht sicher, was öffentlich veröffentlicht wird. Ich weiß, dass es eine Tradition in der Optimierung von Vergleichen in großem Maßstab gibt (viele Löser, viele Probleme). Ich glaube einfach nicht, dass es eine Online-Datenbank gibt.
Eine andere Sache, die ich für wichtig halte, ist, dass wir hier zwischen Methoden und Software-Implementierungen unterscheiden. Im wissenschaftlichen Rechnen sprechen wir alle darüber, welche Methoden schneller oder langsamer sind, basierend auf Faktoren wie der rechnerischen Komplexität oder unseren Erfahrungen mit verschiedenen Problemen. Wenn es jedoch darum geht, die Rechenzeit quantitativ zu messen, muss, sofern nicht die Anzahl der FLOPs in einem bestimmten Algorithmus gezählt wird, der Algorithmus in Software implementiert und dann die Leistung auf irgendeine Weise gemessen werden (Speichernutzung, Ausführungszeit der Wanduhr usw.) .). Es ist sinnvoll, die Leistung einer Methode zu bewerten, wenn man sich die Komplexität der Berechnungen oder die Anzahl der FLOPs ansieht, da wir keine Implementierung benötigen, um solche Dinge zu messen. In dem Moment, in dem wir an den tatsächlichen Laufzeiten der Wanduhren interessiert sind, handelt es sich jedoch um Methoden nur nützlich als abstraktes, umgangssprachliches Gerät. (Zum Beispiel,
Ich erwähne diese Unterscheidung zwischen Methoden und Software, weil ich in einer solchen Datenbank auch die Möglichkeit sehen konnte, die Verbesserung der Software im Laufe der Zeit zu verfolgen. So wäre es zum Beispiel bei so etwas wie PETSc oder PyCLAW oder jeder getesteten Software interessant zu sehen, welche Probleme durch Upgrades in der Software positiv (oder negativ!) Beeinflusst werden. Dies könnte für Forscher nützlich sein, die zu entscheiden versuchen, ob es sich lohnt, die Codes zu aktualisieren, wenn Geld und Arbeitskraft verloren gehen. Ein weiterer Grund, warum eine solche Unterscheidung wichtig ist, ist, dass eine gute Methode schlecht implementiert werden kann. Ich denke, diese Möglichkeit trägt zur Zurückhaltung bei, die Menschen manchmal haben, wenn sie ihre Forschungscodes teilen.
Ich denke, was auch immer aus dieser Idee entsteht (und ich hoffe, dass etwas daraus entsteht und bereit ist, nach meiner Promotion beizutragen), ist es wichtig, diesen Unterschied zwischen Software und Methoden hervorzuheben, denn wenn wir Testprobleme haben, sind wir es Ergebnisse für Software veröffentlichen.
Es wurde versucht, eine Liste von "schwierig" zu berechnenden Integralen zu erstellen (siehe Arbeiten von Walter Gautschi, Robert Piessens und anderen), aber keine formale Datenbank.
Im Bereich der ODEs gibt es den IVP- Testsatz, einen Testsatz für Anfangswertprobleme.
quelle
Ich kenne eine solche Datenbank nicht, aber ich denke, es wäre sehr schwierig, sie auf nützliche Weise zu definieren. Meiner Meinung nach ist es ein besseres System, den Code in einer ausführbaren Form freizugeben, damit der Benutzer so umfassend testen kann, wie er möchte. In Bezug auf Community-Repositorys enthält die von GertVdE erwähnte IVP-Testsuite auch Treibercode, mit dem mehrere veröffentlichte ODE / DAE-Löser für die Testprobleme ausgeführt werden können. In meinen Veröffentlichungen versuche ich, den Code und alle Skripte freizugeben, die zum Erstellen der Analyse der Ausgabedaten und zum Erstellen der Darstellungen und Tabellen auf dem Papier verwendet werden.
quelle
Der Computer Aeroacoustics Workshop zu Benchmark-Problemen verfolgt ein ähnliches Ziel für aeroakustische Probleme. Sie stellen zunächst eine Reihe von Benchmark-Problemen vor und lassen sie mit ihren eigenen Methoden lösen und die Ergebnisse vergleichen. Im Folgenden finden Sie beispielsweise den Ablauf des vierten Meetings: http://www.archive.org/details/nasa_techdoc_20040182258
Obwohl sie, soweit ich weiß, nicht vergleichen können, wie effizient ihre Codes sind, achten sie hauptsächlich auf die Genauigkeit.
quelle
Bei der Modellierung von Erdbeben wurden verschiedene Arten von Anstrengungen unternommen. Diejenigen, die in den Sinn kommen, sind das dynamische Bruchsimulationsprojekt und das Quellinversionsprojekt (http://eqsource.webfactional.com/wiki/). Beide bieten physikalische Probleme, die gelöst werden müssen, und sind in Bezug auf die angewandten Methoden (auf einer gewissen Ebene) agnostisch. Bei diesen Projekten geht es in Wirklichkeit darum, die domänenspezifischen Modellierer miteinander zu vergleichen, und nicht wirklich um eine allgemeine Reihe von Testproblemen für jede numerische pdes-Methode. Aber Sie können mit anderen Ergebnissen vergleichen, und dies hat bei vielen Codes eine Menge Probleme aufgedeckt.
Eine Möglichkeit wäre das Madagaskar-Projekt , das in der Welt der seismischen Bildgebung entwickelt wurde, sich aber als ganz allgemeiner Zweck herausstellt.
quelle