Riduci al minimo il ritocco inutile di un'app numerica [chiusa]

3

Sto sviluppando un'applicazione numerica (ottimizzatore non lineare), con una manopola zillion da modificare e aumentare.

Non è la mia prima incursione in questo dominio, ma questa volta ci sono ancora più variabili nel codice e ho un programma serrato. Non voglio perdere tempo a giocherellare.

I giorni o anche i mesi possono potenzialmente essere sprecati aggiustando variabili, ricompilando e rielaborando i set di dati di riferimento. I dati risultanti vengono visualizzati e vengono controllati i punti problematici. La qualità complessiva della soluzione è riportata dal programma ma il significato del rapporto potrebbe cambiare nel tempo. (Le unità numeriche per il rapporto sono una cosa che sto cercando di inchiodare.)

Un problema principale è l'organizzazione dei file dei risultati per identificare ciascuno con modifiche al codice specifiche. Prendere appunti può essere un problema, c'è un software per aiutarti?

Esistono buone pratiche concordate per far avanzare in modo affidabile questo tipo di ciclo di sviluppo? Il pacchetto solver converge alla sua soluzione ottimale con la determinazione meccanica, ma conosco fin troppo bene il modo in cui un eccesso di decisioni di design può indebolire lo sviluppo.

    
posta Potatoswatter 18.10.2012 - 11:04
fonte

1 risposta

5

oh ragazzo ci sono molte cose in questa domanda, e non sono sicuro di capire tutto quello che stai chiedendo, ma provaci:

Days or even months can potentially be wasted adjusting variables, recompiling, and reprocessing benchmark datasets

per lo meno suggerirei di estrarre le variabili in un file di configurazione in modo da non doverle ricompilare per cambiarle. Idealmente dovresti anche scrivere alcuni benchmark e magari usare una tecnica come hill climbing o GA per perfezionare in modo programmatico le variabili verso una soluzione ottimale

(Numeric units for the report are one thing I'm trying to nail down.)

Intendi unità di misura? ci sono librerie disponibili per aiutare con questi nella maggior parte delle lingue. F # li ha persino incorporati nella lingua (anche se non per i rapporti)

One main problem is organizing result files to identify each with specific code changes. Note taking can be a pain, is there software to help with this?

la soluzione più ovvia qui è quella di avere i risultati del benchmark impegnati nel controllo del codice sorgente con le modifiche che li hanno fatti, si potrebbe anche usare il commit hook per segnalare qualsiasi peggioramento nei benchmark

    
risposta data 18.10.2012 - 11:34
fonte

Leggi altre domande sui tag