ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Επιχειρησιακή Έρευνα Ενότητα #3: Ακέραιος Προγραμματισμός Αθανάσιος Σπυριδάκος Καθηγητής Τμήμα Διοίκησης Επιχειρήσεων
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3
Σκοποί ενότητας Να γίνει κατανοητή η ανάγκη της εύρεσης της αποδοτικότερης λύσης στα προβλήματα μιας επιχείρησης με χρήση κατάλληλων αλγορίθμων 4
Περιεχόμενα ενότητας Ακέραιος Προγραμματισμός Μέθοδος Διακλάδωσης και Αποκοπής Εφαρμογές του Ακέραιου Προγραμματισμού 5
Βιβλιογραφία Π. Υψηλάντη, Επιχειρησιακή Έρευνα: Λήψη Επιχειρηματικών Αποφάσεων, Εκδόσεις ΕΛΛΗΝ, 1995. Γ. Πραστάκος. Μαθηματικός Προγραμματισμός για τη λήψη επιχειρηματικών αποφάσεων, Εκδόσεις Σταμούλης, 1991. Δ. Ξηρόκωστας, Επιχειρησιακή Έρευνα Αντικείμενο και μεθοδολογία, Συμμετρία, 1991. Ι. Σίσκος, Γραμμικός Προγραμματισμός, Εκδόσεις Νέων Τεχνολογιών, 1998. F.S. Hillier και G.L. Lieberman, Εισαγωγή στην Επιχειρησιακή Έρευνα, Εκδόσεις Παπαζήση, 1985. 6
Αναφορές Γ. Πραστάκος. Μαθηματικός Προγραμματισμός για τη λήψη επιχειρηματικών αποφάσεων, Εκδόσεις Σταμούλης, 1991. Δ. Ξηρόκωστας, Επιχειρησιακή Έρευνα Αντικείμενο και μεθοδολογία, Συμμετρία, 1991. Ι. Σίσκος, Γραμμικός Προγραμματισμός, Εκδόσεις Νέων Τεχνολογιών, 1998. R. E. Gomory. Outline of an algorithm for integer solutions to linear programs. Bul letin ofamerican Mathematical Society, 64:275 278, 1958. 1. 7
Προβλήματα Ακέραιου Προγραμματισμου (Α.Π.) Προβλήματα Γραμμικού Προγραμματισμού στα οποία οι μεταβλητές είναι ακέραιες. Μια κατηγορία εφαρμογών είναι οι περιπτώσεις του Ακέραιαιου Προγραμματισμού 0, 1 (Α.Π. 0/1) όπου οι μεταβλητές μπορούν να λάβουν μόνο τις τιμές 0 και 1. Μαθηματική διατύπωση Max Z = c 1 X 1 +c 2 x 2 +.+c n x n Υ.Π. a 11 x 1 +x 12 x 2 + =a 1n x n b 1 a 21 x 1 +x 22 x 2 + =a 2n x n b 2. a k1 x 1 +x k2 x 2 + =a kn x n b k x 1,x 2,.x n ακέραιοι (μη αρνητικοί) 8
Παραδείγματα Εφαρμογών Α.Π. Κατά την εβδομαδιαία αγορά στο super market διαθέτουμε το ποσό των 40 ευρώ. Μπορούμε να μεταφέρουμε μέχρι 20 κιλά. Στον πίνακα που ακολουθεί δίνονται τα προϊόντα που έχουμε ανάγκη, το κόστος τους, το βάρος και ο βαθμός που μας είναι αναγκαία. Ποιά προϊόντα πρέπει να αγοράσουμε ώστε να μεγιστοποιηθεί η κάλυψη των αναγκών μας. Μαθηματική Διατύπωση Xi = Μax v 1 x i +v 2 x 2 + v n x n υ.π. c 1 x 1 +c 2 x 2 + c n x n 40 w 1 x 1 +w 2 x 2 + c n x n 20 1 αν αγοραστεί το προϊόν 0 αν δεν αγοραστεί το προϊόν Προϊόντα Κόστος Ci Βάρος Wi Βαθμός Ανάγκης Π1 9 7 2 Π2 6 2 1 Π2 7 5 3 Π4 8 4 2 Π5 12 3 5 Π6 6 4 2 Π7 9 6 3 Π8 11 8 4 Π9 8 5 2 Vi 9
Επενδύσεις Ενας επενδυτής έχει διαθέσιμες εναλλακτικές επενδύσεις που περιλαμβάνονται στον πίνακα και διαθέτει το κεφάλαιο των 600.000,00. Κάθε επένδυση έχει ένα συγκεκριμένο κόστος και ένα αναμενόμενο ποσοστό απόδοσης. Να προσδιορισθεί το χαρτοφυλάκιο των επενδύσεων του έτσι ώστε να μεγιστοποιήσει την αναμενόμενη απόδοση. Μαθηματική Διατύπωση X i = { 1 αν γίνει η επένδυση 0 αν δεν γίνει η επένδυση Επένδυση Κόστος σε χιλ Ci Απόδοση (%) Vi Ε1 140 5 Ε2 240 6 Ε3 130 4,5 Ε4 220 6 Ε5 350 2 Ε6 80 8 Ε7 180 5 Μax v 1 x i +v 2 x 2 + v n x n υ.π. c 1 x 1 +c 2 x 2 + c n x n 600 10
Επίλυση Προβλημάτων Α.Π. Δεν υπάρχει για όλα τα προβλήματα ένας αλγόριθμος που να εγγυάται τη βέλτιστη λύση Δεν μπορούν να λυθούν όλα τα προβλήματα. Συνδυαστικά Προβλήματα (Combinatorial Problems) - Αναζήτηση συνδυασμούς ακεραίων τιμών μεταξύ των μεταβλητών Καλή λύση όχι κατ ανάγκη η βέλτιστη. Μέθοδος Διακλαδωσης και Αποκοπής (Branch and Bound) Μέθοδος Αποκοπής (Cutting Plane) Υ 0 Ακέραιες Λύσεις Χ 11
Η μέθοδος Διακλάδωσης και Οριοθέτησης Βήμα 1: Επιλύουμε το πρόβλημα με τη μέθοδο SIMPLEX χωρίς να θέτουμε περιορισμούς ως προς την ακεραιότητα (χ 1, χ 2, χ n ή λύση και Ζ η τιμή της αντικειμενικής συνάρτησης την οποία θέτουμε ως τρέχον άνω φράγμα ΑΦ). Αν η λύση ικανοποιεί τους περιορισμούς ακεραιότητας τότε γίνεται δεκτή και σταματα ο αλγόριθμος. Αν οχι συνεχίζουμε στο επόμενο. Βήμα 2: Βρίσκουμε την τιμή της αντικειμενικής συνάρτησης στις μη ακέραιες μεταβλητές j για χ j =[x j ] το κάτω φράγμα ΚΦ Βήμα 3: Για μια από τις μη ακέραιες μεταβλητές (x j ) λύνουμε δύο γραμμικά προβλήματα με την μέθοδο simplex εισάγοντας επιπλέον τις συνθήκες X j [x j ] και X j [x j ] +1 αντίστοιχα δημιουργώντας διακλαδώσεις. Βήμα 4: Ανω φράγμα: η τιμή της Αντ. Συν. της βέλτισης λύσης στο υποσύνολο (διακλάδωση). Κάτω φράγμα: η τιμή της Αντ. Συν. Της βέλτισης ( μέχρι το σημείο αυτό ) ακέραιας λύσης.αν το άνω φράγμα του υποσυνόλου είναι κατώτερο του κάτω φράγματος δεν εξετάζεται. Βήμα 5: Αν υπάρχει ακέραια λύση με τιμη μεγαλύτερη ή ιση του άνω φράγματος τότε έχουμε τη λύση του Α.Π διαφορετικά επιλέγουμε τη λύση με το μεγαλύτερο άνω φράγμα για διακλαδωση και μεταβαίνουμε στο βήμα 3 (η συνθήκη που μας οδήγηση στην διακλάδωση παραμένει και στα νέες διακλαδώσης). 12
Υ Γραφική Αποτύπωση Υ 1 2 Χ Χ Υ Υ 3 4 Χ Χ 13
Το πρόβλημα Max z = 40x + 30 y υ.π. 2x + 2 y 59 3x + 2y 75 x + 2y 50 x, y ακέραιοι (μη αρνητικοί) Βήμα 1: Παράδειγμα (1) Λύνουμε το πρόβλημα με τη μέθοδο SIMPLEX χωρίς τους περιορισμούς ακεραιότητας. Η λύση είναι χ=22.75 και y = 6.75 και η τιμή της αντικειμενικής συνάρτησης είναι 1112.5. Δεν έχουμε ακέραια λύση και προχωράμε στο βήμα 2. 14
Παράδειγμα (2) Βήμα 2: Υπολογίζουμε την τιμή της αντικκειμενικής για χ = 22 και y = 6 Τρέχον κάτω φράγμα ΚΦ = 1060. Βήμα 3: Επιλέγουμε αυθαίρετα τη μεταβλητή x. Λύνουμε τα Γραμμικά προβλήματα Α. Max z = 40x + 30 y υ.π. 2x + 2 y 59 3x + 2y 75 χ + 2y 50 x 22 Λύση: (Χ=22, y=7.5 και Ζ = 1105) Χ=22.75, y=6.75, Ζ = 1112.5) x 22 χ 23 Β. Max z = 40x + 30 y υ.π. 2x + 2 y 59 3x + 2y 75 x + 2y 50 x 23 Λύση: (Χ=23, y=6 και Ζ = 1100) Χ=22, y=7.5 Ζ = 1105 Χ=23, y=6 Ζ = 1100 15
Παράδειγμα (3) Βήμα 4: Ακέραια λύση χ=23 και y= 6. Χ=22.75, y=6.75, Ζ = 1112.5) Κάτω φραγμα = 1100. Σταματά η διακλάδωση. Μη ακέραια λύση χ=22 και y=7.5 και με Ζ=1105 (νέο άνω φράγμα). Συνεχίζεται η διακλάδωση. Δεν υπάρχει ακέραια λύση με τιμή της αντικειμενικής συνάρτησης ίσης ή μεγαλύτερης του άνω φράγματος όλων των υποσυνόλων. x 22 Χ=22, y=7.5 Ζ = 1105 x 23 Χ=23, y=6 Ζ = 1100 16
Παράδειγμα (4) Επιλέγουμε τη μεταβλητή y Λύνουμε τα Γραμμικά προβλήματα Α. Λύση :(Χ=22, y=7 και Ζ = 1090) Max z = 40x + 30 y υ.π. 2x + 2 y 59 3x + 2y 75 x + 2y 50 x 22 y 7 Β. Λύση :(Χ=21.5, y=8 και Ζ = 1100) Max z = 40x + 30 y Χ=22.75, y=6.75, Ζ = 1112.5) x 22 x 23 Χ=22, y=7.5 Χ=23, y=5 Ζ = 1105 Ζ = 1100 y 7 y 8 υ.π. 2x + 2 y 59 3x + 2y 75 χ + 2y 50 x 22 y 8 Χ=22, y=7 Ζ = 1090 Χ=21.5, y=8 Ζ = 1100 17
Παράδειγμα (5) X=22, y=7 ακέραια λύση και Ζ=1090 < 1100 ( τιμή αντικειμενικής < κάτω φράγμα) Χ=21.5, y = 8 μη ακέραια λύση και τιμή αντικειμενικής Ζ=1100 1100 (ίση με κάτω φράγμα). Χ=22.75, y=6.75, Ζ = 1112.5) x 22 χ 23 Χ=22, y=7.5 Χ=23, y=6 Ζ = 1105 Ζ = 1100 Επίλεγεται η λύση x=23 και y=6 (μεγαλύτερο κάτω φράγμα) Χ=22, y=7 Ζ = 1090 Χ=21.5, y=8 Ζ = 1100 18
Χρήσιμα Ο αλγόριθμος Διακλάδωσης και Οριοθέτησης λειτουργεί για μικρό αριθμό μεταβλητών (μέχρι 50 ακέραιες μεταβλητές). Επιταχύνεται η διαδικασία με την ορθή επιλογή κλαδιού και μεταβλητής. Το ακραίο κλαδί με την τιμή της Α.Σ. που πλησιάζει το ανώτατο φράγμα. Μεταβλητή που η τιμη της είναι πλησιέστερα στην ακέραια τιμή. Στα προβλήματα ελαχιστοποίησης ακολουθούμε την ίδια διαδικασία με τη διαφορά ότι εξετάζουμε τα κατώτερα φράγματα. 19
Ασκήσεις Max (60x + 50 y) υ.π. 12x + 19y 120 8x + 3y 48 x, y μη αρνητικοί ακέραιοι Να λυθεί η άσκηση (Εργασία 1) ποσοστό 10% στην Τελική Βαθμολογία 20
Πρόβλημα Μια εκτυπωτική εταιρεία σκοπεύει να επεκτείνει τις δραστηριότητες της με την προμήθεια δύο νέων τύπων μηχανημάτων εκτύπωσης (Α και Β). Για την επένδυση διαθέτει 140.000. Τα μηχανήματα τύπου Α αναμένεται να αυξήσουν το ημερήσιο κέρδος κατά 100 και τα μηχανήματα τύπου Β κατά 150. Τα μηχανήματα τύπου Α κοστίζουν 8000 και απαιτούν 15 τ.μ. χώρο και τα μηχανήματα τύπου Β κοστίζουν 4000 και απαιτουν 30 τ.μ. χώρο. Με δεδομένο ότι στις εγκαταστάσεις της η εταιρεία έχει διαθέσιμα 200 τ.μ. Χώρο να υπολογισθεί πόσα μηχανήματα Α και Β πρέπει να προμηθευθεί ώστε να μεγιστοποιησει το κέρδος. Επίλυση στο excel/solver Επίλυση στο εργαστήριο του Μαθήματος 21
Ενδεικτική Μορφή στο EXCEL 22
Εφαρμογή (1) Μια αεροπορική εταιρεία διαθέτει τριών τύπων αεροσκάφη, τα Α, Β και Γ, για να εκτελεί ναυλωμένες πτήσεις σε συγκεκριμένες αεροπορικές διαδρομές με αντίστοιχους κωδικούς αριθμούς Π1, Π2 και Π3. Τα αεροσκάφη τύπου Α δεν πραγματοποιούν τη διαδρομή Π3, ενώ τα αεροσκάφη τύπου Γ δεν πραγματοποιούν τη διαδρομή Π1. Όσον αφορά στον προγραμματισμό των πτήσεων της επόμενης εβδομάδας, η εταιρεία έχει προβλέψει την ελάχιστη ζήτηση (αριθμό επιβατών) για κάθε μια από τις τρεις διαδρομές. Τα στοιχεία αυτά καθώς και το αντίτιμο του εισιτηρίου κάθε διαδρομής περιέχονται στον πίνακα που ακολουθεί Το κόστος μεταφοράς ενός επιβάτη για κάθε διαδρομή και για τα αεροσκάφη που μπορούν να τις καλύψουν δίνονται στον δεύτερο πίνακα που ακολουθεί. 23
Εφαρμογή (2) Ζήτηση θέσεων και τιμές εισιτηρίων Διαδρομή Ελάχιστος αριθμός επιβατών Τιμή εισιτηρίου ( ) 001 320 45 002 170 45 003 190 24 Κόστη Μεταφοράς Διαδρομή Μοναδιαίο κόστος μεταφοράς ( ) Α Β Γ 001 36 39-002 36 39 45 003-33 42 24
Εφαρμογή (3) Το κάθε αεροσκάφος μπορεί να εκτελέσει το πολύ 3 πτήσεις την εβδομάδα και έχει διαφορετική χωρητικότητα ανάλογα με τη διαδρομή στην οποία θα χρησιμοποιηθεί. Τα τεχνικά αυτά δεδομένα καθώς και ο διαθέσιμος αριθμός αεροσκαφών κάθε τύπου φαίνονται στον πίνακα. Διαδρομή Χωρητικότητα αεροσκάφους ( αριθμός επιβατών) Α Β Γ 001 20 15-002 18 13 10 003-14 8 Διαθέσιμα Αεροσκάφη 15 14 18 Ζητούμενο: το εβδομαδιαίο Πρόγραμμα πτήσεων ώστε να μεγιστοποιηθεί το αποτέλεσμα. 25
Διάγραμμα Branch and Bound Προσδιορίστε τη Βέλτιστη λύση x=7,18, y=8.8 ω=9,34, Ζ = 1200 x 7 χ 8 Χ=7, y=9, ω=9 Ζ = 1100 y 8 Χ=8, y=8,2, ω=9 Ζ = 1150 y 9 Χ=8, y=8, ω=9.3 Ζ = 1125 Χ=8,1, y=9, ω=9.2 Ζ = 1120 ω 9 ω 10 Χ=8, y=8, ω=9 Ζ = 1090 Χ=8, y=8,1, ω=10 Ζ = 1113 26
Τέλος Ενότητας