Domanda

La mia azienda ha per crunch un sacco di dati e parte del processo prevede l'esecuzione del solver e tracciare un grafico con conseguenti punti di dati. Ovviamente c'è un sacco di copia e incolla e ha coinvolto l'intero processo è traballante, soggetto ad errori e tutto l'ammasso-fondente. Mi chiedevo se ci fosse un'alternativa al risolutore che può essere utilizzato in modo che, anche se dobbiamo utilizzare Excel per tracciare il grafico finale, ci sarà molto meno di dati che deve essere copiato e incollato in avanti e indietro. Sarebbe bello, soprattutto se lo strumento potrebbe essere facilmente integrato in un'applicazione .NET, ma sono aperto a suggerimenti che possono richiedere un po 'di codice-fu per farlo funzionare.

Grazie!

È stato utile?

Soluzione

Il solutore è essenzialmente una tecnica iterativa utilizzato per trovare le radici di funzioni. A seconda della particolare forma della funzione che si sta tentando di trovare una radice di, si può rotolare il proprio o utilizzare le implementazioni esistenti del metodo di bisezione o il metodo di Newton (o molte altre tecniche di root-finding iterativi). Se pubblichi più sul problema specifico che si sta tentando di risolvere, potrei essere in grado di puntare a una tecnica più specifica. In alternativa, si può leggere su radice conoscitiva e guardare l'estrema ottimizzazione biblioteca .

Altri suggerimenti

Scopri Risolutore di Microsoft Foundation essi forniscono librerie .NET per risolvere diversi tipi di problemi di ottimizzazione http://code.msdn.microsoft.com/solverfoundation

È possibile integrare nel vostro codice molto facilmente

Netlib offre una lista completa di solutori open-source per vari scopi. Si possono trovare alcuni che ti piace.

Come si potrebbe dare un'occhiata a questo, non ho guardato troppo da vicino.

  

Eureqa è uno strumento software per   rilevare equazioni e nascosto   relazioni matematiche nella vostra   dati. Il suo obiettivo primario è quello di identificare   più semplici formule matematiche   che potrebbe descrivere il sottostante   meccanismi che producono i dati.   Eureqa è libero di scaricare e utilizzare.

Si potrebbe essere interessato al open source OpenSolver abbiamo sviluppato per Excel; è disponibile da http://www.opensolver.org . Questo utilizza il COIN-OR CBC risolutore libera, e può risolvere problemi lineari e interi (ma non modelli non lineari). Si installa come un add-in Excel. Si può risolvere i problemi molto più grandi, e in genere lo fa più velocemente di Risolutore. Spero vi sia utile.

OpenOffice ha un nuovo plugin solutore non lineare che utilizza completamente diversi metodi di trovare soluzioni ai problemi di ottimizzazione rispetto ai metodi più ripida discesa-utilizzati in risolutore di Excel.

Dalla tua descrizione suona come i dati ha un sacco di valori anomali. Per questo è necessario un qualche tipo di montaggio robusta.

Matlab è il miglior programma per fare tutte queste cose, e può essere collegato da .NET

gretl , la Gnu Regression Econometria e Time-series Biblioteca, fa il genere di cose che avete bisogno, ed è altamente efficiente e ben documentata. Dubito che ci sia un API .NET, ma si può controllare tramite script, se necessario.

Ho automatizzato l'interfaccia risolutore per diversi progetti. Avete considerato qualcosa di sorta di macro VBA? Questo articolo di supporto da MS attraversa l'intera interfaccia VBA: http://support.microsoft.com/kb/ 843304 . Mi piacerebbe pensare che sia accessibile tramite NET pure.

Una delle BUGS PRINCIPALI nell'interfaccia Solver / Excel VBA non è visibile fino a quando si prende il foglio di calcolo di Excel (che fa riferimento al Risolutore Interface) a un'altra macchina.

Ci si otterrà un errore che in pratica dice che il componente aggiuntivo Risolutore non è stato caricato. Si deve andare a VBA e in Strumenti, Elenchi e ristabilire il riferimento alla libreria di Risolutore.

molto fastidioso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top