Pergunta

A minha empresa tem de mastigar um monte de dados e parte do processo envolve a execução do solver e traçando um gráfico através de pontos de dados resultantes. Obviamente, há um monte de copiar e colar envolvidos e todo o processo é instável, sujeito a erros e durante todo o cluster de fudge. Eu queria saber se havia uma alternativa para o solver que pode ser usado de modo que mesmo se tivermos que usar o Excel para traçar o gráfico final, haverá muito menos dados que precisam ser copiados e colados e para trás. Seria ótimo, especialmente se a ferramenta pode ser facilmente integrado em um aplicativo .NET, mas estou aberto a sugestões que podem exigir um pouco de código-fu de chegar a este trabalho.

Obrigado!

Foi útil?

Solução

O solver é essencialmente uma técnica iterativa usado para encontrar raízes de funções. Dependendo da forma particular da função que você está tentando encontrar uma raiz, você pode rolar o seu próprio ou utilizar implementações existentes do método bisection ou método de Newton (ou muitas outras técnicas de apuramento de raiz iterativos). Se você postar mais sobre o problema específico que você está tentando resolver, eu poderia ser capaz de apontar-lhe uma técnica mais específica. Alternativamente, você pode ler sobre raiz encontrar e olhar para a Otimização Extrema biblioteca .

Outras dicas

Confira Microsoft Solver Foundation eles fornecem bibliotecas .Net para resolver diferentes tipos de problemas de otimização http://code.msdn.microsoft.com/solverfoundation

Você pode integrá-lo em seu código muito facilmente

Netlib oferece uma lista abrangente de solucionadores de open-source para diversos fins. Você pode encontrar alguns que você gosta.

Você pode gostar de dar uma olhada nisso, eu não olhei muito de perto.

EUREQA é uma ferramenta de software para detectar equações e escondido relações matemáticas em seu dados. Seu objetivo principal é identificar os mais simples fórmulas matemáticas o que poderia descrever o subjacente mecanismos que produziu os dados. EUREQA é livre para download e uso.

Você pode estar interessado no código aberto OpenSolver temos desenvolvido para Excel; ele está disponível de http://www.opensolver.org . Isto usa a livre COIN-OR CBC solver, e pode resolver lineares e inteiro problemas (mas modelos não não lineares). Ele instala como um add-in Excel. Ele pode resolver problemas muito maiores, e normalmente faz isso mais rápido do Solver. Espero que você achar útil.

OpenOffice tem um novo não-linear solver plugin que usa métodos completamente diferentes de encontrar soluções para problemas de otimização do que os métodos mais íngreme-descida utilizados em solver do Excel.

De sua descrição parece que seus dados tem um monte de outliers. Para isso você precisa de algum tipo de montagem robusto.

Matlab é o melhor programa para fazer todas essas coisas, e pode ser ligada a partir de .NET

gretl , o Gnu Regressão Econometria e Time-série Biblioteca, faz o tipo de coisas que você precisa, e é altamente eficiente e bem documentada. Duvido que haja uma API .NET, mas você pode controlá-lo via script, se necessário.

Eu automatizado da interface solver para diferentes projetos. Você já pensou em algumas-tipo de VBA macro? Este artigo de suporte a partir do MS passa por toda a interface VBA: http://support.microsoft.com/kb/ 843304 . Eu supor que é acessível através .NET também.

Um dos erros principais na interface do Solver / Excel VBA não é visível até que você tome sua planilha Excel (que referências a interface Solver) para outra máquina.

Lá você vai ter um erro que basicamente diz que o suplemento Solver não está carregado. Você deve ir para VBA e em Ferramentas, Guias e re-estabelecer a referência para a biblioteca Solver.

Muito chato.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top