ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ

Σχετικά έγγραφα
ΑΛΓΟΡΙΘΜΟΙ ΑΝΟΠΤΗΣΗΣ: Ο ΑΛΓΟΡΙΘΜΟΣ ΤΗΣ ΑΠΟ ΟΧΗΣ ΚΑΤΩΦΛΙΟΥ (THRESHOLD ACCEPTING)

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

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

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

Ε..Ε. ΙI ΑΠΑΓΟΡΕΥΜΕΝΗΕΡΕΥΝΑ TABU SEARCH ΧΡΗΣΤΟΣ. ΤΑΡΑΝΤΙΛΗΣ MANAGEMENT SCIENCE IN PRACTICE II

Συστήματα Επιχειρηματικής Ευφυίας. Οι αλγόριθμοι Hill Climbing, Simulated Annealing, Great Deluge, VNS, Tabu Search

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

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

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

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ»

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

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

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

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

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

Επίλυση Προβλημάτων 1

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

ιοίκηση Παραγωγής και Υπηρεσιών

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

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

3.7 Παραδείγματα Μεθόδου Simplex

Σειρά Προβλημάτων 5 Λύσεις

Μέθοδοι μονοδιάστατης ελαχιστοποίησης

Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων

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

Αλγοριθμικές Τεχνικές

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

Μέθοδοι μονοδιάστατης ελαχιστοποίησης

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

είναι πρόβλημα μεγιστοποίησης όλοι οι περιορισμοί είναι εξισώσεις με μη αρνητικούς του σταθερούς όρους όλες οι μεταβλητές είναι μη αρνητικές

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

ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΑΠΟΙΚΙΑΣ ΜΥΡΜΗΓΚΙΩΝ ANT COLONY OPTIMIZATION METHODS

Προσεγγιστικοί Αλγόριθμοι

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

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

Σειρά Προβλημάτων 4 Λύσεις

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

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

ΕΠΙΛΥΣΗ ΕΚΦΥΛΙΣΜΕΝΩΝ ΚΑΙ ΓΕΝΙΚΩΝ ΓΡΑΜΜΙΚΩΝ ΠΡΟΒΛΗΜΑΤΩΝ. 4.1 Επίλυση Εκφυλισμένων Γραμμικών Προβλημάτων

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

Σειρά Προβλημάτων 5 Λύσεις

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

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

ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ

Κεφάλαιο 6. Μέθοδοι επίλυσης προβλημάτων ακέραιου προγραμματισμού

Σειρά Προβλημάτων 5 Λύσεις

Προβλήματα Μεταφορών (Transportation)

Προβλήματα Ελάχιστου Κόστους Ροής σε Δίκτυο. Δίκτυα Ροής Ελάχιστου Κόστους (Minimum Cost Flow Networks)

Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων

Σειρά Προβλημάτων 4 Λύσεις

για NP-Δύσκολα Προβλήματα

Προσεγγιστικοί Αλγόριθμοι για NP- ύσκολα Προβλήματα

Σειρά Προβλημάτων 4 Λύσεις

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

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π.

Σειρά Προβλημάτων 4 Λύσεις

Προγραμματισμός Ι (ΗΥ120)

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

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

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

Προσεγγιστικοί Αλγόριθμοι

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

Μάθημα Επιλογής 8 ου εξαμήνου

Το Πρόβλημα του Περιοδεύοντος Πωλητή - The Travelling Salesman Problem

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

ΑΚΕΡΑΙΟΣ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

Κουτσιούμπας Αχιλλέας U. Adamy, C. Ambuehl, R. Anand, T. Erlebach

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

Αλγόριθμοι Προσέγγισης για NP-Δύσκολα Προβλήματα

Μέθοδοι πολυδιάστατης ελαχιστοποίησης

ΕΙΣΑΓΩΓΗ ΣΤΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΩΝ

Ιεραρχική αναλυση αποφασεων Analytic hierarchy process (AHP)

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

Σειρά Προβλημάτων 4 Λύσεις

ΤΣΑΝΤΑΣ ΝΙΚΟΣ 11/26/2007. Νίκος Τσάντας Τμήμα Μαθηματικών Πανεπιστημίου Πατρών, Ακαδημαϊκό έτος Δικτυωτή Ανάλυση

Τμήμα Μηχανικών Πληροφορικής ΤΕ Η μέθοδος Simplex. Γκόγκος Χρήστος ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα. τελευταία ενημέρωση: 19/01/2017

Θεωρία Λήψης Αποφάσεων

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 10: ΤΕΧΝΙΚΕΣ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΑΝΑΛΥΣΗΣ ΑΛΓΟΡΙΘΜΩΝ ΓΙΑ ΠΡΟΒΛΗΜΑΤΑ ΜΕ ΑΠΑΓΟΡΕΥΤΙΚΟ ΑΡΙΘΜΟ ΠΕΡΙΠΤΩΣΕΩΝ

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

Ψευδοκώδικας. November 7, 2011

ΠΡΟΒΛΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ

Οι δυναμικές δομές δεδομένων στην ΑΕΠΠ

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

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

Φροντιστήριο 8 Λύσεις

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

Σειρά Προβλημάτων 4 Λύσεις

3η Σειρά Γραπτών Ασκήσεων

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

Εφαρμόζονται σε προβλήματα στα οποία δεν υπάρχει πληροφορία που να επιτρέπει την αξιολόγηση των καταστάσεων του χώρου αναζήτησης.

Case 10: Ανάλυση Νεκρού Σημείου (Break Even Analysis) με περιορισμούς ΣΕΝΑΡΙΟ

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

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


1 Διάσχιση κατευθυνόμενων γραφημάτων

Πολυκριτηριακός Γραμμικός Προγραμματισμός. Συστήματα Αποφάσεων Εργαστήριο Συστημάτων Αποφάσεων και Διοίκησης

υναμικός Προγραμματισμός

Επίλυση προβλημάτων με αναζήτηση

Transcript:

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΣΤΑΤΙΣΤΙΚΗΣ ΜΕΤΑΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΙ ΑΝΑΖΗΤΗΣΗ TABU, SIMULATED ANNEALING ΚΑΙ ΓΕΝΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ Ιωάννης Γ. Μώρος ΕΡΓΑΣΙΑ Που υποβλήθηκε στο Τμήμα Στατιστικής του Οικονομικού Πανεπιστημίου ΑΘηνών ως μέρος των απαιτήσεων για την απόκτηση Μεταπτυχιακού Διπλώματος Συμπληρωματικής Ειδίκευσης στη Στατιστική Μερικής Παρακολούθησης (Part-time) Αθήνα Σεπτέμβριος 2012

Στη μητέρα μου...

ΕΥΧΑΡΙΣΤΙΕΣ Θα ήθελα πρωτίστως να ευχαριστήσω θερμά τον καθηγητή μου κ. Κυριακίδη Επαμεινώνδα. Η αμεσότητα, η καθοδήγηση και η υπομονή του υπήρξαν καταλυτικοί παράγοντες στην εκπόνηση της διατριβής μου, δεδομένου ότι αυτή πραγματοποιήθηκε σε μία ιδιαίτερα δύσκολη για εμένα περίοδο, αφού μεσολάβησε η εκπλήρωση των στρατιωτικών μου υποχρεώσεων. Ευχαριστώ από καρδιάς τον πατέρα μου, Γιώργο, για την τεράστια υποστήριξη του καθ' όλη τη διάρκεια της ακαδημαϊκής μου σταδιοδρομίας, τον αδερφό μου, Στράτο, για το ενδιαφέρον του και την πολύτιμη συμβολή του και τη Στεφανία, για τη στήριξη και την υπομονή της. Οφείλω τέλος να ευχαριστήσω κάθε δικό μου άνθρωπο που ακόμα και αν δεν είχε επαφή με το αντικείμενο που πραγματεύεται η διατριβή μου, είχε την προθυμία να τη διαβάσει και να συζητήσει μαζί μου αυτό το εξαιρετικά ενδιαφέρον θέμα. Ι

ΙΙ

ΒΙΟΓΡΑΦΙΚΟ ΣΗΜΕΙΩΜΑ Ο Ιωάννης Μώρος γεννήθηκε στις 16 Νοεμβρίου του 1985 στο Μαρούσι Αττικής. Το 2009 Αποφοίτησε από το τμήμα Στατιστικής του Οικονομικού Πανεπιστημίου Αθηνών, από όπου και απέσπασε χρηματική υποτροφία, μετά το τέλος του πρώτου έτους σπουδών του, λόγω των υψηλών ακαδημαϊκών του επιδόσεων. Το 2009 εγγράφηκε στο μεταπτυχιακό πρόγραμμα συμπληρωματικής ειδίκευσης στη στατιστική του Οικονομικού Πανεπιστημίου Αθηνών με τίτλο "Ποσοτικές Μέθοδοι Στη Λήψη Αποφάσεων". Από το 2004 μέχρι και σήμερα, εργάζεται ως ελεύθερος επαγγελματίας σε οικογενειακή επιχείρηση με αντικείμενο το εμπόριο ανταλλακτικών αυτοκινήτων. Παράλληλα με την ακαδημαϊκή και επαγγελματική του σταδιοδρομία, ο Ιωάννης Μώρος ασχολείται από πολύ νεαρή ηλικία με τη μουσική και ιδιαίτερα με το πιάνο. Έχει την τύχη και την τιμή να συνεργάζεται με πολλούς αξιόλογους καλλιτέχνες και να εμφανίζεται τακτικά σε συναυλίες στην Ελλάδα και το εξωτερικό. III

IV

ABSTRACT Ioannis Moros METAHEURISTICS TABU SEARCH, SIMULATED ANNEALING AND GENETIC ALGORITHMS September 2012 A researcher often comes up against complex or large scale optimization problems where traditional exhaustive algorithms have proven to be ineffective due to constraints such as time, cost and computational power required to reach the optimal solution. The purpose of this dissertation is to introduce the reader to the structure, behaviour and implementation of modern metaheuristic algorithms which are designed to overcome this ineffectiveness by searching, in contrast to other algorithms, for a very good solution which, however, may or may not be the global optimum. The purpose of this dissertation is achieved by analyzing three of the most popular metaheuristics; Tabu Search, Simulated Annealing and Genetic Algorithms, and by applying each one of them to classic combinatorial optimization problems such as the Travelling Salesman and the Minimum Spanning Tree. In addition, a custom Genetic Algorithm was created in programming language. The results of the above mentioned implementations show that these metaheuristic algorithms provide excellent solutions which very often coincide with the optimal ones.. Most importantly, these solutions are reached after very few iterations. V

VI

