Λελούδας Παναγιώτης. Επιβλέπων Καθηγητής: Σπυρίδων Λυκοθανάσης. Τμήμα Μηχανικών Η/Υ και Πληροφορικής. Πανεπιστήμιο Πατρών

Σχετικά έγγραφα
Τυπικά θέματα εξετάσεων. ΠΡΟΣΟΧΗ: Οι ερωτήσεις που παρατίθενται ΔΕΝ καλύπτουν την πλήρη ύλη του μαθήματος και παρέχονται απλά ενδεικτικά

Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης.

Τεχνητή Νοημοσύνη. 5η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Γενετικοί Αλγόριθμοι. Εισαγωγή

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Συστήματα Επιχειρηματικής Ευφυίας

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

4 η ΕΝΟΤΗΤΑ ΜΕΤΑΕΥΡΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ ΕΝΟΣ ΚΡΙΤΗΡΙΟΥ

Τεχνολογία Συστημάτων Υδατικών Πόρων

Κεφάλαιο 7. Γενετικοί Αλγόριθµοι. Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος. Διαχείριση Υδατικών Πόρων

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Υπολογιστική Νοηµοσύνη

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ

Ε ανάληψη. Α ληροφόρητη αναζήτηση

ΤΙΤΛΟΣ ΑΝΑΦΟΡΑΣ: ΕΦΑΡΜΟΓΗ ΚΑΙ ΑΠΟΤΕΛΕΣΜΑΤΑ ΣΕ ΕΠΙΛΕΓΜΕΝΕΣ ΠΕΡΙΤΠΩΣΕΙΣ

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων Ι Σύνολο- Περιεχόμενο Μαθήματος

Γενετικοί Αλγόριθμοι (ΓΑ) Genetic Algorithms (GAs) Είναι το πιο αντιπροσωπευτικό και δημοφιλές είδος Εξελικτικού Αλγόριθμου Χρησιμοποιούνται κυρίως

ΣΧΕΔΙΑΣΜΟΣ ΚΙΝΗΣΗΣ ΚΑΙ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΙΩΝ ΣΕ ΒΙΟΜΗΧΑΝΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ

ΕΡΩΤΗΜΑΤΑ σε ΓΕΝΕΤΙΚΟΥΣ

ΔΙΑΧΕΙΡΙΣΗ ΥΔΑΤΙΚΩΝ ΠΟΡΩΝ

On line αλγόριθμοι δρομολόγησης για στοχαστικά δίκτυα σε πραγματικό χρόνο

Αναγνώριση Προτύπων Ι

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

Τεχνητή Νοημοσύνη. 5η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Εφαρμοσμένη Βελτιστοποίηση

Κατανεμημένα Συστήματα Ι

ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ: θεωρητικό Πλαίσιο

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

Δομές Δεδομένων & Αλγόριθμοι

Εισαγωγή στους Γενετικούς Αλγορίθμους

Τεχνητή Νοημοσύνη. 4η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τ.Ε.Ι. ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

Κεφάλαιο 5: Εισαγωγή στην Προσομοίωση

1 Εισαγωγή στις Συνδυαστικές Δημοπρασίες - Combinatorial Auctions

Νευρωνικά ίκτυα και Εξελικτικός. Σηµερινό Μάθηµα. επανάληψη Γενετικών Αλγορίθµων 1 η εργασία Επανάληψη νευρωνικών δικτύων Ασκήσεις εφαρµογές

ΕΠΙΛΥΣΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ ΧΩΡΟΘΕΤΗΣΗΣ ΕΓΚΑΤΑΣΤΑΣΕΩΝ ΚΑΙ ΔΡΟΜΟΛΟΓΗΣΗΣ ΟΧΗΜΑΤΩΝ ΜΕ ΤΗ ΧΡΗΣΗ ΜΙΜΗΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ

Υπολογιστικό Πρόβληµα

Εισαγωγή Στις Αρχές Της Επιστήμης Των Η/Υ. Η έννοια του Προβλήματος - ΚΕΦΑΛΑΙΟ 2

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1

Ακέραιος Γραμμικός Προγραμματισμός

Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος. Διαχείριση Υδατικών Πόρων

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής

3 η ΕΝΟΤΗΤΑ ΜΗ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ ΚΡΙΤΗΡΙΟΥ

Υφαλμύρινση Παράκτιων Υδροφορέων - προσδιορισμός και αντιμετώπιση του φαινομένου με συνδυασμό μοντέλων προσομοίωσης και μεθόδων βελτιστοποίησης

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ με το EXCEL

ΑΛΓΟΡΙΘΜΟΙ Ενότητα 10

Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος. Τεχνολογία Συστημάτων Υδατικών Πόρων

ΚΕΦΑΛΑΙΟ Μηχανική Μάθηση

E[ (x- ) ]= trace[(x-x)(x- ) ]

Πληροφοριακά Συστήματα Διοίκησης. Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

Θεµελίωση Γενετικών Αλγορίθµων

Ακέραιος Γραμμικός Προγραμματισμός

Υπολογιστική Νοημοσύνη

Ειδικής Υποδομής Υποχρεωτικό

2 η ΕΝΟΤΗΤΑ ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Ενδεικτικές Ερωτήσεις Θεωρίας

Ολοκληρωμένη Λύση Δρομολόγησης και Προγραμματισμού Στόλου Οχημάτων «Route Planner»

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Ακέραιος Γραμμικός Προγραμματισμός

1 ο Φροντιστήριο Υπολογιστική Νοημοσύνη 2

ΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ

Διαχείριση Εφοδιαστικής Αλυσίδας ΙΙ

ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ

Πληροφορική 2. Αλγόριθμοι

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ. Κεφάλαιο 3 Μορφοποίηση Προβλημάτων Ακέραιου Προγραμματισμού

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Στοχαστικές Στρατηγικές

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ

Συστήματα Επιχειρηματικής Ευφυίας. Ενδεικτική επίλυση του προβλήματος school timetabling με PSO

Α2. Να γράψετε στο τετράδιο σας τον αριθμό 1-4 κάθε πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

ΦΙΛΤΡΟ KALMAN ΔΙΑΚΡΙΤΟΥ ΧΡΟΝΟΥ

E [ -x ^2 z] = E[x z]

ΚΕΦΑΛΑΙΟ 2ο ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΑΚΡΙΤΩΝ ΓΕΓΟΝΟΤΩΝ

Τεχνητή Νοημοσύνη. 2η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Μηχανική Μάθηση: γιατί;

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη.

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 7: Η επιλογή των πιθανοτικών κατανομών εισόδου

ΣΗΜΕΙΩΣΕΙΣ ΤΕΛΙΚΗΣ ΕΡΓΑΣΙΑΣ ΤΟΥ ΜΑΘΗΜΑΤΟΣ «ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ»

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ

Γραφικά με υπολογιστές. Διδάσκων: Φοίβος Μυλωνάς. Διαλέξεις #11-#12

Κατακερματισμός (Hashing)

Θεωρία Παιγνίων και Αποφάσεων. Ενότητα 5: Εύρεση σημείων ισορροπίας σε παίγνια μηδενικού αθροίσματος. Ε. Μαρκάκης. Επικ. Καθηγητής

Τεχνικές Μείωσης Διαστάσεων. Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας

Υπολογιστικά & Διακριτά Μαθηματικά

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 5: Εισαγωγή στην Προσομοίωση

ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ

ΣΥΣΤHΜΑΤΑ ΑΠΟΦAΣΕΩΝ ΣΤΗΝ ΠΑΡΑΓΩΓH

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

6. Στατιστικές μέθοδοι εκπαίδευσης

Transcript:

Σχεδιασμός, Ανάλυση και Υλοποίηση Ευφυών Αλγορίθμων Υπολογιστικής Νοημοσύνης για την Εύρεση Βέλτιστου Ωρολογίου Προγράμματος Εργασίας Οδηγών και Χρονοδρομολόγησης Λεωφορείων σε Υπεραστικά και Αστικά ΚΤΕΛ στην Ελλάδα. Λελούδας Παναγιώτης Επιβλέπων Καθηγητής: Σπυρίδων Λυκοθανάσης Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Πατρών

Παναγιώτης Λελούδας ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή. 5 1. Χρονοδρομολόγηση και ωρολόγιο πρόγραμμα...7 2.1 Εξελικτικοί Αλγόριθμοι 13 2.1.1 Εισαγωγή 13 2.1.2 Βασικές Αρχές των Εξελικτικών Αλγορίθμων..20 2.1.3 Λόγοι χρήσης Εξελικτικών Αλγορίθμων..20 2.1.4 Ιδιότητες των Εξελικτικών Αλγορίθμων.... 21 2.1.5 Μορφές των Εξελικτικών Αλγορίθμων...22 2.2 Γενετικοί Αλγόριθμοι.25 2.2.1 Εισαγωγή.25 2.2.2 Βιολογικό υπόβαθρο....27 2.2.3 Μαθηματικός Μηχανισμός των Γενετικών Αλγορίθμων....29 2.2.4 Η υπεροχή και το μειονέκτημα των Γενετικών Αλγορίθμων..30 2.2.5 Περιγραφή του Γενετικού Αλγόριθμου... 30 2.2.6 Αναπαράσταση του Χρωμοσώματος...32 2.2.7 Τελεστής Επιλογής...32 2.2.8 Τελεστής Διασταύρωσης..34 2.2.9 Τελεστής Μετάλλαξης.. 34 Page 2

Τμήμα Μηχανικών Η/Υ και Πληροφορικής 2.2.10 Επιβίωση.....35 2.2.11 Τα κριτήρια Λήξης ενός Γενετικού Αλγόριθμου 35 3 Γενετικοί Αλγόριθμοι στην Χρονοδρομολόγηση..... 37 4 Παρουσίαση Εφαρμογών Γενετικών Αλγορίθμων στην χρονοδρομολόγηση οχημάτων.41 4.1 Συνδυασμένη Δρομολόγηση λεωφορείων και οδηγών..41 4.2 Βελτιστοποίηση αντιστοίχησης πληρώματος με ΓΑ.53 5 Παρουσιάση και εφαρμογή του ΕΑ για την εύρεση του βέλτιστου ωρολογίου προγράμματος, για την χρονοδρομολόγηση των λεωφορείων σε αστικά και υπεραστικά ΚΤΕΛ στην Ελλάδα........61 5.1 Εισαγωγή.....61 5.2 Προσδιορισμός Προβλήματος.. 61 5.3 Μαθηματική Έκφραση.....63 5.4 Ο προτεινόμενος Αλγόριθμος... 65 5.4.1 Κωδικοποίηση Χρωμοσώματος.....65 5.4.2 Διαδικασία Αρχικοποίησης.67 5.4.3 Συνάρτηση Fitness..68 5.4.4 Γενετικοί Τελεστές..70 5.5 Πειραματικά Αποτελέσματα..73 6 Συμπεράσματα.78 Page 3

Παναγιώτης Λελούδας Βιβλιογραφία..79 Παράρτημα Κωδικών 81 Page 4

