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

Σχετικά έγγραφα
Πρόβλημα συντομότερης διαδρομής - Shortest path problem. Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

Πρόβλημα του ελάχιστα εκτεταμένου δένδρου - Minimum spanning tree. Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ

4. ΔΙΚΤΥΑ

Επιχειρησιακή Έρευνα

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

Εισαγωγή στη Διαδικασία Ιεραρχικής Ανάλυσης. Ρόκου Έλενα Μεταδιδακτορική Ερευνήτρια ΕΜΠ Κηρυττόπουλος Κωνσταντίνος Επ.

Λογική Δημήτρης Πλεξουσάκης Φροντιστήριο 6: Προτασιακός Λογισμός: Μέθοδος Επίλυσης Τμήμα Επιστήμης Υπολογιστών

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 12: Αντιμετώπιση Περιορισμών Αλγοριθμικής Ισχύος

Μέθοδοι Βελτιστοποίησης

Πρόβλημα μέγιστης ροής - Maximum flow problem. Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ

Επιχειρησιακή Έρευνα

Μέθοδοι Βελτιστοποίησης

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

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

6 η ΕΝΟΤΗΤΑ ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

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

Διαχείριση Χρόνου & Δίκτυα στη Διοίκηση Έργων. Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ

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

ΘΕΩΡΙΑ ΠΑΙΓΝΙΩΝ. Ενότητα 7: Τέλεια ισορροπία Nash για υποπαίγνια. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 3: Εφαρμογές Δικτυωτής Ανάλυσης (2 ο Μέρος)

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

Στοχαστικές Στρατηγικές. διαδρομής (1)

ΔΙΑΧΕΙΡΙΣΗ ΕΦΟΔΙΑΣΤΙΚΗΣ ΑΛΥΣΙΔΑΣ

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΔΕΝΤΡΑ

Αναζήτηση Κατά Πλάτος

ΔΙΑΧΕΙΡΙΣΗ ΕΦΟΔΙΑΣΤΙΚΗΣ ΑΛΥΣΙΔΑΣ

Συντομότερα Μονοπάτια για Όλα τα Ζεύγη Κορυφών

ΔΙΑΧΕΙΡΙΣΗ ΕΦΟΔΙΑΣΤΙΚΗΣ ΑΛΥΣΙΔΑΣ

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 3: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΓΡΑΦΗΜΑΤΑ

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

Αστικά υδραυλικά έργα

Βέλτιστος Έλεγχος Συστημάτων

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

Βέλτιστος Έλεγχος Συστημάτων

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

Επιχειρησιακή Έρευνα

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Ιστορία της μετάφρασης

Επιχειρησιακή Έρευνα

Άδειες Χρήσης. Διδακτική Μαθηματικών I. Κατηγορίες προβλημάτων - Ρεαλιστικά Μαθηματικά. Διδάσκων: Επίκουρος Καθ. Κ. Τάτσης

Ασυμπτωτικός Συμβολισμός

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

Μοντελοποίηση Λογικών Κυκλωμάτων

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 6

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

Εισαγωγή στους Αλγορίθμους Ενότητα 11η Άσκηση - Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ. ΕΝΟΤΗΤΑ: Γραμμικές Συναρτήσεις Διάκρισης. ΔΙΔΑΣΚΟΝΤΕΣ: Βλάμος Π. Αυλωνίτης Μ. ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Βέλτιστος Έλεγχος Συστημάτων

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

Οικονομικά Μαθηματικά

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

Διδακτική Πληροφορικής

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Ενότητα 5: Παραδείγματα. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

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

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

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

Θεωρία τησ Πληροφορίασ (Θ) ΔΙΔΑΚΩΝ: Δρ. Αναςτάςιοσ Πολίτησ

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

Αλγόριθμοι και πολυπλοκότητα Περιήγηση Πανεπιστημίων

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Βέλτιστος Έλεγχος Συστημάτων

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Γενικά Μαθηματικά Ι. Ενότητα 14: Ολοκλήρωση Κατά Παράγοντες, Ολοκλήρωση Ρητών Συναρτήσεων Λουκάς Βλάχος Τμήμα Φυσικής