ΠΕΡΙΛΗΨΗ Μώρος Ιωάννης ΜΕΤΑΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΙ ΑΝΑΖΗΤΗΣΗ TABU, SIMULATED ANNEALING ΚΑΙ ΓΕΝΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ Σεπτέμβριος 2012 Συχνά ένας ερευνητής βρίσκεται αντιμέτωπος με σύνθετα ή μεγάλης κλίμακας προβλήματα βελτιστοποίησης στα οποία η εφαρμογή παραδοσιακών αλγορίθμων κρίνεται ως αναποτελεσματική λόγω περιορισμών που αναφέρονται σε χρόνο, κόστος και υπολογιστική ισχύ που απαιτείται προκειμένου να βρεθεί η βέλτιστη λύση. Ο στόχος της διατριβής αυτής είναι να παρουσιάσει τη δομή, τη συμπεριφορά και την εφαρμογή των σύγχρονων μεταευρετικών αλγορίθμων. Οι αλγόριθμοι αυτοί είναι σχεδιασμένοι ώστε να αντιπαρέρχονται αυτής της αναποτελεσματικότητας αναζητώντας, εν αντιθέσει με τους άλλους αλγορίθμους, μια πολύ καλή λύση, η οποία όμως δεν είναι σίγουρο πως είναι και η βέλτιστη. Ο σκοπός της διατριβής επιτυγχάνεται αναλύοντας τρεις από τις πιο δημοφιλείς μεταευρετικές μεθόδους και εφαρμόζοντάς τις σε κλασσικά προβλήματα συνδυαστικής βελτιστοποίησης όπως αυτά του Πλανόδιου Πωλητή και του Ελαχίστου Δένδρου Επικάλυψης. Για τις ανάγκες τις εργασίας, δημιουργήθηκε επίσης ένας Γενετικός Αλγόριθμος σε γλώσσα προγραμματισμού. Τα αποτελέσματα των παραπάνω εφαρμογών δείχνουν πως οι αλγόριθμοι αυτοί πράγματι βρίσκουν λύσεις πολύ κοντά στη βέλτιστη και μάλιστα πολλές φορές καταλήγουν στην ίδια τη βέλτιστη λύση. Ιδιαίτερη σημασία έχει όμως το γεγονός ότι αυτό επιτυγχάνεται με πολύ μικρό αριθμό επαναλήψεων. VII

VIII

ΚΑΤΑΛΟΓΟΣ ΠΕΡΙΕΧΟΜΕΝΩΝ Σελίδα 1. Εισαγωγή... 1 1.1 Εισαγωγή στις Ευρετικές και Μεταευρετικές Μεθόδους.... 1 1.2 Η Λειτουργία των Μεταευρετικών Μεθόδων... 3 1.3 Το Πρόβλημα του Πλανόδιου Πωλητή... 6 2. Αναζήτηση Tabu... 13 2.1 Εισαγωγή... 13 2.2 Βασικά Χαρακτηριστικά... 14 2.3 Λειτουργίες Μακροπρόθεσμης Μνήμης... 19 2.3.1 Intensification... 20 2.3.2 Diversification... 21 2.4 Εφαρμογή σε Πρόβλημα Ελαχίστου Δένδρου Επικάλυψης.. 22 3. Simulated Annealing... 29 3.1 Εισαγωγή... 29 3.2 Περιγραφή της Μεθόδου... 30 3.3 Εφαρμογή στο Πρόβλημα του Πλανόδιου Πωλητή... 34 4. Γενετικοί Αλγόριθμοι... 39 4.1 Εισαγωγή... 39 4.3 Αλγόριθμος και Παραμετροποίηση... 41 4.3.1 Γενική Μορφή Γενετικού Αλγορίθμου... 41 IX

4.3.2 Κωδικοποίηση... 43 4.3.3 Επιλογή... 44 4.3.4 Διασταύρωση και Μετάλλαξη... 46 4.4 Εφαρμογή στο Πρόβλημα του Πλανόδιου Πωλητή... 48 4.4.1 Παραμετροποίηση Αλγορίθμου... 48 4.4.2 Εφαρμογή Αλγορίθμου... 51 Παράρτημα... 63 Βιβλιογραφία... 73 X

ΚΑΤΑΛΟΓΟΣ ΠΙΝΑΚΩΝ Πίνακας 1.1 Πίνακας Μετάβασης για το Πρόβλημα του Πλανόδιου Πωλητή. 1.2 Αποτελέσματα του Αλγορίθμου Αντιστροφής Υπο- Διαδρομής. 2.1 Εφαρμογή της Αναζήτησης Tabu σε Πρόβλημα Ελαχίστου Δένδρου Επικάλυψης. Ανάλυση Γειτονικών Κινήσεων και Λύσεων. 3.1 Αποτελέσματα Αλγορίθμου Simulated Annealing στο Πρόβλημα του Πλανόδιου Πωλητή. 4.1 Παραδείγματα Μεθόδων Διασταύρωσης Λύσεων για Διαφορετικές Τεχνικές Κωδικοποίησης. 4.2 Γενετικός Αλγόριθμος. Πρώτη Επανάληψη. Αναλυτική Εκτύπωση. 4.3 Γενετικός Αλγόριθμος. Συνοπτική Εκτύπωση Όλων των Επαναλήψεων. Σελίδα 8 11 27 37 47 52 58 4.4 Γενετικός Αλγόριθμος. Περίπτωση Μετάλλαξης. 61 XI

XII

ΚΑΤΑΛΟΓΟΣ ΓΡΑΦΗΜΑΤΩΝ Γράφημα 1.1 Γραφική Παράσταση Προβλήματος Μη Γραμμικού Προγραμματισμού. 1.2 Πρόβλημα Πλανόδιου Πωλητή με Όλες τις Δυνατές Διαδρομές. Σελίδα 3 7 2.1 Αναζήτηση Tabu. Βραχυπρόθεσμη Μνήμη. 17 2.2 Αναζήτηση Tabu. Επιλογή Καλύτερης Αποδεκτής Κίνησης. 2.3 Εφαρμογή της Αναζήτησης Tabu σε Πρόβλημα Ελαχίστου Δένδρου Επικάλυψης. 18 23 XIII

XIV

1. Εισαγωγή 1.1 Εισαγωγή στις Ευρετικές και Μεταευρετικές Μεθόδους. Μία από τις πιο συχνά χρησιμοποιούμενες πρακτικές στην επίλυση προβλημάτων βελτιστοποίησης, και φυσικά όχι μόνο, είναι η δημιουργία και εφαρμογή διαφόρων αλγορίθμων. Αλγόριθμος ονομάζεται μια διαδικασία υπολογισμών η οποία είναι κατάλληλα σχεδιασμένη ώστε να επαναλαμβάνεται και μετά από ένα πλήθος επαναλήψεων καταλήγει σε μία λύση αν ικανοποιείται ένα κριτήριο τερματισμού. Στα πλαίσια της συνδυαστικής βελτιστοποίησης και της επιχειρησιακής έρευνας, έχει δημιουργηθεί ένα μεγάλο πλήθος αλγορίθμων που αναζητούν μέσα από ένα μεγάλο ή ακόμα και άπειρο πλήθος λύσεων τη βέλτιστη, όπως για παράδειγμα ή γνωστή μέθοδος simplex. Οι αλγόριθμοι αυτοί έχουν τεράστιο πλήθος εφαρμογών και έχουν αποδειχθεί ανεκτίμητοι στην επίλυση μιας πληθώρας πρακτικών προβλημάτων. Δυστυχώς όμως η προσέγγιση αυτή δεν δουλεύει πάντα. Σε προβλήματα και μοντέλα υπερβολικά μεγάλα ή πολύπλοκα η εύρεση της βέλτιστης λύσης δεν είναι πάντοτε εφικτή λόγω διαφόρων περιορισμών. Τέτοιοι περιορισμοί μπορεί να σχετίζονται με χρόνο, κόστος, υπολογιστική ισχύ ή και άλλους παράγοντες. Σε τέτοιες περιπτώσεις, όπου ή εύρεση της βέλτιστης λύσης δεν είναι δυνατή, μας ενδιαφέρει να ψάξουμε τουλάχιστον για μια καλή, εφικτή λύση που να βρίσκεται σχετικά κοντά στην βέλτιστη. Το ρόλο αυτό αναλαμβάνουν οι ευρετικές μεθόδοι. Μία ευρετική μέθοδος είναι μια διαδικασία η οποία είναι πιθανόν να βρει μία πολύ καλή εφικτή λύση αλλά όχι απαραίτητα βέλτιστη. Αν και η μέθοδος δεν μπορεί να μας εγγυηθεί πως θα βρεθεί η βέλτιστη λύση, μια καλοσχεδιασμένη ευρετική μέθοδος μπορεί να παράγει λύσεις που να είναι σχεδόν βέλτιστες ή να αποφαίνεται πως τέτοιες λύσεις δεν είναι εφικτές. Οι διαδικασίες αυτές είναι αρκετά αποδοτικές ώστε να μπορούν να διαχειριστούν ιδιαίτερα μεγάλα προβλήματα. Στην πλειοψηφία τους αποτελούνται από ένα επαναληπτικό αλγόριθμο όπου σε κάθε επανάληψή του αναζητεί μια νέα 1

λύση, καλύτερη από αυτή που βρέθηκε στην αμέσως προηγούμενη επανάληψη. Όταν ο αλγόριθμος τερματιστεί, η λύση που αναφέρεται είναι η καλύτερη που έχει βρεθεί σε όλες τις επαναλήψεις. Οι ευρετικές μεθόδοι σαν έννοια υφίστανται και σε πολλά άλλα γνωστικά πεδία, όπως στην ψυχολογία, στη φιλοσοφία, στη νομική, στην πληροφορική, στη μηχανολογία κ.α. και αναφέρονται γενικά ως μέθοδοι βασισμένοι στην εμπειρία και την κοινή λογική που χρησιμοποιούνται για να επιταχύνουν την εύρεση μιας επιθυμητής λύσης όταν η εξαντλητική έρευνα δεν είναι πρακτική, εφικτή ή ακόμα και επιθυμητή. Το γεγονός ότι αυτές οι διαδικασίες είναι βασισμένες στην εμπειρία και την κοινή λογική τους προσδίδει ένα ακόμα βασικό χαρακτηριστικό. Ως επί το πλείστον, οι ευρετικές μέθοδοι είναι από τη φύση τους ad hoc, δηλαδή κάθε μέθοδος συνήθως σχεδιάζεται για να επιλύει ένα συγκεκριμένο πρόβλημα παρά μια πληθώρα διαφορετικών προβλημάτων. Το γεγονός αυτό για την επιχειρησιακή έρευνα πρακτικά σημαίνει πως οι ερευνητές ήταν αναγκασμένοι να δημιουργούν κάθε φορά καινούριες ευρετικές μεθόδους για να αντιμετωπίζουν το εκάστοτε πρόβλημα, όταν η αναζήτηση βέλτιστων λύσεων δεν ήταν εφικτή. Κάτι τέτοιο όμως δεν ήταν πλέον απαραίτητο μετά την ανάπτυξη των μεταευρετικών μεθόδων, σε σχετικά πρόσφατα χρόνια. Μεταευρετική ονομάζεται μια γενική μέθοδος επίλυσης προβλημάτων συνδυαστικής βελτιστοποίησης που εφοδιάζει μια ευρετική μέθοδο με την απαραίτητη δομή και στρατηγική ώστε να μπορεί να επιλύσει μια συγκεκριμένη κατηγορία προβλημάτων. 2