Εισαγωγή Τμήμα Μηχανικών Η/Υ και Πληροφορικής Ο χώρος της χρονοδρομολόγησης και του ωρολογίου προγράμματος είναι σύνθετος, πολυδιάστατος και σίγουρα ανεξάντλητος, καθώς συνεχώς παρουσιάζονται νέες απαιτήσεις, διαφορετικοί περιορισμοί και μεγαλύτερα προβλήματα. Οπότε γίνεται εύκολα αντιληπτό, ότι η έρευνα γύρω από το θέμα πρέπει να είναι διαρκής και κάθε αποτέλεσμα είναι το έναυσμα για μια καινούρια προσέγγιση. Οι έρευνες αυτές, δεν περιορίζονται σε ένα μόνο πεδίο, αλλά έχουν πρακτικές εφαρμογές σε περισσότερους χώρους. Όταν λοιπόν, ανακαλύπτεται μια νέα μέθοδος χρονοδρομολόγησης, μπορεί να εφαρμοστεί όχι μόνο στο αντικείμενο για το οποίο προορίζεται, αλλά και σε διάφορα παρεμφερή (ή όχι) προβλήματα. Για τον τομέα της χρονοδρομολόγησης, ο κυριότερος στόχος είναι η εύρεση του βέλτιστου ωρολογίου προγράμματος σε διάφορες υπηρεσίες. Ένα χαρακτηριστικό παράδειγμα είναι το πρόγραμμα των σχολείων και των πανεπιστημίων, οι εξετάσεις αυτών, η κατανομή προσωπικού σε μια εταιρεία ή αυτό που με το οποίο θα ασχοληθούμε περισσότερο εδώ, η βέλτιστη χρονοδρομολόγηση όλων των μέσων μαζικής μεταφοράς, από λεωφορεία μέχρι αεροπλάνα. Ιδιαίτερο ενδιαφέρον παρουσιάζει το πρόβλημα των συγκοινωνιών κυρίως γιατί περιλαμβάνει πάρα πολλούς εξωγενείς παράγοντες οι οποίοι ως επί το πλείστον είναι απρόβλεπτοι. Επομένως η εύρεση του όσο πιο δυνατόν βέλτιστου ωρολογίου προγράμματος και η μείωση του κόστους, αποτελούν τον ακρογωνιαίο λίθο για την καλύτερη εξυπηρέτηση του επιβατικού κοινού. Page 5

Παναγιώτης Λελούδας Όμως η αλήθεια είναι ότι ιδανική λύση στο πρόβλημα αυτό δεν υπάρχει και δεν είναι δυνατόν να υπάρξει (τουλάχιστον με τα εφόδια που έχουμε σήμερα), επειδή το πρόγραμμα εξαρτάται όχι μόνο από τους οδηγούς και τα δρομολόγια αλλά και από τις διαρκώς εξελισσόμενες ανάγκες δικτύωσης. Στο πρώτο κεφάλαιο γίνεται μια εισαγωγική περιγραφή στην χρονοδρομολόγηση και στο ωρολόγιο πρόγραμμα παρουσιάζοντας τα κυριότερα χαρακτηριστικά τους. Στη συνέχεια στο δεύτερο κεφάλαιο, επιχειρείται μία παρουσίαση των Εξελικτικών Αλγορίθμων και έπειτα των Γενετικών Αλγορίθμων με αναλυτική περιγραφή των ιδιοτήτων τους. Το τρίτο κεφάλαιο είναι μια ιστορική αναδρομή στα προβλήματα χρονοδρομολόγησης που αντιμετωπίστηκαν με Γενετικούς Αλγορίθμους και παρουσιάζουν το μεγαλύτερο ενδιαφέρον. Στο τέταρτο κεφάλαιο παρουσιάζονται κάποια συγκεκριμένα παραδείγματα Γενετικών Αλγορίθμων στην χρονοδρομολόγηση αναλυτικά. Έπειτα παρουσιάζουμε την δική μας προσέγγιση, στο πέμπτο κεφάλαιο, μαζί με τις μετρήσεις και τα αποτελέσματά μας και στο τελευταίο κεφάλαιο εμφανίζονται τα συμπεράσματα της εργασίας. Page 6

Τμήμα Μηχανικών Η/Υ και Πληροφορικής ΚΕΦΑΛΑΙΟ 1 Χρονοδρομολόγηση και Ωρολόγιο πρόγραμμα Χρονοδρομολόγηση είναι η τοποθέτηση οντοτήτων (ανθρώπων, εργασιών, οχημάτων, διαλέξεων, εξετάσεων κλπ) σε ένα μοντέλο στο χωροχρόνο με τέτοιο τρόπο που ικανοποιούνται κάποιοι περιορισμοί και επιτυγχάνονται κάποιοι στόχοι. Η κατασκευή του προγράμματος, είναι το πρόβλημα στο οποίο ο χρόνος, ο χώρος και άλλες πηγές πρέπει να συνυπολογιστούν στην τοποθέτηση. Οι περιορισμοί είναι σχέσεις μεταξύ των οντοτήτων ή ανάμεσα στις οντότητες και τα μοντέλα, που περιορίζουν την κατασκευή του προγράμματος. Οι περιορισμοί μπορούν να διαχωριστούν σε ισχυροί και αδύναμοι. Οι ισχυροί περιορισμοί δεν πρέπει να παραβιαστούν υπό οποιεσδήποτε συνθήκες. Οι λύσεις που ικανοποιούν αυτούς τους περιορισμούς ονομάζονται εφικτές. Είναι επιθυμητό να ικανοποιηθούν όσο το δυνατόν περισσότεροι αδύναμοι περιορισμοί αλλά αν κάποιος παραβιαστεί, εφαρμόζεται μία ποινή και η λύση θεωρείται ακόμα εφικτή. Στην πράξη η χρονοδρομολόγηση μπορεί να θεωρηθεί ως ένα πρόβλημα αναζήτησης για το οποίο απαιτείται η εύρεση εφικτού προγράμματος ή σαν ένα πρόβλημα βελτιστοποίησης στο οποίο αναζητούμε το καλύτερο εφικτό πρόγραμμα. Η καλύτερη λύση συνήθως ορίζεται αυτή με τις λιγότερες ποινές. Στα πραγματικά προβλήματα, η αξιολόγηση των συνθηκών που κάνουν ένα πρόγραμμα προτιμότερο από ένα άλλο και η ενσωμάτωση αυτής της πληροφορίας σε ένα αυτόματο σύστημα, Page 7

Παναγιώτης Λελούδας δεν είναι εύκολη δουλειά. Επίσης η συνδυαστική φύση αυτών των προβλημάτων επιβάλλει την εξερεύνηση τεράστιων χώρων αναζήτησης και η ανθρώπινη παρέμβαση είναι συνήθως απαραίτητη για να κατευθύνει την έρευνα στις υποσχόμενες περιοχές. Ο τομέας των προβλημάτων χρονοδρομολόγησης περιλαμβάνει ένα πλατύ φάσμα προβλημάτων όπως: η χρονοδρομολόγηση γεγονότων η χρονοδρομολόγηση προσωπικού η χρονοδρομολόγηση οχημάτων και πολλών άλλων. Ως στόχοι μπορούν να οριοθετηθούν: η ελαχιστοποίηση του προγράμματος η βελτιστοποίηση της χρήσης των διαθέσιμων πόρων η ικανοποίηση των προτιμήσεων των ανθρώπινων πόρων (χρονοδρομολόγηση προσωπικού) Για πολλά χρόνια απασχολεί την επιστημονική κοινότητα το πρόβλημα της εύρεσης του βέλτιστου ωρολογίου προγράμματος και της καλύτερης χρονοδρομολόγησης. Αυτό το πρόβλημα όπως γίνεται εύκολα κατανοητό, δεν είναι ένα κλασικό πρόβλημα γραμμικής φύσεως και ως εκ τούτου δεν μπορεί να αντιμετωπιστεί και να επιλυθεί με τέτοια προσέγγιση. Αυτό που προσπαθούμε να καταφέρουμε είναι να εξετάσουμε το πρόβλημα από μια διαφορετική οπτική γωνία, όσο το δυνατόν πιο σφαιρικά γίνεται, ούτως ώστε να μην εγκλωβιστούμε σε μια απλά καλή λύση, αλλά να διερευνήσουμε διεξοδικά και κυρίως αποδοτικά το εύρος των πιθανών λύσεων. Αναγκαζόμαστε λοιπόν να ασχοληθούμε με εναλλακτικούς τρόπους επίλυσης προβλημάτων, διότι αυτό που μας ενδιαφέρει είναι όχι μόνο να κατορθώσουμε να βρούμε την λύση στο εκάστοτε Page 8

Τμήμα Μηχανικών Η/Υ και Πληροφορικής πρόβλημα, αλλά να αφήσουμε και μια παρακαταθήκη για ενδεχόμενα μεταγενέστερα προβλήματα. Το πεδίο που παρουσιάζει το μεγαλύτερο ενδιαφέρον είναι αυτό της χρονοδρομολόγησης των μέσων μαζικής μεταφοράς. Ένα βασικό πρόβλημα που είχαν και έχουν τα μέσα μαζικής μεταφοράς, είναι η δυσκολία της αποδοτικής κατανομής των ανθρώπινων πόρων στα δρομολόγια. Επειδή ένα πρόγραμμα επηρεάζεται όχι μόνο από τους οδηγούς και τα δρομολόγια αλλά και από αρκετούς ακόμα περιορισμούς, η εύρεση της βέλτιστης λύσης είναι επιτακτική ανάγκη. Επομένως με βάση όλα τα παραπάνω, γίνεται μια μεγάλη προσπάθεια ανεύρεσης αποδοτικών αλγορίθμων και μεθόδων επίλυσης και αναζήτησης λύσεων, αλλά και εργαλείων σύγκρισης και συσχετισμού των λύσεων, για την αξιολόγηση τους και την επιλογή της καταλληλότερης. Αυτό λοιπόν που μας ενδιαφέρει είναι να εστιάσουμε στα προβλήματα χρονοδρομολόγησης οχημάτων που έχουν εφαρμογές στις συγκοινωνίες. Η διαδικασία χρονοδρομολόγησης των οδηγών είναι η κατασκευή ενός συνόλου από νόμιμες βάρδιες, όπου όλες μαζί καλύπτουν τα κομμάτια του προγράμματος ενός οχήματος που ανήκει σε ένα σύνολο πολλών οχημάτων ενός οργανισμού (Σχήμα 1). Τα κομμάτια μπορούν να θεωρηθούν ως μονάδες εργασίας. Πολλές μονάδες εργασίας ενός οχήματος σχηματίζουν ένα τμήμα της βάρδιας ενός οδηγού και μία βάρδια μπορεί να καλύπτει μονάδες εργασίας διαφορετικών κομματιών, αν και χάνεται η αποδοτικότητα αν οι οδηγοί αλλάζουν λεωφορεία αχρείαστα. Αυτή η μεθοδολογία μπορεί εύκολα να επεκταθεί και για περιπτώσεις όπου περισσότερα από ένα άτομα ανατίθενται σε ένα όχημα: είτε όλο το πλήρωμα υπόκειται σε παρόμοιους κανόνες και προγραμματίζεται ταυτόχρονα ή παράγεται ξεχωριστό πρόγραμμα για κάθε μέλος του πληρώματος. Page 9

