ΚΕΦΑΛΑΙΟ 4 Ακέραια Πολύεδρα 1
Ορισμός 4.1 (Convex Hull) Έστω ένα σύνολο S C R n. Ένα σημείο x του R n είναι κυρτός συνδυασμός (convex combination) σημείων του S, αν υπάρχει ένα πεπερασμένο σύνολο σημείων {x 1,,x t } που όλα ανήκουν στο S και ένα σύνολο μη αρνητικών πραγματικών t t i αριθμών {λ 1,,λ t }, έτσι ώστε i 1 και x ix. i 1 i 1 Το convex hull του S, που συμβολίζεται ως conv(s), είναι το σύνολο όλων των σημείων που είναι κυρτοί συνδυασμοί των σημείων του S. 2
Στο Σχήμα 4.1 βλέπουμε το conv(s), όπου S C R 2 είναι το σύνολο που αποτελείται από τα ακέραια σημεία (1,1), (2,1) και (2,0). 3
Ορισμός 4.2 (υπερπλάνο και ημιδιάστημα) Έστω a ένα διάνυσμα του R n και b ένας αριθμός. n (α) Το σύνολο { x R a x = b} ονομάζεται υπερπλάνο (hyperplane). n (β) Το σύνολο { x R a x > b} ονομάζεται ημιδιάστημα (halfspace). Στην ουσία, το υπερπλάνο είναι το σύνορο ενός ημιδιαστήματος. 4
Ορισμός 4.3 (πολύεδρο) Πολύεδρο (polyhedron) P λέγεται ένα σύνολο σημείων που ικανοποιούν έναν πεπερασμένο αριθμό γραμμικών ανισοτήτων, δηλαδή: n P = { x R Ax < b}, όπου Α ένας mxn πίνακας και b ένα διάνυσμα mx1. 5
Ορισμός 4.4 (φραγμένο σύνολο) Ένα σύνολο S C R n ονομάζεται φραγμένο (bounded) αν υπάρχει σταθερά Κ, έτσι ώστε η απόλυτη τιμή κάθε στοιχείου οποιουδήποτε μέλους του S να είναι μικρότερη ή ίση από Κ. Ορισμός 4.5 (πολύτοπο) Ένα πολύεδρο P που είναι φραγμένο ονομάζεται πολύτοπο (polytope). 6
Ορισμός 4.6 (κυρτό σύνολο) Ένα σύνολο S C R n ονομάζεται κυρτό (convex) αν για κάθε x, y που ανήκουν στο S, ανήκει στο S και το λx + (1-λ)y, για κάθε 0 < λ < 1 (το ευθύγραμμο τμήμα δηλαδή που ενώνει τα 2 σημεία). 7
Στο Σχήμα 4.2 φαίνεται αριστερά ένα σύνολο που είναι κυρτό και δεξιά ένα που δεν είναι. x S y x y Q Σχήμα 4.2: Το σύνολο S είναι κυρτό αλλά το Q δεν είναι, αφού το ευθύγραμμο τμήμα που συνδέει τα x και y δεν ανήκει εξ ολοκλήρου στο Q Το σύνολο των εφικτών λύσεων κάθε προβλήματος γραμμικού προγραμματισμού μπορεί να παρασταθεί από ένα σύνολο περιορισμών της μορφής Ax < b και γι αυτό είναι ένα πολύεδρο. Επίσης, κάθε πολύεδρο είναι κυρτό. 8
Ορισμός 4.7 (γραμμική ανεξαρτησία) Ένα σύνολο σημείων x 1,,x k του R n είναι γραμμικώς ανεξάρτητα (linearly k independent), εάν η μοναδική λύση της εξίσωσης 0 i 1 ix i είναι λ i = 0, i = 1,, k. Ο μέγιστος αριθμός γραμμικώς ανεξάρτητων σημείων στο R n είναι n. Ορισμός 4.8 (affine independence) Ένα σύνολο σημείων x 1,, x k του R n είναι affinely independent, εάν η μοναδική λύση k k της εξίσωσης 0 i 1 ix i με 0 i 1 i, είναι λ i = 0, i = 1,, k. Όταν κάποια σημεία είναι linearly independent τότε είναι και affinely independent αλλά το αντίστροφο δεν ισχύει. Επίσης, τα σημεία x 1,, x k του R n είναι affinely independent αν και μόνο αν τα σημεία x 2 -x 1,, x k -x 1 είναι linearly independent. 9
Ορισμός 4.9 (διάσταση) Ένα πολύεδρο P έχει διάσταση k (συμβολίζεται dim(p) = k) αν ο μέγιστος αριθμός affinely independent σημείων στο P είναι k + 1. Ορισμός 4.10 (πλήρης διάσταση) Ένα πολύεδρο P C R n ονομάζεται πλήρους διάστασης αν dim(p) = n. Ορισμός 4.11 (ισχύουσα ανισότητα) Η ανισότητα πx < π ο ονομάζεται ισχύουσα ανισότητα (valid inequality) αν ισχύει για όλα τα σημεία x του P. Ορισμός 4.12 (face) Αν (π, π ο ) είναι μια ισχύουσα ανισότητα του P και F ={ x P : x o}, το F ονομάζεται face του P και λέμε ότι η (π, π ο ) αντιπροσωπεύει το F. Ένα face F ονομάζεται πρέπον (proper) αν F και F P. Ορισμός 4.13 (facet) Ένα face F του P ονομάζεται facet αν dim(f) = dim(p) 1. 10
Total Unimodularity Ορισμός 4.14 (total unimodularity) Ένας πίνακας Α mxn ονομάζεται totally unimodular (TU) αν η διακρίνουσα κάθε τετραγωνικού υποπίνακα του Α είναι ίση με 0, 1 ή -1. Γίνεται εύκολα κατανοητό ότι κάθε στοιχείο ενός totally unimodular πίνακα είναι ίσο με 0, 1 ή -1. 11
Πρόταση 4.1 (βλ. Nemhauser & Wolsey, 1986) Οι παρακάτω προτάσεις είναι ισοδύναμες: 1.Ο Α είναι TU. 2.Ο ανάστροφος του Α είναι TU. 3.O (A, I) είναι TU. 4.Ο πίνακας που λαμβάνεται απαλείφοντας μία μοναδιαία γραμμή (στήλη) του Α είναι TU. 5.Ο πίνακας που λαμβάνεται πολλαπλασιάζοντας μία γραμμή (στήλη) του Α με -1 είναι TU. 6.Ο πίνακας που λαμβάνεται αλλάζοντας αμοιβαία δύο γραμμές (στήλες) του Α είναι TU. 7.Ο πίνακας που λαμβάνεται επαναλαμβάνοντας μία γραμμή (στήλη) του Α είναι TU. 12
Ορισμός 4.15 (ακέραιο πολύεδρο) n Ένα μη κενό πολύεδρο P C R είναι ακέραιο αν και μόνο αν όλα τα ακραία του σημεία είναι ακέραια. (Ακραίο σημείο ενός πολυέδρου ονομάζεται ένα σημείο του πολυέδρου το οποίο δεν μπορεί να εκφραστεί ως κυρτός συνδυασμός 2 άλλων σημείων του πολυέδρου.) Έστω το πρόβλημα Max cx s.t. Ax < b x > 0, όπου όλα τα στοιχεία του b είναι ακέραιοι. Πρόταση 4.2 Αν ο Α είναι TU, τότε το πολύεδρο των εφικτών λύσεων του παραπάνω προβλήματος m είναι ακέραιο για όλα τα b Z για τα οποία δεν είναι κενό. Απόδειξη Βλ. Nemhauser & Wolsey (1986). 13
Πρόταση 4.3 Αν ο (0, 1, -1) πίνακας Α δεν έχει πάνω από δύο μη μηδενικά στοιχεία σε κάθε στήλη και αν Σ i α ij = 0 εφόσον η στήλη j περιέχει δύο μη μηδενικούς συντελεστές, τότε ο Α είναιtu. Πρόταση 4.4 Έστω ο (0, 1, -1) πίνακας Α με όχι περισσότερα από δύο μη μηδενικά στοιχεία σε κάθε στήλη. Τότε ο Α είναι TU αν και μόνο αν οι γραμμές του Α μπορούν να χωριστούν σε δύο υποσύνολα S 1 και S 2, έτσι ώστε αν μια στήλη περιέχει δύο μη μηδενικά στοιχεία, οι ακόλουθες προτάσεις είναι ορθές: 1. Αν και τα δύο μη μηδενικά στοιχεία έχουν το ίδιο πρόσημο, τότε το ένα είναι σε μια γραμμή που περιέχεται στο S 1 και το άλλο σε μια γραμμή που περιέχεται στο S 2. 2. Αν τα δύο μη μηδενικά στοιχεία έχουν αντίθετο πρόσημο, τότε και τα δύο ανήκουν σε γραμμές που περιέχονται στο ίδιο υποσύνολο. 14
ΓΙΑΤΙ ΟΛΑ ΑΥΤΑ ; 15
Η σημασία της ιδιότητας TU είναι μεγάλη για τον εξής λόγο. Το σύνολο των εφικτών λύσεων ενός προβλήματος για το οποίο αυτή η ιδιότητα ισχύει, είναι ένα ακέραιο πολύεδρο. Ας υποθέσουμε ότι χαλαρώνουμε τους περιορισμούς ακεραιότητας αυτού του προβλήματος και λύνουμε τη γραμμική αυτή χαλάρωση με τη μέθοδο simplex. Ως γνωστόν, για κάθε πρόβλημα γραμμικού προγραμματισμού το οποίο έχει βέλτιστη λύση η οποία είναι φραγμένη, υπάρχει κάποιο ακραίο σημείο το οποίο ανήκει στο σύνολο των βέλτιστων λύσεων. Η μέθοδος simplex κινείται από ακραίο σημείο σε ακραίο σημείο μέχρις ότου να βρει αυτό που ανήκει στο σύνολο των βέλτιστων λύσεων. Αυτό σημαίνει ότι η simplex θα βρει εκείνο το ακραίο σημείο του πολυέδρου που είναι και βέλτιστο. Επειδή όμως το πολύεδρο είναι ακέραιο, σημαίνει ότι και αυτή η λύση θα είναι ακέραια. Αυτό σημαίνει ότι η λύση αυτή θα ικανοποιεί και τους περιορισμούς ακεραιότητας του αρχικού ακέραιου προβλήματος και επομένως θα είναι βέλτιστη και για αυτό. Έτσι, θα έχουμε τη βρει τη βέλτιστη λύση του ακέραιου προβλήματος χρησιμοποιώντας έναν αλγόριθμο γραμμικού προγραμματισμού που είναι πιο εύκολος και γρήγορος, αποφεύγοντας να εφαρμόσουμε κάποιον από τους εξειδικευμένους αλγόριθμους ακέραιου προγραμματισμού που είναι πιο χρονοβόροι. 16
Παράδειγμα 4.1 Μετά από την αγορά δύο καινούργιων μηχανών, ένας προϊστάμενος καλείται να αποφασίσει σε ποιον από τους δύο διαθέσιμους χώρους θα πρέπει να τοποθετηθούν ώστε να ελαχιστοποιηθεί το συνολικό κόστος λειτουργίας και μεταφοράς. Όταν η πρώτη μηχανή τοποθετείται στην πρώτη ή στη δεύτερη θέση, το συνολικό κόστος που προκύπτει είναι 10 και 9 αντίστοιχα, ενώ για τη δεύτερη μηχανή το κόστος είναι 8 και 11, αντίστοιχα. 17
Λύση Παράδειγμα 4.1 Ορίζουμε δυαδικές μεταβλητές x ij = 1 αν η μηχανή i (i = 1,2) τοποθετηθεί στη θέση j (j = 1,2) και 0 αλλιώς. Τότε, το πρόβλημα μορφοποιείται ως εξής: Min 10x 11 + 9x 12 + 8x 21 + 11x 22 s.t. x 11 + x 12 = 1 x 21 + x 22 = 1 x 11 + x 21 = 1 x 12 + x 22 = 1 x ij δυαδικές (i,j = 1,2) Οι δύο πρώτοι περιορισμοί εξασφαλίζουν ότι κάθε μηχανή θα τοποθετηθεί ακριβώς σε μία θέση και οι δύο επόμενοι ότι σε κάθε θέση θα τοποθετηθεί ακριβώς μία μηχανή. 18
Λύση Παράδειγμα 4.1 Παρατηρούμε ότι τα δεξιά μέλη όλων των περιορισμών είναι ακέραιοι (δηλαδή b Z m ), 1 1 0 0 0 0 1 1 ενώ ο πίνακας Α = δεν περιέχει πάνω από δύο μη μηδενικά στοιχεία σε κάθε 1 0 1 0 0 1 0 1 στήλη και μπορεί να χωριστεί σε δύο υποσύνολα S 1 και S 2 ως εξής: S 1 = 1 1 0 0 0 0 1 1 και S 2 = 1 0 1 0 0 1 0 1. Παρατηρούμε ότι κάθε στήλη περιέχει δύο μη μηδενικά στοιχεία με το ίδιο πρόσημο, από τα οποία το πρώτο περιέχεται στο S 1 και το δεύτερο στο S 2. Αυτό σημαίνει ότι ο πίνακας είναι TU. Χαλαρώνοντας τους περιορισμούς ακεραιότητας, και λύνοντας τη γραμμική χαλάρωση του παραπάνω προβλήματος, παίρνουμε τη λύση x 12 = x 21 = 1 και x 11 = x 22 = 0. Αυτή η λύση είναι ακέραια και επομένως είναι βέλτιστη και για το αρχικό ακέραιο πρόβλημα. Επομένως, η βέλτιστη λύση είναι να ανατεθεί η πρώτη μηχανή στη δεύτερη θέση και η δεύτερη στην πρώτη θέση. Το συνολικό κόστος που προκύπτει είναι 17. 19