1.2 Η Λειτουργία των Μεταευρετικών Μεθόδων Για να γίνει απολύτως κατανοητή η χρησιμότητα και η λειτουργία των μεταευρετικών μεθόδων όπως επίσης και η σχέση τους με τις ευρετικές μεθόδους θα δούμε πως θα μπορούσαμε να αντιμετωπίσουμε ένα πρόβλημα μεγιστοποίησης. Ας υποθέσουμε το εξής πρόβλημα: max f(x) = 12x 5 975x 4 + 28,000x 3 345,000x 2 + 1,800,000x υπό τον περιορισμό 0 x 31 Σε αυτό το μη γραμμικό και μη κυρτό πρόβλημα προγραμματισμού θα ήταν αρκετά δύσκολο να προσδιορίσουμε τα ακρότατα, και συγκεκριμένα τα τοπικά μέγιστα, χωρίς να χρειαστεί να επιλύσουμε το τετάρτου βαθμού πολυώνυμο που θα προέκυπτε μετά την παραγώγιση. Διάγραμμα 1.1 Γραφική Παράσταση Προβλήματος Μη Γραμμικού Προγραμματισμού. 3

Κοιτάζοντας το διάγραμμα 1.1 το οποίο κατασκευάστηκε με τη βοήθεια του λογισμικού Matlab βλέπουμε πως τα τοπικά μέγιστα είναι 3 και συγκεκριμένα αντιστοιχούν στις τιμές x = 5, x = 20 και x = 31 με το ολικό μέγιστο να αντιστοιχεί στην τιμή x = 20. Μία τυπική ευρετική προσέγγιση για την επίλυση αυτού του προβλήματος θα ήταν να διενεργήσουμε μια διαδικασία τοπικής βελτίωσης (local improvement procedure). Μια τέτοια διαδικασία περιλαμβάνει έναν αλγόριθμο ό οποίος ξεκινώντας από μια αρχική εφικτή λύση, ψάχνει στις γειτονικές τιμές της μεταβλητής για μια καλύτερη λύση. Εάν όντως βρει καλύτερη λύση επαναλαμβάνεται ξεκινώντας από αυτήν και ξαναψάχνει για μια ακόμα καλύτερη. Εάν δε βρει καλύτερη λύση σε μια από τις γειτονικές τιμές του x, ο αλγόριθμος τερματίζεται. Σε περίπτωση που επιχειρούσαμε να κατασκευάσουμε έναν τέτοιο αλγόριθμο σε ένα λογισμικό ηλεκτρονικού υπολογιστή, θα είχε μια μορφή σαν την ακόλουθη. 1. Ξεκίνα από μία τιμή του x. 2. Υπολόγισε την τιμή της αντικειμενικής συνάρτησης f(x). 3. Για τις γειτονικές τιμές του x, έστω x 1 και x + 1, υπολόγισε τις νέες τιμές της αντικειμενικής συνάρτησης και θέσε τη μεγαλύτερη από τις δύο σαν f(x ). 4. Αν f(x ) > f(x) θέσε x = x και πήγαινε στο βήμα 2. Αλλιώς, τερμάτισε και ανέφερε την f(x ) σαν λύση. Παραδείγματα διαδικασιών τοπικής βελτίωσης είναι η μέθοδος ανάβασης/κατάβασης πλαγιάς (gradient ascent/decent ή gradient search procedure), ανάλογα αν πρόκειται για πρόβλημα μεγιστοποίησης ή ελαχιστοποίησης και η μέθοδος της διχοτόμησης (bisection method). Η διαδικασία της τοπικής βελτίωσης παρομοιάζεται συχνά με την ανάβαση ενός λόφου, κάτι που γίνεται φανερό παρατηρώντας τη γραφική παράσταση ενός προβλήματος μίας ή δύο μεταβλητών όπως το παραπάνω. Ο αλγόριθμος ξεκινάει από ένα σημείο σε μια πλαγιά της συνάρτησης και σε 4

κάθε επανάληψη ανεβαίνει ένα βήμα ψηλότερα μέχρι και να φτάσει στην κορυφή, όπου και σταματάει έχοντας βρει το τοπικό μέγιστο. Σε αυτό το σημείο όμως εντοπίζεται και η βασική αδυναμία αυτών των μεθόδων. Σε προβλήματα με περισσότερα από ένα τοπικά μέγιστα, η ευρετική μέθοδος θα συγκλίνει σε ένα τοπικό μέγιστο και θα σταματήσει. Το τοπικό μέγιστο που θα καταλήξει εξαρτάται από το σημείο από το οποίο η μέθοδος ξεκίνησε. Συνεπώς, η διαδικασία θα βρει το ολικό μέγιστο μόνο εάν ξεκινήσει την αναζήτηση από σημείο κοντά στην περιοχή του ολικού μεγίστου ή συνεχίζοντας την παραπάνω παρομοίωση, μόνο αν ξεκινήσει από την πλαγιά του υψηλότερου λόφου. Μία ιδέα για την αντιμετώπιση αυτής της αδυναμίας θα ήταν να ξεκινάμε τον αλγόριθμο από τυχαίες αρχικές λύσεις. Κάτι τέτοιο αν γινόταν αρκετές φορές θα αύξανε σημαντικά την πιθανότητα το μεγαλύτερο από τα τοπικά μέγιστα που θα βρει ο αλγόριθμος να είναι και το ολικό μέγιστο. Εντούτοις, δεν θα ήταν και πολύ αποτελεσματικό σε μεγάλα προβλήματα με πολλές μεταβλητές και περιορισμούς που θα οδηγούσαν σε πολύπλοκη εφικτή περιοχή. Σε ένα τέτοιου μεγέθους πρόβλημα, μια απλή τυχαιοποιημένη προσέγγιση θα ήταν ένας μάλλον υπερβολικά φιλόδοξος τρόπος να βρεθεί το ολικό μέγιστο. Επιπλέον, θα ακύρωνε το βασικό πλεονέκτημα αυτών των μεθόδων που είναι η ευκολία και η ταχύτητα. Αυτό που χρειάζεται πραγματικά για να ξεπεραστεί η αδυναμία των ευρετικών μεθόδων είναι η ενίσχυσή τους με μια μεταευρετική μέθοδο ή οποία θα μπορέσει να οργανώσει τις διαδικασίες τοπικής βελτίωσης σε μια στρατηγική υψηλότερου επιπέδου και να επιτρέψει στον αλγόριθμο να ξεφύγει από ένα μικρό τοπικό μέγιστο και να οδηγηθεί στο ολικό. Αυτή ακριβώς είναι η λειτουργία των μεταευρετικών μεθόδων. Ο τρόπος με τον οποίο οι μεταευρετικές μεθόδοι ξεφεύγουν από το τοπικό μέγιστο διαφέρει σε κάθε μία. Το κοινό τους όμως χαρακτηριστικό, που αποτελεί και το σημαντικότερο κομμάτι της διαδικασίας, είναι πως επιτρέπουν στις υποψήφιες λύσεις που προκύπτουν αμέσως μετά το τοπικό μέγιστο να οδηγούν σε χαμηλότερη τιμή της αντικειμενικής συνάρτησης. Κατά συνέπεια η μεταευρετική μέθοδος επιτρέπει στον αλγόριθμο, αφού έχει βρει το τοπικό μέγιστο, να κοιτάξει χαμηλότερα, να κατέβει για λίγο την 5

πλαγιά που ακολουθεί και στη συνέχεια αν είναι δυνατόν να τον οδηγήσει στην κορυφή του επόμενου, πιθανώς ψηλότερου λόφου. Μεγάλο πλεονέκτημα των μεταευρετικών μεθόδων αποτελεί η ταχύτητα με την οποία συγκλίνουν σε καλές λύσεις. Αυτό τους επιτρέπει να διαχειρίζονται αποδοτικά μεγάλα και πολύπλοκα προβλήματα. Το μειονέκτημά τους είναι πως δεν εγγυώνται σε καμία περίπτωση πως η τελική λύση που θα παρουσιαστεί σαν βέλτιστη θα είναι όντως βέλτιστη ή ακόμη και κοντά στη βέλτιστη. Θα πρέπει να είναι σαφές πως όταν ένα πρόβλημα μπορεί να λυθεί με ένα ακριβή αλγόριθμο (exact algorithm) τότε αυτή θα πρέπει να είναι και η πρώτη επιλογή. Ο ρόλος εξάλλου των μεταευρετικών είναι να παράγουν καλές λύσεις σε προβλήματα που οι ακριβείς αλγόριθμοι αποτυγχάνουν. 1.3 Το Πρόβλημα του Πλανόδιου Πωλητή Επειδή στη συνέχεια του συγγράμματος θα εφαρμόσουμε αρκετές μεταευρετικές διαδικασίες στο πρόβλημα του πλανόδιου πωλητή, κρίνεται σκόπιμο σε αυτό το σημείο να δούμε τα βασικά του χαρακτηριστικά και ιδιότητες. Θα είναι χρήσιμο να δούμε επίσης πως θα μπορούσαμε να χρησιμοποιήσουμε μια ευρετική μέθοδο σε ένα πρόβλημα όπως αυτό, όπου οι μεταβλητές, η αντικειμενική συνάρτηση, οι περιορισμοί και η λύσεις δεν έχουν εκ πρώτης όψεως τόσο σαφή αλγεβρική έκφραση όπως για παράδειγμα στο πρόβλημα μη γραμμικού προγραμματισμού που παρουσιάστηκε στην προηγούμενη ενότητα. Το πρόβλημα του πλανόδιου πωλητή αποτελεί ένα από τα πιο διάσημα και κλασσικά προβλήματα συνδυαστικής βελτιστοποίησης. Η βασική του ιδέα είναι πως ένας πωλητής, ξεκινώντας από μια αφετηρία, πρέπει να επισκεφτεί μια σειρά από πόλεις και κατόπιν να επιστρέψει στην αφετηρία. Σκοπός μας είναι να βρούμε τη διαδρομή η οποία ελαχιστοποιεί το συνολικό μήκος του ταξιδιού έχοντας επισκεφτεί όλες τις πόλεις από μια φορά. Το πρόβλημα έχει εφαρμογές και επεκτάσεις στην επιχειρησιακή έρευνα, στα logistics, στη μηχανολογία και σε άλλα επιστημονικά πεδία. Για παράδειγμα θα μπορούσε να αναφέρεται σε ένα φορτηγό που θέλει να παραδώσει εμπόρευμα σε διάφορους παραλήπτες έχοντας κάνει την ελάχιστη 6