Παναγιώτης Λελούδας Σχήμα 1 Η χρονοδρομολόγηση των οδηγών υπόκειται σε ένα σύνολο κανόνων που είναι συγκεκριμένοι σε έναν οργανισμό. Οι κανόνες είναι συνήθως ένα μείγμα εθνικών και τοπικών κανόνων και κάποιοι μπορεί να είναι άγραφοι ή ελαστικοί και να παρακάμπτονται σε ορισμένες περιπτώσεις. Τυπικά, υπάρχουν περιορισμοί για το σύνολο ωρών εργασίας, την ώρα διαλείμματος και την κατανομή των δρομολογίων μέσα στη μέρα. Page 10

Τμήμα Μηχανικών Η/Υ και Πληροφορικής Η υλοποίηση γίνεται ακόμα πιο δύσκολη αν αναλογιστούμε το πόσοι άνθρωποι επηρεάζονται από το τελικό πρόγραμμα που προκύπτει. Υπάρχουν τρεις 7κατηγορίες άμεσα ενδιαφερόμενων που θέτουν τους δικούς τους στόχους και τις δικές τους επιθυμίες: 1. Ο οργανισμός που θέτει κάποιες προϋποθέσεις, όπως για παράδειγμα το επιθυμητό πλήθος δρομολογίων που πρέπει να πραγματοποιηθούν σε μία μέρα ή το ελάχιστο κέρδος που θα πρέπει να έχει το κάθε δρομολόγιο για να συνεχίσει την λειτουργία του. 2. Η τοπική διεύθυνση που θέλει να ικανοποιηθούν όλα τα απαιτούμενα δρομολόγια και να εξυπηρετηθεί όσο το δυνατόν περισσότερος κόσμος. 3. Οι οδηγοί που η οπτική τους στο πρόγραμμα περιορίζεται στο κομμάτι που τους αφορά μόνο. Θέλουν να έχουν σταθερές βάρδιες και να μην εναλλάσσονται (να μην δουλεύουν δηλαδή την μία μέρα βράδυ και την αμέσως επόμενη πρωί), να καταλήγει η βάρδια τους στην έδρα τους και να έχουν συνεχές ωράριο. Έχοντας ένα σύνολο οδηγών γίνεται δύσκολος ο καθορισμός συγκεκριμένων κριτηρίων για το ποιο πρόγραμμα είναι το καταλληλότερο για τους οδηγούς. Έτσι πρέπει να χωριστούν οι περιορισμοί σε υποκατηγορίες: Ανάθεση Κάποιοι οδηγοί έχουν την απαίτηση να είναι συνέχεια με το ίδιο λεωφορείο ή ακόμα και όταν έχουν ρεπό να μην το χρησιμοποιεί άλλος. Αυτό συμβαίνει κυρίως λόγω ιδιοκτησίας του λεωφορείου και λύνεται με το να θεωρούμε τον οδηγό και το λεωφορείο σαν μία οντότητα. Βέβαια πολλοί οδηγοί δεν έχουν δικό τους λεωφορείο και αυτό αυξάνει την πολυπλοκότητα. Page 11

Παναγιώτης Λελούδας Χρονική Ανάθεση Αν για παράδειγμα κάποιος οδηγός δεν είναι διαθέσιμος κάποιες μέρες και πρέπει υποχρεωτικά να πάρει την άδεια αυτές τις μέρες. Χρονικοί Περιορισμοί ανάμεσα στα Δρομολόγια Κάποια δρομολόγια ίσως χρειάζεται να περιμένουν να εκτελεστεί πρώτα ένα άλλο για να ξεκινήσουν (πχ να χρειάζεται να περιμένουν τους επιβάτες ενός άλλου δρομολογίου). Κατανομή Οδηγών Οι οδηγοί θα πρέπει κυκλικά να εκτελούν όλα τα δρομολόγια για αν αποφευχθούν αδικίες. Δεν θα πρέπει ένας οδηγός να εκτελεί συνέχεια το ίδιο δρομολόγιο. Συνεκτικότητα Προγράμματος Αυτοί οι περιορισμοί χρειάζονται για να παράγουν πιο οργανωμένα και άνετα προγράμματα και συχνά έρχονται σε σύγκρουση με τους περιορισμούς κατανομής. Οι οδηγοί προτιμούν να έχουν τις μέρες της άδειας συνεχόμενες και όχι διάσπαρτες μέσα στην εβδομάδα. Πολλά είναι τα παραδείγματα των ερευνητικών εργασιών που ασχολούνται με το συγκεκριμένο πρόβλημα και προσπαθούν, από διάφορες κατευθύνσεις, να ανακαλύψουν την όσο το δυνατόν καλύτερη προσέγγιση σε πιθανές λύσεις. Page 12

Τμήμα Μηχανικών Η/Υ και Πληροφορικής ΚΕΦΑΛΑΙΟ 2 2.1 Εξελικτικοί Αλγόριθμοι 2.1.1 Εισαγωγή Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) τα τελευταία χρόνια, είναι ένας ευρέως γνωστός και αναπτυσσόμενος τομέας που επιτυγχάνει την επίλυση πολλών προβλημάτων. Οι εξελικτικοί αλγόριθμοι είναι πιθανοτικές μέθοδοι αναζήτησης που όπως εύκολα συμπεραίνουμε από το όνομά τους, είναι εμπνευσμένοι και μιμούνται την διαδικασία της φυσικής βιολογικής εξέλιξης. Πράγματι, η προέλευσή τους είναι περισσότερο συνδεδεμένη με την βιολογία παρά με την επιστήμη των Υπολογιστών. Το κύριο χαρακτηριστικό τους είναι ότι χρησιμοποιούν μια μεθοδολογία η οποία είναι εύκολη στην κατανόηση και στην εφαρμογή της. Η μεθοδολογία αυτή μπορεί να χρησιμοποιηθεί είτε αυτούσια (σα να ήταν ένα μαύρο κουτί), είτε σε συνδυασμό με άλλες μεθόδους και τεχνικές, γεγονός που οδηγεί συχνά σε νέες υβριδικές και εξειδικευμένες μορφές των ΕΑ. Οι ΕΑ είναι εφαρμόσιμοι ακόμα και σε δυναμικά συστήματα στα οποία ο στόχος και οι περιορισμοί του προβλήματος μπορεί να μεταβάλλονται σε σχέση με το χρόνο. Επίσης μπορούν να χρησιμοποιηθούν με επιτυχία σε περιπτώσεις όπου ο χώρος αναζήτησης είναι ασυνεχής, έχει πολλά ακρότατα, είναι χαοτικός και γενικότερα σε περιπτώσεις όπου οι παραδοσιακές μέθοδοι επίλυσης δεν δίνουν ικανοποιητικά αποτελέσματα. Οι ΕΑ λειτουργούν σε έναν πληθυσμό πιθανών λύσεων που εφαρμόζουν την αρχή της επιβίωσης του καταλληλότερου, ώστε να παραγάγουν τις καλύτερες λύσεις ή τις καλύτερες προσεγγίσεις σε μια λύση. Σε κάθε γενεά, ένα νέο σύνολο προσεγγίσεων δημιουργείται με διαδικασία κατά την οποία ατομικότητες επιλέγονται Page 13

Παναγιώτης Λελούδας σύμφωνα με το επίπεδο καταλληλότητας τους, για την περιοχή του προβλήματος, και συμμετέχουν στην αναπαραγωγική διαδικασία, χρησιμοποιώντας τελεστές δανεισμένους από τη φυσική γενετική. Αυτή η διαδικασία οδηγεί στην εξέλιξη των πληθυσμών ατομικοτήτων που ταιριάζουν καλύτερα στο περιβάλλον τους, απ' ότι οι ατομικότητες που τις δημιούργησαν, ακριβώς όπως στη φυσική προσαρμογή. Οι Εξελικτικοί Αλγόριθμοι ενεργούν βάση των φυσικών διαδικασιών, όπως η επιλογή, ο συνδυασμός, η μετάλλαξη, η μετανάστευση, η τοπικότητα και η γειτονικότητα. Στο Σχήμα 2 παρουσιάζεται η δομή ενός απλού Εξελικτικού Αλγορίθμου. Οι ΕΑ λειτουργούν στους πληθυσμούς των ατομικοτήτων αντί των ενιαίων λύσεων. Κατ' αυτό τον τρόπο η αναζήτηση εκτελείται κατά τρόπο παράλληλο. Σχήμα 2 Τυπικά ένας Εξελικτικός Αλγόριθμος αρχικοποιεί τον πληθυσμό του με τυχαίο τρόπο, παρόλο που κύρια γνώση μπορεί επίσης να χρησιμοποιηθεί για να κατευθύνει την αναζήτηση. Οι ΕΑ μετρούν την τιμή καταλληλότητα (fitness) κάθε Page 14

Τμήμα Μηχανικών Η/Υ και Πληροφορικής ατομικότητας, σύμφωνα με την αξία της σε κάποιο περιβάλλον και έτσι παράγεται η πρώτη, αρχική γενεά. Εάν τα κριτήρια βελτιστοποίησης δεν ικανοποιούνται, η δημιουργία μιας νέας γενεάς αρχίζει. Οι ατομικότητες επιλέγονται σύμφωνα με την ικανότητά τους για την παραγωγή των απογόνων. Η Επιλογή των γονέων αποφασίζει για το ποιες ατομικότητες θα γίνουν γονείς και πόσα παιδιά θα κάνουν. Η Εξέλιξη, μπορεί να είναι τόσο απλή διαδικασία σαν τον υπολογισμό μιας συνάρτησης καταλληλότητας, είτε τόσο πολύπλοκη, σαν την εκτέλεση μιας περίτεχνης προσομοίωσης. Τα παιδιά δημιουργούνται μέσω της Διασταύρωσης, η οποία ανταλλάσσει πληροφορίες μεταξύ των γονέων και της Μετάλλαξης, η οποία επιπλέον αναταράσσει τα παιδιά, με μια ορισμένη πιθανότητα. Έπειτα και πάλι υπολογίζεται η ικανότητα του απογόνου. Οι απόγονοι παρεμβάλλονται στον πληθυσμό και αντικαθιστούν τους γονείς παράγοντας μια νέα γενεά. Το στάδιο αυτό πολλές φορές, ολοκληρώνεται βάσει της διαδικασίας της Επιβίωσης (Survival), κατά την οποία αποφασίζεται ποιες ατομικότητες (γονείς και παιδιά) θα επιβιώσουν στον πληθυσμό. Αυτός ο κύκλος εκτελείται έως ότου επιτευχθούν τα κριτήρια βελτιστοποίησης. Ας παρουσιάσουμε έναν Εξελικτικό αλγόριθμο μέσα από ένα απλό παράδειγμα. Έστω ότι ένας κατασκευαστής αυτοκινήτων θέλει να σχεδιάσει μια νέα μηχανή και ένα σύστημα καυσίμων, με σκοπό να μεγιστοποιήσει την παρουσίαση, την διαθεσιμότητα, καθώς και το κέρδος σε καύσιμα, ενώ παράλληλα να ελαχιστοποιήσει την εκπομπή καυσαερίων. Ας υποθέσουμε επίσης, πως μια μονάδα προσομοίωσης μιας μηχανής μπορεί να ελέγξει πολλές μηχανές και να επιστρέψει μια μόνο τιμή προσδιορίζοντας το σκορ καταλληλότητας της μηχανής αυτής. Όμως ο αριθμός των δυνατών μηχανών είναι μεγάλος και ο χρόνος δεν είναι επαρκής ώστε να ελεγχθούν όλες. Τον τρόπο με τον οποίο ένα τέτοιο πρόβλημα αντιμετωπίζεται από τους ΕΑ θα παρουσιάσουμε παρακάτω. Πρώτα θα ορίσουμε κάθε ατομικότητα ώστε, να αναπαριστά μια συγκεκριμένη μηχανή. Για παράδειγμα υποθέτουμε ότι οι μεταβλητές μιας μηχανής Page 15

