Τμήμα Εφαρμοσμένης Πληροφορικής ΑΛΓΟΡΙΘΜΟΙ ΓΡΑΜΜΙΚΗΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ 8 Ο ΕΞΑΜΗΝΟ ΣΑΜΑΡΑΣ ΝΙΚΟΛΑΟΣ, ΕΠ. ΚΑΘΗΓΗΤΗΣ
Δυϊκή Θεωρία (1) Θεώρημα : Το δυϊκό πρόβλημα του γραμμικού προβλήματος 0 0 1 1 2 2 0 0 T 0 Ax +Ax +Ax = b c x Bx +Bx +Bx b c x 1 2 x 0, x 0 0 0 1 1 2 2 1 1 1 min c x : 0 0 1 1 2 2 2 2 2 Cx +Cx +Cx b 2
Δυϊκή Θεωρία (2) είναι το γραμμικό πρόβλημα ( ) T ( ) Τ ( ) T 0 0 0 1 0 2 0 A w + Β w + C w = c -b w ( ) ( ) ( ) 1 2 w 0, w 0 0 T 0 b w ( 1) T 0 ( 1) T 1 ( 1) T 2 1 1 1 A w + B w + C w c max b w : 2 T 0 2 T 1 2 T 2 2 2 2 A w + B w + C w c όπου c j, x j, A j, B j, C j, b j, w j, y j, j = 0, 1, 2, είναι μήτρες και διανύσματα καταλλήλων διαστάσεων. 3
Δυϊκή Θεωρία (3) Πόρισμα: Αν το πρωτεύον είναι πρόβλημα μεγιστοποίησης, το δυϊκό του είναι πρόβλημα ελαχιστοποίησης. α/α min max 1 περιορισμός = μεταβλητή ελεύθερη 2 περιορισμός μεταβλητή 0 3 περιορισμός μεταβλητή 0 4 μεταβλητή ελεύθερη περιορισμός = 5 μεταβλητή 0 περιορισμός 6 μεταβλητή 0 περιορισμός 4
Δυϊκή Θεωρία (4) Το δυϊκό έχει αντικειμενική συνάρτηση b T w, όπου w είναι το διάνυσμα των μεταβλητών του δυϊκού προβλήματος. Αν το πρωτεύον είναι min (max) το δυϊκό του είναι max (min) Σε κάθε περιορισμό του πρωτεύοντος αντιστοιχεί μία μεταβλητή του δυϊκού Σε κάθε μεταβλητή του πρωτεύοντος αντιστοιχεί ένας περιορισμός του δυϊκού. 5
Δυϊκή Θεωρία (5) Ο περιορισμός του δυϊκού που αντιστοιχεί στην μεταβλητή x j έχει τη μορφή (στήλη συντελεστών της x j ) T (διάνυσμα δυϊκών μεταβλητών) c j όπου είναι ένα από τα σύμβολα =, και. 6
Παράδειγμα (1) Να βρεθεί το δυϊκό του γραμμικού προβλήματος max 2x 1 + 3x 2 μ.π. -3x 1 + 4x 2-2x 3 = -2 x 1-2x 2 + 3x 3 3 2x 1 - x 2 - x 3 5 x 1 ελεύθερη, x 2 0, x 3 0 7
Παράδειγμα (2) το δυϊκό πρόβλημα είναι min -2w 1 + 3w 2 + 5w 3 μ.π. -3w 1 + w 2 + 2w 3 = 2 4w 1-2w 2 - w 3 3-2w 1 + 3w 2 - w 3 0 w 2 0, w 3 0 8
Άσκηση (1) Να βρεθεί το δυϊκό του γραμμικού προβλήματος max -2x 1 - x 2 + 4x 3 μ.π. 5x 1 + 6x 2 + 2x 3 = 10 2x 1 + x 3 5 3x 1 + x 2 + 2x 3 4 x j 0, (j = 1, 3) 9
Άσκηση (2) Απάντηση. min 10w 1 + 5w 2 + 4w 3 μ.π. 5w 1 + 2w 2 + 3w 3-2 6w 1 + W 3 = -1 2w 1 + w 2 + 2w 3 4 w 1 ελεύθερη, w 2 0, w 3 0 10
Οικονομική Ερμηνεία Δυϊκού Προβλήματος (1) Το πρωτεύον και το δυϊκό πρόβλημα συνδέονται άμεσα. Όταν ερμηνεύονται οικονομικά τα δύο προβλήματα παίρνουν ανταγωνιστικές θέσεις. Για παράδειγμα, το πρωτεύον πρόβλημα μπορεί να αναφέρεται στον ιδιοκτήτη μιας επιχείρησης ενώ το δυϊκό σε κάποιον που προσπαθεί να αγοράσει την επιχείρηση ή το πρωτεύον να αντιστοιχεί στον εργοδότη και το δυϊκό στους εργαζόμενους. Σημαντικό ρόλο διαδραματίζει η οικονομική ερμηνεία των δυϊκών μεταβλητών. 11
Οικονομική Ερμηνεία Δυϊκού Προβλήματος (2) Οι μονάδες με τις οποίες εκφράζεται η αντικειμενική συνάρτηση του πρωτεύοντος προβλήματος είναι γνωστές. Επειδή η αντικειμενική συνάρτηση του δυϊκού προβλήματος πρέπει να εκφράζεται με τις ίδιες μονάδες, κάθε όρος της b i w i εκφράζεται επίσης με τις ίδιες μονάδες. Για παράδειγμα αν η αντικειμενική συνάρτηση του πρωτεύοντος προβλήματος εκφράζεται σε ευρώ και το δεξιό μέρος b i σε κιλά αλουμινίου, ο όρος w i b i της αντικειμενικής συνάρτησης του δυϊκού προβλήματος πρέπει να εκφράζει ευρώ. Επομένως, οι μονάδες μέτρησης της w i είναι ευρώ ανά κιλό αλουμινίου. 12
Παράδειγμα (1) Ο ιδιοκτήτης μιας επιχείρησης θέλει να μεγιστοποιήσει τα έσοδά του κατασκευάζοντας x 1 πόρτες, x 2 παράθυρα και x 3 τραπέζια χρησιμοποιώντας τους διαθέσιμους πόρους του που είναι 400 dm 3 ξύλο και 300 κιλά αλουμίνιο. Γνωρίζει ότι μια πόρτα πουλιέται 15 ευρώ, ένα παράθυρο 12 ευρώ και μια καρέκλα 8 ευρώ. Οι κατασκευαστικές απαιτήσεις των προϊόντων είναι αυτές που δίνονται στον Πίνακα 1, οοποίος συνοψίζει και όλα τα υπόλοιπα δεδομένα. Ποιο πρόβλημα πρέπει να λύσει ο ιδιοκτήτης της Επιχείρησης; Ποιο είναι το δυϊκό του και ποιος επιθυμεί να το λύσει; 13
Παράδειγμα (2) Πόρτες Παράθυρα Καρέκλες ιαθέσιμοι πόροι Ξύλο 4 3 1 400 dm 3 Αλουμίνιο 2 2 1 300 κιλά Τιμή πώλησης 15 12 8 Πίνακας 1. Κατασκευαστικές απαιτήσεις προϊόντων 14
Παράδειγμα (3) Προκύπτει εύκολα ότι ο ιδιοκτήτης της επιχείρησης θα λύσει το γραμμικό πρόβλημα max 15x1 + 12x 2 + 8x 3 μ.π. 4x 1 + 3x 2 + x 3 400 w 1 2x 1 + 2x 2 + x 3 300 w 2 x j 0, (j = 1, 2, 3) Αντιστοιχώντας στον i περιορισμό τη δυϊκή μεταβλητή w i, προκύπτει ότι το δυϊκό πρόβλημα είναι min 400w 1 + 300w 2 μ.π. 4w 1 + 2w 2 15 x 1 3w 1 + 2w 2 12 x 2 w 1 + w 2 8 x 3 w j 0, (j = 1, 2) 15
Παράδειγμα (4) Η αντικειμενική συνάρτηση του πρωτεύοντος προβλήματος εκφράζει ευρώ. Επομένως, κάθε όρος b i w i της αντικειμενικής συνάρτησης του δυϊκού προβλήματος εκφράζει επίσης ευρώ. Οιμονάδεςμέτρησηςτουb 1 είναι dm 3 ξύλου (b 1 = 400 dm 3 ξύλου) και του b 2 είναι κιλά αλουμινίου (b 2 = 300 κιλά αλουμινίου). Επειδή οι όροι b 1 w 1 = 400w 1 και b 2 w 2 = 300w 2 εκφράζουν ευρώ, οι μονάδες μέτρησης του w 1 είναι ευρώ ανά dm 3 ξύλου και του w 2 είναι ευρώ ανά κιλό αλουμινίου. 16
Παράδειγμα (5) Η αντικειμενική συνάρτηση του πρωτεύοντος εκφράζει αξία των προϊόντων που πουλάει η επιχείρηση και ως εκ τούτου ο ιδιοκτήτης της θέλει να μεγιστοποιήσει, ενώ η αντικειμενική συνάρτηση του δυϊκού εκφράζει αξία των πρώτων υλών (ξύλου και αλουμινίου), που διαθέτει η επιχείρηση. Εάν πρόκειται να πουληθεί η επιχείρηση, ο ιδιοκτήτης της σίγουρα δεν θέλει να ελαχιστοποιήσει το κόστος των πρώτων υλών. Κάποιος όμως πιθανός αγοραστής θέλει. Γι αυτόν ακριβώς το λόγο ο αγοραστής προτείνει τιμές w 1 0 και w 2 0 για τις πρώτες ύλες έτσι ώστε χρησιμοποιώντας τις κατασκευαστικές απαιτήσεις να δίνουν για κάθε μονάδα προϊόντος τιμή μεγαλύτερη ή ίση της τιμής πώλησής των. ιαφορετικά, δεν υπάρχει κανένας λόγος για τον ιδιοκτήτη να πουλήσει την επιχείρησή του. 17
Παράδειγμα (6) Τα αποτελέσματα της δυϊκής θεωρίας λένε ότι ο αγοραστής μπορεί να δώσει τέτοιες τιμές στις δυϊκές μεταβλητές ώστε να προκύπτουν βέλτιστες λύσεις και για τον ίδιο (που πρέπει να λύσει το δυϊκό πρόβλημα) και για τον ιδιοκτήτη της επιχείρησης (που πρέπει να λύσει το πρωτεύον πρόβλημα). Ακόμη και αν δεν υπάρχουν προθέσεις πώλησης της επιχείρησης οι δυϊκές μεταβλητές και το δυϊκό πρόβλημα παρέχουν χρήσιμες πληροφορίες για την ίδια την επιχείρηση. Πιο συγκεκριμένα, το τμήμα κοστολόγησης της επιχείρησης πρέπει να δώσει τιμές στις πρώτες ύλες έτσι ώστε το συνολικό κόστος των αποθηκευμένων πρώτων υλών να είναι ελάχιστο. 18
Δυϊκή Θεωρία (6) Θεώρημα: Το δυϊκό πρόβλημα του δυϊκού προβλήματος είναι το πρωτεύον πρόβλημα. Θα συμβολίζουμε τις δυϊκές μεταβλητές με w και τις χαλαρές μεταβλητές του δυϊκού προβλήματος με s. Ημεταβλητήw i ονομάζεται σκιερή τιμή (shadow price) του περιορισμού i H μεταβλητή s j μεταβλητής x j. υπολειμματικό κόστος (reduced cost) της 19
Σχέσεις πρωτεύοντος και δυϊκού προβλήματος (1) min c T x μ. π. Ax x b 0 (Π) max μπ T w b T T.. wa c w 0 (Δ) όπου c, x R n, Α R m x n και w, b R m 20
Σχέσεις πρωτεύοντος και δυϊκού προβλήματος (2) ΘΕΩΡΗΜΑ ασθενές δυϊκό θεώρημα (weak duality theorem) : Αν x είναι μια εφικτή λύση του (Π) και w μια εφικτή λύση του ( ) τότε c T x w T b ΘΕΩΡΗΜΑ: Έστω (x, w) είναι μια εφικτή λύση του (Π) και του ( ) αντίστοιχα. Αν ισχύει c T x = w T b τότε η λύση (x, w) είναι βέλτιστη για το (Π) και το ( ) αντίστοιχα. 21
Άσκηση (1) Έστω το παρακάτω γραμμικό πρόβλημα min z = 2x 1 + 3x 2 + 5x 3 + 2x 4 + 3x 5 μ.π. x 1 + x 2 + 2x 3 + x 4 + 3x 5 4 2x 1-2x 2 + 3x 3 + x 4 + x 5 3 x 1, x 2, x 3, x 4, x 5 0 Ελέγξτε αν οι λύσεις (x 1,x 5 )=(1,1)και (w 1,w 2 ) = (4/5, 3/5) είναι βέλτιστες για το παραπάνω γραμμικό πρόβλημα και το δυϊκό του. 22
Άσκηση (2) Το δυϊκό πρόβλημα είναι max 4w 1 + 3w 2 μ.π. w 1 + 2w 2 2 w 1-2w 2 3 2w 1 + 3w 2 5 w 1 + w 2 2 3w 1 + w 2 3 w j 0, (j = 1, 2) 23
Χαρακτηριστικά αλγορίθμων τύπου simplex (1) Έστω το γραμμικό πρόβλημα στην τυποποιημένη μορφή min {c T x : Ax = b, x 0} (Π) όπου c, x R n, b R m προβλήματος (Π) είναι και Α R mxn. Το δυϊκό του max{b T w: A T w + s = c, s 0} ( ) όπου w R m είναι οι δυϊκές δυϊκές μεταβλητές. και s R n είναι οι χαλαρές 24
Παράδειγμα (1) Έστω το παρακάτω γραμμικό πρόβλημα max 2x 1 + 3x 2 μ.π. -3x 1 + 4x 2-2x 3-2 x 1-2x 2 + 3x 3 3 2x 1 - x 2 - x 3 5 x 2 0, x 2 0, x 3 0 25
Παράδειγμα (2) To γραμμικό πρόβλημα σε μορφή μητρών γράφεται c [ 2 3 0 0 0 0] = 3 4 2 1 0 0 2 A= 1 2 3 0 1 0, b 3 = 2 1 1 0 0 1 5 x j 0, j = 1, 2,, 6 26
Χαρακτηριστικά αλγορίθμων τύπου simplex (2) Ισχύει 1 m<nκαι rank(α)=m Β {1, 2,, n}, B =m. Θέτουμε Ν = {1, 2,, n} ~ B. Αν δίνεται η διαμέριση Β, Ν του συνόλου {1, 2,, n} μπορούμε να διαμερίσουμε και τη μήτρα Α στις υπομήτρες Β και Ν, οπότε θα γράφουμε Α =[Β, Ν]. Με παρόμοιο τρόπο διαχωρίζονται και οι συνιστώσες του x R n στα υποδιανύσματα x B και x N. x=(x B,x N ) Τ = x x B N 27
Χαρακτηριστικά αλγορίθμων τύπου simplex (3) Με παρόμοιο τρόπο διαχωρίζονται και οι συνιστώσες του c R n στα υποδιανύσματα c B και c N. c T =(c B,c N ) Το γραμμικό πρόβλημα, χρησιμοποιώντας τη διαμέριση Α=(Β,Ν) γράφεται Min c BT x B + c NT x N μ.π. Bx B + Nx N = b x B x N 0 28
Χαρακτηριστικά αλγορίθμων τύπου simplex (4) Το σύνολο δεικτών Β ονομάζεται βάση (basis), ανν ισχύει για τη μήτρα Β, rank(b)=m. ηλ. η μήτρα Β είναι αντιστέψιμη. H μήτρα Β ονομάζεται βασική μήτρα (basic matrix) ήαπλάβάση ενώ η μήτρα Ν μη βασική (non basic matrix). H λύση x B = Β -1 b ονομάζεται βασική λύση (basic solution). Ένα βασικό σημείο x είναι εφικτό αν είναι x B 0, x N =0. 29