δυνατή διαδρομή ή σε ένα ρομπότ που πρέπει να κατασκευάσει ένα μικροτσίπ με τις ελάχιστες κινήσεις του βραχίονά του. Ένα σχετικά απλό πρόβλημα πλανόδιου πωλητή για 7 πόλεις παρουσιάζεται παρακάτω σε μορφή γραφήματος (Διάγραμμα 1.2) και πίνακα (Πίνακας 1.1). Διάγραμμα 1.2 Πρόβλημα Πλανόδιου Πωλητή με Όλες τις Δυνατές Διαδρομές. 7

1 2 3 4 5 6 7 1-12 10 - - - 12 2 12-8 12 - - - 3 10 8-11 3-9 4-12 11-11 10-5 - - 3 11-6 7 6 - - - 10 6-9 7 12-9 - 7 9 - Πίνακας 1.1 Πίνακας Μετάβασης για το Πρόβλημα του Πλανόδιου Πωλητή. Οι αριθμοί πάνω από κάθε σύνδεση είναι ίδιοι με τα στοιχεία του πίνακα μεταβάσεων και δείχνουν την απόσταση ή το κόστος της μετάβασης από τη μία πόλη στην άλλη. Ένα πρόβλημα σαν και αυτό, όπου οι συνδέσεις μεταξύ κάθε ζεύγους πόλεων είναι αμφίδρομες και με κοινό κόστος ονομάζεται συμμετρικό. Ο λόγος γίνεται προφανής αν δούμε τον πίνακα μεταβάσεων όπου είναι πράγματι συμμετρικός. Ο στόχος του πωλητή, λοιπόν, σε αυτό το πρόβλημα, θα ήταν ξεκινώντας και καταλήγοντας στην πόλη 1 να επισκεφτεί κάθε πόλη από μια φορά διανύοντας την ελάχιστη δυνατή απόσταση. Η κάθε διαδρομή που μπορεί να πραγματοποιήσει ο πωλητής αποτελεί και μια εφικτή υποψήφια λύση. Μια τέτοια λύση είναι για παράδειγμα η 1-2-3-4-5-6-7-1. Στο συγκεκριμένο όμως πρόβλημα δεν είναι δυνατές όλες οι συνδέσεις. Για παράδειγμα ο πωλητής δεν μπορεί να μεταβεί απευθείας από την πόλη 1 στην πόλη 4. Επομένως μια λύση όπως για παράδειγμα η 1-4-2-3-5-6-7-1 χαρακτηρίζεται ως μη εφικτή λόγω του ότι η πρώτη μετάβαση δεν είναι διαθέσιμη στον πωλητή. Η δυσκολία των προβλημάτων του πλανόδιου πωλητή εντοπίζεται στον μεγάλο όγκο των υπολογισμών που απαιτούν. Αν υποθέσουμε ένα πρόβλημα n πόλεων με συνδέσεις ανάμεσα σε κάθε ζεύγος πόλεων, οι υποψήφιες ολοκληρωμένες διαδρομές είναι (n 1)!/2. Αν επιπλέον το πρόβλημα είναι μη συμμετρικό τότε είναι οι διπλάσιες. Έτσι ένα πρόβλημα με 20 πόλεις έχει περίπου 10 16 υποψήφιες εφικτές λύσεις ενώ ένα πρόβλημα 50 πόλεων, περίπου 10 62. 8

Όπως γίνεται φανερό, ακόμα και ένα σχετικά μικρό πρόβλημα θα παρουσίαζε τεράστια δυσκολία για μεθόδους που χρησιμοποιούν ακριβείς αλγορίθμους. 'Ενας αλγόριθμος που θα δοκίμαζε όλες τις εφικτές λύσεις (brute-force algorithm) πριν επιλέξει τη βέλτιστη θα ήταν απαγορευτικός ακόμα και για 20 πόλεις, ενώ οι περισσότεροι αλγόριθμοι δυναμικού προγραμματισμού θα αποτύγχαναν σε ελαφρώς μεγαλύτερο πλήθος πόλεων. Άλλες προσεγγίσεις με ακριβείς αλγόριθμους αποτελούν οι branch-and-bound αλγόριθμοι που μπορούν να παράγουν λύση σε ικανοποιητικό χρόνο για 40 με 60 πόλεις και οι αλγόριθμοι προοδευτικής βελτίωσης βασισμένοι σε τεχνικές που θυμίζουν γραμμικό προγραμματισμό και μπορούν να διαχειριστούν ικανοποιητικά προβλήματα 200 πόλεων. Η πιο ικανοποιητική προσέγγιση για μεγάλα προβλήματα όσον αφορά τους ακριβείς αλγορίθμους είναι μια παραλλαγή του αλγορίθμου branch-and-bound, ο αλγόριθμος branch-and-cut, ο οποίος μπορεί να βρει τη βέλτιστη διαδρομή σε προβλήματα εκατοντάδων ή και χιλιάδων μεταβλητών/πόλεων. Για να γίνει πλήρως αντιληπτή η ανεπάρκεια αυτών σε μεγάλα προβλήματα, αξίζει να σημειωθεί πως ακόμα και ένας σύγχρονος branch-and-cut αλγόριθμος σε έναν πανίσχυρο υπολογιστή θα χρειαζόταν δεκάδες χρόνια για να βρει τη βέλτιστη λύση σε ένα πρόβλημα λίγων χιλιάδων πόλεων. Λόγω, λοιπόν, αυτής της τεράστιας δυσκολίας που παρουσιάζουν τα μεγάλα προβλήματα του πλανόδιου πωλητή, οι ευρετικές μεθόδοι καθοδηγούμενες από μεταευρετικές διαδικασίες αποτελούν ένα πολύ αποδοτικό και ως εκ τούτου δημοφιλή τρόπο επίλυσης. Οι πιο μοντέρνες διαδικασίες μπορούν να βρουν σε ικανοποιητικό χρόνο διαδρομές για προβλήματα εκατομμυρίων πόλεων οι οποίες με υψηλή πιθανότητα να απέχουν 2-3% από τη βέλτιστη. Επανερχόμενοι στο πρόβλημα του πλανόδιου πωλητή με τις 7 πόλεις, μια ευρετική μέθοδος που θα μπορούσαμε αρχικά να εφαρμόσουμε είναι η μέθοδος τοπικής βελτίωσης. Όπως είδαμε στην προηγούμενη ενότητα, η διαδικασία αυτή ψάχνοντας τις λύσεις στη γειτονιά της αρχικής λύσης προσπαθεί σε κάθε επανάληψη να καταλήξει σε μια καλύτερη λύση από αυτή που ξεκίνησε. Εντούτοις, ενώ σε ένα πρόβλημα προγραμματισμού οι γειτονικές λύσεις είναι εύκολο να οριστούν, π.χ. (x ± ε) f(x ± ε), σε ένα πρόβλημα όπως του 9

πλανόδιου πωλητή ο τρόπος που θα οριστεί η έννοια της "γειτονιάς" και η εισαγωγή της στον ευρετικό ή μεταευρετικό αλγόριθμο που θα κινήσει τη διαδικασία δεν είναι πάντα τόσο προφανής. Μια τεχνική που χρησιμοποιείται συχνά λόγω της απλότητάς της είναι αυτή της αντιστροφής υποδιαδρομής. Αντιστροφή υπο-διαδρομής (sub-tour reversal) ονομάζεται η διαδικασία που μεταβάλει την συνολική διαδρομή αντιστρέφοντας την σειρά επίσκεψης ενός υποσυνόλου δύο ή περισσότερων πόλεων. Για παράδειγμα, μια αντιστροφή υποδιαδρομής της αρχικής εφικτής λύσης 1-2-3-4-5-6-7-1 είναι η 1-2-4-3-5-6-7-1 η οποία προέκυψε αντιστρέφοντας τη σειρά επίσκεψης των πόλεων 3 και 4. Ορίζοντας λοιπόν ως γειτονική κάθε εφικτή λύση η οποία μπορεί να παραχθεί πραγματοποιώντας μια αντιστροφή υποδιαδρομής, μπορούμε να κατασκευάσουμε έναν ευρετικό αλγόριθμο που να παράγει καλές εφικτές λύσεις. Ο ακόλουθος ονομάζεται Αλγόριθμος Αντιστροφής Υπο-Διαδρομής και μπορεί να περιγραφεί σε βήματα ως εξής: Εκκίνηση: Επέλεξε μια οποιαδήποτε εφικτή διαδρομή σαν αρχική υποψήφια λύση Επανάληψη: Για την τρέχουσα υποψήφια λύση πραγματοποίησε όλες τις δυνατές αντιστροφές υποδιαδρομής που οδηγούν σε εφικτές λύσεις και επέλεξε αυτή που αντιστοιχεί στη μικρότερη απόσταση διαδρομής. Σε περίπτωση ισοπαλίας επέλεξε μία αυθαίρετα. Τερματισμός: Όταν καμία αντιστροφή υποδιαδρομής της τρέχουσας λύσης δεν μπορεί να οδηγήσει σε μικρότερη τιμή διαδρομής επέστρεψε την τρέχουσα υποψήφια λύση σαν την τελική λύση 10

Ας εφαρμόσουμε τώρα τον αλγόριθμο στο πρόβλημα των 7 πόλεων. Τα αποτελέσματα του αλγορίθμου παρουσιάζονται στον πίνακα 1.2. Eπανάληψη Αντιστροφή Διαδρομή Απόσταση 1-2-3-4-5-6-7-1 69 2-3 1-3-2-4-5-6-7-1 68 1 3-4 1-2-4-3-5-6-7-1 65 4-5 1-2-3-5-4-6-7-1 65 5-6 1-2-3-4-6-5-7-1 66 2 1-2-4-3-5-6-7-1 65 3-5-6 1-2-4-6-5-3-7-1 64 3 1-2-4-6-5-3-7-1 64 Πίνακας 1.2 Αποτελέσματα του Αλγορίθμου Αντιστροφής Υπο-Διαδρομής. Στην πρώτη επανάληψη ο αλγόριθμος εντοπίζει τέσσερις καλύτερες γειτονικές εφικτές λύσεις από την αρχική και επειδή δύο από αυτές αντιστοιχούν σε ίσες διαδρομές, επιλέγει αυθαίρετα σαν νέα υποψήφια λύση την 1-2-4-3-5-6-7-1 ολοκληρώνοντας την πρώτη επανάληψη. Στη δεύτερη επανάληψη, ξεκινώντας από τη νέα λύση υπάρχει μόνο μια καλύτερη γειτονική εφικτή λύση, αυτή που προκύπτει από την αντιστροφή 3-5-6. Ο αλγόριθμος την επιλέγει σαν νέα λύση και προχωράει στην τρίτη επανάληψη. Ξεκινώντας από τη λύση που βρέθηκε στη δεύτερη επανάληψη ο αλγόριθμος δεν μπορεί να συνεχίσει καθώς δεν υπάρχουν γειτονικές εφικτές λύσεις με απόσταση μικρότερη του 64. Συνεπώς στην τρίτη επανάληψη ο αλγόριθμος τερματίζεται και επιστρέφει την διαδρομή 1-2-4-6-5-3-7-1 σαν βέλτιστη. Είναι όμως όντως βέλτιστη; 'Οπως θα δούμε στη συνέχεια, όχι. Το γεγονός αυτό επιβεβαιώνει την αδυναμία των ευρετικών μεθόδων η οποία και διατυπώθηκε στην προηγούμενη ενότητα. Η συγκεκριμένη διαδικασία τοπικής βελτίωσης βελτιώνει συνεχώς τη λύση μέχρι να φτάσει σε ένα τοπικό βέλτιστο. Από εκείνο το σημείο και πέρα δεν μπορεί να συνεχίσει για το λόγο ότι είναι σχεδιασμένη να αποδέχεται μόνο λύσεις που οδηγούν σε καλύτερες τιμές της αντικειμενικής συνάρτησης, στην προκειμένη περίπτωση της 11