Παναγιώτης Λελούδας είναι το CID, το σύστημα παροχής καυσίμων, ο αριθμός των βαλβίδων, οι κύλινδροι και η παρουσία υπέρ-τροφοδότη. Το βήμα αρχικοποίησης θα δημιουργήσει έναν αρχικό πληθυσμό από μηχανές. Για χάρη απλότητας, ας θεωρήσουμε ένα πολύ μικρό πληθυσμό μεγέθους τέσσερα. Έστω, ένα παράδειγμα αρχικού πληθυσμού: Ατομικότητες CID Συστ. Παρ. καυσίμων Βαλβίδες Κύλινδροι Υπερτροφοδότης 1 350 4 16 8 Ναι 2 250 Μηχαν. Έκχυση (Inject) 3 150 Ηλεκτρ. Έκχυση (Inject) 12 6 Όχι 12 4 Ναι 4 200 2 8 4 Όχι Τώρα θα υπολογίσουμε κάθε ατομικότητα μέσω του προσομοιωτή μηχανών. Σε κάθε ατομικότητα αντιστοιχίζεται μια βαθμολογία καταλληλότητας (όσο μεγαλύτερη τόσο καλύτερη) Ατομικότητες CID Συστ. Παρ. καυσίμων Βαλβίδες Κύλινδροι Υπερτροφοδότης Βαθμολογία 1 350 4 16 8 Ναι 50 2 250 Μηχαν. Έκχυση (Inject) 3 150 Ηλεκτρ. Έκχυση (Inject) 12 6 Όχι 100 12 4 Ναι 300 4 200 2 8 4 Όχι 150 Η επιλογή των γονέων ορίζει ποιες ατομικότητες θα αποκτήσουν παιδιά. Για παράδειγμα θα μπορούσαμε να αποφασίσουμε ότι η ατομικότητα 3 θα αποκτήσει παιδιά επειδή είναι πολύ καλύτερη από τις άλλες ατομικότητες. Τα παιδιά δημιουργούνται με διασταύρωση και μετάλλαξη. Όπως αναφέρθηκε και πριν, η Page 16

Τμήμα Μηχανικών Η/Υ και Πληροφορικής διασταύρωση ανταλλάσσει πληροφορίες μεταξύ των γονέων, ενώ η μετάλλαξη τις αναταράσσει, έτσι ώστε να αυξηθεί η ποικιλία. Για παράδειγμα, η διασταύρωση των ατομικοτήτων 3 και 4 μπορεί να παράγει τα εξής δύο παιδιά: Ατομικότητες CID Συστ. Παρ. καυσίμων Βαλβίδες Κύλινδροι Υπερτροφοδότης 3' 200 Ηλεκτρ. Έκχυση (Inject) 8 4 Ναι 4' 150 2 12 4 Όχι Σημειώνεται, ότι τα παιδιά έχουν διαμορφωθεί από τα στοιχεία των γονέων. Επιπλέον, σημειώνεται, ότι ο αριθμός των Κυλίνδρων πρέπει να είναι 4, αφού οι γονείς έχουν 4 Κυλίνδρους. Η μετάλλαξη θα μπορούσε να αναταράξει τα παιδιά αυτά με το εξής αποτέλεσμα: Ατομικότητες CID Συστ. Παρ. καυσίμων Βαλβίδες Κύλινδροι Υπερτροφοδότης 3' 250 Ηλεκτρ. Έκχυση (Inject) 8 4 Ναι 4' 150 2 12 6 Όχι εξής τιμές: Τώρα θα υπολογίσουμε την καταλληλότητα των παιδιών, που θα δώσει τις Ατομικότητες CID Συστ. Παρ. καυσίμων Βαλβίδες Κύλινδροι Υπερτροφοδότης Βαθμολογία 3' 250 Ηλεκτρ. Έκχυση (Inject) 8 4 Ναι 250 4' 150 2 12 6 Όχι 350 Page 17

Παναγιώτης Λελούδας Τέλος, θα αποφασίσουμε για το ποιες ατομικότητες θα επιζήσουν. Στο δικό μας παράδειγμα σταθερού μεγέθους πληθυσμού, το οποίο είναι ένας τυπικός ΕΑ, είναι ανάγκη να επιλεγούν ποιες τέσσερις ατομικότητες θα επιβιώσουν και θα αποτελέσουν τον επόμενο πληθυσμό. Το πως θα επιτευχθεί αυτό, ποικίλει σημαντικά για τους διάφορους ΕΑ. Αν για παράδειγμα, μόνο η καλύτερη ατομικότητα επιβιώνει, ο πληθυσμός μας θα γινόταν: Ατομικότητες CID Συστ. Παρ. καυσίμων Βαλβίδες Κύλινδροι Υπερτροφοδότης Βαθμολογία 3 150 Ηλεκτρ. Έκχυση (Inject) 12 4 Ναι 300 4 200 2 8 4 Όχι 150 3' 250 Ηλεκτρ. Έκχυση (Inject) 8 4 Ναι 250 4' 150 2 12 6 Όχι 350 Αυτός ο κύκλος υπολογισμού, επιλογής, διασταύρωσης, μετάλλαξης και επιβίωσης συνεχίζει μέχρι να επιτευχθούν κάποια κριτήρια τερματισμού. Αυτό το απλό παράδειγμα παρουσιάζει έναν τυπικό ΕΑ. Είναι σημαντικό να επισημανθεί ότι παρά του ότι η βασική ιδέα όλων των ΕΑ είναι παρόμοια, η ιδιαίτερη εφαρμογή τους διαφέρει σε πολλές λεπτομέρειες. Για παράδειγμα, υπάρχει μια μεγάλη ποικιλία μηχανισμών για την διαδικασία της Επιλογής. Η αναπαράσταση των ατομικοτήτων επίσης, κυμαίνεται από bit-strings σε διανύσματα πραγματικών τιμών, ως Lisp-expressions και Νευρωνικά δίκτυα. Τέλος ο σημαντικός ρόλος της διασταύρωσης και της μετάλλαξης καθώς επίσης και οι ιδιαίτερες εφαρμογές τους, διαφέρουν σημαντικά στις διάφορες εφαρμογές των ΕΑ. Ένας τέτοιος ενιαίος Εξελικτικός Αλγόριθμος πληθυσμών είναι ισχυρός και αποδίδει καλά σε μια ευρεία κατηγορία προβλημάτων. Εντούτοις, τα καλύτερα Page 18

Τμήμα Μηχανικών Η/Υ και Πληροφορικής αποτελέσματα μπορούν να επιτευχθούν με την εισαγωγή πολλών πληθυσμών, αποκαλούμενων Υποσύνολα Πληθυσμού. Κάθε υποσύνολο πληθυσμού εξελίσσεται για μερικές γενεές και απομονώνεται (όπως στον ενιαίο Εξελικτικό Αλγόριθμο πληθυσμών), προτού να ανταλλαχθούν ένα ή περισσότερα άτομα μεταξύ των υποσυνόλων του πληθυσμού. Ο Πολύ-πληθυσμιακός Εξελικτικός Αλγόριθμος (Multi-population Evolutionary Algorithm) διαμορφώνει την εξέλιξη με έναν τρόπο πιο συμβατό με τη φύση, απ' ότι ο ενιαίος Εξελικτικός Αλγόριθμος πληθυσμών. Από την παραπάνω παρουσίαση μπορεί να φανεί ότι οι ΕΑ διαφέρουν ουσιαστικά από τις παραδοσιακότερες μεθόδους αναζήτησης και βελτιστοποίησης. Οι σημαντικότερες διαφορές είναι: Οι Εξελικτικοί Αλγόριθμοι ψάχνουν έναν πληθυσμό των σημείων παράλληλα, όχι ένα μόνο σημείο. Οι Εξελικτικοί Αλγόριθμοι δεν επιθυμούν παράγωγες πληροφορίες ή άλλη βοηθητική γνώση, μόνο η αντικειμενική συνάρτηση και τα αντίστοιχα επίπεδα καταλληλότητας επηρεάζουν τις κατευθύνσεις της αναζήτησης, Οι Εξελικτικοί Αλγόριθμοι χρησιμοποιούν τους πιθανολογικούς κανόνες μετάβασης, όχι Ντετερμινιστικούς. Οι Εξελικτικοί Αλγόριθμοι είναι γενικά απλούστεροι για να ισχύσουν Οι Εξελικτικοί Αλγόριθμοι μπορούν να παρέχουν διάφορες πιθανές λύσεις σε ένα δεδομένο πρόβλημα. Η τελική επιλογή αφήνεται στον χρήστη. Έτσι σε περιπτώσεις όπου το ιδιαίτερο πρόβλημα δεν έχει μεμονωμένη λύση, παραδείγματος χάριν όπως στην περίπτωση της πολλαπλών στόχων βελτιστοποίησης, ο εξελικτικός αλγόριθμος είναι ενδεχομένως χρήσιμος. Page 19

Παναγιώτης Λελούδας 2.1.2 Βασικές Αρχές των Εξελικτικών Αλγορίθμων Οι ΕΑ είναι βασισμένοι στην προσομοίωση των διάφορων εξελικτικών διαδικασιών και γι' αυτό βασίζονται στις κύριες αρχές που διέπουν την φυσική εξέλιξη. Οι αρχές αυτές δεν είναι άλλες από την Αναπαραγωγή, την τυχαία Μετάλλαξη, τον Ανταγωνισμό και την Επιλογή των ατόμων του πληθυσμού για εξέλιξη και αποτελούν τα θεμελιώδη χαρακτηριστικά της εξέλιξης. Η αναπαραγωγή αποτελεί την πιο βασική ιδιότητα των ζωντανών οργανισμών. Η διαδικασία της αναπαραγωγής επιτυγχάνεται με μεταφορά του γενετικού υλικού ενός ατόμου στους απογόνους του. Αν για κάποιο λόγο η μεταφορά αυτή επιτευχθεί με λάθος τρόπο τότε, αντικαθίσταται βάσει του φαινομένου της μετάλλαξης. Κατά τον ανταγωνισμό, παρατηρείται αύξηση των έμβιων όντων μέσα σε ένα χώρο με περιορισμένες πηγές πόρων. Τέλος, η Επιλογή μία στοχαστική και όχι ντετερμινιστική διαδικασία, είναι εκείνη του συνταιριάσματος δύο όντων με σκοπό την αναπαραγωγή. 2.1.3 Λόγοι Χρήσης Εξελικτικών Αλγορίθμων Η ανάγκη να υλοποιηθούν οι Εξελικτικοί Αλγόριθμοι σε ηλεκτρονικούς υπολογιστές προήλθε από τέσσερις διαφορετικές επιστημονικές κατευθύνσεις: Η Επιστήμη των μηχανικών: Οι ΕΑ δύναται να χρησιμοποιηθούν για την επίλυση δύσκολων γραμμικών ή μη γραμμικών προβλημάτων βελτιστοποίησης που αφορούν στην επιστήμη των μηχανικών. Αυτό συμβαίνει ιδιαίτερα όταν τα προβλήματα εμπεριέχουν στοχαστικές, μεταβλητές ή χαοτικές συνιστώσες. Η Επιστήμη της Βιολογίας: Οι ΕΑ δύναται να αναπαραστήσουν και να προσομοιώσουν ενέργειες της φυσικής εξέλιξης έτσι ώστε, να παράγουν πρότυπα για Page 20