Εισαγωγή στους Αλγορίθμους

Υπόγεια Υδραυλική και Υδρολογία

Προγραμματισμός και Εφαρμογές Υπολογιστών

Μαθησιακές δραστηριότητες με υπολογιστή

Εκκλησιαστικό Δίκαιο

Εισαγωγή στους Η/Υ. Ενότητα 2β: Αντίστροφο Πρόβλημα. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

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

Συντομότερες ιαδρομές

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

Λογικός Προγραμματισμός Ασκήσεις

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

Βέλτιστος Έλεγχος Συστημάτων

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Πληροφοριακά Συστήματα & Περιβάλλον Ασκήσεις

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Διοίκηση Επιχειρήσεων

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

Μαθηματικά και Φυσική με Υπολογιστές

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 11: Περιορισμοί της Αλγοριθμικής Ισχύος

Μηχανολογικό Σχέδιο Ι

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 8: Παίγνια πλήρους και ελλιπούς πληροφόρησης

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

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

Transcript:

Το Πρόβλημα του Περιοδεύοντος Πωλητή - The Travelling Salesman Problem Έλενα Ρόκου Μεταδιδακτορική Ερευνήτρια ΕΜΠ Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ

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

Το Πρόβλημα του Περιοδεύοντος Πωλητή Ένας πωλητής, πρέπει να επισκεφτεί n πελάτες σε διαφορετικές πόλεις, Θέλουμε να βρούμε την πιο σύντομη ή/και χαμηλότερου κόστους πορεία Αρχή και τέλος είναι η ίδια πόλη (ΑΦΕΤΗΡΙΑ) Πρέπει να επισκεφτεί κάθε πόλη ακριβώς μια φορά. B C A D F E 3

Αναπαράσταση προβληματος Το πρόβλημα μπορεί να αναπαρασταθεί από έναν πλήρη μη προσανατολισμένο γράφο στον οποίο όλοι οι κόμβοι αντιστοιχούν σε πόλεις και οι ακμές (edges) μεταξύ των κόμβων αντιστοιχούν στους άμεσους δρόμους μεταξύ των πόλεων Στόχος: η αναζήτηση της βέλτιστης (μικρότερης σε μήκος ή κόστος) διαδρομής που ενώνει τις ν πόλεις - κόμβους ενός γράφου. Η διαδρομή αυτή πρέπει να είναι Χαμιλτονιανή (Hamiltonian) δηλαδή να καταλήγει στο σημείο από όπου ξεκίνησε, χωρίς να περνά από κάποια πόλη 2 φορές 4

Διαφορές από MST και Ελάχιστης Διαδρομής Γιατί να μη λύσουμε το TSP πρόβλημα ως πρόβλημα συντομότερης διαδρομής ή MST; Στο TSP ζητάμε ένα μονοπάτι με ελάχιστο μήκος (ή κόστος) που διέρχεται από όλους τους κόμβους του γράφου και επιστρέφει στο κόμβο αρχής Στο πρόβλημα συντομότερης διαδρομής μας ενδιαφέρει η ελάχιστη διαδρομή χωρίς υποχρέωση επίσκεψης όλων των διαθέσιμων κόμβων Στο MST ένα δέντρο με ελάχιστο κόστος 5

Μαθηματική Μοντελοποίηση x ij = 1 αν i j στη διαδρομή αλλιώς 0 Cij κόστος για να πάω από την πόλη i στην πόλη j Κ υποσύνολο των πόλεων 1... M 1 αφετηρία 6

Επίλυση προβλημάτων Η εταιρεία «Glass Co» μόλις ανέλαβε τη διανομή προίοντων σε μια νέα περιοχή που περιλαμβάνει 9 αστικά κέντρα για τα οποία θέλει να αποστέλλει ένα πωλητή. Το δρομολόγιο πρέπει να περιλαμβάνει από μια φορά όλες τις πόλεις και να ξεκινάει και να τελειώνει στη πόλη Α που είναι και τα κεντρικά γραφεία. Οι δυνατές διαδρομές και οι χιλιομετρικές αποστάσεις των κέντρων φαίνονται στον ακόλουθο γράφο. A 48 20 16 28 33 B F 10 36 56 68 62 Βρείτε τη δέουσα διασύνδεση για να επιτευχθεί το ελάχιστο κόστος αν αυτό εξαρτάται αποκλειστικά από την απόσταση που διανύεται. E 21 40 43 41 C 20 D 7