απόστασης. Δυστυχώς όμως το τοπικό ελάχιστο που καταλήξαμε δεν είναι και ολικό. Στα επόμενα κεφάλαια θα παρουσιαστούν τρεις διαφορετικές μεταευρετικές διαδικασίες οι οποίες μπορούν να ξεφύγουν από τοπικά βέλτιστα και να καταλήξουν σε ολικά. Αυτές είναι η αναζήτηση Tabu, η μέθοδος Simulated Annealing και ο Γενετικός Αλγόριθμος. 12

2. Αναζήτηση Tabu 2.1 Εισαγωγή Η αναζήτηση Tabu είναι μια μεταευρετική μέθοδος η οποία μπορεί να εφαρμοστεί πάνω σε χαμηλότερου επιπέδου διαδικασίες και να τις επιτρέψει να ξεφύγουν από τοπικά βέλτιστα. Μπορεί να χρησιμοποιηθεί για να οδηγήσει στο βέλτιστο κάθε είδους διαδικασία η οποία χαρακτηρίζεται από δύο στοιχεία: α) προχωράει μέσα στο χώρο των λύσεων μετατρέποντας την κάθε λύση σε μία καινούρια μέσω κάποιας αλληλουχίας κινήσεων και β) χρησιμοποιεί μια αντικειμενική συνάρτηση για την αξιολόγηση της κάθε λύσης. Ένα παράδειγμα τέτοιας διαδικασίας θα μπορούσε να είναι ένας αλγόριθμος τοπικής βελτίωσης όταν εφαρμοστεί πάνω σε ένα πρόβλημα ελάχιστου δέντρου επικάλυψης. Ο εν λόγω αλγόριθμος κατασκευάζει την επόμενη λύση από την τρέχουσα προσθέτοντας κάθε φορά ένα σύνδεσμο στο δέντρο και αφαιρώντας έναν άλλο ενώ στη συνέχεια την ποσοτικοποιεί μέσω της αντικειμενικής συνάρτησης. Οι ιστορικές ρίζες της Αναζήτησης Tabu βρίσκονται στη δεκαετία του '70. Παρουσιάστηκε για πρώτη φορά στη σημερινή της μορφή από τον Fred W. Glover το 1986, ο οποίος θεωρείται και πατέρας της μεθόδου. Σημαντικές συνεισφορές αναγνωρίζονται μεταξύ άλλων στους Hansen, de Werra και Hertz. Η Αναζήτηση Tabu αποτελεί μια κατά βάση εμπειρική μέθοδο που χάρη στην ευελιξία και την απλότητα που τη χαρακτηρίζουν μπορεί να συναγωνιστεί σε απόδοση κάθε γνωστή μέθοδο μέχρι και σήμερα. Παρόλα αυτά δεν έχει δοθεί ακόμα επίσημη θεωρητική εξήγηση για την καλή της συμπεριφορά. Στη συνέχεια του κεφαλαίου θα δούμε τα βασικά χαρακτηριστικά της Αναζήτησης Tabu καθώς και μερικές πιο ανεπτυγμένες τεχνικές όπως τις intensification και diversification. 13

2.2 Βασικά Χαρακτηριστικά Στον πυρήνα της Αναζήτησης Tabu εντοπίζονται οι δύο πιο σημαντικοί μηχανισμοί της. Ο πρώτος είναι μια διαδικασία τοπικής αναζήτησης η οποία έχει το ρόλο σε κάθε επανάληψη του αλγορίθμου να εντοπίζει και να συγκρίνει τις υποψήφιες λύσεις στη γειτονιά της τρέχουσας λύσης. Ο δεύτερος είναι μια λειτουργία βραχυπρόθεσμης μνήμης η οποία ενισχύει τον αλγόριθμο και του επιτρέπει να απορρίπτει σε κάθε επανάληψη κάποιες από τις υποψήφιες λύσεις στις οποίες κατέληξε η διαδικασία τοπικής αναζήτησης. Οι δύο αυτοί μηχανισμοί σε συνεργασία κινούν το μεγαλύτερο κομμάτι της μεταευρετικής διαδικασίας με σκοπό την εύρεση της καλύτερης δυνατής λύσης και αν είναι δυνατόν, του ολικού βέλτιστου. Μία διαδικασία τοπικής αναζήτησης λειτουργεί με τον ίδιο ακριβώς τρόπο με μια διαδικασία τοπικής βελτίωσης με τη μόνη διαφορά πως δεν είναι απαραίτητο κάθε επανάληψη να οδηγεί σε καλύτερη λύση από την τρέχουσα. Αναλυτικά, στα πλαίσια της Αναζήτησης Tabu, η διαδικασία τοπικής αναζήτησης χρησιμοποιείται αρχικά σαν διαδικασία τοπικής βελτίωσης μέχρι να φτάσει στο τοπικό βέλτιστο από όπου και ως γνωστόν δεν μπορεί να συνεχίσει. Στο σημείο αυτό η διαδικασία αλλάζει σε διαδικασία τοπικής αναζήτησης επιτρέποντας κινήσεις που οδηγούν σε χειρότερη λύση. Όταν η διαδικασία φτάσει ξανά στο σημείο όπου μπορούν να υπάρξουν γειτονικές λύσεις καλύτερες από την τρέχουσα, επανέρχεται στο ρόλο της διαδικασίας τοπικής βελτίωσης και οδηγείται σε ένα νέο τοπικό βέλτιστο. Χρησιμοποιώντας για ακόμα μια φορά την παρομοίωση της κατάβασης ή ανάβασης ενός λόφου, η διαδικασία σε κάθε επανάληψη επιλέγει την κίνηση που ανεβαίνει ψηλότερα στο λόφο ή αν μια τέτοια κίνηση δεν είναι δυνατή, δηλαδή αν βρισκόμαστε στην κορυφή του λόφου, τότε επιλέγει την κίνηση που κατεβαίνει το λιγότερο δυνατό. Ο προφανής κίνδυνος που εντοπίζεται σε αυτή τη διαδικασία είναι πως ακριβώς μετά από την ελάχιστη κατάβαση από την κορυφή του λόφου, σύμφωνα με τη λογική που ακολουθήσαμε, το επόμενο βήμα θα είναι πιθανότατα η επιστροφή του αλγορίθμου στην κορυφή που μόλις άφησε. Κάτι τέτοιο θα οδηγούσε την όλη μέθοδο σε ανακύκλωση λύσεων και δεν θα επέτρεπε, φυσικά, να ξεφύγουμε από ένα τοπικό βέλτιστο. 14

Σε αυτό ακριβώς το σημείο εισάγεται η έννοια της βραχυπρόθεσμης μνήμης με τη μορφή μιας λίστας απαγορευμένων κινήσεων. Η λίστα ονομάζεται λίστα tabu και έχει τη λειτουργία να οδηγεί τον αλγόριθμο σε γειτονιές διαφορετικών τοπικών βελτίστων μέχρι να βρεθεί το ολικό. Αυτή η χρήση μίας μορφής βραχυπρόθεσμης - αλλά και μακροπρόθεσμης, όπως θα δούμε - μνήμης είναι το χαρακτηριστικό που διακρίνει την Αναζήτηση Tabu από τις υπόλοιπες μεταευρετικές μεθόδους. Οι ρίζες της εντοπίζονται στο επιστημονικό πεδίο της τεχνητής νοημοσύνης. Η λίστα tabu είναι μια λίστα στην οποία καταγράφονται οι πιο πρόσφατες κινήσεις του αλγορίθμου με σκοπό να μην μπορούν να αναιρεθούν για όσο βρίσκονται σε κατάσταση tabu, κάτι που θα μας οδηγούσε σε επιστροφή σε ήδη επισκεφθείσες λύσεις και τοπικά βέλτιστα. H λίστα tabu ανανεώνεται σε κάθε επανάληψη του αλγορίθμου εισάγοντας την πιο πρόσφατη κίνηση και αφαιρώντας την πιο παλιά. Συνήθως το μέγεθος της λίστας tabu είναι σταθερό και ορίζεται σύμφωνα με το μέγεθος του προβλήματος και την εμπειρία του ερευνητή. Κάποιες παρατηρήσεις που θα μπορούσαμε να κάνουμε είναι πως καταρχήν αν το μήκος της είναι πολύ μικρό τότε ίσως να μην μπορεί να αποτραπεί η ανακύκλωση των λύσεων. Αντίθετα, αν το μήκος της είναι μεγάλο δημιουργούμε πολλούς περιορισμούς στις μεταβλητές. Ένας καλός τρόπος να αντιμετωπίσουμε αυτόν τον προβληματισμό είναι να δημιουργήσουμε λίστες tabu μεταβλητού μεγέθους όπου κάθε στοιχείο της θα παραμένει στη λίστα για ένα πλήθος επαναλήψεων του αλγορίθμου το οποίο θα είναι φραγμένο με κάτω και πάνω όρια. Ένας ακόμα προβληματισμός προκύπτει από το γεγονός πως στη λίστα tabu έχουμε επιλέξει να αποθηκεύουμε κινήσεις που οδηγούν σε λύσεις και όχι τις ίδιες τις λύσεις. Επειδή όμως κάθε κίνηση οδηγεί σε μια πληθώρα υποψήφιων λύσεων, είναι πολύ πιθανό, κατά συνέπεια, ο αλγόριθμος σε κάποιο σημείο να παραβλέψει λύσεις τις οποίες δεν έχουμε ήδη επισκεφτεί. Για το λόγο αυτό, ένα επιπλέον χαρακτηριστικό της διαδικασίας είναι ο ορισμός κάποιου μηχανισμού που μας επιτρέπει να αποδεχθούμε κατ' εξαίρεση υποψήφιες λύσεις που προκύπτουν από κινήσεις που περιλαμβάνονται στην τρέχουσα λίστα tabu. Αυτός ο μηχανισμός ονομάζεται aspiration criterion. 15