Τμήμα Μηχανικών Η/Υ και Πληροφορικής την απόκτηση νέων γνώσεων για τη φύση και τη λειτουργία των φυσικών εξελικτικών διαδικασιών. Προβλήματα με μεταβαλλόμενες συνθήκες: Οι ΕΑ δύναται να αλλάζουν την στρατηγική επίλυσης με βάση τις πιο πρόσφατες πληροφορίες σχετικά με την αποτυχία ή την επιτυχία της τρέχουσας στρατηγικής. Προσαρμόζουν λοιπόν, την διαδικασία επίλυσης με βάση τις παρούσες συνθήκες του προβλήματος το οποίο επιλύουν. Η Τεχνητή Επιστήμη: Οι ΕΑ δύναται να προσαρμόζουν τις ενέργειες τους βάσει των προβλεπόμενων μελλοντικών συνθηκών ή καταστάσεων. Έτσι, με σκοπό την παραγωγή τεχνητής νοημοσύνης έγινε χρήση των ΕΑ ως προσομοίωση της εξελικτικής διαδικασίας σε μία κλάση αλγορίθμων πρόβλεψης. 2.1.4 Ιδιότητες των Εξελικτικών Αλγορίθμων Το γεγονός ότι οι ΕΑ βασίζονται στη φυσική εξέλιξη και τους νόμους που διέπουν την φυσική αναπαραγωγή, γίνεται φανερό πως έχουν κάποιες βασικές ιδιότητες άμεσα συνδεδεμένες με τις φυσικές διαδικασίες. Οι ιδιότητες αυτές συνοψίζονται στα εξής: Οι ΕΑ αξιοποιούν τη συλλογική διαδικασία μάθησης ενός πληθυσμού από τα ίδια τα άτομα του πληθυσμού. Συνήθως, κάθε άτομο αναπαριστά, σε κωδικοποιημένη ή μη μορφή, ένα σημείο αναζήτησης μέσα στο χώρο των πιθανών λύσεων ενός συγκεκριμένου προβλήματος. Μερικές φορές, τα άτομα μπορούν επίσης να συμπεριλάβουν και άλλου είδους πληροφορίες, όπως για παράδειγμα στρατηγικές παραμέτρους του ΕΑ. Οι απόγονοι των ατόμων δημιουργούνται μέσα από τυχαίες διαδικασίες που έχουν ως στόχο να μοντελοποιήσουν την μετάλλαξη και την διασταύρωση Page 21

Παναγιώτης Λελούδας (διαδικασία συνδυασμού του γενετικού υλικού των ατόμων). Η μετάλλαξη αντιστοιχεί σε μια λανθασμένη αντιγραφή των χαρακτηριστικών των ατόμων στους απογόνους τους (συνήθως, οι μικρού εύρους αλλαγές είναι πολύ πιο πιθανές από αλλαγές μεγάλου εύρους). Η διασταύρωση ανταλλάσει γενετική πληροφορία ανάμεσα σε δύο ή περισσότερα άτομα που υπάρχουν στον πληθυσμό. Όσον αφορά την αποτίμηση των ατόμων μέσα στο περιβάλλον τους, μπορεί να ανατεθεί σε κάθε άτομο ένα μέτρο της ποιότητας ή της απόδοσής του. Ως ελάχιστη απαίτηση, θα πρέπει να υπάρχει και η δυνατότητα για σύγκριση της απόδοσης δύο ατόμων η οποία να καταλήγει σε απόφαση για το ποιο από τα δύο είναι καλύτερο από το άλλο. Βασισμένη στο μέτρο απόδοσής τους η διαδικασία επιλογής θα επιλέγει για αναπαραγωγή πιο συχνά τα άτομα που έχουν υψηλή απόδοση σε σχέση με αυτά που παρουσιάζουν χαμηλή. Αυτές αποτελούν μόνο τις πιο γενικές από τις ιδιότητες που χαρακτηρίζουν τους ΕΑ. Οι μορφές των ΕΑ που θα συζητηθούν στην συνέχεια του κεφαλαίου τις χρησιμοποιούν σε διάφορες μορφές και συνδυασμούς. 2.1.5 Μορφές των Εξελικτικών Αλγόριθμων Η καταγωγή των ΕΑ μπορεί να εντοπιστεί στην δεκαετία του '50 (πχ Fraser 1957, Box 1957). Χάριν συντομίας, δεν θα επικεντρωθούμε σε αυτή την αρχική μελέτη αλλά θα αναφέρουμε με μερικές λεπτομέρειες τρεις μεθοδολογίες οι οποίες εμφανίστηκαν πριν μερικές δεκάδες χρόνια: ο Εξελικτικός Προγραμματισμός (Evolutionary Programming) (Fogel et al. 1966), οι Εξελικτικές Στρατηγικές (Evolutionary Strategies) (Rechenberg, 1973) και οι Γενετικοί Αλγόριθμοι (Genetic Algorithms) (Holland, 1975). Page 22

Τμήμα Μηχανικών Η/Υ και Πληροφορικής Παρά του ότι κοιτώντας αυτές τις μεθοδολογίες σε ένα υψηλό επίπεδο είναι παρόμοιες, κάθε ένα από τα είδη αυτά υλοποιεί έναν ΕΑ με έναν διαφορετικό τρόπο. Οι διαφορές αυτές καλύπτουν όλες σχεδόν τις θεωρήσεις των ΕΑ, συμπεριλαμβάνοντας τις επιλογές αναπαράστασης για τις ατομικές δομές, τους τύπους μηχανισμών Επιλογής που χρησιμοποιούν, τις φόρμες των γενετικών τελεστών και τη συνάρτηση καταλληλότητας. Η διαφοροποίηση μεταξύ τους έγκειται δηλαδή, στον τρόπο με τον οποίο αξιοποιούν τις παραπάνω αρχές. Κάποιες βασικές παραλλαγές στην αξιοποίηση αυτών των αρχών είναι η ειδοποιός διαφορά ανάμεσα στις βασικές μορφές των ΕΑ, δηλαδή τους Γενετικούς Αλγορίθμους, τις Εξελικτικές Στρατηγικές και του Εξελικτικού Προγραμματισμού (D.B. Fogel 1995, Back 1996, Back and Schwefe 1993). Ο Εξελικτικός Προγραμματισμός δίνει έμφαση στην διαδικασία της μετάλλαξης και δεν συμπεριλαμβάνει την διαδικασία της διασταύρωσης μεταξύ των ατόμων. Όπως ακριβώς στην περίπτωση των ΕΣ, όταν αντιμετωπίζει προβλήματα βελτιστοποίησης με πραγματικές παραμέτρους, ο ΕΠ χρησιμοποιεί ομοιόμορφα κατανεμημένες μεταλλάξεις και επεκτείνει την εξελικτική διαδικασία και στις παραμέτρους της στρατηγικής που εφαρμόζεται. Ο τελεστής επιλογής που χρησιμοποιείται είναι πιθανοτικός. Εάν και ο ΕΠ αναπτύχθηκε αρχικά για την εξέλιξη μηχανών πεπερασμένων καταστάσεων, στη σημερινή εποχή οι περισσότερες εφαρμογές τους περιέχουν διανύσματα πραγματικών τιμών. Οι Εξελικτικές Στρατηγικές χρησιμοποιούν ομοιόμορφα κατανεμημένες μεταλλάξεις για να τροποποιήσουν διανύσματα πραγματικών τιμών. Δίνουν έμφαση στην μετάλλαξη και τη διασταύρωση ως απαραίτητες διαδικασίες για την ταυτόχρονη αναζήτηση τόσο μέσα στο χώρο αναζήτησης των λύσεων όσο και μέσα στο χώρο των παραμέτρων της στρατηγικής που εφαρμόζεται. Ο Page 23

Παναγιώτης Λελούδας τελεστής επιλογής είναι ντετερμινιστικός, ενώ το μέγεθος του πληθυσμού των γονέων συνήθως διαφέρει από το μέγεθος του πληθυσμού των απογόνων τους. Οι Γενετικοί Αλγόριθμοι δίνουν μεγαλύτερη έμφαση στη διασταύρωση, την οποία θεωρούν την πιο σημαντική διαδικασία αναπαραγωγής, ενώ εφαρμόζουν μεμονωμένα την μετάλλαξη με μια πολύ μικρή πιθανότητα, αντιμετωπίζοντας την ως μια δεύτερης κατηγορίας διαδικασία. Χρησιμοποιούν επίσης ένα πιθανοτικό τελεστή επιλογής (επιλογή ανάλογα με την απόδοση) και συνήθως βασίζονται σε δυαδική αναπαράσταση των ατόμων. Εκτός από αυτές τις τρεις βασικές μορφές των ΕΑ, υπάρχουν και άλλες μορφές όπως ο Γενετικός Προγραμματισμός (ΓΠ), τα Συστήματα Ταξινόμησης (ΣΤ) και διάφορες υβριδικές μορφές των ΕΑ. Σήμερα στο χώρο της έρευνας των ΕΑ είναι γνωστή μια πλειάδα από διαφορετικές αναπαραστήσεις ατόμων και αντίστοιχους γενετικούς τελεστές, οι οποίοι συνήθως καθορίζονται από τις εφαρμογές που ο εκάστοτε ΕΑ προσπαθεί να επιλύσει. Page 24

