Dos critérios que você especificou, acho que o projeto mais próximo que conheço seria a coleção de matrizes esparsas da Universidade da Flórida . As pessoas usam rotineiramente esse conjunto de dados para comparar os solucionadores de álgebra linear esparsos e é possível filtrar por aplicativo, número de não-zeros, dimensões da matriz e assim por diante com uma interface da web muito boa, interface do MATLAB ou GUI do Java. Eu já vi tabelas desses problemas listados em documentos, juntamente com comparações de tempo de execução do solucionador com 4 a 8 solucionadores de álgebra linear.
Concordo que seria útil compilar esses bancos de dados e, além disso, acho que a abordagem de coleta de matriz esparsa do UF para compilar os dados é excelente, e seria um ótimo começo para quem pensar em realizar essa idéia. A execução de todos os problemas, na prática, não parece ser uma grande dificuldade, desde que você possa ter acesso a todos os solucionadores; se você tiver acesso aos solucionadores e uma máquina de referência padrão confiável com todo o software necessário instalado, será uma questão de executar um script e coletar os dados. A dificuldade, em minha opinião, seria levar as pessoas a fornecerem seu software, se não for de código aberto. Se for comercial, você pode comprá-lo ou até levar as pessoas a doar o software,Projeto COIN-OR . Mas se o software de pesquisa não é comercial nem de código aberto, você precisa convencer as pessoas a aceitarem o empreendimento, e elas podem não confiar em terceiros para avaliar seu software de maneira justa.
Sei também que na otimização existem bancos de dados para download de problemas ( CUTEr
vem à mente) e livros de problemas de teste para otimização. Vi pessoas (por exemplo, estou pensando especificamente em uma palestra de Ruth Misener na AIChE 2011) comparando seu solucionador de otimização com outros solucionadores em bancos de dados de problemas em apresentações; Não tenho certeza do que é lançado publicamente. Eu sei que há uma tradição em otimização para comparação em larga escala (muitos solucionadores, muitos problemas); Só acho que não há um banco de dados online disponível.
Outra coisa que eu acho importante é que distingamos aqui entre métodos e implementações de software. Na computação científica, todos falamos sobre quais métodos são mais rápidos ou mais lentos, com base em métricas de complexidade computacional ou em nossas experiências com vários problemas. No entanto, quando se trata de medir quantitativamente o tempo computacional, a menos que se conte o número de FLOPs em um algoritmo específico, é preciso implementar o algoritmo no software e depois medir o desempenho de alguma forma (uso da memória, tempo de execução do relógio de parede, etc. .). Faz sentido avaliar o desempenho de um método ao analisar a complexidade computacional ou a contagem de FLOP, porque não precisamos de uma implementação para medir essas coisas, mas no momento em que estamos interessados nos tempos de execução reais do relógio de parede, falar sobre métodos é útil apenas como um dispositivo abstrato e coloquial. (Por exemplo,
Faço essa distinção entre métodos e software, porque nesse banco de dados também pude ver a possibilidade de rastrear a melhoria no software ao longo do tempo. Assim, por exemplo, com algo como, digamos, PETSc ou PyCLAW, ou qualquer outro software que esteja sendo testado, seria interessante ver quais problemas são afetados positivamente (ou negativamente!) Pelas atualizações do software. Isso pode ser útil para os pesquisadores que tentam decidir se vale algum custo potencial em dinheiro e mão-de-obra para atualizar seus códigos. Outra razão pela qual essa distinção é importante é porque um bom método pode ser mal implementado; Eu acho que essa possibilidade contribui para a reticência que as pessoas às vezes têm em compartilhar seus códigos de pesquisa.
Eu acho que o que quer que venha dessa idéia (e espero que algo aconteça e que esteja disposto a contribuir após o meu doutorado), é importante enfatizar essa distinção entre software e métodos, porque se estamos executando problemas de teste, estamos publicará resultados para o software.