Τέτοια κριτήρια μπορεί να ποικίλουν από εξαιρετικά απλά μέχρι αρκετά σύνθετα. Το πιο απλό και πιο συχνό κριτήριο είναι η αποδοχή της κίνησης tabu μόνο αν οδηγεί σε λύση καλύτερη από κάθε άλλη υποψήφια η οποία έχει βρεθεί μέχρι στιγμής. Μία πιο σύνθετη διαδικασία θα ήταν να προγραμματίσουμε τον αλγόριθμο ώστε να αντιστοιχεί κάθε κίνηση με μία τιμή και έτσι να μπορεί να χρησιμοποιήσει την κίνηση tabu εφόσον ξεπερνάει μια ορισμένη τιμή κατωφλίου. Συνοψίζοντας, πριν περάσουμε στην ανάλυση πιο σύνθετων τεχνικών, οι οποίες συχνά αναφέρονται και σαν λειτουργίες μακροπρόθεσμης μνήμης, είναι χρήσιμο να δούμε πώς τα βασικά αυτά χαρακτηριστικά αλληλεπιδρούν μεταξύ τους σχηματίζοντας τη βασική μορφή της Αναζήτησης Tabu, η οποία αναφέρεται και σαν το κομμάτι της βραχυπρόθεσμης μνήμης. 16

Εκκίνηση από μια Αρχική Λύση Επιλογή της πρώτης αρχικής λύσης από έναν άπληστο (greedy) αλγόριθμο, τυχαία ή από μια λειτουργία μακροπρόθεσμης μνήμης Δημιουργία Λίστας Υποψηφίων Κινήσεων Επιλογή της Καλύτερης Αποδεκτής Υποψήφιας Κίνησης (Αναλυτικά στο Διάγραμμα 2.2) Ορισμός της αντίστοιχης λύσης σαν νέα αρχική λύση. Καταγραφή της ως νέα καλύτερη λύση αν αντιστοιχεί σε καλύτερη τιμή συνάρτησης από την τρέχουσα καλύτερη. Συνθήκη Τερματισμού Προκαθορισμένο πλήθος επαναλήψεων συνολικά ή από τη στιγμή που βρέθηκε η τελευταία καλύτερη λύση Τέλος Ολικός Τερματισμός ή Έναρξη Διαδικασίας Μακροπρόθεσμης Μνήμης Συνέχεια Ενημέρωση Συνθηκών Αποδοχής Ενημέρωση της λίστας tabu και του aspiration criterion. Διάγραμμα 2.1 Αναζήτηση Tabu. Βραχυπρόθεσμη Μνήμη. 17

Αξιολόγηση Κάθε Υποψήφιας Κίνησης Αντιστοιχεί η κίνηση σε καλύτερη τιμή συνάρτησης από κάθε άλλη υποψήφια κίνηση που έχει κριθεί αποδεκτή μέχρι στιγμής; (μόνο από τη λίστα υποψηφίων κινήσεων της τρέχουσας επανάληψης) ΟΧΙ Έλεγχος Λίστας Tabu ΝΑΙ (πιθανή αποδοχή) Είναι η υποψήφια κίνηση στη λίστα tabu; ΝΑΙ Έλεγχος Aspiration Criterion Ικανοποιεί η κίνηση το aspiration criterion; ΟΧΙ ΝΑΙ ΟΧΙ Αποδεκτή Κίνηση Ορισμός της κίνησης ως υποψήφιας καλύτερης αποδεκτής. (αποδεκτή λύση) ΝΑΙ Έλεγχος Λίστας Υποψηφίων Κινήσεων Υπάρχει περίπτωση να υπάρχουν καλύτερες κινήσεις στην τρέχουσα λίστα κινήσεων; Χρειάζεται να επεκταθεί η λίστα υποψηφίων κινήσεων; ΟΧΙ Πραγματοποίηση της Επιλεγμένης Κίνησης Διάγραμμα 2.2 Αναζήτηση Tabu. Επιλογή Καλύτερης Αποδεκτής Κίνησης. 18

Εν κατακλείδι, θα πρέπει να είναι σαφές πως όπως κάθε μεταευρετική διαδικασία, έτσι και η Αναζήτηση Tabu πρέπει κάθε φορά να παραμετροποιείται σύμφωνα με τις ιδιαιτερότητες, το μέγεθος και την πολυπλοκότητα του κάθε προβλήματος. Σημαντικά ερωτήματα που θα πρέπει να απαντηθούν για το κάθε πρόβλημα πριν προχωρήσουμε στην εφαρμογή της μεθόδου είναι τα ακόλουθα: 1. Ποιά διαδικασία τοπικής αναζήτησης θα πρέπει να χρησιμοποιηθεί; 2. Πώς αυτή η διαδικασία θα ορίζει τις γειτονικές λύσεις; 3. Με ποιά μορφή θα καταγράφονται οι κινήσεις tabu στη λίστα tabu; 4. Ποιά κίνηση θα καταγράφεται στη λίστα tabu σε κάθε επανάληψη; 5. Για πόσο θα μένει κάθε κίνηση tabu στη λίστα tabu / Ποιό θα είναι το μήκος της λίστας tabu; 6. Ποιά θα είναι η συνθήκη τερματισμού του αλγορίθμου; 2.3 Λειτουργίες Μακροπρόθεσμης Μνήμης Οι λειτουργίες μακροπρόθεσμης μνήμης αποτελούνται από τις τεχνικές intensification και diversification και δρουν συμπληρωματικά ως προς τη βασική μορφή της Αναζήτησης Tabu η οποία έχει περιγραφεί μέχρι στιγμής. Αν και το κομμάτι της βραχυπρόθεσμης μνήμης είναι από μόνο του ικανό να αντιμετωπίσει τη μεγάλη πλειοψηφία των προβλημάτων με μεγαλύτερη επιτυχία από άλλες κλασσικές μεθόδους, εντούτοις ο ερευνητής μπορεί να κρίνει πως σε συγκεκριμένα, συνήθως μεγάλα, προβλήματα θα ήταν κατάλληλο να εστιάσει την αναζήτηση σε μια περιοχή λύσεων που θεωρεί ιδιαίτερα ελκυστική ή να την διασπείρει ώστε να συμπεριλάβει σε αυτήν περιοχές που έχει λόγο να πιστεύει πως δεν έχουν εξεταστεί. Οι διαδικασίες intensification και diversification χαρακτηρίζονται σαν συμπληρωματικές λόγω του ότι μπορούν να διενεργηθούν ξεχωριστά, δηλαδή αφού έχουμε ήδη πάρει ένα αποτέλεσμα από τον βασικό αλγόριθμο της Αναζήτησης Tabu. Το βασικό βήμα με το οποίο περνάμε από το κομμάτι της βραχυπρόθεσμης μνήμης σε αυτό της μακροπρόθεσμης είναι η τροποποίηση 19

της αντικειμενικής συνάρτησης f σε μία συνάρτηση f, όπως θα δούμε στη συνέχεια. Στην περίπτωση μίας διαδικασίας intensification, ξεκινώντας από μια λύση, μας ενδιαφέρει να δώσουμε υψηλή προτεραιότητα σε λύσεις η οποίες έχουν κοινά χαρακτηριστικά έτσι ώστε να μελετήσουμε ενδελεχώς τη συγκεκριμένη γειτονιά λύσεων. Ένας τρόπος να γίνει αυτό είναι να εισάγουμε στην αντικειμενική συνάρτηση έναν όρο που θα επιβάλει κάποια ποινή σε λύσεις μακριά από την τρέχουσα. Αυτό μπορεί να γίνει για λίγες επαναλήψεις και μετά αν χρειαστεί να γίνει το ίδιο σε ένα διαφορετικό σημείο του χώρου των λύσεων. Aντίστοιχα, στην περίπτωση μίας διαδικασίας diversification, μπορούμε να εισάγουμε έναν όρο που θα επιβάλει ποινή για λύσεις στη γειτονιά της υπό εξέταση λύσης υποχρεώνοντας τον αλγόριθμο να μεταπηδά σε λύσεις απομακρυσμένες μεταξύ τους. Οι δύο τεχνικές φυσικά μπορούν να χρησιμοποιηθούν ενιαία με έναν τρόπο ώστε η φάση intensification και η φάση diversification να εναλλάσονται κατά τη διάρκεια της αναζήτησης. Η τροποποιημένη αντικειμενική συνάρτηση θα είναι της μορφής f = f + intensification + diversification. Επίσης, μπορεί να είναι προς όφελος μας όταν χρησιμοποιούμε διαδικασίες μακροπρόθεσμης μνήμης να δημιουργηθούν περισσότερες από μία λίστες tabu. 2.3.1 Intensification Για να εστιάσουμε την έρευνα σε ελκυστικές περιοχές, πρέπει πρώτα να ξεκινήσουμε από μια πολύ καλή λύση. Η λύση αυτή μπορεί να προκύψει από τη βασική Αναζήτηση Tabu. Έπειτα, μπορούμε απλά να ελαττώσουμε το μήκος της λίστας tabu για ένα μικρό σχετικά πλήθος επαναλήψεων. Σε πολλές περιπτώσεις μπορούν να χρησιμοποιηθούν και ιδιαίτερα σύνθετες τεχνικές. Εάν ένα πρόβλημα βελτιστοποίησης μπορεί να χωριστεί σε υποπροβλήματα, τότε μπορούμε να βρούμε τη βέλτιστη λύση για το κάθε ένα από αυτά και συνδυάζοντας τις επιμέρους λύσεις να καταλήξουμε σε μια βέλτιστη λύση για το αρχικό πρόβλημα. Η δυσκολία εδώ έγκειται προφανώς στον εύστοχο διαχωρισμό του προβλήματος. 20

Είναι επίσης δυνατόν, να δημιουργήσουμε έναν αλγόριθμο που να χαρακτηρίζεται από μία διαδικασία εκμάθησης, κάτι που είναι και πιο κοντά στην έννοια της μακροπρόθεσμης μνήμης. Αυτό μπορεί να επιτευχθεί αποθηκεύοντας τα χαρακτηριστικά των κινήσεων ή των λύσεων που οδηγούν σε καλές λύσεις και στη συνέχεια να προγραμματίσουμε τον αλγόριθμο ώστε να αξιολογεί τις κινήσεις ή τις λύσεις με βάση το πλήθος των "καλών" αυτών χαρακτηριστικών. 2.3.2 Diversification Η διαδικασία αυτή είναι σημαντικό να διενεργείται σε μεγάλα κυρίως προβλήματα ώστε να αποφύγουμε την περίπτωση όπου μια περιοχή του χώρου λύσεων παραμένει εντελώς ανεξερεύνητη. Ο πιό απλός τρόπος αντιμετώπισης είναι να επανεκκινήσουμε τον αλγόριθμο της Αναζήτησης Tabu αρκετές φορές, κάθε φορά από μια τυχαία λύση. Η τυχαιοποίηση, όμως, της μεταευρετικής διαδικασίας παρουσιάζει αρκετά μειονεκτήματα και συχνά είναι επιθυμητή μια πιο δομημένη, ντετερμιστική προσέγγιση. Μια τέτοια προσέγγιση που αντίθετα με τις τυχαίες επανεκκινήσεις, εγγυάται την επίσκεψη ανεξερεύνητων περιοχών, είναι να ορίσουμε μια ποινή σε κινήσεις ή λύσεις που παρουσιάζονται με μεγάλη συχνότητα. Η ποινή μπορεί να τεθεί αρκετά υψηλή ώστε να είμαστε βέβαιοι πως θα πετύχουμε την επιθυμητή διαφοροποίηση. Η ποινή, επίσης, μπορεί να επιβληθεί για ένα δεδομένο πλήθος επαναλήψεων ή και για ολόκληρη τη διαδικασία. Είναι γενικά χρήσιμο να έχουμε υπόψιν μας πως η ανάγκη για διασπορά της αναζήτησης προκύπτει από τους αυστηρούς περιορισμούς που πρέπει να ικανοποιούν οι εφικτές λύσεις του κάθε προβλήματος. Οι περιορισμοί αυτοί, αν προσπαθήσουμε να φανταστούμε το γράφημα της αντικειμενικής συνάρτησης, θα εμφανίζονταν ως απροσπέλαστοι λόφοι. Χαλαρώνοντας προσωρινά τους περιορισμούς, χαμηλώνουμε και το ύψος αυτών των λόφων. Τότε μπορεί η κάθε διαδικασία επίλυσης να ξεπεράσει το φράγμα και να βρεθεί σε καινούργιες περιοχές. Βέβαια, κατά τη διάρκεια της διαδικασίας diversification οι λύσεις που προκύπτουν δεν είναι και απαραίτητα εφικτές, εφόσον έχουμε χαλαρώσει 21

