ΑΚΕΡΑΙΟΣ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ολοκληρωμένη μαθηματική τεχνική βελτιστοποίησης Ευρύτατο φάσμα εφαρμογών Εισαγωγή ακέραιων/λογικών/βοηθητικών μεταβλητών Δυνατότητα γραμμικοποίησης με 0-1 μεταβλητές
Ακέραιος Γραμμικός Προγραμματισμός Για το πρόβλημα του κλασσικού ΓΠ πρέπει να ισχύουν οι εξής 4 προϋποθέσεις: Γραμμικότητα (γραμμικές συναρτήσεις) Διαιρετότητα (μεταβλητές απόφασης R + ) Βεβαιότητα (παράμετροι σαφώς προσδιορισμένες) Μονοδιάσταση (μία αντικειμενική συνάρτηση) Αν η δεύτερη προϋπόθεση δεν ισχύει (δηλαδή οι μεταβλητές δεν παίρνουν συνεχείς τιμές αλλά ακέραιες) τότε το πρόβλημα ανάγεται σε πρόβλημα Ακέραιου (Γραμμικού) Προγραμματισμού (ΑΠ).
Γιατί ακέραιες μεταβλητές; Προβλήματα όπου για τις μεταβλητές απόφασης έχουν νόημα μόνο οι ακέραιες τιμές Π.χ. αριθμός παραγομένων αγαθών (οχημάτων, τραπεζιών, αεροσκαφών, κλπ), ή αριθμός εργατών για πρόσληψη, παρτίδες προϊόντων, πραγματοποίηση ή όχι μιας επένδυσης (0-1), κ.ά. Τρόπος αντιμετώπισης: Τα προβλήματα αυτά λύνονται με ΑΠ μόνο αν πρόκειται για μικρές τιμές π.χ. < 20. Αλλιώς το λύνουμε ως ΓΠ και στρογγυλοποιούμε (μικρό σφάλμα). Η λύση του προβλήματος ως ΓΠ και στη συνέχεια με στρογγυλοποίηση στους κοντινότερους ακεραίους δεν είναι πάντα η ενδεδειγμένη, καθώς μπορεί να οδηγήσει σε παραβίαση περιορισμών (μη εφικτή λύση) ή σε σημαντικά υποβέλτιστη λύση.
Γραφικό παράδειγμα - Διακριτό πεδίο ορισμού Max z = 3x 1 + 5x 2 υπό του 3,1x 1 + 10x 2 31 3,5x 1 + 3,5x 2 12 6x 1 + 2,3x 2 13,8 x A = 0.8, 2.8 z A = 16.4 x B = 0, 3 z B = 15 x Γ = 1, 2 z B = 13 x Δ = 2, 1 z B = 11
0-1 (Δυαδικές) Μεταβλητές Η μεγάλη συνεισφορά του ΑΠ είναι η χρήση 0-1 μεταβλητών. Λογικές μεταβλητές που παίρνουν τιμή 0 ή 1. Συνήθως δεν έχουν φυσική σημασία αλλά λογικό νόημα (on-off μεταβλητές). Διευρύνουν σημαντικά το πεδίο εφαρμογής του ΓΠ. Προβλήματα που δεν θα μπορούσαν να λυθούν με συμβατικό ΓΠ, με τη χρήση 0-1 μεταβλητών και την κατάλληλη μοντελοποίηση μπορούν να λυθούν. Π.χ λογικές συνθήκες, σταθερά κόστη, οικονομίες κλίμακας, μη γραμμικά μοντέλα, διαζευκτικοί περιορισμοί κ.ά. Εξάσκηση και φαντασία στη μοντελοποίηση Μπορεί να συμμετέχουν στο μοντέλο σε συνδυασμό με συνεχείς μεταβλητές (Μικτός Ακέραιος ΓΠ).
Παράδειγμα: 0-1 μεταβλητές Χαρτοφυλάκιο επενδύσεων Επιλογή επενδυτικού σχεδίου Διαθέσιμο budget 1.500.000 euro. Επενδ. σχέδιο Κόστος (χιλ. ) Α (ξενοδ. Κέρκυρα) Β (ξενοδ. Εύβοια) Γ (ξενοδ. Ρόδο) Δ(αεροδρ. Κέρκυρα) Ε (εργοσ. Εύβοια) Ζ(κατοικ. Εύβοια) 300 700 500 480 660 200 Όφελος 4 5 7 2 3 1 Μεταβλ. απόφασης x i : επιλογή της επένδυσης i (x i = 0/1) Αντικειμενική συνάρτηση: μεγιστοποίηση οφέλους max z = 4x A + 5x B + 7x Γ + Δ + 3x Ε + x Ζ Περιορισμός budget: 300x A +700x B + 500x Γ + 480x Δ + 660x Ε + 200x Ζ 1500 Όχι πάνω από μία τουριστικές επενδύσεις: x A + x B + x Γ 1 Όχι βιομηχανική και τουριστική επένδυση στην ίδια περιοχή: x Β + x Ε 1 Αν ξενοδοχείο στην Κέρκυρα, τότε και αεροδρόμιο στην Κέρκυρα: x A x Δ 0
Μοντελοποίηση με ακέραιες μεταβλητές Σταθερά κόστη παραγωγής Σταθερό κόστος: Για να παραχθεί έστω μία μονάδα x j πρέπει να καταβληθεί τουλάχιστον το κόστος ενεργοποίησης παραγωγής F j Κόστος παραγωγής: K = F j + c j x j για x j 0 Κ = 0 για x j = 0 Μοντελοποίηση: min z = x j M j y j n j=1 y j = 0 ή y j = 1 ( F j y j + c j x j ), j = 1,2,, n M j είναι παράμετρος που ισούται με το άνω όριο για τη μεταβλητή x j (δυναμικότητα παραγωγής)
Μοντελοποίηση με δυαδικές μεταβλητές Ενεργοποίηση - απενεργοποίηση περιορισμών 5Χ 1 + 8Χ 2 20 5Χ 1 + 8Χ 2 20 + Μ(1 b) b: δυαδική μεταβλητή που συνδέεται με τον περιορισμό, Μ: πολύ μεγάλος αριθμός Αν b = 1 ενεργοποιείται ο περιορισμός Αν b = 0 απενεργοποιείται (υψηλό άνω φράγμα) Εισαγωγή διαζευτικών περιορισμών Για ένα ζευγάρι περιορισμών, αν θέλουμε να ισχύει είτε ο ένας είτε ο άλλος, κατά περίπτωση: 5Χ 1 + 8Χ 2 20 + Μ 1 b 5Χ 1 + 8Χ 2 20 + Μ b Εισαγωγή λογικών συνθηκών ή C 1 ή C 2 b 1 + b 2 1 ή C 1 ή C 2 (αλλά όχι και τα δύο) b 1 + b 2 = 1 αν C 1 τότε C 2 b 1 b 2 0 αν C 1 τότε και μόνο τότε C 2 b 1 b 2 = 0
Μοντελοποίηση με δυαδικές μεταβλητές Οικονομίες κλίμακας - εκπτώσεις Υπολογισμός F 2, F 3 : F 2 = F 1 + (c 1 c 2 )A 1 F 3 = F 2 + (c 2 c 3 )A 2 Ελαχιστοποίηση κόστους: min z = 3 j=1 ( F j z j + c j x j ) x j η ποσότητα αγοράς, c j κόστος ανά μονάδα, z j δυαδική μεταβλητή x 1 A 1 z 1 z 1 + z 2 + z 3 = 1 x 2 A 2 z 2 x x 1 x 2 x 3 = 0 x 3 A 3 z 3
Επίλυση προβλημάτων ΑΠ Αντίθετα με το ΓΠ, δεν υπάρχει μία καθιερωμένη μέθοδος για την επίλυση προβλημάτων ΑΠ. Τα προβλήματα ΑΠ, αντίθετα, είναι συνδυαστικά προβλήματα βελτιστοποίησης. Μπορούν να επιλυθούν απαριθμητικά, δηλαδή να εξεταστούν για κάθε πιθανό συνδασμό ακέραιων μεταβλητών, και να επιλεχθεί η καλύτερη λύση. Η μέθοδος της απαρίθμησης όμως είναι υπολογιστικά χρονοβόρα ή ανέφικτη για τα περισσότερα πραγματικά προβλήματα. Η πιο διαδεδομένες μέθοδοι είναι του τύπου Branch and Bound (Land and Doig, 1960). Προϋπόθεση να είναι φραγμένες οι ακέραιες μεταβλητές (πεπερασμένο πεδίο τιμών) Έμμεση απαρίθμηση όλων των δυνατών ακέραιων λύσεων που επιδέχεται το πρόβλημα Ύπαρξη και άλλων μεθόδων επίλυσης προβλημάτων ΑΠ (π.χ. cutting planes method, κ.α.)
Χαρακτηριστικά μεθόδων Branch and Bound Xρήση της μεθόδου Simplex ως βασικού υπόβαθρου στην επίλυση Ανάλυση του προβλήματος σε περισσότερα υποπροβλήματα, με πρόσθετους περιορισμούς που αφορούν στα πεδία τιμών των ακέραιων μεταβλητών Υπολογιστική «οικονομία» Σταδιακή απόδοση τιμών στις ακέραιες μεταβλητές Συστηματική εξέταση της δενδροειδούς δομής που μας επιτρέπει να κόβουμε νωρίς κάποιο κλάδο που μας οδηγεί σε χειρότερες λύσεις από την καλύτερη που έχουμε ήδη Δημιουργία ενός συνδυαστικού δυαδικού δέντρου, όπου σε κάθε κόμβο επιλύεται ένα πρόβλημα ΓΠ Η βέλτιστη τιμή που αποκτούμε σε έναν κόμβο n για ένα πρόβλημα μεγιστοποίησης, έχει τις εξής ιδιότητες: Εάν κάποιες ακέραιες μεταβλητές λάβουν δεκαδική τιμή, τότε η τρέχουσα λύση είναι το άνω όριο των λύσεων που θα ακολουθήσουν στον κόμβο n. Εάν όλες οι ακέραιες μεταβλητές λάβουν ακέραια τιμή, τότε η τρέχουσα λύση είναι το κάτω όριο των λύσεων που θα ακολουθήσουν στον κόμβο n Η διαδικασία τελειώνει όταν βρεθεί η μέγιστη τιμή για το κάτω όριο των λύσεων.
Υπολογιστική διαδικασία για ακέραιες μεταβλητές Η ακεραιότητα των μεταβλητών στην αρχή αγνοείται (θεωρούνται συνεχείς ή αλλιώς ελεύθερες μεταβλητές). Από τη λύση του προβλήματος ΓΠ επιλέγεται μια ακέραιη μεταβλητή που έχει μη-ακέραια τιμή (έστω Χj= β) Λύνουμε δύο προβλήματα ΓΠ προσθέτοντας τους Xj >= [β] + 1στο ένα και Xj <= [β] στο άλλο [β] συμβολίζεται το ακέραιο μέρος του β. Αν εξακολουθούν να υπάρχουν ακέραιες μεταβλητές με μη-ακέραια τιμή συνεχίζουμε τη διαδικασία Εάν όλες οι ακέραιες μεταβλητές έχουν ακέραιη τιμή καταγράφουμε τη βέλτιστη λύση ως το κάτω όριο της λύσης και συνεχίζουμε στον επόμενο ανεξερεύνητο κόμβο. Εάν η βέλτιστη λύση σε κάποιο κόμβο είναι χειρότερη από το τρέχον κάτω όριο, ο συγκεκριμένος κλάδος διακόπτεται Όταν δεν υπάρχει πλέον ανεξερεύνητος κόμβος, το τρέχον κάτω όριο αποτελεί τη βέλτιστη λύση του προβλήματος
Δενδροειδής δομή επίλυσης με τη μέθοδο B&B Όλες οι μεταβλητές θεωρούνται συνεχείς X 1 [b 1 ] X 1 = b 1 1 X 1 [b 1 ] + 1 X 2 = b 2 2 3 X 2 = b 3 X 1 b 1 X 1 [b 1 ] X 2 b 2 X 2 [b 2 ] + 1 X 1 [b 1 ] + 1 X 2 [b 3 ] X 1 [b 1 ] + 1 X 2 [b 3 ] + 1 4 5 6 7 Δέσμευση πρώτης ακέραιας μεταβλητής Δέσμευση δεύτερης ακέραιας μεταβλητής Δέσμευση τρίτης ακέραιας μεταβλητής Σε κάθε κόμβο λύνεται ένα πρόβλημα ΓΠ. Όσο προχωράμε προς τα κάτω, το πρόβλημα ΓΠ έχει όλο και περισσότερους περιορισμούς
Παράδειγμα εφαρμογής της B&B Αντικειμενική συνάρτηση: maximize z 40x 100x x1, x2 0 x1, x2 ακέραιες μεταβλητές x 3x x 2 6 5 4 3 2 1 Α Γ x 1+3x 2 =12 1+ 4x 2 = 21 Γραφική επίλυση Δ (7.5,1.5) B O 2 4 6 8 10 12 x 1
Παράδειγμα εφαρμογής του B&B Πρώτη διακλάδωση του B&B αλγορίθμου για το πρόβλημα LP 0 LP 0 x 7.5 x 1.5 z 450 LP1.1 LP1.2 x1 7 x 7 x 1.67 z 446.67 x1 8 x 8 x 1.25 z 445
Παράδειγμα εφαρμογής του B&B Γραφική απεικόνιση των χώρων εφικτών λύσεων των 2 υποπροβλημάτων x 2 4 3 2 Γ(0,4) ILP 1.1 1 ILP 1.2 O 2 4 6 8 10 x 1 7 x 1 8 x 1
Παράδειγμα εφαρμογής του B&B Διακλάδωση του B&B αλγορίθμου για το πρόβλημα LP 1,1 LP 1.1 x1 7 x 7 x 1.67 z 446.67 LP1.1.1 LP1.1.2 x2 1 x2 2 x 1 7 x 1 7 x 7 x 1 z 380 x 6 x 2 z 440
Παράδειγμα εφαρμογής του B&B Διακλάδωση του B&B αλγορίθμου για το πρόβλημα LP 1,2 LP 1.2 x1 8 x 8 x 1.25 z 445 LP 1.2.1 x1 8 x2 1 x 8.5 x 1 z 440 x2 2 Μη εφικτή λύση LP 1.2.2 x1 8
Παράδειγμα εφαρμογής του B&B Διακλάδωση του B&B αλγορίθμου για το πρόβλημα LP 1,2,1 LP 1.2.1 x2 1 x1 8 x 8.5 x 1 z 440 LP 1.2.1.1 LP 1.2.1.2 x1 8 x2 1 x 8 x 1 z 420 x2 1 x1 9 x 9 x 0.75 z 435
Παράδειγμα εφαρμογής του B&B Ολοκληρωμένο δένδρο του Β&Β LP 0 x 7.5 x 1.5 z 450 Συμπέρασμα: Μη ακέραια λύση, περαιτέρω διερεύνηση. κλάδος x 7 1 κλάδος x 8 1 LP 1.1 x 7 x 1.67 z 446.67 Συμπέρασμα: Μη ακέραια λύση, περαιτέρω διερεύνηση. x 8 x 1.25 z 445 LP 1.2 Συμπέρασμα: Μη ακέραια λύση, περαιτέρω διερεύνηση. κλάδος x 1 x2 2 2 LP1.1.1 LP1.1.2 x1 7 x2 1 z 380 Συμπέρασμα: Ακέραια λύση. Βέλτιστη μέχρι στιγμής. κλάδος x 6 x 2 z 440 Συμπέρασμα: Νέα βέλτιστη μέχρι στιγμής ακέραια λύση. Επίσης βέλτιστη μετά τον έλεγχο όλων των κλάδων. κλάδος x2 1 2 LP1.2.1 LP1.2.2 x1 8.5 x2 1 z 440 Συμπέρασμα: Μη ακέραια λύση, περαιτέρω διερεύνηση. κλάδος x 2 Μη εφικτή λύση. Συμπέρασμα: Τέλος αναζήτησης. κλάδος x 8 1 κλάδος x 9 1 LP 1.2.1.1 x 8 x 1 z 420 Συμπέρασμα: Βέλτιστη ακέραια λύση. Απορρίπτεται γιατί υπολείπεται άλλης ακέραιας. Τέλος κλάδου. x 9 x 0.75 z 435 LP 1.2.1.2 Συμπέρασμα: Μη ακέραια λύση. Τέλος κλάδου γιατί υπάρχει καλύτερη ακέραια.