RSS
 

funziona?

04 feb

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:

  1. misurare le soluzioni trovate dal solver vecchio usando il mio modello (penso di non dover scrivere ancora molto codice);
  2. vedere su un GIS come sono fatte queste soluzioni e confrontare i percorsi (qui il mio ruolo è marginale)
  3. 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.

 
5 Comments

Posted in geek, me

 

Tags: , , , , , , , , ,

Leave a Reply

 

 
  1. Carlo

    5 febbraio 2008 at 00:59

    Non si capisce un tubo di cosa si occupi la tua tesi! :)
    Dove trovo i dettagli?
    Anche io scrissi la parte di programmazione della mia in C++
    però quel che è vero è vero… sull’uso del linguaggio, guarda questo diagramma

    http://www.tiobe.com/tiobe_index/images/history_C__.png

    ps: l’epoca della mia tesi esce fuori dal diagramma, a sinistra :-\

     
    • kr1zz

      7 febbraio 2008 at 02:36

      Carlo mi sembrava di aver già visto quel grafico…forse lo avevi postato sul tuo blog? Ma da dove le pigliano quelle statistiche?
      Il DARP è un problema di ottimizzazione combinatoria, un problema di Vehicle Routing che viene fuori quando si vuole realizzare un servizio di trasporto persone a chiamata. Scriverò qualche articolo per raccontarlo meglio, il punto è che per risolverlo in tempi utili servono tutte le prestazioni che si riescono a tirare fuori, per questo ho scelto il C++ :-p

       
      • Carlo

        7 febbraio 2008 at 02:53

        Il grafico lo ricavano analizzando le occorrenze in rete… è spiegato sul loro sito: è un lavoro di anni… non so quanto valido ma, facendosi pagare e facendolo da tempo, penso abbia un qualche significato.

         
  2. Fabio

    6 febbraio 2008 at 04:05

    fiico…direbbe Bart Simpson, io tendo invece per l’approccio Homer, sguardo fisso e bocca aperta, annuisco…e se mi chiedi se ho capito rispondo secco e fiero NO!
    quando leggo certe cose mi rendo conto di quanto sono limitato…e ho quasi quarant’anni…ahhhhh una vita sprecata!!!!

     
    • kr1zz

      7 febbraio 2008 at 02:37

      Non preoccuparti Fabio, anzi forse è segno di buona salute mentale che tu non capisca i miei vaneggiamenti da nerd ;-)

      Scherzi a parte, prometto di scriverne con calma…