2.2 Γενετικοί Αλγόριθμοι Τμήμα Μηχανικών Η/Υ και Πληροφορικής 2.2.1 Εισαγωγή Οι Γενετικοί Αλγόριθμοι (ΓΑ) είναι μέρος των εξελικτικών αλγορίθμων οι οποίοι είναι μια ταχέως εξελισσόμενη περιοχή της Τεχνητής Νοημοσύνης. Οι γενετικοί αλγόριθμοι είναι γενικής χρήσης αλγόριθμοι αναζήτησης που βασίζονται στις αρχές της εξέλιξης που παρατηρούνται στη φύση και γίνονται όλο και περισσότερο γνωστοί χάριν της ικανότητάς τους να λύνουν δύσκολα προβλήματα. Οι ΓΑ υλοποιήθηκαν από τον Holland (1975) που παραδοσιακά χρησιμοποίησε τις περισσότερες κυρίαρχες αναπαραστάσεις, δηλαδή bit-strings. Όμως, πολλές πρόσφατες εφαρμογές των ΓΑ έχουν εστιάσει σε διαφορετικές αναπαραστάσεις, όπως γράφοι (Νευρωνικά Δίκτυα), Lisp-Expressions, διατεταγμένες λίστες και διανύσματα πραγματικών τιμών. Οι ΓΑ χαρακτηρίζονται από την απλότητα και την κομψότητά τους ως γεροί αλγόριθμοι αναζήτησης, καθώς επίσης και από τη δύναμή τους να ανακαλύψουν γρήγορα τις καλές λύσεις δύσκολων, μεγάλης διάστασης προβλημάτων. Οι ΓΑ είναι χρήσιμοι και αποδοτικοί όταν: Το διάστημα αναζήτησης είναι μεγάλο, σύνθετο ή ανεπαρκώς κατανοητό Η γνώση περιοχών είναι λιγοστή ή η ειδική γνώση είναι δύσκολο να κωδικοποιηθεί ώστε, να περιοριστεί στο διάστημα αναζήτησης Καμία μαθηματική ανάλυση δεν είναι διαθέσιμη Οι παραδοσιακές μέθοδοι αναζήτησης αποτυγχάνουν Page 25

Παναγιώτης Λελούδας Η λύση σε ένα πρόβλημα καλείται χρωμόσωμα. Ένα χρωμόσωμα αποτελείται από μια συλλογή γονιδίων που είναι απλά οι παράμετροι που βελτιστοποιούνται. Ένας ΓΑ δημιουργεί έναν αρχικό πληθυσμό (μια συλλογή χρωμοσωμάτων), αξιολογεί αυτόν τον πληθυσμό, κατόπιν εξελίσσει τον πληθυσμό μέσω των πολλαπλών γενεών στην αναζήτηση μιας καλής λύσης για το πρόβλημα. Στο σχήμα 3 περιγράφεται ένας κλασσικός ΓΑ. Μετά την αρχικοποίηση εκλέγονται οι γονείς σύμφωνα με μια πιθανοθεωρητική συνάρτηση βασισμένη στην σχετική καταλληλότητα των ατομικοτήτων του πληθυσμού. procedure GA; { t = 0; initialize population P(t); evaluate P(t); until(done) { t = t + 1; parent_selection P(t); recombine P(t); mutate P(t); evaluate P(t); survive P(t); } } Σχήμα 3: Γενετικός Αλγόριθμος Με άλλα λόγια, αυτές οι ατομικότητες με μεγαλύτερη σχετική καταλληλότητα είναι πιο πιθανές να επιλεγούν ως γονείς. Ν παιδιά δημιουργούνται από Ν γονείς Page 26

Τμήμα Μηχανικών Η/Υ και Πληροφορικής μέσω της διαδικασίας της διασταύρωσης. Τα Ν παιδιά θα υποστούν μετάλλαξη και θα επιβιώσουν, αντικαθιστώντας τους Ν γονείς στον πληθυσμό. Είναι ενδιαφέρον να σημειωθεί ότι σε αντίθεση με τον ΕΠ, οι ΓΑ δίνουν ιδιαίτερη σημασία στις διαδικασίες διασταύρωσης και μετάλλαξης. Σύμφωνα με τον τελεστή μετάλλαξης αναστρέφονται κάποια bits με μια πολύ μικρή πιθανότητα και συχνά θεωρείται σαν ένας τελεστής που δρα παρασκηνιακά. Οι ΓΑ συχνά χρησιμοποιούνται σαν βελτιστοποιητές, παρόλο που κάποιοι ερευνητές δίνουν έμφαση στις γενικές προσαρμοστικές ιδιότητές τους (De Jong, 1992). Οι ΓΑ μπορούν να εφαρμοστούν σε μια ευρεία ποικιλία προβλημάτων βελτιστοποίησης, όπως ο σχεδιασμός, τα παιχνίδια υπολογιστών, το χρηματιστήριο κάνοντας εμπόριο, ο ιατρικός, προσαρμοστικός έλεγχος, η μεταφορά, το Πρόβλημα Διακίνησης Πωλητών κλπ. 2.2.2 Βιολογικό Υπόβαθρο Κάθε ζωντανός οργανισμός αποτελείται από κύτταρα. Σε κάθε κύτταρο υπάρχει ο ίδιος αριθμός από χρωμοσώματα. Τα χρωμοσώματα είναι strings του DNA και χρησιμεύουν σαν ένα μοντέλο ολόκληρου του οργανισμού. Ένα χρωμόσωμα αποτελείται από γονίδια, τμήματα του DNA, που το καθένα έχει τη δική του θέση και κωδικοποιεί ένα κληρονομικό χαρακτηριστικό, για παράδειγμα το χρώμα των ματιών. Κατά την αναπαραγωγή πρώτα πραγματοποιείται η Διασταύρωση (Crossover) των γονιδίων. Γονίδια των γονέων σχηματίζουν με τον ίδιο τρόπο το νέο χρωμόσωμα. Οι νέοι απόγονοι μπορεί να έχουν υποστεί Μετάλλαξη (Mutation), κατά την οποία κάποιο στοιχείο του DNA έχει αλλάξει κατά ένα bit που οφείλεται σε λάθος αντιγραφή των γονιδίων από τους γονείς. Page 27

Παναγιώτης Λελούδας Στην πραγματικότητα, δεν είναι πολύ γνωστοί οι ακριβείς μηχανισμοί για την φυσική αναπαραγωγή, αλλά κάποιες όψεις τους. Οι παρακάτω ιδιότητες ωστόσο, είναι κοινά αποδεκτές: Η εξέλιξη είναι μια διαδικασία η οποία λειτουργεί πάνω σε χρωμοσώματα αντί στους ίδιους τους ζωντανούς οργανισμούς που αναπαριστούν. Η φυσική Επιλογή είναι μια σχέση μεταξύ των χρωμοσωμάτων και της αναπαράστασης των κωδικοποιημένων χαρακτηριστικών τους. Η διαδικασία της φυσικής Επιλογής εξασφαλίζει τα χρωμοσώματα τα οποία αναπαριστούν μια καλή σύνθεση να αναπαράγονται πιο συχνά από κάποια άλλα. Η Εξέλιξη εμφανίζεται κατά την αναπαραγωγή. Η Μετάλλαξη, ίσως και να είναι ο λόγος που τα χρωμοσώματα των παιδιών μερικές φορές διαφέρουν από αυτά των γονέων τους σε κάποια μέρη. Τα χρωμοσώματα των γονέων λοιπόν, συνδυάζονται με συγκεκριμένο τρόπο για να δημιουργήσουν τα νέα, διαφορετικά χρωμοσώματα των παιδιών τους. Η βιολογική εξέλιξη δεν έχει μνήμη. Ότι είναι γνωστό για τις ατομικότητες και τον τρόπο που δρουν μέσα στο περιβάλλον τους, είναι αποθηκευμένα σε ένα σύνολο χρωμοσωμάτων και στον τρόπο που τα χρωμοσώματα αυτά είναι κωδικοποιημένα. Οι ιδιότητες αυτές είναι ο λόγος που ο John Holland άρχισε να μελετά τους υπολογιστικούς αλγόριθμους, βασισμένος σε αυτήν την αρχή. Έγραψε αλγόριθμους που μπορούσαν να αναπαράγουν χρωμοσώματα, αναπαριστάμενα με δυαδικά bit stringsαπό 1 και 0. Ακριβώς σαν την φύση. Αυτά τα strings διαχειρίζονταν επιδέξια με σκοπό να γίνουν ένα καλό χρωμόσωμα. Ωστόσο, δεν γνώριζε κανείς σχετικά με το πρόβλημα που θα μπορούσαν αυτά να λύσουν. Page 28

2.2.3 Μαθηματικός μηχανισμός των ΓΑ Τμήμα Μηχανικών Η/Υ και Πληροφορικής Οι γενετικοί Αλγόριθμοι ασχολούνται και δρουν πολύ καλά στο πεδίο των προβλημάτων βελτιστοποίησης, καθώς εκτείνονται και σε άλλου είδους προβλήματα. Γενικά, βασίζονται στη μέθοδο του τυχαίου ψαξίματος με τη μόνη διαφορά ότι το χάσιμο χρόνου μέχρι να βρεθεί η λύση μπορεί να αποφευχθεί χρησιμοποιώντας μεθόδους βασισμένες στην βιολογία. Οι μέθοδοι αυτές, αποκαλύφθηκαν κατά την εξέταση της εξέλιξης και της καταγωγής των ειδών. Όπως είναι γνωστό, μόνο τα πιο κατάλληλα άτομα επιζούν κατά την διαδικασία της αναπαραγωγής. Με αυτόν τον τρόπο δημιουργείται και το fitness του πληθυσμού, το οποίο του επιτρέπει να επιβιώνει σε ένα μεταβαλλόμενο περιβάλλον. Ο χώρος των εφικτών λύσεων (δηλαδή των αντικειμένων μεταξύ των οποίων βρίσκεται η επιθυμητή λύση) καλείται Χώρος Αναζήτησης (ή Χώρος Καταστάσεων). Κάθε σημείο του παριστάνει μια εφικτή λύση, η οποία μπορεί να χαρακτηριστεί από μια τιμή ή την τιμή της στην fitness συνάρτηση του προβλήματος. Καθώς συγκρίνεται ένας ΓΑ με άλλους παραδοσιακούς αλγορίθμους βελτιστοποίησης παρατηρούνται οι εξής διαφορές: Οι ΓΑ δουλεύουν με κωδικοποιημένες τις παραμέτρους Δεν ψάχνουν από ένα μονό-σημείο, αλλά από ένα πλήθος σημείων Χρησιμοποιούν πληροφορίες που οι ίδιοι παράγουν αντί εξωτερικά παράγωγες ή βοηθητικές γνώσεις Είναι γνωστό ότι πολλά προβλήματα μπορούν να θεωρηθούν ως προβλήματα βελτιστοποίησης. Έστω λοιπόν, ένα πρόβλημα βελτιστοποίησης όπου πρέπει να βελτιστοποιηθεί ένα σύνολο μεταβλητών ή να μεγιστοποιηθεί ένας στόχος σαν το όφελος ή αλλιώς να ελαχιστοποιηθεί το κόστος ή κάποιο μέτρο λάθους. Γενικά, τα προβλήματα βελτιστοποίησης μπορούν να διατυπωθούν σαν μαθηματικά μοντέλα με Page 29