Αλγόριθμοι επίλυσης Αλγόριθμος Heinritz- Hsiao (1969) Αναπτύχθηκε για την εύρεση διαδρομών ελάχιστου κόστους για τη διανομή πρώτων υλών, οδηγεί σε καλές λύσεις κοντινές στη βέλτιση χωρίς απαίτηση σύνθετων μαθηματικών υπολογισμών. Αλγόριθμος Branch and Bound Η μέθοδος προτάθηκε από τους A. H. Land και A. G. Doig το 1960 και στηρίζεται στην χρήση άνω ή κάτω ορίων για τον περιορισμό του χώρου λύσεων. Δυναμικός Προγραμματισμός Εξελικτικοί Αλγόριθμοι 8

Αλγόριθμος Heinritz- Hsiao 1. Καταστρώνουμε πίνακα με τα κόστη των ακμών. 2. Επιλέγουμε την γραμμή του πίνακα που αντιστοιχεί στον πρώτο κόμβο αφετηρία της διαδρομής. 3. Επιλέγουμε τη στήλη, έστω m με το μικρότερο δυνατό κόστος που μπορεί να συνδεθεί με τον κόμβο αφετηρίας. 4. Μεταβαίνουμε στη γραμμή που αντιστοιχεί στην τιμή που επιλέξαμε (m). 5. Συνεχίζουμε αντίστοιχα τα βήματα 3-5 έως ότου επιστρέψουμε στο κόμβο αφετηρίας. Στην εφαρμογή προσέχουμε να εξαιρούμε κάθε φορά τους κόμβους που έχουμε ήδη επισκεφθεί! 9

Αλγόριθμος Heinritz- Hsiao Η εταιρεία «Glass Co» μόλις ανέλαβε τη διανομή προίοντων σε μια νέα περιοχή που περιλαμβάνει 6 αστικά κέντρα για τα οποία θέλει αποστέλλει ένα πωλητή. Το δρομολόγιο πρέπει να περιλαμβάνει από μια φορά όλες τις πόλεις και να ξεκινάει και να τελειώνει στη πόλη Α που είναι και τα κεντρικά γραφεία. Οι δυνατές διαδρομές και οι χιλιομετρικές αποστάσεις των κέντρων φαίνονται στον ακόλουθο γράφο. A 48 20 16 28 33 B F 10 36 56 68 62 Βρείτε τη δέουσα διασύνδεση για να επιτευχθεί το ελάχιστο κόστος αν αυτό εξαρτάται αποκλειστικά από την απόσταση που διανύεται. E 21 40 43 41 C 20 D 10

Αλγόριθμος Heinritz- Hsiao Καταστρώνουμε πίνακα με τα κόστη των ακμών. A B C D E F Α - 48 20 16 28 33 Β 48-36 56 68 10 C 20 36-21 43 20 D 16 56 21-40 41 E 28 68 43 40-62 F 33 10 20 41 62-11

Αλγόριθμος Heinritz- Hsiao 1. Επιλέγουμε την γραμμή του πίνακα που αντιστοιχεί στον πρώτο κόμβο αφετηρία της διαδρομής. 2. Επιλέγουμε τη στήλη, με το μικρότερο δυνατό κόστος που μπορεί να συνδεθεί με τον κόμβο αφετηρίας. A B C D E F Α - 48 20 16 28 33 Β 48-36 56 68 10 C 20 36-21 43 20 D 16 56 21-40 41 E 28 68 43 40-62 F 33 10 20 41 62 - Διαδρομή: Α D 12

