ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΚΟΥΛΙΝΑΣ ΓΕΩΡΓΙΟΣ Δρ. Μηχανικός Παραγωγής & Διοίκησης ΔΠΘ
The Tabu Search Algorithm Glover, F. (1986). Future paths for integer programming and links to artificial intelligence. Computers & Operations Research, 13(5), 533 549. https://doi.org/https://doi.org/10.1016/0305-0548(86)90048-1
THE TABU SEARCH ALGORITHM Μεταευρετικός τοπικής έρευνας Αποδέχεται λύσεις που οδηγούν σε χειρότερη τιμή αντικειμενικής συνάρτησης για να απεγκλωβιστεί από τοπικό βέλτιστο
THE TABU SEARCH ALGORITHM Η αποδοχή μιας χειρότερης λύσης γίνεται βάσει μη-στοχαστικού κριτηρίου Κριτήριο Tabu Search: Σε κάθε επανάληψη επιλέγεται η καλύτερη (s ) από τις γειτονικές λύσεις της (s) ακόμη κι αν η (s ) είναι χειρότερη από την (s)
THE TABU SEARCH ALGORITHM Μειονέκτημα: Λόγω του μη-στοχαστικού κριτηρίου μπορεί η αναζήτηση να εγκλωβιστεί σε μια γειτονιά λύσεων Στρατηγική απεγκλωβισμού: Καταγράφονται οι τελευταίες k κινήσεις που έχουν γίνει αποδεκτές στις τελευταίες k επαναλήψεις Οι k τελευταίες / πιο πρόσφατες λύσεις αποκλείονται δεν συμμετέχουν στην έρευνα για ένα συγκεκριμένο αριθμό επαναλήψεων Αυτές οι k λύσεις αποθηκεύονται σε μια λίστα μήκους k Η λίστα αυτή αποκαλείται απαγορευμένη λίστα ή Tabu list
THE TABU SEARCH ALGORITHM Η εισαγωγή-εξαγωγή λύσεων στην απαγορευμένη λίστα εξελίσσεται δυναμικά. Συνήθως η λογική που ακολουθείται είναι F.I.F.O. (First In First Out) Η μη συμμετοχή των λύσεων της Tabu list στην αναζήτηση, πρακτικά απεγκλωβίζει την έρευνα από μια γειτονιά λύσεων και την «αναγκάζει» να μεταβεί σε άλλη γειτονιά
THE TABU SEARCH ALGORITHM Το μέγεθος της λίστας εξαρτάται από το πρόβλημα που αντιμετωπίζεται Συνήθως επιλέγεται τιμή 5 L 12 Μπορεί το μέγεθος της λίστας να είναι μεταβαλλόμενο ανάλογα με τη φάση της αναζήτησης Πχ. Για όσες u επαναλήψεις βρίσκονται καλύτερες λύσεις, η λίστα έχει μήκος L Εάν δεν έχει βρεθεί καλύτερη λύση στις τελευταίες y επαναλήψεις η λίστα μπορεί να γίνει μήκους L+1, L+2, L+n
THE TABU SEARCH ALGORITHM Για λόγους εξοικονόμησης υπολογιστικής προσπάθειας, στη λίστα αποθηκεύονται: Οι λύσεις Χαρακτηριστικές κινήσεις που οδήγησαν σε δεδομένη λύση Η τελευταία επιλογή υπάρχει περίπτωση να μην είναι τόσο αποδοτική όσο η πρώτη
THE TABU SEARCH ALGORITHM Η αποθήκευση μόνο των κινήσεων ενδέχεται να αποτρέψει τον αλγόριθμο από το να βρει ορισμένες πολύ καλές λύσεις Για αυτό το λόγο ορίζεται το κριτήριο υπέρβασης (Aspiration Criterion) Το συνηθέστερο είναι η εύρεση μιας λύσης που αποτελεί την καλύτερη της αναζήτησης
THE TABU SEARCH ALGORITHM (ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ) Βήμα 1: Όρισε ή Κατασκεύασε μια αρχική λύση S. Όρισε την Sbest και t=0. Όρισε μια Tabu μεγέθους n θέσεων List Βήμα 2: Θέσε t = t + 1. Φτιάξε ένα υποσύνολο Y ( ) των λύσεων της γειτονιάς οι οποίες είτε δεν παράγονται από κάποια κίνηση tabu είτε πληρούν κάποιο κριτήριο υπέρβασης Βήμα 3: Επέλεξε την καλύτερη λύση S* του Y και θέσε S=S* Βήμα 4: Εάν z(s*) < z(sbest) τότε θέσε S* = Sbest Βήμα 5: Ενημέρωσε τη Tabu List Βήμα 6: Εάν επαληθεύεται η συνθήκη τερματισμού, τερμάτισε. Διαφορετικά πήγαινε στο Βήμα 2
THE TABU SEARCH ALGORITHM (ΜΕΓΙΣΤΟΠΟΙΗΣΗ) Βήμα 1: Όρισε ή Κατασκεύασε μια αρχική λύση S. Όρισε την Sbest και t=0. Όρισε μια Tabu μεγέθους n θέσεων List Βήμα 2: Θέσε t = t + 1. Φτιάξε ένα υποσύνολο Y ( ) των λύσεων της γειτονιάς οι οποίες είτε δεν παράγονται από κάποια κίνηση tabu είτε πληρούν κάποιο κριτήριο υπέρβασης Βήμα 3: Επέλεξε την καλύτερη λύση S* του Y και θέσε S=S* Βήμα 4: Εάν z(s*) > z(sbest) τότε θέσε S* = Sbest Βήμα 5: Ενημέρωσε τη Tabu List Βήμα 6: Εάν επαληθεύεται η συνθήκη τερματισμού, τερμάτισε. Διαφορετικά πήγαινε στο Βήμα 2
ΕΥΧΑΡΙΣΤΩ ΓΙΑ ΤΗΝ ΠΡΟΣΟΧΗ ΣΑΣ ΕΠΙΚΟΙΝΩΝΙΑ oγραφειο 305 ΚΤΙΡΙΟ Ι, ΠΡΟΚΑΤ ΔΕΥΤΕΡΑ 15.00-16.00 & 19.00-20.00 oτηλεφωνο: 2541079332 oemail: gkoulina@pme.duth.gr
ΑΣΚΗΣΗ 1 TABU SEARCH ALGORITHM FOR KNAPSACK PROBLEM Μια εταιρία επενδύσεων διαχειρίζεται κεφάλαια ύψους 100 μονάδων και μπορεί να εντάξει μόνο μία φορά στο χαρτοφυλάκιό της, κάποιες από τις μετοχές εταιριών του Πίνακα 1: Η εφαρμογή ενός κατασκευαστικού ευρετικού αλγορίθμου είχε σαν αποτέλεσμα την κατασκευή της παρακάτω εφικτής λύσης s1: M4 M9 M3 M10 M7 Σύνολο Κόστος 8.6 32.4 18.3 27.9 11.8 99 Μέρισμα 0.55 2.8 1 2.5 1.1 7.95 Να πραγματοποιηθεί εφαρμογή μεταευρετικού αλγορίθμου Απαγορευμένης Αναζήτησης (Tabu Search) για 3 επαναλήψεις Η απαγορευμένη λίστα θα έχει μέγεθος n=2 Ο μεταευρετικός θα εφαρμόζει τελεστή αντικατάστασης Πίνακας 1 ΟΝΟΜΑ ΑΞΙΑ ΕΤΗΣΙΟ ΜΕΡΙΣΜΑ M1 12.5 0.6 M2 14.25 1.2 M3 18.3 1 M4 8.6 0.55 M5 7.3 1.1 M6 12.7 0.7 M7 11.8 1.1 M8 21.7 3.1 M9 32.4 2.8 M10 27.9 2.5
ΑΣΚΗΣΗ 1 TABU SEARCH ALGORITHM FOR KNAPSACK PROBLEM LOOP 1 0,2 0,4 0,6 0,8 1 Μετοχές στην S M4 M9 M3 M10 M7 Σύνολο Κόστος 8,6 32,4 18,3 27,9 11,8 99 Μέρισμα 0,55 2,8 1 2,5 1,1 7,95 Μετοχές εκτός S Μ1 Μ2 Μ5 Μ6 Μ8 Tabu List From To 0,103303 0,428741 0,656951 0,811098 0,725784 0,140949 0,174159 0,512182 0,347252 0,548032 0,541669 0,719522 0,238588 0,82008 0,450235 0,308531 0,418062 0,31694 0,199087 0,064013 0,698459 0,207714 0,62576 0,189578 Πραγματοποιείται αντικατάσταση της Μ4 με κάθε μια από τις μετοχές που δεν ανήκουν στην S, δημιουργώντας τις γειτονικές λύσεις
ΑΣΚΗΣΗ 1 TABU SEARCH ALGORITHM FOR KNAPSACK PROBLEM LOOP 1 Γειτονικές λύσεις της S, που προκύπτουν από αντικατάσταση της τυχαία επιλεγμένης Μ4 με κάθε μετοχή εκτός λύσης Μετοχές στην S1a Μ1 M9 M3 M10 M7 Σύνολο Κόστος 12,5 32,4 18,3 27,9 11,8 102,9 Μέρισμα 0,6 2,8 1 2,5 1,1 8 zs1a= 8 Μετοχές στην S1b Μ2 M9 M3 M10 M7 Σύνολο Κόστος 14,25 32,4 18,3 27,9 11,8 104,65 Μέρισμα 1,2 2,8 1 2,5 1,1 8,6 zs1b= 8,6 Tabu List From To M5 M4 Μετοχές στην S1c Μ5 M9 M3 M10 M7 Σύνολο Κόστος 7,3 32,4 18,3 27,9 11,8 97,7 Μέρισμα 1,1 2,8 1 2,5 1,1 8,5 zs1c= 8,5 Νέα τρέχουσα λύση Στην Tabu list μπαίνει η αντίστροφη κίνηση από αυτή που «έφερε» τη νέα επιλεχθείσα λύση Μετοχές στην S1d Μ6 M9 M3 M10 M7 Σύνολο Κόστος 12,7 32,4 18,3 27,9 11,8 103,1 Μέρισμα 0,7 2,8 1 2,5 1,1 8,1 zs1d= 8,1 Μετοχές στην S1e Μ8 M9 M3 M10 M7 Σύνολο Κόστος 21,7 32,4 18,3 27,9 11,8 112,1 Μέρισμα 3,1 2,8 1 2,5 1,1 10,5 zs1e 10,5
ΑΣΚΗΣΗ 1 TABU SEARCH ALGORITHM FOR KNAPSACK PROBLEM LOOP 2 0,2 0,4 0,6 0,8 1 Μετοχές στην S1 Μ5 M9 M3 M10 M7 Σύνολο Κόστος 7,3 32,4 18,3 27,9 11,8 97,7 Μέρισμα 1,1 2,8 1 2,5 1,1 8,5 zs1= 8,5 zbest= 8,5 Tabu List From To M5 M4 0,103303 0,428741 0,656951 0,811098 0,725784 0,140949 0,174159 0,512182 0,347252 0,548032 0,541669 0,719522 0,238588 0,82008 0,450235 0,308531 0,418062 0,31694 0,199087 0,064013 0,698459 0,207714 0,62576 0,189578 Πραγματοποιείται αντικατάσταση της Μ10 με κάθε μια από τις μετοχές που δεν ανήκουν στην S1, δημιουργώντας τις γειτονικές λύσεις
ΑΣΚΗΣΗ 1 TABU SEARCH ALGORITHM FOR KNAPSACK PROBLEM LOOP 2 Γειτονικές λύσεις της S, που προκύπτουν από αντικατάσταση της τυχαία επιλεγμένης Μ10 με κάθε μετοχή εκτός λύσης Μετοχές στην S2a Μ5 M9 M3 M1 M7 Σύνολο Κόστος 7,3 32,4 18,3 12,5 11,8 82,3 Μέρισμα 1,1 2,8 1 0,6 1,1 6,6 zs1a= 6,6 Μετοχές στην S2b Μ5 M9 M3 M2 M7 Σύνολο Κόστος 7,3 32,4 18,3 14,25 11,8 84,05 Μέρισμα 1,1 2,8 1 1,2 1,1 7,2 zs1a= 7,2 Tabu List From To M5 M4 M8 M10 Μετοχές στην S2c M5 M9 M3 M4 M7 Σύνολο Κόστος 7,3 32,4 18,3 8,6 11,8 78,4 Μέρισμα 1,1 2,8 1 0,55 1,1 6,55 zs1a= 6,55 Στην Tabu list μπαίνει η αντίστροφη κίνηση από αυτή που «έφερε» τη νέα επιλεχθείσα λύση Μετοχές στην S2d M5 M9 M3 M6 M7 Σύνολο Κόστος 7,3 32,4 18,3 12,7 11,8 82,5 Μέρισμα 1,1 2,8 1 0,7 1,1 6,7 zs1a= 6,7 Μετοχές στην S2e M5 M9 M3 M8 M7 Σύνολο Κόστος 7,3 32,4 18,3 21,7 11,8 91,5 Μέρισμα 1,1 2,8 1 3,1 1,1 9,1 zs1a= 9,1
ΑΣΚΗΣΗ 2 - TABU SEARCH ALGORITHM FOR TSP Η γαλακτοβιομηχανία που εργάζεστε πραγματοποιεί καθημερινά την περισυλλογή του φρέσκου γάλακτος από 10 σταθμούς με τελικό προορισμό τα κεντρικά της επιχείρησης. Το οδικό δίκτυο υποστηρίζει την απευθείας σύνδεση όλων των σταθμών με τα κεντρικά, έχοντας όμως, διαφορετικό κόστος μετάβασης κάθε φορά. Τα κόστη μετάβασης αλλά και τα αντίστοιχα έσοδα περιγράφονται στους Πίνακες 1&2 αντίστοιχα: Πίνακας 1: Κόστη μετάβασης Κ Σ1 Σ2 Σ3 Σ4 Σ5 Σ6 Σ7 Κ - 157 487 354 84 218 95 199 Σ1 157-412 186 359 189 485 322 Σ2 487 412-175 184 224 368 483 Σ3 354 186 175-201 268 436 548 Σ4 84 359 184 201-231 167 255 Σ5 218 189 224 268 231-197 149 Σ6 95 485 368 436 167 197-152 Σ7 199 322 483 548 255 149 152 - Πίνακας 2: Έσοδα μετάβασης Κ Σ1 Σ2 Σ3 Σ4 Σ5 Σ6 Σ7 Κ - 193 599 435 103 268 117 245 Σ1 193-494 223 309 227 582 386 Σ2 599 494-236 248 302 497 652 Σ3 435 223 236-281 375 326 501 Σ4 103 309 248 281-296 214 326 Σ5 268 227 302 375 296-256 194 Σ6 117 582 497 326 214 256-182 Σ7 245 386 652 501 326 194 182 - Ο οδηγός του οχήματος περισυλλογής είναι συνηθισμένος να ακολουθεί ένα συγκεκριμένο δρομολόγιο που έχει προκύψει τυχαία ΑΦΕΤΗΡΙΑ ΤΕΛΟΣ Κ Σ2 Σ4 Σ6 Σ5 Σ3 Σ1 Κ
ΑΣΚΗΣΗ 2 Να πραγματοποιηθεί εφαρμογή μεταευρετικού αλγορίθμου Απαγορευμένης Έρευνας για 2 επαναλήψεις Ο μεταευρετικός Tabu Search θα εφαρμόζει τελεστή αμοιβαίας αντικατάστασης σταθμών