Παναγιώτης Λελούδας πολλές ανεξάρτητες παραμέτρους που καταλήγουν σε μια συνάρτηση, την fitness συνάρτηση. Η συνάρτηση αυτή περιγράφει την ποιότητα του μοντέλου (ή των ατόμων) για το συγκεκριμένο σύνολο των παραμέτρων. Στη fitness συνάρτηση μπορούν να συμπεριληφθούν και να συναγωνίζονται όλων των ειδών οι απαιτήσεις. 2.2.4 Η υπεροχή και το μειονέκτημα των Γενετικών Αλγορίθμων Οι ΓΑ έχουν χρησιμοποιηθεί για δύσκολα προβλήματα (όπως τα ΝΡ προβλήματα) για machine learning και για την εξέλιξη απλών προγραμμάτων. Επίσης, έχουν χρησιμοποιηθεί και στην τέχνη, για την εξέλιξη εικόνων και μουσικής Πλεονέκτημα των ΓΑ είναι ότι δρουν παράλληλα. Οι ΓΑ κινούνται μέσα στο χώρο καταστάσεων με περισσότερα άτομα, ώστε είναι λιγότερο πιθανό να κολλήσει σε κάποιο τοπικό ακρότατο, σαν κάποιες άλλες μεθόδους. Είναι επίσης, εύκολα υλοποιήσιμοι. Αν υπάρχει ένας ΓΑ, τότε αυτός μπορεί να επιλύσει και κάποιο άλλο πρόβλημα, κάνοντας χρήση της ίδιας αναπαράστασης και μεταβάλλοντας την fitness συνάρτηση. Ένα μειονέκτημα των ΓΑ είναι ο υπολογιστικός χρόνος τους. Μπορεί να είναι πιο αργοί από άλλες μεθόδους. Ωστόσο με τα σημερινά κομπιούτερ το πρόβλημα σιγά σιγά δεν είναι τόσο αισθητό. 2.2.5 Περιγραφή του Γενετικού Αλγόριθμου Ο Γενετικός Αλγόριθμος ξεκινά με ένα σύνολο λύσεων (τις λύσεις αναπαριστούν τα χρωμοσώματα) που καλείται πληθυσμός. Κάποια χρωμοσώματα από τον πρώτο πληθυσμό λαμβάνονται για να παράγουν τον επόμενο πληθυσμό, με την ελπίδα να είναι καλύτερός του. Συνήθως το μέγεθος του πληθυσμού παραμένει σταθερό για ευκολία. Οι λύσεις χρωμοσώματα που επιλέγονται να σχηματίσουν τις νέες λύσεις (απογόνους), επιλέγονται σύμφωνα με το fitness τους όσο πιο Page 30

Τμήμα Μηχανικών Η/Υ και Πληροφορικής κατάλληλα είναι, τόσο μεγαλύτερη ελπίδα έχουν να αναπαραχθούν. Η παραπάνω διαδικασία επαναλαμβάνεται μέχρις ότου κάποια συνθήκη ικανοποιηθεί (όπως για παράδειγμα ένας αριθμός πληθυσμών ή η βελτιστοποίηση της καλύτερης λύσης) Σχεδιάγραμμα του Γενετικού αλγόριθμου 1. [Αρχή] Δημιουργία τυχαίου πληθυσμού από n χρωμοσώματα (κατάλληλες λύσεις του προβλήματος) 2. [Fitness] Αποτίμηση της fitness συνάρτησης f(x) κάθε χρωμοσώματος x του πληθυσμού 3. [Νέος Πληθυσμός] Δημιουργία ενός νέου πληθυσμού μέχρι να συμπληρωθεί, με επανάληψη των παρακάτω βημάτων: 4. [Επιλογή] Επιλέγονται δύο γονείς χρωμοσωμάτων από τον πληθυσμό σύμφωνα με το fitness τους (όσο καλύτερο fitness, τόσο μεγαλύτερη η πιθανότητα επιλογής του) 5. [Διασταύρωση] Σύμφωνα με την πιθανότητα διασταύρωσης, διασταυρώνονται οι γονείς για να σχηματίσουν απογόνους. Αν δεν εφαρμοστεί η διασταύρωση οι απόγονοι είναι μια πιστή αντιγραφή των γονέων τους. 6. [Μετάλλαξη] Σύμφωνα με την πιθανότητα μετάλλαξης, μεταλλάσσεται κάποια θέση του χρωμοσώματος κάποιου απογόνου 7. [Αντικατάσταση] Χρησιμοποιείται ο νέος πληθυσμός στη συνέχεια του αλγορίθμου 8. [Δοκιμή] Αν ικανοποιείται η τελική συνθήκη, [σταμάτα], και επίστρεψε την καλύτερη λύση του τρέχοντος πληθυσμού 9. [Επανάλαβε] Πήγαινε στο Βήμα 2. Όπως φαίνεται, το σχεδιάγραμμα του ΓΑ είναι πολύ γενικό. Υπάρχουν πολλά σημεία τα οποία διαφοροποιούνται ανάλογα με το πρόβλημα που επιλύεται. Κατά την δημιουργία του νέου πληθυσμού εφαρμόζονται τρεις Τελεστές (Operators): η Page 31

Παναγιώτης Λελούδας Επιλογή (Selection), η Διασταύρωση (Crossover) και η Μετάλλαξη (Mutation), οι οποίοι εφαρμόζονται με διάφορες μορφές και μεθόδους. Όπως φαίνεται και από το σχεδιάγραμμα η Διασταύρωση και η Μετάλλαξη είναι τα πιο σημαντικά μέρη ενός ΓΑ, αφού έχει πραγματοποιηθεί η Επιλογή. 2.2.6 Αναπαράσταση του Χρωμοσώματος Το πρώτο θέμα που πρέπει να αντιμετωπιστεί, όταν γίνεται χρήση ΓΑ για την επίλυση κάποιου προβλήματος, είναι να κωδικοποιηθούν οι ανεξάρτητες παράμετροι μέσα στο χρωμόσωμα. Το χρωμόσωμα έπειτα, θα έχει όλες τις απαραίτητες πληροφορίες σχετικά με το ιδιαίτερο άτομο που εκπροσωπεί, δηλαδή θα αποτελείται από πληροφορίες σχετικές με τη λύση που αναπαριστά. Υπάρχουν διάφοροι τρόπου να κωδικοποιηθούν οι παράμετροι σε ένα χρωμόσωμα. Αν και η Δυαδική Αναπαράσταση είναι ευρέως διαδεδομένη, χρησιμοποιούνται και άλλων ειδών δυαδικές αναπαραστάσεις, όπως η κωδικοποίηση Gray με σκοπό την βελτίωση της απόδοσης των αλγορίθμων. Φυσικά, υπάρχουν και άλλων ειδών αναπαραστάσεις όπως η Messy αναπαράσταση (Goldberg 1989), η Αναπαράσταση Αριθμών Κινητής Υποδιαστολής (Deb 1991), η Αναπαράσταση Αναδιατάξεων (Goldberg 1989, Whitle 1989, Starkweather κ.α. 1991), η Αναπαράσταση σε Διανύσματα Πραγματικών Αριθμών και η Δενδρική Αναπαράσταση, καθεμία από τις οποίες χρησιμοποιείται σε αντίστοιχα προβλήματα, όπου η δυαδική αναπαράσταση δεν επαρκεί για την πλήρη και αποτελεσματική περιγραφή των ατόμων. Βέβαια, υπάρχουν πάρα πολλές ακόμα, οι οποίες εξαρτώνται κυρίως από το πρόβλημα που επιλύεται. 2.2.7 Ο Τελεστής της Επιλογής (Selection Operator) Η Επιλογή συνιστά ένα σημαντικό μέρος του ΓΑ. Χρωμοσώματα επιλέγονται από τον πληθυσμό για να γίνουν γονείς και να διασταυρωθούν. Το πρώτο βήμα είναι Page 32

Τμήμα Μηχανικών Η/Υ και Πληροφορικής η ανάθεση μιας τιμής καταλληλότητας. Κάθε μια ατομικότητα λαμβάνει μια πιθανότητα αναπαραγωγής ανάλογα με την αντικειμενική της αξία (τιμή καταλληλότητας) και την αντικειμενική αξία όλων των άλλων ατομικοτήτων. Αυτή η ικανότητα κατόπιν, χρησιμοποιείται για το πραγματικό βήμα επιλογής. Ο τελεστής Επιλογής υλοποιείται σαν μια σταθμισμένη επιλογή, αφού τα χρωμοσώματα με μεγαλύτερο fitness έχουν μεγαλύτερη ευκαιρία να επιλεγούν. Τα καλύτερα δηλαδή, θα πρέπει να επιζήσουν και να δημιουργήσουν απογόνους. Είναι λοιπόν δυνατόν, ένα χρωμόσωμα να επιλεγεί περισσότερες της μιας φοράς ή και καθόλου. Υπάρχουν μερικοί κανόνες οι οποίοι χρησιμοποιούνται για τη σύγκριση των διαφορετικών σχεδίων επιλογής. Ο καθορισμός αυτών των όρων ακολουθεί: Πίεση Επιλογής: Η πιθανότητα Επιλογής της καλύτερης ατομικότητας έναντι της μέσης πιθανότητας Επιλογής όλων των ατομικοτήτων Προκατάληψη: Η απόλυτη διαφορά μεταξύ της ομαλοποιημένης ικανότητας ενός ατόμου και της αναμενόμενης πιθανότητας αναπαραγωγής του Πλάτος: Η κλίμακα της πιθανής αξίας των απογόνων μιας ατομικότητας Απώλεια Ποικιλομορφίας: Το ποσοστό των ατομικοτήτων ενός πληθυσμού που δεν επιλέγονται κατά τη διάρκεια της Επιλογής Ένταση Επιλογής: Η αναμενόμενη μέση αξία ικανότητας του πληθυσμού μετά την εφαρμογή μιας μεθόδου Επιλογής στην Κανονική Gaussian κατανομή Διακύμανση Επιλογής: Η αναμενόμενη διαφορά της κατανομής ικανότητας στον πληθυσμό μετά από την εφαρμογή μιας μεθόδου Επιλογής στην Κανονική Gaussian κατανομή Page 33

Παναγιώτης Λελούδας Για την υλοποίηση της διαδικασίας της Επιλογής υπάρχουν πάρα πολλές μέθοδοι όπως η Ρουλέτα (Roulette Wheel Selection), η Ταξινομημένη Επιλογή (Rank Selection), η Επιλογή Πρωταθλημάτων Τουρνουά (Tournament Selection), η Σταθερής Κατάστασης Επιλογή (Steady State Selection) και πολλές άλλες. 2.2.8 Ο Τελεστής Διασταύρωσης (Crossover Operator) Είναι ένας επίσης, σημαντικός μηχανισμός του ΓΑ. Θα δημιουργηθούν δύο νέα άτομα για τη νέα γενιά, μέσω κάποιου συνδυασμού δύο ατόμων της προηγούμενης γενιάς. Οι μέθοδοι που χρησιμοποιούνται για την διασταύρωση των χρωμοσωμάτων εξαρτώνται σε μεγάλο βαθμό από την κωδικοποίηση αυτών. Έτσι για αναπαραστάσεις σε πραγματικούς αριθμούς ή σε σύμβολα χρησιμοποιούνται διαφορετικοί μηχανισμοί διασταύρωσης από αυτούς σε αναπαραστάσεις σε bitstrings. Μερικές από αυτές τις μεθόδους είναι η Διακριτή Διασταύρωση (Discrete Recombination), η Διασταύρωση Γραμμών (Line Recombination), η Διασταύρωση Ενός Σημείου (One Point Crossover), η Πολυσημειακή Διασταύρωση (Multi Points Crossover), και η Ομοιόμορφη Διασταύρωση (Uniform Crossover). 2.2.9 Ο Τελεστής Μετάλλαξης (Mutation Operator) Ο μηχανισμός της Μετάλλαξης εφαρμόζεται στους απογόνους ακριβώς μετά τη Διασταύρωση. Ο τελεστής αυτός εμποδίζει στην πραγματικότητα, να πέσουν όλες οι λύσεις του πληθυσμού σε κάποιο τοπικό βέλτιστο του προβλήματος που επιλύεται, καθώς αποτρέπει τη στασιμότητα του ΓΑ. Κατά την Μετάλλαξη αλλάζει τυχαία κάποιος απόγονος με μια μικρή πιθανότητα. Η πιθανότητα αυτή καλείται Πιθανότητα Μετάλλαξης και είναι αντιστρόφως ανάλογη προς τον αριθμό των μεταβλητών Page 34