Αλγόριθμος Heinritz- Hsiao 1. Μεταβαίνουμε στη γραμμή που αντιστοιχεί στην τιμή που επιλέξαμε. 2. Επιλέγουμε τη στήλη, με το μικρότερο δυνατό κόστος που μπορεί να συνδεθεί με τον κόμβο αφετηρίας. A B C D E F Α - 48 20 16 28 33 Β 48-36 56 68 10 C 20 36-21 43 20 D 16 56 21-40 41 E 28 68 43 40-62 F 33 10 20 41 62 - Διαδρομή: Α D C 13

Αλγόριθμος Heinritz- Hsiao 1. Μεταβαίνουμε στη γραμμή που αντιστοιχεί στην τιμή που επιλέξαμε. 2. Επιλέγουμε τη στήλη, με το μικρότερο δυνατό κόστος που μπορεί να συνδεθεί με τον κόμβο αφετηρίας. A B C D E F Α - 48 20 16 28 33 Β 48-36 56 68 10 C 20 36-21 43 20 D 16 56 21-40 41 E 28 68 43 40-62 F 33 10 20 41 62 - Διαδρομή: Α D C F 14

Αλγόριθμος Heinritz- Hsiao 1. Μεταβαίνουμε στη γραμμή που αντιστοιχεί στην τιμή που επιλέξαμε. 2. Επιλέγουμε τη στήλη, με το μικρότερο δυνατό κόστος που μπορεί να συνδεθεί με τον κόμβο αφετηρίας. A B C D E F Α - 48 20 16 28 33 Β 48-36 56 68 10 C 20 36-21 43 20 D 16 56 21-40 41 E 28 68 43 40-62 F 33 10 20 41 62 - Διαδρομή: Α D C F B E A Κόστος=16+21+20+10+68+28=163 15

Αλγόριθμος Heinritz- Hsiao Διαδρομή: Α D C F B E A Κόστος=16+21+20+10+68+28=163 B C A 16 10 68 21 20 28 D F E 16

Αλγόριθμος Heinritz- Hsiao Άσκηση Η εταιρία 6 Logistics θέλει να σχεδιάσει το καθημερινό δρομολόγιο προς τα καταστήματα που εξυπηρετεί. Οι αποστάσεις των καταστημάτων σε χλμ. φαίνονται στο ακόλουθο σχήμα. Υπολογίστε το βέλτιστο δρομολόγιο με κριτήριο το ελάχιστο μήκος διαδρομής. Α 3 8 6 Β 5 4 5 12 10 Γ Δ 7 Ε 1 17

Αλγόριθμος Heinritz- Hsiao Λύση. 3 Β Α 4 5 Γ A B Γ Δ E Δ 7 Ε 1 Α - 3 8 5 12 Β 3-4 6 5 Γ 8 4-10 1 Δ 5 6 10-7 E 12 5 1 7-18

Αλγόριθμος Branch and Bound 1. Καταστρώνουμε πίνακα με τα κόστη των ακμών. 2. Υπολογίζουμε το κάτω φράγμα του μήκους της διαδρομής (Lower Bound - LB): Βρίσκουμε την ελάχιστη τιμή ανά γραμμή και τις αθροίζουμε. 3. Θεωρούμε δέντρο με ρίζα την αφετηρία και τιμή ίση με το LB. 4. ΔΙΑΚΛΑΔΩΣΗ: δημιουργούμε κόμβους παιδιά για κάθε δυνατή εναλλακτική. 5. Υπολογίζουμε την τιμή του κόμβου ως το άθροισμα του μήκους διαδρομής που αναπαριστά ο κόμβος συν το ελάχιστο για όσα τμήματα της διαδρομής δεν έχουμε αποφασίσει. 19

Αλγόριθμος Branch and Bound 6. Επαναλαμβάνουμε το 4 για τον κόμβο με την μικρότερη τιμή εως ότου φτάσουμε στον προτελευταίο κόμβο της διαδρομής. 7. Στον προτελευταίο κόμβο ενός μονοπατιού: 1. υπολογίζουμε το μήκος της συνολικής διαδρομής 2. αν μικρότερη από την τρέχουσα καλύτερη τιμή την αποθηκεύουμε ως καλύτερη. 8. Επιστρέφουμε (backtrack) στον κόμβο με τη ΜΙΚΡΟΤΕΡΗ ΤΙΜΗ του ίδιου ή εάν δεν έχει μείνει του προηγούμενου επιπέδου. 9. ΟΡΙΟΘΕΤΗΣΗ: Αν ο υπό εξέταση κόμβος έχει τιμή ΜΕΓΑΛΥΤΕΡΗ από την τρέχουσα καλύτερη ΔΕΝ τον εξετάζουμε και πάμε στο βήμα 7 αλλιώς στο βήμα 4. 20