τους περιορισμούς. Για να καταλήξουμε τελικά σε εφικτές λύσεις μπορούμε να αυξάνουμε σταδιακά την ποινή που επιβάλεται για την παραβίαση των περιορισμών. 2.4 Εφαρμογή σε Πρόβλημα Ελαχίστου Δένδρου Επικάλυψης Το πρόβλημα της εύρεσης του ελάχιστου δένδρου επικάλυψης είναι ένα από τα πιο κλασσικά της συνδυαστικής βελτιστοποίησης. Περιληπτικά, ξεκινώντας από τις δεδομένες κορυφές ενός γράφου, καλούμαστε να επιλέξουμε τις ακμές με τέτοιο τρόπο ώστε να δημιουργηθεί μια διαδρομή που να περνάει από κάθε κορυφή και επιπλέον η διαδρομή αυτή να ελαχιστοποιεί το συνολικό κόστος των ακμών. Για κάθε γράφο με n κορυφές, απαιτούνται n 1 ακμές για να δημιουργήσουμε ένα μονοπάτι που να περνάει από κάθε κορυφή χωρίς να δημιουργείται κύκλος. Ένας γράφος με αυτές τις ιδιότητες ονομάζεται δένδρο επικάλυψης. Η βέλτιστη λύση σε ένα πρόβλημα ελαχίστου δένδρου επικάλυψης χωρίς περιορισμούς βρίσκεται εύκολα εφαρμόζοντας έναν εξαντλητικό αλγόριθμο. Στην περίπτωση όμως που υπάρχουν περιορισμοί, όπως για παράδειγμα, να απαγορεύεται δύο ακμές να συνυπάρχουν στο δένδρο ή μια ακμή να επιτρέπεται μόνο αν υπάρχει μία άλλη, τότε οι άπληστοι αλγόριθμοι δεν μπορούν να λειτουργήσουν. Στη συνέχεια θα δούμε πως η Αναζήτηση Tabu μπορεί να χρησιμοποιηθεί για να επιλύσει ένα τέτοιο πρόβλημα με περιορισμούς. 22

Διάγραμμα 2.3 Εφαρμογή της Αναζήτησης Tabu σε Πρόβλημα Ελαχίστου Δένδρου Επικάλυψης. Το πρόβλημα που θα μελετήσουμε αποτελείται από πέντε κορυφές και κατά συνέπεια τέσσερις ακμές. Στο Διάγραμμα 2.3 απεικονίζονται οι τέσσερις επαναλήψεις του αλγορίθμου της Αναζήτησης Tabu. Οι αριθμοί σε κόκκινο χρώμα δείχνουν το κόστος που αντιστοιχεί σε κάθε ακμή. Οι συμπαγείς ακμές είναι αυτές που περιλαμβάνονται στο δένδρο ενώ οι διακεκομμένες είναι αυτές που παραλείπονται. Με μπλε χρώμα επισημαίνονται οι κινήσεις της Αναζήτησης Tabu που πραγματοποιούνται σε κάθε επανάληψη. Τα σύμβολα μείον και συν συμβολίζουν την αφαίρεση και την προσθήκη, αντίστοιχα, της ακμής στην επόμενη επανάληψη. Η ένδειξη Tabu υποδεικνύει πως η κίνηση βρίσκεται στη λίστα tabu της τρέχουσας επανάληψης. 23

Ορίζοντας τις ακμές ως μεταβλητές Bernoulli μπορούμε να εκφράσουμε τους περιορισμούς του προβλήματος με μια βολική αλγεβρική μορφή. Έτσι έχουμε, x j = 1 αν η ακµή x j ανήκει στο γράφο 0 αν η ακμή x j δεν ανήκει στο γράφο και οι περιορισμοί είναι οι x 1 + x 2 + x 6 1 x 1 x 3 Ο πρώτος περιορισμός σημαίνει πως το πολύ μία από τις x 1, x 2 και x 6 μπορεί να περιλαμβάνεται στο δένδρο και ο δεύτερος πως η x 1 μπορεί να περιληφθεί στο δένδρο μόνο εάν περιλαμβάνεται και η x 3. Ο πιο απλός τρόπος να κάνουμε τη διαδικασία να λαμβάνει υπόψιν της τους περιορισμούς, δηλαδή να αποφεύγει μη εφικτές λύσεις, είναι να αντιστοιχήσουμε ένα πολύ μεγάλο κόστος στην παραβίαση τους. Στο πρόβλημά μας το κόστος κάθε παραβίασης έχει τεθεί ίσο με 50. Σε σύνθετους περιορισμούς όπως ο πρώτος, μπορούμε να επιβάλουμε κλιμακωτές ποινές ώστε να μπορούμε να διακρίνουμε σοβαρές παραβιάσεις του περιορισμού. Έτσι στην περίπτωση που υπάρχουν ταυτόχρονα δύο από τις τρεις ακμές η ποινή θα ισούται με 50 μονάδες κόστους, ενώ στην περίπτωση που συνυπάρχουν και οι τρεις τότε θα ισούται με 100 μονάδες κόστους. Σε αυτό το σημείο, το μόνο που απομένει για να ξεκινήσουμε τη διαδικασία είναι να απαντήσουμε στα έξι ερωτήματα που είδαμε στο τέλος της ενότητας 2.2. Η απάντηση αυτών των ερωτημάτων θα μας οδηγήσει και στην κατάλληλη παραμετροποίηση της Αναζήτησης Tabu. 1. Διαδικασία τοπικής αναζήτησης: Σε κάθε επανάληψη, επιλέγεται η καλύτερη γειτονική λύση που δεν απαγορεύεται από τη λίστα tabu (εκτός και αν πληρεί το aspiration criterion). 2. Ορισμός γειτονικών λύσεων: Γειτονική λύση ορίζεται ως εκείνη που προκύπτει απο την τρέχουσα με την πρόσθεση μίας ακμής και την αφαίρεση μίας από τις άλλες ακμές που ανήκουν στον κύκλο που θα προκύψει. 3. Κινήσεις tabu: Οι ακμές που δεν πρέπει να αφαιρεθούν. 24

4. Ανανέωση λίστας tabu: Σε κάθε επανάληψη προσθέτουμε στη λίστα tabu την ακμή που θα προσθέσουμε στο γράφο. 5. Μήκος λίστας tabu: Δύο. Κάθε φορά που προστίθεται μια κίνηση στη λίστα, διαγράφεται η παλαιότερη από τις δύο που υπήρχαν ήδη. 6. Συνθήκη τερματισμού: Αν μετά από τρεις συνεχόμενες επαναλήψεις του αλγορίθμου δεν βρεθεί κίνηση που να οδηγεί σε βελτίωση της αντικειμενικής συνάρτησης. Στη συνέχεια περιγράφεται αναλυτικά η πορεία της μεθόδου. Το σύνολο των υπολογισμών που πραγματοποιήθηκαν στις επαναλήψεις, παρουσιάζεται στο τέλος στον Πίνακα 2.1. Η αρχική λύση είναι η λύση που θα παίρναμε από έναν εξαντλητικό αλγόριθμο πριν εισάγουμε τους περιορισμούς στο πρόβλημα. Επειδή παραβιάζει και τους δύο περιορισμούς, πέραν του κόστους των ακμών επιβάλεται και μια ποινή 100 μονάδων κόστους. Έτσι το κόστος της ισούται με 116. Επανάληψη 1. Μεταξύ των εναλλακτικών κινήσεων που οδηγούν σε γειτονικές λύσεις, αυτή που πετυχαίνει τη μεγαλύτερη μείωση στο συνολικό κόστος είναι η προσθήκη της ακμής x 3 και η αφαίρεση της ακμής x 1. Με αυτή την κίνηση και οι δύο περιορισμοί ικανοποιούνται μηδενίζοντας την ποινή των 100 μονάδων, ενώ το υπόλοιπο κομμάτι του κόστους αυξάνεται από 16 σε 28 μονάδες. Επανάληψη 2. Η ακμή x 3 εισάγεται στη λίστα tabu. Κατά συνέπεια, κάθε κίνηση που περιλαμβάνει την αφαίρεση της x 3 απαγορεύεται. Από τις υπόλοιπες κινήσεις, αυτή που πετυχαίνει χαμηλότερη τιμή της συνάρτησης είναι να προσθέσουμε την ακμή x 7 και να αφαιρέσουμε την x 6. Το κόστος του δένδρου επικάλυψης αλλάζει σε 32. 25

