ΠΑΡΟΥΣΙΑΣΗ ΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ ΜΕ ΤΙΤΛΟ: «Ανάλυση του προβλήματος του περιπλανώμενου πωλητή και Υλοποίηση μεθόδων επίλυσης και βελτιστοποίησης ανάθεσης εργασιών με τη χρήση Heuristic Αλγορίθμων» Φοιτητές: Αυγερινόπουλου Κων/νου Α.Μ. 1736 Κέππα Θωμά Α.Μ. 1870 Επιβλέπων Καθηγητής Δρ. Φιλιππίδης Ευάγγελος Επιστημονικός Συνεργάτης Μάϊος 2015
Heuristic Αλγόριθμοι Είναι οι αλγόριθμοι οι οποίοι χρησιμοποιούν μια ευρετική μέθοδο για την εύρεση μίας λύσης, σε ένα πολύπλοκο πρόβλημα σε σύντομο χρονικό διάστημα. Η λύση που μας δίνουν δεν είναι η βέλτιστη αλλά είναι πολύ κοντά σε αυτή.
Το πρόβλημα του περιπλανώμενου πωλητή Travelling Salesman Problem
Ο αλγόριθμος Nearest Neighbor Algorithm Βήμα 1ο: Σχηματίζουμε τη μήτρα – πίνακα γειτνίασης για όλες τις πόλεις. Η απόσταση της κάθε πόλης από τον εαυτό της είναι μηδέν (0) άρα ο πίνακας γειτνίασης έχει μηδενικά στοιχεία στην κύρια διαγώνιο του. Σε πολλές περιπτώσεις (σχεδόν σε όλες) πολλές πόλεις δεν συνδέονται με όλες τις υπόλοιπες παρά μόνο με τις γειτονικές. Σε αυτή την περίπτωση το κόστος είναι άπειρο ∞ , αλλά εμείς θα μπορούμε να βάλουμε στον πίνακα μια πολύ μεγάλη τιμή. Βήμα 2ο: Ξεκινάμε από τη πόλη αφετηρία. Έστω είναι η i. Υπολογίζουμε ποιο είναι το ελάχιστο κόστος της πόλης αφετηρίας από τις υπόλοιπες και για αυτή της οποίας η τιμή c (i, j) του κόστους, είναι η ελάχιστη μεταξύ όλων των c(i, k) τιμών κόστους, θεωρούμε πως θα είναι η επόμενη πόλη (κόμβος του δικτύου) που θα επισκεφτούμε, όπου k είναι ο δείκτης της πόλης την οποία ο πωλητής δεν έχει επισκεφθεί ακόμα. Η πόλη j θα είναι η επόμενη. Υπολογίζουμε το νέο κόστος και προχωράμε στην επόμενη πόλη. Σε περίπτωση που δύο ή περισσότερες πόλεις έχουν το ίδιο κόστος παίρνουμε σαν επόμενη πόλη αυτή με τη μικρότερη τιμή k .
Βήμα 3ο: Επαναλαμβάνουμε το βήμα 2 έχοντας σαν αφετηρία τη πόλη j Βήμα 4ο: Εκτυπώνουμε τα αποτελέσματα αλληλουχίας επισκέψεων των πόλεων και συνολικού κόστους.
Παράδειγματα προβλημάτων του Travelling Salesman Problem
Παράδειγμα εφαρμογής της ελάχιστης διαδρομής
Το πρόβλημα ανάθεσης – κατανομής εργασιών Το πρόβλημα ανάθεσης – κατανομής εργασιών Η φιλοσοφία του προβλήματος είναι να αναθέσουμε ένα Ν αριθμό εργασιών σε Ν ανθρώπους ή μηχανές κτλ. Το κόστος κάθε εργασίας για κάθε άνθρωπο ή μηχανή διαφέρει. Ο σκοπός μας είναι να αναθέσουμε μία εργασία σε κάθε άνθρωπο ή μηχανή με το ελάχιστο δυνατόν κόστος. Υλοποίηση αλγορίθμου Σε κάθε βήμα του αλγόριθμος αναθέτει μία εργασία σε ένα άτομο ώστε το συνολικό κόστος να είναιτο ελάχιστο. Η εφαρμογή του αλγορίθμου δίνετε στο παρακάτω παράδειγμα.
Παράδειγμα υπολογισμού ελαχίστου κόστους με τη μέθοδο Branch & Bound ΕΡΓΑΣΙΕΣ ATOMA 1 2 3 4 A 7 6 9 B 5 8 C D
ΤΕΛΟΣ ΠΑΡΟΥΣΙΑΣΗΣ ΩΡΑ ΓΙΑ ΕΡΩΤΗΣΕΙΣ…..