Αλγόριθμος Branch and Bound Η εταιρεία «Transport Co» μόλις ανέλαβε τη διανομή προίοντων για ένα δίκτυο καταστημάτων που περιλαμβάνει 5 super market. Το δρομολόγιο πρέπει να περιλαμβάνει από μια φορά όλες τις τοποθεσίες και να ξεκινάει και να τελειώνει στην κεντρική αποθήκη Α. Οι δυνατές διαδρομές και οι χιλιομετρικές αποστάσεις των κέντρων φαίνονται στον ακόλουθο γράφο. 2 1 14 7 9 4 3 6 20 5 10 15 4 8 5 Βρείτε τη δέουσα διασύνδεση για να επιτευχθεί το ελάχιστο κόστος αν αυτό εξαρτάται αποκλειστικά από την απόσταση που διανύεται. 21

Αλγόριθμος Branch and Bound 1. Καταστρώνουμε πίνακα με τα κόστη των ακμών. 2. Υπολογίζουμε το κάτω φράγμα του μήκους της διαδρομής. Βρίσκουμε την ελάχιστη τιμή ανά γραμμή και αθροίζουμε. 1 2 3 4 5 1-14 4 20 10 2 14-7 6 9 3 4 7-5 15 4 20 6 5-8 5 10 9 15 8 - min 4 6 4 5 8 LB=27 22

Αλγόριθμος Branch and Bound 3. Θεωρούμε δέντρο με ρίζα την αφετηρία και τιμή ίση με το LB. 4. ΔΙΑΚΛΑΔΩΣΗ: δημιουργούμε κόμβους παιδιά για κάθε δυνατή εναλλακτική. min [1] 27 [1,2] [1,3] [1,4] [1,5] 4 6 4 5 8 LB=27 23

Αλγόριθμος Branch and Bound 5. Υπολογίζουμε την τιμή του κόμβου ως το άθροισμα του μήκους διαδρομής που αναπαριστά ο κόμβος συν το ελάχιστο για όσα τμήματα της διαδρομής δεν έχουμε αποφασίσει. [1] 27 [1,2]=14+ (6+4+5+8)=37 [1,2] 37 [1,3] 27 [1,4] 43 [1,5] 33 [1,3]=4+ (6+4+5+8)=27 [1,4]=20+ (6+4+5+8)=43 [1,5]=10+ (6+4+5+8)=33 24

Αλγόριθμος Branch and Bound 6. Επαναλαμβάνουμε το 4 για τον κόμβο με την μικρότερη τιμή εως ότου φτάσουμε στον προτελευταίο κόμβο της διαδρομής. [1] 27 [1,2] 37 [1,3] 27 [1,4] 43 [1,5] 33 [1,3,2] 30 [1,3,4] 28 [1,3,5] 38 [1,3,2]=4+7+(6+5+8)=30 [1,3,4]=4+5+ (6+5+8)=28 [1,3,5]=4+15 (6+5+8)=38 25

Αλγόριθμος Branch and Bound 7. Στον προτελευταίο κόμβο ενός μονοπατιού υπολογίζουμε το μήκος της συνολικής διαδρομής και αν μικρότερη από την τρέχουσα καλύτερη τιμή την αποθηκεύουμε ως καλύτερη. [1] 27 [1,2] 37 [1,3] 27 [1,4] 43 [1,5] 33 [1,3,2] 30 [1,3,4] 28 [1,3,4,2] [1,3,4,2,5,1] 34 [1,3,5] 38 ΤΡΕΧΟΝ ΒΕΛΤΙΣΤΟ 34 [1,3,4,2]= [1,3]+[3,4]+[4,2]+min(K2)+min(K5) δε χρειάζεται να το υπολογίσουμε [1,3,4,2,5,1]=[1,3]+[3,4]+[4,2]+[2,5]+[5,1]=4+5+6+9+10=34 26

