1 Αλγόριθµοι δροµολόγησης µε µέσα µαζικής µεταφοράς στο µεταφορικό δίκτυο των Αθηνών ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ της Κωτσογιάννη Μαριάννας Περίληψη 1. Αντικείµενο- Σκοπός Αντικείµενο της διπλωµατικής αυτής εργασίας είναι η µελέτη του προβλήµατος συντοµότερου µονοπατιού µε έµφαση στα µεταφορικά δίκτυα. Η εργασία αποτελείται από δύο σκέλη : α) µία εκτενή βιβλιογραφική µελέτη των αλγορίθµων δροµολόγησης και των µεταφορικών δικτύων και β) εφαρµογή των δηµοφιλέστερων για τα µεταφορικά δίκτυα αλγορίθµων δροµολόγησης στο µεταφορικό δίκτυο των αστικών λεωφορείων των Αθηνών. Οι αλγόριθµοι αξιολογούνται µε βάση τα πειραµατικά αποτελέσµατα. Στα πλαίσια της βιβλιογραφικής µελέτης µελετάµε τους δηµοφιλέστερους αλγορίθµους δροµολόγησης, όπως τον αλγόριθµο του Dijkstra, τον αλγόριθµο Bellman-Ford αλλά και αλγορίθµους αναζήτησης κατάλληλους για εφαρµογή σε µεταφορικά δίκτυα όπως ο αλγόριθµος Α-Star. Επιπλέον, µελετάµε τους πιθανούς τρόπους αναπαράστασης και µοντελοποίησης των δικτύων µεταφοράς και παρουσιάζουµε τις δηµοφιλέστερες ευριστικές τεχνικές που χρησιµοποιούνται µε στόχο να καθοδηγήσουν την αναζήτηση και να µας οδηγήσουν γρηγορότερα στο αποτέλεσµα. Εξετάζεται αναλυτικά η επίδραση της χρήσης των hubs στο υπολογιστικό κόστος των αλγορίθµων αλλά και την ποιότητα των αποτελεσµάτων. Στο σκέλος της εφαρµογής, αποθηκεύουµε το δίκτυο µεταφοράς των αστικών λεωφορείων σε µία σχεσιακή βάση και υλοποιούµε σε Java τους αλγορίθµους Dijkstra και A-Star σε συνδυασµό µε τη χρήση ευριστικών τεχνικών. Συγκρίνουµε τις διαφορετικές υλοποιήσεις και αποφαινόµαστε για τα πλεονεκτήµατα και τα µειονεκτήµατα καθεµίας από αυτές έναντι των υπολοίπων. 2.Βιβλιογραφική µελέτη Αρχικά, µελετάµε τους αλγόριθµους δροµολόγησης- από τους κλασσικούς ως τις πιο σύγχρονες προσεγγίσεις- από µαθηµατική πλευρά για να έχουµε µία εικόνα για την επίδοση που εµφανίζουν θεωρητικά. Τους διακρίνουµε σε κατηγορίες µε βάση τους κανόνες που χρησιµοποιούν για την επιλογή των κόµβων : Αλγόριθµοι που χρησιµοποιούν τη µέθοδο απόδοσης ετικέτας όπως ο αλγόριθµος του Dijkstra, ο αλγόριθµος Bellman- Ford και ο αλγόριθµος A-Star. Αλγόριθµοι που χρησιµοποιούν άλλα κριτήρια όπως ο αλγόριθµος επέκτασης γράφου, ο αλγόριθµος κατωφλίου και οι αλγόριθµοι τοπολογικής ταξινόµησης.
2 Το ενδιαφέρον µας για καθέναν από τους αλγορίθµους δροµολόγησης είναι στραµµένο στην επάρκεια που εµφανίζει από πρακτική πλευρά κατά την εφαρµογή του σε πραγµατικά µεταφορικά δίκτυα, όπως αυτή εκφράζεται µέσα από το υπολογιστικό κόστος του αλγορίθµου και τις απαιτήσεις του σε µνήµη. Ακόµα, µας ενδιαφέρει η ποιότητα της λύσης που δίνεται, η ευκολία στην υλοποίηση αλλά και η δυνατότητα επέκτασης καθενός από τους αλγορίθµους για την επίλυση άλλων παραλλαγών του προβλήµατος συντοµότερου µονοπατιού. Εξετάζουµε ποιες είναι οι δοµές δεδοµένων που µπορούµε να χρησιµοποιήσουµε για να οργανώσουµε τα δεδοµένα και εντοπίζουµε αυτές που ενδείκνυται να χρησιµοποιήσουµε για την ταχύτερη υλοποίηση των αλγορίθµων. Επίσης, εξετάζουµε τα βασικά χαρακτηριστικά ενός δικτύου, τα µέτρα του και τους δυνατούς τρόπους απεικόνισής του. Εντοπίζουµε τις συνήθεις εφαρµογές- διαδικασίες που εφαρµόζονται σε δίκτυα και τις πιο ενδιαφέρουσες κατηγορίες προβληµάτων δροµολόγησης σε µεταφορικά δίκτυα. Επικεντρώνουµε στις ιδιαιτερότητες των µεταφορικών δικτύων, εξετάζουµε τη FIFO συµπεριφορά στα µεταφορικά δίκτυα αλλά και τα χαρακτηριστικά της συµπεριφοράς των επιβατών κατά τη µετακίνησή τους σ αυτά. Αναφερόµαστε στις βασικές διαφορές µεταξύ των πραγµατικών και των randomly generated δικτύων που είναι τα δίκτυα που κατ εξοχήν χρησιµοποιούνται για την πειραµατική αποτίµηση αλγορίθµων δροµολόγησης. Τέλος, συγκεντρώνουµε τους παράγοντες που επιδρούν στην επίδοση των αλγορίθµων δροµολόγησης σε ένα δίκτυο, που δεν είναι άλλοι από την ακρίβεια µε την οποία αναπαρίσταται το δίκτυο, την ταυτότητα του κόµβου- αφετηρία αλλά και του κόµβουπροορισµού και το µέγεθος του µεταφορικού δικτύου. Από τη µελέτη της βιβλιογραφίας, συµπεραίνουµε ότι το πρόβληµα της δροµολόγησης είναι απαιτητικό τόσο σε υπολογιστική ισχύ όσο και σε µνήµη. Επιπλέον, το µέγεθος και οι ιδιαιτερότητες των περισσότερων µεταφορικών δικτύων είναι τέτοια που αν οι αλγόριθµοι της βιβλιογραφίας χρησιµοποιηθούν χωρίς προσαρµογές, το πρόβληµα καθίσταται ανεπίλυτο ή οδηγείται πολύ αργά σε λύση. Για όλους τους παραπάνω λόγους, για να είναι αποτελεσµατική η δροµολόγηση είναι απαραίτητος ο σχεδιασµός και η υλοποίηση «ad- hoc» διαδικασιών, δηλαδή διαδικασιών που συλλαµβάνουν τις ιδιαιτερότητες του προβλήµατος όπως αυτές εντοπίζονται σε κάθε δίκτυο όπου επιχειρείται δροµολόγηση. Το ζητούµενο είναι οι διαδικασίες αυτές να συµµορφώνονται µε τις απαιτήσεις που έχουµε εµείς από την εφαρµογή και να επιλύουν το πρόβληµα υπό κάποιους περιορισµούς και υποθέσεις που κάνουµε για να φθάσουµε γρηγορότερα στη λύση. Για να το επιτύχουν αυτό οι «adhoc» διαδικασίες κάνουν χρήση ευριστικών τεχνικών. Οι τεχνικές αυτές καθοδηγούν έξυπνα την αναζήτηση προς την κατεύθυνση που είναι πιθανό να οδηγήσει γρηγορότερα σε λύση. Τέτοιες τεχνικές ταξινοµούν τη σειρά µε την οποία εξετάζονται οι πιθανές λύσεις µε βάση κάποιο κριτήριο ή περιορίζουν τον χώρο αναζήτησης και αναζητούν λύση σ αυτόν τον νέο, περιορισµένο, πολύ µικρότερο χώρο. Η καθοδήγηση της αναζήτησης γίνεται µέσω κάποιας συνάρτησης που είναι γνωστή ως ευριστική. Η συνάρτηση αυτή αξιολογεί τις επόµενες πιθανές καταστάσεις και επιλέγει την καλύτερη. Επίσης, ιδιαίτερα σηµαντικός είναι ο τρόπος µε τον οποίο γίνεται η µοντελοποίηση του δικτύου.
3 3. Το δίκτυο των µέσων µαζικής µεταφοράς της Αθήνας Το δίκτυο της εργασίας µας είναι το δίκτυο µέσων µαζικής µεταφοράς των Αθηνών. Τα βασικά στοιχεία που το αποτελούν είναι οι στάσεις των γραµµών, οι γραµµές που εξυπηρετούνται από τα διάφορα µεταφορικά µέσα και οι διαδροµές τους. Όλα τα παραπάνω συνδέονται µεταξύ τους µε τον εξής τρόπο : Κάθε γραµµή εξυπηρετεί ένα δροµολόγιο µέσα στον γεωγραφικό χώρο που αποτελεί το δίκτυο και αποτελείται από ένα σύνολο στάσεων. Το τµήµα που βρίσκεται µεταξύ δύο διαδοχικών στάσεων αποτελεί µία στοιχειώδη διαδροµή. Το σύνολο των διαδοχικών στοιχειωδών διαδροµών που ενώνουν µεταξύ τους τις διαδοχικές στάσεις που ανήκουν σε µία γραµµή αποτελεί το δροµολόγιο της γραµµής. Αν φανταστούµε το δίκτυο σαν ένα γράφο, τότε κάθε στάση αντιστοιχεί σε µία κορυφή του γράφου και κάθε στοιχειώδης διαδροµή- τµήµα της γραµµής αντιστοιχεί σε µία ακµή του γράφου. Η µορφή του δικτύου των Αθηνών είναι ακτινωτή, δηλαδή οι περισσότερες γραµµές συνδέουν το κέντρο µε την περιφέρεια ενώ λιγότερες συνδέουν τις προαστιακές περιοχές µεταξύ τους. Σε ότι αφορά τα βάρη των ακµών θεωρούµε ότι το µεταφορικό δίκτυο των Αθηνών είναι ένα δίκτυο Ευκλείδειο, δηλαδή ένα δίκτυο όπου τα βάρη των ακµών µεταξύ των στάσεων είναι ανάλογο των γεωµετρικών αποστάσεων µεταξύ των στάσεων αυτών. Επιπλέον, θεωρούµε ότι όλα τα µεταφορικά µέσα έχουν την ίδια ταχύτητα και όλες οι γραµµές την ίδια συχνότητα δροµολογίων. Η µετεπιβίβαση από ένα µέσο µεταφοράς σε ένα άλλο µοντελοποιείται ως µετάβαση από έναν κόµβο σε έναν άλλο µε σταθερό κόστος ακµής ( κόστος µετεπιβίβασης ). 4. Τα hubs στο δίκτυο των Αθηνών Οι κόµβοι στα µεταφορικά δίκτυα µπορούν να διακριθούν σε διαφορετικά επίπεδα σηµασίας. Υπάρχουν κόµβοι που είναι πιο κεντρικοί από άλλους, που ενώνουν γραµµές ή αποτελούν σηµεία ιδιαίτερου ενδιαφέροντος για κάποιον λόγο. Με βάση την παραπάνω παρατήρηση, θεωρούµε κάποιους κόµβους του δικτύου ως hubs. Τα hubs είναι κοµβικά σηµεία του δικτύου από γεωγραφική άποψη. Συνήθως, σε ένα µεταφορικό δίκτυο είναι σηµεία από τα οποία ξεκινούν και αντίστοιχα στα οποία καταλήγουν πολλές γραµµές. Στα σηµεία αυτά κατά κανόνα πραγµατοποιείται µεγάλος αριθµός µετεπιβιβάσεων. Η χρήση των hubs επιτρέπει το «σπάσιµο» του προβλήµατος της µετακίνησης σε µικρότερα υπο- προβλήµατα. Επιπλέον, αυτό γίνεται µε ταυτόχρονη αξιοποίηση γεωγραφικής πληροφορίας που προκύπτει από τη γνώση της µορφολογίας του δικτύου. Η χρήση των hubs σύµφωνα µε τη βιβλιογραφία είναι µία από τις δηµοφιλέστερες ευριστικές τεχνικές που µπορούν να εφαρµοσθούν για την επίλυση µεταφορικών προβληµάτων σε δίκτυα. Αυτό συµβαίνει διότι υποχρεώνοντας το δροµολόγιο να περάσει από κάποιο hub, καθοδηγείται η αναζήτηση, περιορίζεται ο «χώρος» του προβλήµατος και εποµένως αυξάνουν οι πιθανότητες να οδηγηθούµε πιο γρήγορα σε λύση. Τα κριτήρια που χρησιµοποιούµε για την επιλογή των hubs είναι τρία :
4 Ο βαθµός κόµβου, διότι σε σηµεία µε υψηλό βαθµό κόµβου συγκεντρώνονται οι αφετηρίες και τα τέρµατα πολλών γραµµών και πραγµατοποιούνται πολλές µετεπιβιβάσεις. Γεωγραφικά κριτήρια, διότι η µορφολογία του δικτύου µπορεί να καθοδηγήσει αποτελεσµατικά την αναζήτηση. Αυθαίρετη επιλογή κάποιων κόµβων ως hubs του δικτύου a priori, διότι γνωρίζουµε ότι λειτουργούν ως hubs στην πράξη. 5. Υλοποίηση Μετά από προσεκτική µελέτη της βιβλιογραφίας και λαµβάνοντας υπ όψιν µας το δίκτυο εφαρµογής καταλήγουµε στην υλοποίηση των παρακάτω αλγορίθµων : του αλγορίθµου του Dijkstra του αλγορίθµου A- Star. του αλγορίθµου του Dijkstra µε χρήση hubs. Για την υλοποίηση του Dijkstra µε χρήση hubs ακολουθούµε το εξής σκεπτικό : Από τον κόµβοαφετηρία και από τον κόµβο- προορισµό τρέχουµε τον απλό αλγόριθµο του Dijkstra και εντοπίζουµε το πλησιέστερο hub. Κρατάµε τα δύο hubs που προκύπτουν και το δροµολόγιο προς αυτά από την αφετηρία και τον προορισµό. Ανακτούµε το µονοπάτι µεταξύ των δύο hubs που έχουν εντοπιστεί. Το δροµολόγιο αυτό είναι προϋπολογισµένο και αποθηκευµένο στη βάση δεδοµένων. Ενώνουµε κατάλληλα τα δροµολόγια που προκύπτουν και σχηµατίζουµε το ζητούµενο δροµολόγιο από την αφετηρία προς τον προορισµό. Για να αποφανθούµε για την επίδοση των αλγορίθµων κατά την εφαρµογή τους στο µεταφορικό µας δίκτυο αλλά και να συγκρίνουµε τις υλοποιήσεις µεταξύ τους, «τρέχουµε» καθεµία από αυτές για να τις συγκρίνουµε ως προς το υπολογιστικό τους κόστος αλλά και ως προς την ποιότητά των µονοπατιών που δίνουν ως λύση. Μέτρο της ποιότητας αυτής είναι το κόστος- βάρος των µονοπατιών. 6. Σύγκριση των υλοποιηθέντων αλγορίθµων - Συµπεράσµατα Αξιολογούµε τους αλγόριθµους που υλοποιήσαµε, τρέχοντας αυθαίρετες ερωτήσεις στο µεταφορικό δίκτυο των Αθηνών. Τα πειραµατικά αποτελέσµατα που προκύπτουν µας οδηγούν στις εξής παρατηρήσεις : Η επίδοση του Dijkstra είναι αρκετά καλή και είναι η αναµενόµενη, ωστόσο δεν συµβαίνει το ίδιο και µε τον A- Star ο οποίος δεν επιτυγχάνει καλύτερα αποτελέσµατα από τον Dijkstra σε αρκετές περιπτώσεις σε ότι αφορά το υπολογιστικό κόστος. Αυτό οφείλεται στην µορφή του δικτύου της Αθήνας που είναι ακτινωτή. Η καλύτερη στρατηγική που µπορεί να ακολουθήσει κανείς για τη µετακίνησή του σε ένα τέτοιο δίκτυο είναι να κατευθυνθεί από την αφετηρία προς το γεωγραφικό κέντρο του δικτύου και από εκεί προς τον προορισµό. Ο A- Star όµως λόγω της λογικής που ακολουθεί δεν κατευθύνει προς τον κέντρο αλλά κατευθείαν προς τον προορισµό. Κάτι τέτοιο για ακτινωτά δίκτυα είναι ασύµφορο. ηλαδή, o A- Star µετακινεί συνεχώς προς περιοχές που βρίσκονται ενδιαµέσως αφετηρίας- προορισµού µε αποτέλεσµα να γίνονται συνεχώς µετεπιβιβάσεις αφού οι
5 περισσότερες γραµµές του δικτύου ενώνουν την περιφέρεια µε το κέντρο και όχι τις προαστιακές περιοχές µεταξύ τους. Αποτέλεσµα είναι ο A- Star να φθάνει στη λύση αλλά καθυστερηµένα. Από την άλλη, συγκρίνοντας τον απλό Dijkstra µε τον Dijkstra µε χρήση hubs καταλήγουµε στο συµπέρασµα ότι η χρήση hubs µπορεί να οδηγήσει σε µείωση του υπολογιστικού χρόνου. Το γεγονός αυτό οφείλεται στο ότι το µεγαλύτερο µέρος του ζητούµενου µονοπατιού- αυτό µεταξύ των δύο hubsείναι ήδη υπολογισµένο και το µόνο που χρειάζεται είναι να γίνει ανάκτησή του. Έτσι, ο αλγόριθµος του Dijkstra χρειάζεται να εξετάσει πολύ λιγότερους κόµβους σε σχέση µε την περίπτωση της απλής εφαρµογής του στην οποία δηµιουργεί ολόκληρο το µονοπάτι από την αφετηρία προς τον προορισµό από την αρχή. Ωστόσο, αυτό έχει ένα αντίκτυπο στην ποιότητα των µονοπατιών. Τα µονοπάτια που δίνει ως λύση ο Dijkstra µε τη χρήση hubs είναι εν γένει διαφορετικά απ αυτά που δίνει ο απλός Dijkstra. Σύµφωνα µε τα πειραµατικά αποτελέσµατα, τα µονοπάτια που δίνει ως λύση ο ευριστικός αλγόριθµος είναι στη γενική περίπτωση χειρότερα από αυτά που δίνει ο απλός Dijkstra αφού εµφανίζουν µία αύξηση του κόστους κατά περίπου 20%. ηλαδή, µε τη χρήση hubs καταλήγουµε γρηγορότερα από υπολογιστική άποψη στο αποτέλεσµα αλλά το τίµηµα που πληρώνουµε είναι η αύξηση του κόστους των µονοπατιών. Συνοψίζοντας, καταλήγουµε στο συµπέρασµα ότι από τους αλγορίθµους µε τους οποίους πειραµατιστήκαµε ο πιο κατάλληλος προς εφαρµογή για το µεταφορικό δίκτυο των Αθηνών είναι ο αλγόριθµος του Dijkstra. Αν το ζητούµενό µας είναι το ελάχιστο υπολογιστικό κόστος τότε καταλήγουµε στην υλοποίησή του µε χρήση hubs ενώ αν µας ενδιαφέρει να προκύψουν µονοπάτια µε ελάχιστο κόστος- βάρος καταλήγουµε στην επιλογή του απλού Dijkstra ως πλέον συµφέρουσα.