Τμήμα Μηχανικών Η/Υ και Πληροφορικής (διαστάσεις). Όσο περισσότερες είναι οι διαστάσεις μιας ατομικότητας τόσο μικρότερη είναι η Πιθανότητα Μετάλλαξης. 2.2.10 Επιβίωση Μόλις παραχθεί ο απόγονος από την επιλογή, την διασταύρωση και την μετάλλαξη των ατόμων από τον παλαιό πληθυσμό, μπορεί να καθοριστεί η καταλληλότητα του. Εάν στο νέο πληθυσμό παραχθούν λιγότεροι απόγονοι από το μέγεθος του αρχικού πληθυσμού για να διατηρηθεί το μέγεθος του πληθυσμού, κάποιος απόγονος πρέπει να επανεισαχθεί στο νέο πληθυσμό. Ομοίως, εάν δεν πρόκειται να χρησιμοποιηθούν όλοι οι απόγονοι σε κάθε γενεά ή εάν ο αριθμός των απογόνων στο νέο πληθυσμό είναι μεγαλύτερος από το μέγεθος του παλαιού πληθυσμού, πρέπει να χρησιμοποιηθεί ένα Σχήμα επιβίωσης το οποίο θα καθορίσει ποια άτομα πρόκειται να επιβιώσουν στο νέο πληθυσμό. 2.2.11 Τα κριτήρια Λήξης ενός Γενετικού Αλγορίθμου Η λήξη είναι το κριτήριο από το οποίο ο γενετικός αλγόριθμος αποφασίζει εάν θα συνεχίσει ή θα σταματήσει την αναζήτηση. Κάθε ένα από τα κριτήρια λήξης ελέγχεται μετά από κάθε γενεά για να δει αν είναι χρόνος να σταματήσει Αριθμός Παραγωγής Μια μέθοδος λήξης που σταματά την εξέλιξη όταν οργανωθεί ο, καθορισμένος ως προς τον χρήστη, ανώτατος αριθμός εξελίξεων. Αυτή η μέθοδος λήξης είναι πάντα ενεργή Χρόνος εξέλιξης Μια μέθοδος λήξης που σταματά την εξέλιξη όταν υπερβαίνει η παρερχόμενη περίοδος εξέλιξης, τον καθορισμένο από τον χρήστη ανώτατο χρόνο εξέλιξης. Εξ ορισμού, την εξέλιξη δεν σταματούν έως ότου έχει ολοκληρώσει η εξέλιξη της Page 35

Παναγιώτης Λελούδας τρέχουσας παραγωγής, αλλά αυτή η συμπεριφορά μπορεί να αλλάξει, έτσι ώστε να σταματά η εξέλιξη μέσα σε μια παραγωγή. Κατώτατο όριο ικανότητας Μια μέθοδος λήξης που σταματά την εξέλιξη όταν η τιμή του καλύτερου ικανότερου ατόμου στον τρέχοντα πληθυσμό γίνεται μικρότερη από το, καθορισμένο ως προς τον χρήστη, κατώτατο όριο ικανότητας. Αυτή η μέθοδος λήξης σταματά επίσης την εξέλιξη, όταν η καλύτερη ικανότητα στον τρέχοντα πληθυσμό γίνεται μεγαλύτερη από το, καθορισμένο ως προς τον χρήστη, κατώτατο όριο ικανότητας, όταν ο στόχος είναι να μεγιστοποιηθεί η ικανότητα. Σύγκλιση ικανότητας Μια μέθοδος λήξης που σταματά την εξέλιξη όταν κρίνεται ότι οι τιμές της καταλληλότητας των ατόμων συγκλίνουν. Δύο φίλτρα διαφορετικού μήκους χρησιμοποιούνται για να ομαλοποιήσουν την καλύτερη ικανότητα στις γενεές. Όταν η ομαλοποιημένη καλύτερη ικανότητα από το μακρύτερο φίλτρο είναι μικρότερη από ένα, καθορισμένο ως προς τον χρήστη, ποσοστό της ομαλοποιημένης καλύτερης ικανότητας του κοντότερου φίλτρου, τότε η ικανότητα κρίνεται πως συγκλίνει και η εξέλιξη ολοκληρώνεται. Σύγκλιση πληθυσμού Μια μέθοδος λήξης που σταματά την εξέλιξη όταν κρίνεται ο πληθυσμός όπως συγκλίνει. Ο πληθυσμός κρίνεται ότι συγκλίνει όταν η μέση ικανότητα σε ολόκληρο τον τρέχοντα πληθυσμό είναι μικρότερη από ένα, καθορισμένο ως προς τον χρήστη, ποσοστό καλύτερης ικανότητας τρέχοντος πληθυσμού Σύγκλιση γονιδίων Μια μέθοδος λήξης που σταματά την εξέλιξη όταν ένα, καθορισμένο ως προς τον χρήστη, ποσοστό γονιδίων που αποτελούν ένα χρωμόσωμα, κρίνεται όπως συγκλίνει. Ένα γονίδιο κρίνεται ότι συγκλίνει όταν η μέση αξία εκείνου του γονιδίου σε όλα τα χρωμοσώματα του τρέχοντος πληθυσμού είναι μικρότερη από ένα, καθορισμένο ως προς τον χρήστη, ποσοστό της μέγιστης αξίας γονιδίων στα χρωμοσώματα. Page 36

ΚΕΦΑΛΑΙΟ 3 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Γενετικοί Αλγόριθμοι στην Χρονοδρομολόγηση Οι Γενετικοί Αλγόριθμοι είναι ευρέως διαδεδομένοι και αποδεκτοί στα προβλήματα χρονοδρομολόγησης γι αυτό και υπάρχουν πάρα πολλές ερευνητικές εργασίες και εφαρμογές στον χώρο. Θα επιχειρήσουμε λοιπόν μια γενική παρουσίαση κάποιων ερευνών για να καταλάβουμε σε ποια πλαίσια κινούνται. Στον τομέα που μας ενδιαφέρει, της δρομολόγησης οχημάτων δηλαδή, οι Valouxis, Housos [1] παρουσίασαν μια γρήγορη ευρετική διαδικασία χρονοδρομολόγησης, με την ονομασία QS για την λύση του προβλήματος. Η διαδικασία αυτή χρησιμοποιεί αλγορίθμους αντιστοίχησης ελαχίστου κόστους, διαχωρισμού συνόλων και συντομότερου μονοπατιού καθώς και μια μέθοδο παραγωγής στηλών. Η Falkner [3] μοίρασε το πρόβλημα σε υπό προβλήματα, για να μειώσει το μέγεθός του, και έλυσε το καθένα από αυτά ακολουθιακά. Έπειτα ανέπτυξε μια μέθοδο τριών σταδίων, όπου εξέταζε ξεχωριστά τον κάθε τύπο υποχρεώσεων και χρησιμοποίησε μια ακόμα τεχνική ευρετικής μείωσης σε κάθε υπό πρόβλημα, για να μειώσει ακόμα περισσότερο το μέγεθος και να αναδείξει τις ιδιότητες του καθενός. Οι Martello, Toth [4] εξετάζοντας το πρόβλημα εύρεσης ενός ελάχιστου συνόλου οδηγών που να είναι ικανό να καλύψει όλα τα δρομολόγια, επιχείρησαν μια ευρετική προσέγγιση που προσδιορίζει όλα τα βασικά συστατικά του προβλήματος και λύνει το καθένα από αυτά είτε ακριβώς είτε ευρετικά. Η μέθοδος τους είναι κατάλληλη για περιπτώσεις πολύ ισχυρών περιορισμών. Page 37

Παναγιώτης Λελούδας Ο Wedelin [5] χρησιμοποιεί έναν προσεγγιστικό αλγόριθμο, που μπορεί να θεωρηθεί σαν μια διπλή συντεταγμένη αναζήτηση για την επίλυση του LPrelaxation, μετασχηματισμένη σε ένα μη-γραμμικό πρόβλημα, και ένα σχήμα προσέγγισης που συνεργάζεται με τον αλγόριθμο και προσαρμόζει τα κόστη για να έχει ακέραια λύση το πρόβλημα. Οι Hoffman, Padberg [6] παρουσιάζουν μια προσέγγιση branch-and-cut για την επίλυση των μεγάλων προβλημάτων διαχωρισμού συνόλων που παρουσιάζονται στην αεροπορική βιομηχανία. Η μέθοδος αυτή παράγει κομμάτια πτήσεων και τα ενσωματώνει σε έναν αλγόριθμο δενδρικής αναζήτησης που χρησιμοποιεί αυτόματες διαδικασίες μετασχηματισμού, ευρετικό και γραμμικό προγραμματισμό για να βοηθήσει στην λύση. Οι Lavoie, Minoux, Odier [7] μετασχηματίζουν το πρόβλημα της ανάθεσης προσωπικού σε ένα μεγάλης κλίμακας επικαλυπτόμενων συνόλων πρόβλημα με πολλές στήλες όπου η κάθε μία είναι μια επιτυχής ανάθεση. Έπειτα προτείνουν μια διαδικασία όπου το υπό πρόβλημα παραγωγής στηλών παρουσιάζεται σαν ένα πρόβλημα συντομότερου μονοπατιού σε ένα συνδεδεμένο γράφημα. Οι Ball, Roberts [8] υλοποιούν μια αυτοματοποιημένη διαδικασία χρονοδρομολόγησης για το αεροπορικό πλήρωμα, η οποία εκτελεί έναν διαχωρισμό συνόλων σε έναν γράφο αποσυνθέτοντας το πρόβλημα σε μια σειρά υπό προβλημάτων που λύνονται σαν προβλήματα ταιριάσματος. Οι Ball, Bodin, Dial [9] περιγράφουν μια αυτοματοποιημένη διαδικασία δρομολόγησης προσωπικού και οχημάτων (ταυτόχρονα) για μέσα μαζικής μεταφοράς. Επιλύουν τα περισσότερα από τα υπό προβλήματα σαν προβλήματα ταιριάσματος σε γραφήματα. Page 38