Αλγόριθμος Branch and Bound 8. Επιστρέφουμε (backtrack) στον κόμβο με τη ΜΙΚΡΟΤΕΡΗ ΤΙΜΗ του ιδίου ή εάν τους έχουμε επισκεφθεί όλους, του προηγούμενου επιπέδου. [1] 27 [1,2] 37 [1,3] 27 [1,4] 43 [1,5] 33 [1,3,2] 30 [1,3,4] 28 [1,3,4,2] [1,3,4,2,5,1] 34 [1,3,5] 38 [1,3,4,5] [1,3,4,5,2,1] 40 ΤΡΕΧΟΝ ΒΕΛΤΙΣΤΟ 34 [1,3,4,5]= [1,3]+[3,4]+[4,5]+min(K2)+min(K5) δε χρειάζεται να το υπολογίσουμε [1,3,4,5,2,1]=[1,3]+[3,4]+[4,5]+[5,2]+[2,1]=4+5+8+9+14=40 27

Αλγόριθμος Branch and Bound 9. ΟΡΙΟΘΕΤΗΣΗ: Αν ο υπό εξέταση κόμβος έχει τιμή ΜΕΓΑΛΥΤΕΡΗ από την τρέχουσα καλύτερη ΔΕΝ τον εξετάζουμε και πάμε στο βήμα 7 αλλιώς στο βήμα 4. [1] 27 [1,2] 37 [1,3] 27 [1,4] 43 [1,5] 33 [1,3,2] 30 [1,3,4] 28 [1,3,4,2] [1,3,4,2,5,1] 34 [1,3,5] 38 [1,3,4,5] [1,3,4,5,2,1] 40 ΤΡΕΧΟΝ ΒΕΛΤΙΣΤΟ 34 28

Αλγόριθμος Branch and Bound [1] 27 [1,2] 37 [1,3] 27 [1,4] 43 [1,5] 33 [1,3,2] 30 [1,3,4] 28 [1,3,5] 38 [1,3,2,4] [1,3,2,4, 5,1] 35 [1,3,2,5] [1,3,2,5, 4,1] 48 [1,3,4,2] [1,3,4,2, 5,1] 34 [1,3,4,5] [1,3,4,5, 2,1] 40 ΤΡΕΧΟΝ ΒΕΛΤΙΣΤΟ 34 [1,3,2,4,5,1]=[1,3]+[3,2]+[2,4]+[4,5]+[5,1]=4+7+6+8+10=35 [1,3,2,5,4,1]=[1,3]+[3,2]+[2,5]+[5,4]+[4,1]=4+7+9+8+20=48 29

Αλγόριθμος Branch and Bound [1] 27 [1,2] 37 [1,3] 27 [1,4] 43 [1,5] 33 [1,3,2] 30 [1,3,4] 28 [1,3,5] 38 [1,3,2,4] [1,3,2,4, 5,1] 35 [1,3,2,5] [1,3,2,5, 4,1] 48 [1,3,4,2] [1,3,4,2, 5,1] 34 [1,3,4,5] [1,3,4,5, 2,1] 40 ΤΡΕΧΟΝ ΒΕΛΤΙΣΤΟ 34 30

Αλγόριθμος Branch and Bound [1,2] 37 [1,3] 27 [1] 27 [1,4] 43 [1,5] 33 ΤΡΕΧΟΝ ΒΕΛΤΙΣΤΟ 34 [1,5,2] 34 [1,5,3] 40 [1,5,4] 33 [1,5,4,2] [1,5,4,2,3,1] 44 [1,5,4,3] [1,5,4,3,2,1] 35 ΒΕΛΤΙΣΤΗ ΔΙΑΔΡΟΜΗ: 1->3->4->2->5->1 με μήκος 34 31

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα Ε.Μ.Π.» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 32