Newsgroup: it.comp.lang.visual-basic
Titolo: [BT] la mia tesi (prima parte)

ciao a tutti.
come vi avevo annunciato, comincio a spiegare --brevemente-- piu' in
dettaglio cos'ho fatto come tesi. siamo al limite dell'ot perche' di
fatto l'ho scritta in c ed in vb ho fatto solo un visualizzatore, ma
qualcuno mi aveva chiesto altri dettagli --anche via mail--.
dunque, il software e' un route planner, cioe' un software che si
occupa, data una rete descritta da un grafo, di trovare il miglior
percorso per andare da un punto di partenza ad un punto di arrivo.
un'applicazione tipica e' il routing su rete stradale.
il programma legge da file la descrizione della rete stradale in forma
di:
- lista di nodi della rete (di fatto, citta' ed incroci) e
- lista di archi che congiungono i nodi (di fatto le strade)
in seguito calcola, utilizzando l'algoritmo di dijkstra --leggermente
ottimizzato--, il percorso migliore tenendo conto della distanza
minima oppure del tempo minimo --oppure una qualsiasi combinazione
lineare dei due parametri.
le funzioni di lettura da file e calcolo del percorso sono in una dll
scritta in c e vengono chiamate da un visualizzatore scritto in visual
basic, che si occupa anche di tracciare su schermo il percorso
ottenuto dal calcolo precedente.
come dicevo in precedenza, l'eseguibile del visualizzatore e la dll
posso distribuirli senza problemi, mentre per i sorgenti devo
aspettare che il professore mi dia l'ok.
sono possibili tanti miglioramenti del lavoro che ho svolto in quanto:
- l'algoritmo di dijkstra e' il piu' lento tra i best-first per grafi
sparsi, quindi si potrebbero --dovrebbero =)-- implementare altri
algoritmi, come s-dial e via dicendo
- ora il livello di debug e' mostruosamente alto e vengono creati
logfile di 400kb per una rete di poche decine di nodi: bisogna
limitare il debug in base al loglevel impostato via software
- adesso per tracciare il percorso leggo in fondo al logfile il
percorso ottimo: sarebbe molto piu' bello ritornare un array di nodi
toccati piuttosto che dover leggere da un file la soluzione al
problema
- il visualizzatore potrebbe essere usato per creare il file con la
rete stradale, beccando i click del mouse sulla cartina per avere le
coordinate dei nodi ed i nodi di partenza ed arrivo degli archi
- tanti altri, ma questi erano i piu' importanti.
naturlamente, se qualcuno sa un po' di c e vuole darmi una mano, tanto
volentieri, visto che il programma funziona bene, mi e' piaciuto ed ho
intenzione di svilupparlo ancora.
naturlamente, anche solo una mano per costruire la mappa stradale e'
tanto apprezzata.
inviero' via mail privata a tutti quelli che me lo chiederanno
l'eseguibile del visualizzatore + la dll compilata + una cartina ed
una rete stradale di esempio --parte della provincia di bologna, verso
faenza--.
saluti.
-- 
      Gianni "bugbarbeq" Rondinini, 27+15, RA, 193, 152
   VBR - Vero Birro Romagnolo®, diffidate dalle imitazioni!
 BMW 530D "BatMobile EVO" Driver - Escortone da 500 CV dreamer
Kawasaki "Gas Gas" ZZ-R 1100 - HD Electra Ultra Classic Dreamer
   On contrary of popular belief, Unix *IS* user friendly:
    it just appears to be selective who it is friend with

 algoritmi, come s-dial e via dicendo
Mi potresti dire dove trovare qualche informazione su questi algoritmi?
Grazie
Ignazio

Mi potresti dire dove trovare qualche informazione su questi algoritmi?
con google cerca "gallo pallotino operational research annals".
pero' prima di guardare quegli algoritmi di consiglierei un testo di
ricerca operativa altrimenti ne vieni fuori molto difficilmente.