Εδώ μπορούν να γίνουν δύο παρατηρήσεις. Πρώτον, η κίνηση αυτή οδηγεί σε χαμηλότερο κόστος από τις κινήσεις tabu, κάτι που μας δείχνει πως οι κινήσεις tabu δεν είναι απαραίτητα και οι καλύτερες. Δεύτερον, αυτή η λύση αν και είναι καλύτερη από όλες τις άλλες υποψήφιες οδηγεί τη συνάρτηση σε υψηλότερο κόστος από το 28 που βρήκαμε στην προηγούμενη επανάληψη. Αυτό συμβαίνει γιατί το 28 ήταν σημείο τοπικού ελαχίστου. Επανάληψη 3. Η ακμή x 7 εισάγεται με τη σειρά της στη λίστα tabu. Η καλύτερη υποψήφια κίνηση είναι να προσθέσουμε την ακμή x 2 και να αφαιρέσουμε την x 3. Η κίνηση όμως αυτή απαγορεύεται αφού η ακμή x 3 βρίσκεται στη λίστα tabu. Στη συγκεκριμένη περίπτωση όμως η κίνηση ικανοποιεί το aspiration criterion, δηλαδή αντιστοιχεί σε δέντρο επικάλυψης με μικρότερο κόστος από όλα όσα έχουμε εξετάσει μέχρι στιγμής. Για το λόγο αυτό η κατάσταση tabu της x 3 παραβλέπεται και η κίνηση επιλέγεται κανονικά. Επανάληψη 4 και έπειτα. Η ακμή x 2 εισάγεται στη λίστα tabu και η x 3 διαγράφεται για δύο λόγους. Ο πρώτος είναι πως δεν είναι πια μέρος του γράφου, επομένως είναι ανούσιο να απαγορεύεται η αφαίρεσή της. Ο δεύτερος είναι πως αφού παρέμεινε στη λίστα για 2 επαναλήψεις, θα απομακρυνόταν σε αυτή την επανάληψη έτσι κι αλλιώς. Η λύση στην οποία έχουμε φτάσει είναι στην πραγματικότητα το ολικό βέλτιστο. Ο αλγόριθμος όμως δεν μπορεί να το γνωρίζει. Στην πράξη θα συνεχίσει πραγματοποιώντας τις επαναλήψεις που απομένουν και αφού σε αυτές δεν βρει καλύτερη λύση, θα επιστρέψει τελικά αυτή που προέκυψε στο τέλος της τρίτης επανάληψης. 26

Επαν. Τρέχ. Λύση 1 x1,x4,x5,x6 116 2 x3,x4,x5,x6 28 3 x3,x4,x5,x7 32 Συν. Κόστος Προσθήκη Αφαίρεση Λύση Κόστος Ποινή Συν. Κόστος x3 x1 x3,x4,x5,x6 28 0 28 x4 x1,x3,x5,x6 32 50 82 x5 x1,x3,x4,x6 34 50 84 x2 x1 x2,x4,x5,x6 19 50 69 x4 x1,x2,x5,x6 23 150 173 x7 x4 x1,x5,x6,x7 26 100 126 x5 x1,x4,x6,x7 28 100 128 x6 x1,x4,x5,x7 20 50 70 x1 x3 x1,x4,x5,x6 16 100 116 x4 x1,x3,x5,x6 32 50 82 x5 x1,x3,x4,x6 34 50 84 x2 x3 x2,x4,x5,x6 19 50 69 x5 x2,x3,x4,x6 37 50 87 x7 x4 x3,x5,x6,x7 38 0 38 x5 x3,x4,x6,x7 40 0 40 x6 x3,x4,x5,x7 32 0 32 x1 x3 x1,x4,x5,x7 20 50 70 x4 x1,x3,x5,x7 36 0 36 x5 x1,x3,x4,x7 38 0 38 x2 x3 x2,x4,x5,x7 23 0 23 x5 x2,x3,x4,x7 41 0 41 x6 x4 x3,x5,x6,x7 38 0 38 x5 x3,x4,x6,x7 40 0 40 x7 x3,x4,x5,x6 28 0 28 Tabu - - x3 - x7 x3 Πίνακας 2.1 Εφαρμογή της Αναζήτησης Tabu σε Πρόβλημα Ελαχίστου Δένδρου Επικάλυψης. Ανάλυση Γειτονικών Κινήσεων και Λύσεων. 27

28

3. Simulated Annealing 3.1 Εισαγωγή Το Simulated Annealing είναι μια ακόμη ευρέως χρησιμοποιούμενη μεταευρετική μέθοδος επίλυσης προβλημάτων συνδυαστικής βελτιστοποίησης σχεδιασμένη έτσι ώστε να εντοπίζει το ολικό βέλτιστο μιας συνάρτησης με πολλά τοπικά βέλτιστα. Η μέθοδος περιγράφηκε αρχικά από τους Scott Kirkpatrick, C. Daniel Gelatt και Mario P. Vecchi το 1983 και αργότερα από τον Vlado Černý το 1985. Παραμένει φυσικά απολύτως επίκαιρη μέχρι και σήμερα με εφαρμογές σε αρκετά προβλήματα, κατά κύριο λόγο ακέραιου προγραμματισμού. Μία προσπάθεια να μεταφραστεί ο όρος annealing στα ελληνικά είναι ο όρος ξεπύρωμα. Πράγματι, η μέθοδος είναι εμπνευσμένη από την μεταλλουργία, όπου η τεχνική του ξεπυρώματος περιλαμβάνει αρχικά την πύρωση ενός υλικού και στη συνέχεια την ελεγχόμενη ψύξη του. Το πύρωμα του υλικού προκαλεί την αποκόλληση των ατόμων του από την αρχική τους διάταξη, ένα τοπικό ενεργειακό ελάχιστο, και την τυχαία κίνησή τους σε καταστάσεις υψηλότερης ενέργειας. Η ελεγχόμενη και σταδιακή ψύξη του στη συνέχεια τους δίνει περισσότερες πιθανότητες να επαναδιαταχθούν σε μια κατάσταση χαμηλότερης εσωτερικής ενέργειας από την αρχική. Η αναλογία της φυσικής αυτής διαδικασίας με την μεταευρετική μέθοδο του Simulated Annealing θα γίνει ξεκάθαρη στη συνέχεια μέσα από την παρουσίαση των βασικών της χαρακτηριστικών και της λειτουργίας της. 29

3.2 Περιγραφή της Μεθόδου Η προσέγγιση που είδαμε στην Αναζήτηση Tabu σχετικά με την αναζήτηση του ολικού βελτίστου ήταν να αναρριχόμαστε στον εκάστοτε λόφο με τη μεγαλύτερη δυνατή ταχύτητα και στη συνέχεια, αφού βρεθούμε στην κορυφή, να καταρριχόμαστε με τα μικρότερα δυνατά βήματα ψάχνοντας για ένα άλλο λόφο με την ελπίδα να είναι ο ψηλότερος. Το μειονέκτημα είναι πως στην πράξη σπαταλάται περισσότερος χρόνος - μεταφρασμένος σε επαναλήψεις του αλγορίθμου - ανεβαίνοντας τον κάθε λόφο παρά ψάχνοντας για τον ψηλότερο λόφο. Σε αντίθεση λοιπόν με την Αναζήτηση Tabu, η μέθοδος του Simulated Annealing εστιάζει πρωτίστως στην αναζήτηση του ψηλότερου λόφου. Επειδή αυτός μπορεί να βρίσκεται οπουδήποτε μέσα στην εφικτή περιοχή λύσεων, η έμφαση αρχικά δίνεται στην εξερεύνηση όσο δυνατόν μεγαλύτερου μέρους της εφικτής περιοχής κάνοντας βήματα σε τυχαίες κατευθύνσεις και απορρίπτοντας κάποια από τα καθοδικά βήματα. Επεμβαίνοντας τακτικά στις παραμέτρους της διαδικασίας επιβάλουμε σταδιακά την απόρριψη όλο και μεγαλύτερου μέρους των καθοδικών κινήσεων. Έτσι η διαδικασία οδηγείται σταδιακά σε όλο και καλύτερες λύσεις και τελικά συγκλίνει στη βέλτιστη. Μιλώντας πιο συγκεκριμένα, σε κάθε επανάληψη του αλγορίθμου μετακινούμαστε από την τρέχουσα λύση σε μια γειτονική της, όπως και στην Αναζήτηση Tabu. Η μεγάλη διαφορά όμως στο Simulated Annealing εντοπίζεται στον τρόπο με τον οποίον επιλέγουμε αυτή τη γειτονική λύση μέσα από το σύνολο των υποψηφίων. Ας ορίσουμε: Z c = τιμή της αντικειμενικής συνάρτησης για την τρέχουσα λύση. Z n = τιμή της αντικειμενικής συνάρτησης για την υποψήφια λύση. T = παράμετρος που επηρεάζει τη συχνότητα με την οποία θα αποδεχόμαστε σαν επόμενη λύση μια υποψήφια που δεν παράγει βελτίωση στην αντικειμενική συνάρτηση. 30

Ο κανόνας επιλογής, λοιπόν, με τον οποίο επιλέγει ο αλγόριθμος την επόμενη υποψήφια λύση από το σύνολο των γειτονικών λύσεων, έστω για ένα πρόβλημα μεγιστοποίησης, είναι ο ακόλουθος: 1. Επέλεξε τυχαία μια από τις γειτονικές ως προς την αρχική λύσεις σαν υποψήφια αρχική λύση για την επόμενη επανάληψη του αλγορίθμου. 2. Αν Z n Z c, αποδέξου τη γειτονική λύση σαν επόμενη αρχική, Αν Z n Z c, αποδέξου την με πιθανότητα e x, όπου x = Z n Z c. T 3. Αν δεν υπάρξει αποδοχή επέστρεψε στο βήμα 1. Με άλλα λόγια ο κανόνας ορίζει πως μια τυχαία γειτονική λύση προκρίνεται σαν επόμενη αρχική αυτομάτως εφόσον παράγει βελτίωση στη συνάρτηση ενώ σε αντίθετη περίπτωση προκρίνεται με κάποια πιθανότητα. Σε περίπτωση προβλήματος ελαχιστοποίησης απλώς αντιστρέφονται οι όροι Z c και Z n στους παραπάνω τύπους. Όλη η ανάλυση αυτής της ενότητας αναφέρεται σε μια τυπική περίπτωση προβλήματος μεγιστοποίησης, ωστόσο η αναγωγή σε πρόβλημα ελαχιστοποίησης είναι κάθε φορά προφανής. Ο πιο απλός τρόπος να εισάγουμε την έννοια της πιθανότητας στον αλγόριθμο είναι να δημιουργούμε τυχαίους αριθμούς από την ομοιόμορφη κατανομή στο διάστημα 0, 1 και να τους συγκρίνουμε με την τιμή της πιθανότητας e x. Ερμηνεύοντας τον τύπο για την πιθανότητα αποδοχής μιας χειρότερης λύσης γίνεται εύκολα αντιληπτό από τη διαφορά στον αριθμητή πως η διαδικασία θα τείνει να αποδέχεται λύσεις ελαφρώς χειρότερες αλλά σπάνια πολύ χειρότερες. Η παράμετρος T, που συναντάται στον παρονομαστή, ονομάζεται και θερμοκρασία λόγω ακριβώς του συσχετισμού της μεθόδου με τη φυσική διαδικασία της ξεπύρωσης στη μεταλλουργία. Η θερμοκρασία είναι και το βασικό εργαλείο ελέγχου της διαδικασίας. Ο έλεγχος της θερμοκρασίας σημαίνει ελέγχο του βαθμού της τυχαιότητας της διαδικασίας, ο οποίος με τη σειρά του σημαίνει ρύθμιση της ελευθερίας που έχει ο αλγόριθμος να αποδεχτεί χειρότερες λύσεις, εξερευνώντας όμως παράλληλα πολύ μεγαλύτερο μέρος του πεδίου λύσεων. 31