ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΚΟΥΛΙΝΑΣ ΓΕΩΡΓΙΟΣ Δρ. Μηχανικός Παραγωγής & Διοίκησης ΔΠΘ
ΠΛΕΟΝΕΚΤΙΚΟΙ ΚΑΤΑΣΚΕΥΑΣΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ GREEDY CONSTRUCTIVE HEURISTICS Βασικό μειονέκτημα: οι αποφάσεις που λαμβάνονται στην αρχή - παρότι καλές - οδηγούν σε λύσεις χαμηλής ποιότητας Σε μεγάλης κλίμακας προβλήματα οι πλεονεκτικοί κατασκευαστικοί ενεργούν γρήγορα αλλά παράγουν λύσεις χαμηλής ποιότητας
ΠΡΟΒΛΗΜΑΤΑ ΣΥΝΔΥΑΣΤΙΚΗΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ Η δομή των λύσεων μπορεί να αφορά / να αναπαρίσταται ως : Διάταξη (Ordering) Επιλογή (Selection) Αντιστοίχηση (Assignment) Οµαδοποίηση (Grouping) Με δεδομένους περιορισμούς σε ισχύ
ΠΡΟΒΛΗΜΑΤΑ ΔΙΑΤΑΞΗΣ ΣΤΟΙΧΕΙΩΝ Ένα συνδυαστικό πρόβλημα μοντελοποιείται ως πρόβλημα «Διάταξης» όταν η δομή της λύσης του εκφράζεται ως μια «λίστα» στην οποία παίζει ρόλο η σειρά των στοιχείων η Διάταξή τους Cost 1 Cost 2 Cost 3 Cost 4 A B C D E Διαφορετική Διάταξη = Διαφορετική Λύση
ΠΑΡΑΔΕΙΓΜΑΤΑ ΠΡΟΒΛΗΜΑΤΩΝ ΔΙΑΤΑΞΗΣ ΣΤΟΙΧΕΙΩΝ Το Πρόβλημα του Περιοδέυοντος Πωλητή (Travelling Salesman Problem-TSP) Το Πρόβλημα Δρομολόγησης Στόλου Οχημάτων (Vehicle Routing Problem- VRP)
Το Πρόβλημα Του Περιοδεύοντος Πωλητή (Travelling Salesman Problem - TSP)
ΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΠΕΡΙΟΔΕΥΟΝΤΟΣ ΠΩΛΗΤΗ (TRAVELLING SALESMAN PROBLEM TSP) Στόχος: 1. Εύρεση της διαδρομής έτσι ώστε η συνολική απόσταση να ελαχιστοποιείται 2. Ο πωλητής να επιστρέφει στην πόλη από όπου ξεκίνησε
ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΤΟΥ TSP (1) Δεδομένα: n = ο αριθμός των πόλεων του προβλήματος Cij = το κόστος της διαδρομής από την πόλη i στην πόλη j Μεταβλητές απόφασης: Xij = 1 εάν ο πωλητής κινείται από τον πελάτη i στον πελάτη j 0 διαφορετικά
ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΤΟΥ TSP (2) Δεδομένου ότι Αντικειμενική Συνάρτηση min = 1για όλα τα j (1) = 1για όλα τα i (2) Επισκέπτεται κάθε πόλη μόνο μία φορά 0,1 (3)
ΤΥΠΙΚΗ ΛΥΣΗ ΤΟΥ TSP 7 4 B Minimize 4 + 3 + 2 + 5 + 7 + 6 5 3 D 6 2 C Για την πόλη A + + = 1 Για την πόλη Β + + = 1 Για την πόλη C + + = 1 Για την πόλη D + + = 1
ΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΠΕΡΙΟΔΕΥΟΝΤΟΣ ΠΩΛΗΤΗ (TRAVELLING SALESMAN PROBLEM TSP) Αλγόριθμοι που εχουν αναπτυχθεί εως τώρα στα πλαίσια του μαθήματος: Κατασκευαστικός Πλεονεκτικός Αλγόριθμος (Nearest Neighbor Algorithm) Στοχαστικός Κατασκευαστικός Αλγόριθμος (Stochastic Constructive Algorithm)
ΠΛΕΟΝΕΚΤΙΚΟΙ ΚΑΤΑΣΚΕΥΑΣΤΙΚΟΙ ΕΥΡΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ NEAREST NEIGHBOR ALGORITHM Step 1: Set a node as start. Set as current Step 2: Find out the shortest edge connecting current node and an unvisited node N Step 3: Mark N as visited Step 4: Set node N as current Step 5: If all the nodes are visited, then terminate Step 6: Else, Go to Step 2
ΣΤΟΧΑΣΤΙΚΟΙ ΠΛΕΟΝΕΚΤΙΚΟΙ ΚΑΤΑΣΚΕΥΑΣΤΙΚΟΙ ΕΥΡΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ STOCHASTIC GREEDY CONSTRUCTIVE ALGORITHM Step 1: Set a node as start. Set as current Step 2: Find at random, an edge connecting current node and an unvisited node N Step 3: Mark N as visited Step 4: Set node N as current Step 5: If all the nodes are visited, then terminate Step 6: Else, Go to Step 2
ΠΡΟΒΛΗΜΑΤΑ ΣΥΝΔΥΑΣΤΙΚΗΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ Η δομή των λύσεων μπορεί να αφορά / να αναπαρίσταται ως : Διάταξη (Ordering) Επιλογή (Selection) Αντιστοίχηση (Assignment) Οµαδοποίηση (Grouping) Με δεδομένους περιορισμούς σε ισχύ
ΠΡΟΒΛΗΜΑΤΑ ΕΠΙΛΟΓΗΣ ΣΤΟΙΧΕΙΩΝ Δεδομένου ενός συνόλου στοιχείων πρέπει να επιλεγούν κάποια στοιχεία με σκοπό την βελτιστοποίηση της αντικειμενικής συνάρτησης Λόγω των περιορισμών δεν είναι δυνατό να επιλεγούν όλα τα στοιχεία
ΠΑΡΑΔΕΙΓΜΑΤΑ ΠΡΟΒΛΗΜΑΤΩΝ ΕΠΙΛΟΓΗΣ ΣΤΟΙΧΕΙΩΝ Το Πρόβλημα του Υπνόσακου (The Knapsack problem) Εφαρμογές: Πρόβλημα Διαχείρισης Χαρτοφυλακίου επιλογή μετοχών για μεγιστοποίηση κέρδους με παράλληλους περιορισμούς στον προϋπολογισμό Πρόβλημα Εφοδιαστικής: Φόρτωση όσο το δυνατό περισσότερων εμπορευματοκιβωτίων (containers) σε ένα πλοίο συγκεκριμένης χωρητικότητας με σκοπό τη μεγιστοποίηση του κέρδους
Το Πρόβλημα Του Υπνόσακου (The Knapsack Problem)
ΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΥΠΝΟΣΑΚΟΥ (THE KNAPSACK PROBLEM) Δεδομενα: Ένας «Υπνόσακος» με συγκεκριμένη χωρητικότητα Ένα συνόλο αντικειμένων με συγκεκριμένο μέγεθος και αξία, τα οποία θέλουμε να τοποθετήσουμε στον «Υπνόσακο» Στόχος: Επιλογή αριθμού αντικειμένων ώστε να μεγιστοποιείται η αξία ενώ ταυτόχρονα τηρείται ο περιορισμός της χωρητικότητας
ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ ΤΟΥ ΥΠΝΟΣΑΚΟΥ (THE KNAPSACK PROBLEM) Το Knapsack Problem στη βασική του μορφή μπορεί να εκφραστεί ως εξής: Υπό τους περιορισμούς: (1) 0,1 1 (2) Η διατύπωση του προβλήματος είναι η ακόλουθη: Έστω ένα σύνολο n αντικειμένων όπου κάθε αντικείμενο j (1 ) έχει ένα κέρδος κι ένα βάρος Στόχος: Να επιλεγούν κάποια από τα αντικείμενα έτσι ώστε να μεγιστοποιείται το κέρδος χωρίς να παραβιάζεται η τιμή διαθεσιμότητας βάρους W
ΠΛΕΟΝΕΚΤΙΚΟΣ ΚΑΤΑΣΚΕΥΑΣΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ ΓΙΑ ΤΟ KNAPSACK PROBLEM Μορφή μερικής & πλήρους λύσης: Μία λίστα με επιλεγμένα στοιχεία που εισήχθηκαν στον «υπνόσακο» Στοιχείο λύσης: Ένα αντικείμενο που εισάγεται στην ημιτελή λύση
ΠΛΕΟΝΕΚΤΙΚΟΣ ΚΑΤΑΣΚΕΥΑΣΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ ΓΙΑ ΤΟ KNAPSACK PROBLEM Ως κριτήριο επιλογής μπορεί να υιοθετηθεί κάποιο από τα παρακάτω: Υπολογισμός του κλάσματος βάρος/κέρδος (κέρδος/βάρος) και αύξουσα (φθίνουσα) ταξινόμηση των αντικειμένων Για όσο τηρείται ο περιορισμός της χωρητικότητας επιλέγεται σε κάθε επανάληψη το αντικείμενο με το μικρότερο κλάσμα Κριτήριο Αξιολόγησης: Η συνολική αξία των αντικειμένων μέσα στον «υπνόσακο»
ΠΛΕΟΝΕΚΤΙΚΟΣ ΚΑΤΑΣΚΕΥΑΣΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ ΕΦΑΡΜΟΓΗ ΣΤΗ ΕΦΟΔΙΑΣΤΙΚΗ (ΜΕΤΑΦΟΡΑ CONTAINERS) Διαθέτουμε ένα σύνολο 10 εμπορευματοκιβωτίων κάποια από τα οποία θα μεταφερθούν με ένα πλοίο. Το βάρος του καθενός σε tn καθώς και το κέρδος από τη μεταφορά του συνοψίζονται στον πίνακα Βάρος (tn) Κέρδος C1 48 24 C2 45 90 C3 60 130 C4 7 21 C5 6 12 C6 15 40 C7 80 105 C8 52 90 C9 25 75 C10 15 45 H μέγιστη χωρητικότητα του πλοίου είναι 200 tn
ΠΛΕΟΝΕΚΤΙΚΟΣ ΚΑΤΑΣΚΕΥΑΣΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ ΓΙΑ ΤΟ KNAPSACK PROBLEM Βήμα 1: Υπολόγισε το λόγο W/P για κάθε στοιχείο Βήμα 2: Κατέταξε τα στοιχεία κατά αύξουσα σειρά σύμφωνα με το λόγο W/P Βήμα 3: Θεώρησε για κάθε στοιχείο το βάρος Wci σύμφωνα με τον πίνακα, και CC=200 τον περιορισμό χωρητικότητας Βήμα 4: Θεώρησε την αρχική «μερική» λύση S:{}. Aντίστοιχα το συνολικό Βάρος TotalW=0 και TotalP=0. Το υπόλοιπο χωρητικότητας είναι CC-ΣWci για κάθε στοιχείο i που ανήκει στη λύση S Βήμα 5: Για όσο CC-ΣWci 0, επέλεξε το διαθέσιμο στοιχείο J με τη μεγαλύτερη τιμή W/P και πρόσθεσέ την στην S. Αφαίρεσέ την από τη λίστα των διαθέσιμων
ΠΛΕΟΝΕΚΤΙΚΟΣ ΚΑΤΑΣΚΕΥΑΣΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ ΕΦΑΡΜΟΓΗ ΣΤΗ ΕΦΟΔΙΑΣΤΙΚΗ (ΜΕΤΑΦΟΡΑ CONTAINERS) Υπολογίζουμε το λόγο Βάρος / Κέρδος δηλ. (W/P) Βάρος (tn) Κέρδος Βάρος/Κέρδος W P W/P C1 48 24 2,00 C2 45 90 0,50 C3 60 130 0,46 C4 7 21 0,33 C5 6 12 0,50 C6 15 40 0,38 C7 80 105 0,76 C8 52 90 0,58 C9 25 75 0,33 C10 15 45 0,33
ΠΛΕΟΝΕΚΤΙΚΟΣ ΚΑΤΑΣΚΕΥΑΣΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ ΕΦΑΡΜΟΓΗ ΣΤΗ ΕΦΟΔΙΑΣΤΙΚΗ (ΜΕΤΑΦΟΡΑ CONTAINERS) Ταξινομούμε τα στοιχεία με αύξουσα σειρά ανάλογα της τιμής του λόγου W/P C4 0,33 C9 0,33 C10 0,33 C6 0,38 C3 0,46 C2 0,50 C5 0,50 C8 0,58 C7 0,76 C1 2,00
Loop 0: ΠΛΕΟΝΕΚΤΙΚΟΣ ΚΑΤΑΣΚΕΥΑΣΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ ΕΦΑΡΜΟΓΗ ΣΤΗ ΕΦΟΔΙΑΣΤΙΚΗ (ΜΕΤΑΦΟΡΑ CONTAINERS) Μερική λύση: Κενή - Υπόλοιπο χωρητικότητας = 200 Loop 1: Η μικρότερη τιμή W/P ανήκει στις C4, C9, C10. Επιλέγεται τυχαία C9. Εάν είναι WC9 Υπόλοιπο, εισάγεται στη λύση. Μερική λύση: S:{C9} Υπόλοιπο χωρητικότητας = 200-25=175 Loop 2: Η μικρότερη τιμή W/P ανήκει στις C4, C10. Επιλέγεται τυχαία C10. Εάν είναι WC10 Υπόλοιπο, εισάγεται στη λύση. Μερική λύση: S:{C9,C10} Υπόλοιπο χωρητικότητας = 175-15=160 Loop 3: Η μικρότερη τιμή W/P ανήκει στην C4. Επιλέγεται η C4. Εάν είναι WC4 Υπόλοιπο, εισάγεται στη λύση. Μερική λύση: S:{C9,C10,C4} Υπόλοιπο χωρητικότητας = 160-7=153 Loop 3 Loop1 Loop 2 C4 0,33 C9 0,33 C10 0,33 C6 0,38 C3 0,46 C2 0,50 C5 0,50 C8 0,58 C7 0,76 C1 2,00 Βάρος (tn) Κέρδος W P C1 48 24 2,00 C2 45 90 0,50 C3 60 130 0,46 C4 7 21 0,33 C5 6 12 0,50 C6 15 40 0,38 C7 80 105 0,76 C8 52 90 0,58 C9 25 75 0,33 C10 15 45 0,33 Βάρος/Κέρδος W/P
ΠΛΕΟΝΕΚΤΙΚΟΣ ΚΑΤΑΣΚΕΥΑΣΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ ΕΦΑΡΜΟΓΗ ΣΤΗ ΕΦΟΔΙΑΣΤΙΚΗ (ΜΕΤΑΦΟΡΑ CONTAINERS) Loop 4: Η μικρότερη τιμή W/P ανήκει στην C6. Επιλέγεται η C6. Εάν είναι WC6 Υπόλοιπο, εισάγεται στη λύση. Μερική λύση: S:{C9,C10,C4,C6} Υπόλοιπο χωρητικότητας = 153-15=138 Loop 5: Η μικρότερη τιμή W/P ανήκει στην C3. Επιλέγεται η C3. Εάν είναι WC3 Υπόλοιπο, εισάγεται στη λύση. Μερική λύση: S:{C9,C10,C4,C6,C3} Υπόλοιπο χωρητικότητας = 138-60=78 Loop 6: Η μικρότερη τιμή W/P ανήκει στις C2 και C5. Επιλέγεται τυχαία η C5. Εάν είναι WC5 Υπόλοιπο, εισάγεται στη λύση. Μερική λύση: S:{C9,C10,C4,C6,C3,C5} Υπόλοιπο χωρητικότητας = 78-6=72 Βάρος (tn) Κέρδος Βάρος/Κέρδος W P W/P C1 48 24 2,00 C2 45 90 0,50 C3 60 130 0,46 C4 7 21 0,33 C5 6 12 0,50 C6 15 40 0,38 C7 80 105 0,76 C8 52 90 0,58 C9 25 75 0,33 C10 15 45 0,33 Loop 3 C4 0,33 Loop1 C9 0,33 Loop 2 C10 0,33 Loop 4 C6 0,38 Loop 5 C3 0,46 C2 0,50 Loop 6 C5 0,50 C8 0,58 C7 0,76 C1 2,00
ΠΛΕΟΝΕΚΤΙΚΟΣ ΚΑΤΑΣΚΕΥΑΣΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ ΕΦΑΡΜΟΓΗ ΣΤΗ ΕΦΟΔΙΑΣΤΙΚΗ (ΜΕΤΑΦΟΡΑ CONTAINERS) Loop 7: Η μικρότερη τιμή W/P ανήκει στην C2. Επιλέγεται η C2. Εάν είναι WC2 Υπόλοιπο, εισάγεται στη λύση. Μερική λύση: S:{C9,C10,C4,C6,C3,C5,C2} Υπόλοιπο χωρητικότητας = 78-45=27 Loop 8: Η μικρότερη τιμή W/P ανήκει στην C8. Επιλέγεται η C8. Εάν είναι WC8 Υπόλοιπο, εισάγεται στη λύση. Μερική λύση: S:{C9,C10,C4,C6,C3,C5,C2,C8} Υπόλοιπο χωρητικότητας = 27-52= -19 Άρα δεν εισάγεται στη μερική λύση. Τελική Εφικτή Λύση: S:{C9,C10,C4,C6,C3,C5,C2} Total P= PC9+ PC10+ PC4+ PC6+ PC3+ PC5+ PC2 = 75+45+21+40+130+12+90=413 Total W= WC9+ WC10+ WC4+ WC6+ WC3+ WC5+ WC2 = 25+15+7+15+60+6+45= 173 Loop 3 C4 0,33 Loop1 C9 0,33 Loop 2 C10 0,33 Loop 4 C6 0,38 Loop 5 C3 0,46 Loop 7 C2 0,50 Loop 6 C5 0,50 Loop 8 C8 0,58 C7 0,76 C1 2,00 Βάρος (tn) Κέρδος Βάρος/Κέρδος W P W/P C1 48 24 2,00 C2 45 90 0,50 C3 60 130 0,46 C4 7 21 0,33 C5 6 12 0,50 C6 15 40 0,38 C7 80 105 0,76 C8 52 90 0,58 C9 25 75 0,33 C10 15 45 0,33
ΠΛΕΟΝΕΚΤΙΚΟΣ ΚΑΤΑΣΚΕΥΑΣΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ ΕΦΑΡΜΟΓΗ ΣΤΗ ΔΙΑΧΕΙΡΙΣΗ ΧΑΡΤΟΦΥΛΑΚΙΟΥ Μια εταιρία επενδύσεων διαχειρίζεται κεφάλαια ύψους 1000 μονάδων κι έχει τη δυνατότητα να εντάξει στο χαρτοφυλάκιό της, κάποιες από τις μετοχές εταιριών του παρακάτω πίνακα: Ονομα μετοχής Αξία αγοράς Ετήσιο Μέρισμα Μ1 50,00 1,50 Μ2 32,50 3,00 Μ3 220,00 5,00 Μ4 98,00 1,40 Μ5 124,00 9,00 Μ6 210,00 12,00 Μ7 168,00 16,00 Μ8 189,00 8,00 Μ9 174,00 7,00 Μ10 68,00 5,00 Να βρεθούν οι μετοχές στις οποίες μπορεί να επενδύσει η εταιρία έτσι ώστε να μεγιστοποιείται το μέρισμα στο τέλος του χρόνου Σημ. Κάθε μετοχή μπορεί να επιλεγεί μόνο μία φορά
ΠΛΕΟΝΕΚΤΙΚΟΣ ΚΑΤΑΣΚΕΥΑΣΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ ΕΦΑΡΜΟΓΗ ΣΤΗ ΔΙΑΧΕΙΡΙΣΗ ΧΑΡΤΟΦΥΛΑΚΙΟΥ Η αντιμετώπιση του προβλήματος να γίνει με χρήση ενός Πλεονεκτικού Κατασκευαστικού Αλγορίθμου Να αναπτυχθούν 3 παραλλαγές για τον ΠΚΑ: 1. Εάν υπάρχουν μετοχές με ίση τιμή του λόγου P/W, να επιλέγεται τυχαία κάποια 2. Η επιλογή των μετοχών να γίνεται με βάση τη μικρότερη αξία αγοράς 3. Η επιλογή των μετοχών να γίνεται με βάση το μεγαλύτερο ετήσιο μέρισμα
ΕΥΧΑΡΙΣΤΩ ΓΙΑ ΤΗΝ ΠΡΟΣΟΧΗ ΣΑΣ ΕΠΙΚΟΙΝΩΝΙΑ oγραφειο 305 ΚΤΙΡΙΟ Ι, ΠΡΟΚΑΤ ΔΕΥΤΕΡΑ 15.00-16.00 & 19.00-20.00 oτηλεφωνο: 2541079332 oemail: gkoulina@pme.duth.gr