Non vorrei cantare vittoria prima del tempo, però da quando ha iniziato a funzionare la mia tesi ha continuato a dare segnali sempre più incoraggianti.
Per onorare il titolo di nerd conferitami ufficialmente oggi da Fra, ecco un riassunto, un po’ hardcore, sui primi esperimenti col mio solver metaeuristico per il Dial-A-Ride Problem.
- Primo: la soluzione iniziale è una soluzione di tutto rispetto, non solo è ammissibile ma sembrerebbe sensata.
- Secondo: l’euristica costruttiva che uso per generarla è parente di quella usata dal programma che il mio andrà a sostituire, le soluzioni dovrebbero quindi essere paragonabili. Sul dataset su cui ci stiamo confrontando il solver vecchio impiega circa un’ora, il mio circa trenta secondi. Merito dell’algoritmo ma anche merito del C++, voglio vedere chi mi dice che non si usa più
- Terzo: venerdì, prima di andare a casa, abbiamo fatto partire un run da 25mila iterazioni. Ne è uscito un log da ben 18MB! Volevo rimandare a domattina ma non ho resistito: ho appena finito di esaminarlo. È una lettura interessante solo per gli amanti del genere, e forse per chi soffre di insonna: è terribilmente grezzo, pieno di informazioni sulla memoria. C’è ancora un piccolo memory leak, ma non grave. Il programma è arrivato in fondo senza schiantarsi, ed è già un risultato rassicurante. Inoltre ha lasciato non servite solo 9 richieste su 676. Il costo delle soluzioni è sceso di quasi due ordini di grandezza: difficile dire ora se sia tanto o poco, senza risultati di riferimento.
Da domani sera dovrei riuscire a produrre un output più dettagliato, magari riesco a pubblicare anche qualche grafico. Nel frattempo vorrei:
- misurare le soluzioni trovate dal solver vecchio usando il mio modello (penso di non dover scrivere ancora molto codice);
- vedere su un GIS come sono fatte queste soluzioni e confrontare i percorsi (qui il mio ruolo è marginale)
- confrontare lo scheduling delle richieste su una timeline.
Direi che a quel punto ci sarà materiale a sufficienza per una bella tesi. Tardi, ma un po’ di soddisfazione forse arriva.
Related posts:
Tags: C++, DARP, Dial-A-Ride, LinkedIn, metaeuristica, nerd, programmazione, ricerca operativa, solver, tesi
