ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΚΟΥΛΙΝΑΣ ΓΕΩΡΓΙΟΣ Δρ. Μηχανικός Παραγωγής & Διοίκησης ΔΠΘ
Ο ΜΕΤΑΕΥΡΕΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ ΑΠΟΔΟΧΗΣ ΚΑΤΩΦΛΙΟΥ The Threshold Accepting Algorithm (TA Metaheuristic Algorithm ή TA Algorithm ) Dueck, G. and T. Scheuer (1990). Threshold Accepting. A General Purpose Optimization Algorithm Superior to Simulated Annealing. Journal of Computational Physics 90, 161-175 Moscato, P. and J. Fontanari (1990). Stochastic Versus Deterministic Update in Simulated Annealing. Physics Letters A 146, 204-208
Ο ΜΕΤΑΕΥΡΕΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ ΑΠΟΔΟΧΗΣ ΚΑΤΩΦΛΙΟΥ THRESHOLD ACCEPTING ALGORITHM Μεταευρετικός τοπικής έρευνας Παραλλαγή του Simulated Annealing Αιτιοκρατικό κριτήριο αποδοχής μιας χειρότερης λύσης από την τρέχουσα όταν αυτή εμφανιστεί Εκκινεί από μια αρχική λύση S, πραγματοποιεί με στοχαστικό τρόπο απλές κινήσεις μέχρι να ικανοποιηθεί η συνθήκη τερματισμού
Ο ΜΕΤΑΕΥΡΕΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ ΑΠΟΔΟΧΗΣ ΚΑΤΩΦΛΙΟΥ THRESHOLD ACCEPTING ALGORITHM (ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ) Εάν Δz = z(s )-z(s) > 0 τότε η s είτε: Γίνεται αποδεκτή και ορίζεται ως νέα τρέχουσα εάν: Δz Th z(s )-z(s) Th Δεν γίνεται αποδεκτή και παραμένει τρέχουσα η s, εάν: Δz>Th z(s )-z(s) > Th z(s ): αντικειμενική συνάρτηση της γειτονικής λύσης s z(s): αντικειμενική συνάρτηση της λύσης s Th: «Κατώφλι» αποδοχής χειρότερης λύσης (ορίζεται από τον κατασκευαστή του αλγορίθμου)
Ο ΜΕΤΑΕΥΡΕΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ ΑΠΟΔΟΧΗΣ ΚΑΤΩΦΛΙΟΥ THRESHOLD ACCEPTING ALGORITHM- (ΠΡΟΒΛΗΜΑ ΕΛΑΧΙΣΤΟΠΟΙΗΣΗΣ) Όρισε αρχική λύση s, αρχική τιμή Κατωφλίου Th, και τον συντελεστή μείωσης του Κατωφλίου d ε (0,1) Βρόχος 1: Για όσο η συνθήκη τερματισμού ΔΕΝ ικανοποιείται επανέλαβε Βρόχος 2: Για όσο η συνθήκη τερματισμού του Βρόχου 2 ΔΕΝ ικανοποιείται επανέλαβε 1. Φτιάξε μια λύση s G(s), όπου G(s) η γειτονιά της τρέχουσας λύσης s 2. Όρισε Δz = z(s ) z(s) 3. Εάν Δz 0, θέσε s=s. Έλεγξε εάν είναι z(s)<z(sbest). Εάν ναι, τότε sbest = s = s. Τερμάτισε το βρόχο 2. 4. Εάν Δz>0, θέσε s = s και τερμάτισε το βρόχο 2 μόνον εάν Δz Th). Επανέλαβε το Βρόχο 2 Μείωσε το Κατώφλι Th new = Th * d Επανέλαβε τον Βρόχο 1 Τύπωσε την καλύτερη λύση xbest που βρέθηκε, καθώς και την zbest που αντιστοιχεί
Ο ΜΕΤΑΕΥΡΕΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ ΑΠΟΔΟΧΗΣ ΚΑΤΩΦΛΙΟΥ THRESHOLD ACCEPTING ALGORITHM (ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ) Μία λύση S γίνεται αποδεκτή εάν z S αποδοχής χειρότερης λύσης z S Th, όπου Τh ορίζεται το «Κατώφλι» Σταδιακά (κατ αναλογία με τη θερμοκρασία του μεταευρετικού Simulated Annealing) το κατώφλι μειώνεται, μέχρι να μηδενιστεί Η σημαντικότερη διαφορά του TA από τον SA: 1. Το ντετερμινιστικό κριτήριο αποδοχής μιας χειρότερης λύσης 2. Ο ορισμός του Th εγγυάται την αποδοχή χειρότερων αλλά όχι πολύ κακής ποιότητας λύσεων
Ο ΜΕΤΑΕΥΡΕΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ ΑΠΟΔΟΧΗΣ ΚΑΤΩΦΛΙΟΥ THRESHOLD ACCEPTING ALGORITHM Αρχικά ορίζουμε μια σχετικά μεγάλη τιμή για το Th Για κάθε χειρότερη λύση που γίνεται αποδεκτή μειώνεται το κατώφλι αποδοχής Th
ΑΣΚΗΣΗ 1 THRESHOLD ACCEPTING 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 - LOOP 0 ΑΦΕΤΗΡΙΑ 0.142857 0.285714 0.428571 0.571429 0.714286 0.857143 1 ΤΕΛΟΣ Κόστος Κ Σ2 Σ4 Σ6 Σ5 Σ7 Σ3 Σ1 Κ 112 64 47 59 45-47 37 36 353 z(s)= 353 z(best)= 353 d= 0.8 Th= 247.1
ΑΣΚΗΣΗ 1 - THRESHOLD ACCEPTING FOR TSP Να πραγματοποιηθεί εφαρμογή μεταευρετικού αλγορίθμου Αποδοχής Κατωφλίου Ανόπτησης για 5 επαναλήψεις Ο μεταευρετικός TA θα εφαρμόζει τελεστή αμοιβαίας αντικατάστασης σταθμών Ο συντελεστής d = 0.80 Το αρχικό Th = s * 0.7
ΑΣΚΗΣΗ 1 - THRESHOLD ACCEPTING FOR TSP LOOP 1 LOOP 0 ΑΦΕΤΗΡΙΑ 0.142857 0.285714 0.428571 0.571429 0.714286 0.857143 1 ΤΕΛΟΣ Κόστος Κ Σ2 Σ4 Σ6 Σ5 Σ7 Σ3 Σ1 Κ 112 64 47 59 45-47 37 36 353 z(s)= 353 z(best)= 353 LOOP 1 ΑΦΕΤΗΡΙΑ 0.142857 0.285714 0.428571 0.571429 0.714286 0.857143 1 ΤΕΛΟΣ Κόστος Κ Σ2 Σ4 Σ3 Σ5 Σ7 Σ6 Σ1 Κ 112 64 80 107 45 30 97 36 571 z(s1)= 571 z(best)= 571 Th_new= 197.68 Th= 197.68 0.401557 0.512254 0.28724 0.749959 0.304198 0.638641 0.775297 0.04981 0.795945 0.094946 0.278298 0.90865 0.173996 0.87551 0.378523 0.741176 0.6982 0.675274 0.758036 0.066275 0.007004 0.40248 0.999145 0.61333 0.144129 0.326903 0.600379 0.743964 0.580065 0.487117 0.079781 0.076449 0.646773 0.1743 0.101979 0.218906
ΑΣΚΗΣΗ 1 - THRESHOLD ACCEPTING FOR TSP LOOP 2 0.401557 0.512254 0.28724 0.749959 0.304198 0.638641 0.775297 0.04981 0.795945 0.094946 0.278298 0.90865 0.173996 0.87551 0.378523 0.741176 0.6982 0.675274 0.758036 0.066275 0.007004 0.40248 0.999145 0.61333 0.144129 0.326903 0.600379 0.743964 0.580065 0.487117 0.079781 0.076449 0.646773 0.1743 0.101979 0.218906 LOOP 2 ΑΦΕΤΗΡΙΑ 0.142857 0.285714 0.428571 0.571429 0.714286 0.857143 1 ΤΕΛΟΣ Κόστος Κ Σ6 Σ4 Σ3 Σ5 Σ7 Σ2 Σ1 Κ 22 47 80 107 45 169-18 36 488 z(s2)= 488 Δz= -83 Αποδεκτή γιατί Ιz(s3)-z(s2)Ι<Th, Th=197.68, Ιz(s3)-z(s2)Ι=83 z(best)= 571 Th_new= 158.144 Th= 158.144
ΑΣΚΗΣΗ 1 - THRESHOLD ACCEPTING FOR TSP LOOP 3 LOOP 2 ΑΦΕΤΗΡΙΑ 0.142857 0.285714 0.428571 0.571429 0.714286 0.857143 1 ΤΕΛΟΣ Κόστος Κ Σ6 Σ4 Σ3 Σ5 Σ7 Σ2 Σ1 Κ 22 47 80 107 45 169-18 36 488 z(s2)= 488 Δz= -83 Αποδεκτή γιατί Ιz(s2)-z(s1)Ι<Th, Th=197.68, Ιz(s2)-z(s1)Ι=83 z(best)= 571 Th_new= 158.144 Th= 158.144 0.401557 0.512254 0.28724 0.749959 0.304198 0.638641 0.775297 0.04981 0.795945 0.094946 0.278298 0.90865 0.173996 0.87551 0.378523 0.741176 0.6982 0.675274 0.758036 0.066275 0.007004 0.40248 0.999145 0.61333 0.144129 0.326903 0.600379 0.743964 0.580065 0.487117 0.079781 0.076449 0.646773 0.1743 0.101979 0.218906 LOOP 3 ΑΦΕΤΗΡΙΑ 0.142857 0.285714 0.428571 0.571429 0.714286 0.857143 1 ΤΕΛΟΣ Κόστος Κ Σ6 Σ2 Σ3 Σ5 Σ7 Σ4 Σ1 Κ 22 129 61 107 45 71-50 36 421 z(s3)= 421 Δz= -67 Αποδεκτή γιατί Ιz(s3)-z(s2)Ι<Th, Th=158.144, Ιz(s3)-z(s2)Ι=67 z(best)= 571 Th_new= 126.5152 Th= 126.5152
ΑΣΚΗΣΗ 1 - THRESHOLD ACCEPTING FOR TSP LOOP 4 0.401557 0.512254 0.28724 0.749959 0.304198 0.638641 0.775297 0.04981 0.795945 0.094946 0.278298 0.90865 0.173996 0.87551 0.378523 0.741176 0.6982 0.675274 0.758036 0.066275 0.007004 0.40248 0.999145 0.61333 0.144129 0.326903 0.600379 0.743964 0.580065 0.487117 0.079781 0.076449 0.646773 0.1743 0.101979 0.218906 LOOP 4 ΑΦΕΤΗΡΙΑ 0.142857 0.285714 0.428571 0.571429 0.714286 0.857143 1 ΤΕΛΟΣ Κόστος Κ Σ6 Σ3 Σ2 Σ5 Σ7 Σ4 Σ1 Κ 22-110 61 78 45 71-50 36 153 z(s4)= 153 Δz= -268 Απορρ. γιατί IΔzI>Th, Th=101.2122, Iz(s4)-z(s3)I=268 z(best)= 571 Th_new= 101.2122 Th= 101.2122
ΑΣΚΗΣΗ 1 - THRESHOLD ACCEPTING FOR TSP LOOP 5 0.401557 0.512254 0.28724 0.749959 0.304198 0.638641 0.775297 0.04981 0.795945 0.094946 0.278298 0.90865 0.173996 0.87551 0.378523 0.741176 0.6982 0.675274 0.758036 0.066275 0.007004 0.40248 0.999145 0.61333 0.144129 0.326903 0.600379 0.743964 0.580065 0.487117 0.079781 0.076449 0.646773 0.1743 0.101979 0.218906 LOOP 5 ΑΦΕΤΗΡΙΑ 0.142857 0.285714 0.428571 0.571429 0.714286 0.857143 1 ΤΕΛΟΣ Κόστος Κ Σ4 Σ2 Σ3 Σ5 Σ7 Σ6 Σ1 Κ 19 64 61 107 45 30 97 36 459 z(s5)= 459 Δz= 306 Αποδεκτή γιατί Ιz(s5)-z(s3)Ι<Th z(best)= 571 Th_new= 101.2122 Th= 101.2122
ΕΥΧΑΡΙΣΤΩ ΓΙΑ ΤΗΝ ΠΡΟΣΟΧΗ ΣΑΣ oερωτήσεις? ΕΠΙΚΟΙΝΩΝΙΑ oγραφειο 305 ΚΤΙΡΙΟ Ι, ΠΡΟΚΑΤ ΠΑΡΑΣΚΕΥΗ 10.00-14.00 oτηλεφωνο: 2541079332 oemail: gkoulina@pme.duth.gr