Αλγόριθμοι & Βελτιστοποίηση ΠΜΣ-ΕΤΥ : Μεταπτυχιακό Μάθημα 9η Ενότητα: Προβλήματα ικτυακών Ροών Χρήστος Ζαρολιάγκης (zaro@ceid.upatras.gr) Σπύρος Κοντογιάννης (kontog@cse.uoi.gr) Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών ευτέρα, 16 Ιανουαρίου 2017
Σκελετός Ομιλίας 1 Εισαγωγικά: Το Πρόβλημα της Ανάθεσης Καθηκόντων 2 Totally Unimodular Μητρώα στον Γραμμικό Προγραμματισμό 3 Ροές Ελάχιστου Κόστους 4 Συνδυαστικά Προβλήματα Ως ικτυακές Ροές Ταιριάσματα σε ιμερή Γραφήματα Μέγιστες Ροές Ελάχιστες Αποστάσεις Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [2 / 45]
Πρόβλημα Ανάθεσης Καθηκόντων (Ι) ΕΙΣΟ ΟΣ: n καθήκοντα πρέπει να ανατεθούν σε n εργαζόμενους. Η ανάθεση του καθήκοντος t i T = {t 1,... t n } στον εργαζόμενο w j W = {w 1,..., w n } έχει κόστος c i,j R. Πρέπει να γίνει ανάθεση όλων των καθηκόντων στους εργαζομένους, ώστε κάθε εργαζόμενος να αναλάβει ακριβώς ένα καθήκον. ΣΤΟΧΟΣ: Η εύρεση της ανάθεσης με το ελάχιστο συνολικό κόστος. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [3 / 45]
Πρόβλημα Ανάθεσης Καθηκόντων (Ι) ΕΙΣΟ ΟΣ: n καθήκοντα πρέπει να ανατεθούν σε n εργαζόμενους. Η ανάθεση του καθήκοντος t i T = {t 1,... t n } στον εργαζόμενο w j W = {w 1,..., w n } έχει κόστος c i,j R. Πρέπει να γίνει ανάθεση όλων των καθηκόντων στους εργαζομένους, ώστε κάθε εργαζόμενος να αναλάβει ακριβώς ένα καθήκον. ΣΤΟΧΟΣ: Η εύρεση της ανάθεσης με το ελάχιστο συνολικό κόστος. Γραμμικό Πρόγραμμα: Η μεταβλητή απόφασης x i,j {0, 1} δηλώνει αν ο εργαζόμενος w j αναλαμβάνει το καθήκον t i. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [3 / 45]
Πρόβλημα Ανάθεσης Καθηκόντων (Ι) ΕΙΣΟ ΟΣ: n καθήκοντα πρέπει να ανατεθούν σε n εργαζόμενους. Η ανάθεση του καθήκοντος t i T = {t 1,... t n } στον εργαζόμενο w j W = {w 1,..., w n } έχει κόστος c i,j R. Πρέπει να γίνει ανάθεση όλων των καθηκόντων στους εργαζομένους, ώστε κάθε εργαζόμενος να αναλάβει ακριβώς ένα καθήκον. ΣΤΟΧΟΣ: Η εύρεση της ανάθεσης με το ελάχιστο συνολικό κόστος. Γραμμικό Πρόγραμμα: Η μεταβλητή απόφασης x i,j {0, 1} δηλώνει αν ο εργαζόμενος w j αναλαμβάνει το καθήκον t i. (IAP) min. s.t. : i [n] j [n] c i,j x i,j w j W x i,j = 1, t i T t i T x i,j = 1, w j W x i,j {0, 1}, t i T, w j W Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [3 / 45]
Πρόβλημα Ανάθεσης Καθηκόντων (ΙΙ) Q Πώς λύνουμε το (IAP); Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [4 / 45]
Πρόβλημα Ανάθεσης Καθηκόντων (ΙΙ) Q Πώς λύνουμε το (IAP); A1 «Εύκολοι» τρόποι: Απαρίθμηση (enumeration) όλων των ακέραιων λύσεων, κι επιλογή εκείνης με το ελάχιστο κόστος. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [4 / 45]
Πρόβλημα Ανάθεσης Καθηκόντων (ΙΙ) Q Πώς λύνουμε το (IAP); A1 «Εύκολοι» τρόποι: Απαρίθμηση (enumeration) όλων των ακέραιων λύσεων, κι επιλογή εκείνης με το ελάχιστο κόστος. Απαγορευτικό πλήθος (n! εφικτές ακέραιες λύσεις). Πχ, για n = 20 εργαζόμενους και καθήκοντα, πρέπει να ελεγχθούν 20! = 2.432.902.008.176.640.000 >2 61 αναθέσεις. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [4 / 45]
Πρόβλημα Ανάθεσης Καθηκόντων (ΙΙ) Q Πώς λύνουμε το (IAP); A1 «Εύκολοι» τρόποι: Απαρίθμηση (enumeration) όλων των ακέραιων λύσεων, κι επιλογή εκείνης με το ελάχιστο κόστος. Απαγορευτικό πλήθος (n! εφικτές ακέραιες λύσεις). Πχ, για n = 20 εργαζόμενους και καθήκοντα, πρέπει να ελεγχθούν 20! = 2.432.902.008.176.640.000 >2 61 αναθέσεις. Εφαρμογή γενικών τεχνικών αναζήτησης βέλτιστης ακέραιας λύσης (πχ, Branch & Bound). Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [4 / 45]
Πρόβλημα Ανάθεσης Καθηκόντων (ΙΙ) Q Πώς λύνουμε το (IAP); A1 «Εύκολοι» τρόποι: Απαρίθμηση (enumeration) όλων των ακέραιων λύσεων, κι επιλογή εκείνης με το ελάχιστο κόστος. Απαγορευτικό πλήθος (n! εφικτές ακέραιες λύσεις). Πχ, για n = 20 εργαζόμενους και καθήκοντα, πρέπει να ελεγχθούν 20! = 2.432.902.008.176.640.000 >2 61 αναθέσεις. Εφαρμογή γενικών τεχνικών αναζήτησης βέλτιστης ακέραιας λύσης (πχ, Branch & Bound). Αποδεκτή μέθοδολογία, αν δεν υπάρχει καλύτερος τρόπος. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [4 / 45]
Πρόβλημα Ανάθεσης Καθηκόντων (ΙΙ) Q Πώς λύνουμε το (IAP); A1 «Εύκολοι» τρόποι: Απαρίθμηση (enumeration) όλων των ακέραιων λύσεων, κι επιλογή εκείνης με το ελάχιστο κόστος. Απαγορευτικό πλήθος (n! εφικτές ακέραιες λύσεις). Πχ, για n = 20 εργαζόμενους και καθήκοντα, πρέπει να ελεγχθούν 20! = 2.432.902.008.176.640.000 >2 61 αναθέσεις. Εφαρμογή γενικών τεχνικών αναζήτησης βέλτιστης ακέραιας λύσης (πχ, Branch & Bound). Αποδεκτή μέθοδολογία, αν δεν υπάρχει καλύτερος τρόπος. A2 Πιο αποδοτικός τρόπος: Υπάρχει; Από τι εξαρτάται; Είναι ανιχνεύσιμο αυτό; Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [4 / 45]
Σκελετός Ομιλίας 1 Εισαγωγικά: Το Πρόβλημα της Ανάθεσης Καθηκόντων 2 Totally Unimodular Μητρώα στον Γραμμικό Προγραμματισμό 3 Ροές Ελάχιστου Κόστους 4 Συνδυαστικά Προβλήματα Ως ικτυακές Ροές Ταιριάσματα σε ιμερή Γραφήματα Μέγιστες Ροές Ελάχιστες Αποστάσεις Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [5 / 45]
Ακεραιότητα Λύσεων Γραμμιμών Συστημάτων Εξισώσεων Q Εστω ακέραιο n n μητρώο A Z n n, και ακέραιο διάνυσμα a Z n. Πότε το σύστημα γραμμικών εξισώσεων Ax = a έχει ακέραιες λύσεις; Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [6 / 45]
Ακεραιότητα Λύσεων Γραμμιμών Συστημάτων Εξισώσεων Q Εστω ακέραιο n n μητρώο A Z n n, και ακέραιο διάνυσμα a Z n. Πότε το σύστημα γραμμικών εξισώσεων Ax = a έχει ακέραιες λύσεις; Κανόνας του Cramer: Εστω det(a) 0. Τότε: Μοναδική λύση x = A 1 a, ΚΑΙ i [n], x i = det(a(i)) det(a) όπου A(i) είναι το n n μητρώο του οποίου οι στήλες ταυτίζονται με αυτές του A, εκτός από τη i στή στήλη A[*, i] του A, που αντικαθίσταται από το διάνυσμα σταθερών όρων a. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [6 / 45]
Ακεραιότητα Λύσεων Γραμμιμών Συστημάτων Εξισώσεων Q Εστω ακέραιο n n μητρώο A Z n n, και ακέραιο διάνυσμα a Z n. Πότε το σύστημα γραμμικών εξισώσεων Ax = a έχει ακέραιες λύσεις; Κανόνας του Cramer: Εστω det(a) 0. Τότε: Μοναδική λύση x = A 1 a, ΚΑΙ i [n], x i = det(a(i)) det(a) όπου A(i) είναι το n n μητρώο του οποίου οι στήλες ταυτίζονται με αυτές του A, εκτός από τη i στή στήλη A[*, i] του A, που αντικαθίσταται από το διάνυσμα σταθερών όρων a. ΙΚΑΝΗ (ΟΧΙ ΑΝΑΓΚΑΙΑ) ΣΥΝΘΗΚΗ ΑΚΕΡΑΙΟΤΗΤΑΣ Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [6 / 45]
Ακεραιότητα Λύσεων Γραμμιμών Συστημάτων Εξισώσεων Q Εστω ακέραιο n n μητρώο A Z n n, και ακέραιο διάνυσμα a Z n. Πότε το σύστημα γραμμικών εξισώσεων Ax = a έχει ακέραιες λύσεις; Κανόνας του Cramer: Εστω det(a) 0. Τότε: Μοναδική λύση x = A 1 a, ΚΑΙ i [n], x i = det(a(i)) det(a) όπου A(i) είναι το n n μητρώο του οποίου οι στήλες ταυτίζονται με αυτές του A, εκτός από τη i στή στήλη A[*, i] του A, που αντικαθίσταται από το διάνυσμα σταθερών όρων a. ΙΚΑΝΗ (ΟΧΙ ΑΝΑΓΚΑΙΑ) ΣΥΝΘΗΚΗ ΑΚΕΡΑΙΟΤΗΤΑΣ if det(a) { 1, 1} a Z n then x = A 1 a Z n Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [6 / 45]
Total Unimodularity: Μια Χρήσιμη Ιδιότητα ΟΡΙΣΜΟΣ: Ενα μητρώο A είναι totally unimodular ΑΝΝ για κάθε τετραγωνικό υπομητρώο του B ισχύει: det(b) { 1, 0, 1}. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [7 / 45]
Total Unimodularity: Μια Χρήσιμη Ιδιότητα ΟΡΙΣΜΟΣ: Ενα μητρώο A είναι totally unimodular ΑΝΝ για κάθε τετραγωνικό υπομητρώο του B ισχύει: det(b) { 1, 0, 1}. ΘΕΩΡΗΜΑ Αν το A είναι totally unimodular και a Z n, τότε κάθε κορυφή του πουλυέδρου P = {x : Ax a} είναι ακέραιο διάνυσμα. [Total Unimodularity Ακεραιότητα] Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [7 / 45]
Total Unimodularity: Μια Χρήσιμη Ιδιότητα ΟΡΙΣΜΟΣ: Ενα μητρώο A είναι totally unimodular ΑΝΝ για κάθε τετραγωνικό υπομητρώο του B ισχύει: det(b) { 1, 0, 1}. ΘΕΩΡΗΜΑ Αν το A είναι totally unimodular και a Z n, τότε κάθε κορυφή του πουλυέδρου P = {x : Ax a} είναι ακέραιο διάνυσμα. ΕΞΗΓΗΣΗ: [Total Unimodularity Ακεραιότητα] [Total Unimodularity Ακεραιότητα] 1 Κάθε κορυφή v χαρακτηρίζεται από ένα ελάχιστο σύνολο γραμμικά ανεξάρτητων και δεσμευτικών ανισοτήτων. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [7 / 45]
Total Unimodularity: Μια Χρήσιμη Ιδιότητα ΟΡΙΣΜΟΣ: Ενα μητρώο A είναι totally unimodular ΑΝΝ για κάθε τετραγωνικό υπομητρώο του B ισχύει: det(b) { 1, 0, 1}. ΘΕΩΡΗΜΑ Αν το A είναι totally unimodular και a Z n, τότε κάθε κορυφή του πουλυέδρου P = {x : Ax a} είναι ακέραιο διάνυσμα. ΕΞΗΓΗΣΗ: [Total Unimodularity Ακεραιότητα] [Total Unimodularity Ακεραιότητα] 1 Κάθε κορυφή v χαρακτηρίζεται από ένα ελάχιστο σύνολο γραμμικά ανεξάρτητων και δεσμευτικών ανισοτήτων. 2 Εστω B το (τετραγωνικό, αντιστρέψιμο) υπομητρώο του A που αντιστοιχεί στις συγκεκριμένες ανισότητες, και Bx = b, το υποσύστημα γραμμικών ανισοτήτων. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [7 / 45]
Total Unimodularity: Μια Χρήσιμη Ιδιότητα ΟΡΙΣΜΟΣ: Ενα μητρώο A είναι totally unimodular ΑΝΝ για κάθε τετραγωνικό υπομητρώο του B ισχύει: det(b) { 1, 0, 1}. ΘΕΩΡΗΜΑ Αν το A είναι totally unimodular και a Z n, τότε κάθε κορυφή του πουλυέδρου P = {x : Ax a} είναι ακέραιο διάνυσμα. ΕΞΗΓΗΣΗ: [Total Unimodularity Ακεραιότητα] [Total Unimodularity Ακεραιότητα] 1 Κάθε κορυφή v χαρακτηρίζεται από ένα ελάχιστο σύνολο γραμμικά ανεξάρτητων και δεσμευτικών ανισοτήτων. 2 Εστω B το (τετραγωνικό, αντιστρέψιμο) υπομητρώο του A που αντιστοιχεί στις συγκεκριμένες ανισότητες, και Bx = b, το υποσύστημα γραμμικών ανισοτήτων. 3 Το B είναι totally unimodular και det(b) { 1, 1}. Η λύση v = [ B 1 b ; 0 ] είναι ακέραια (βλ. Cramer). Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [7 / 45]
ΠΑΡΑ ΕΙΓΜΑ: Totally Unimodular Μητρώο A = 1 1 0 0 1 1 0 0 1 Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [8 / 45]
ΠΑΡΑ ΕΙΓΜΑ: Totally Unimodular Μητρώο A = 1 1 0 0 1 1 0 0 1 Εύκολα διαπιστώνεται ότι πρόκειται για totally unimodular μητρώο. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [8 / 45]
ΠΑΡΑ ΕΙΓΜΑ: Totally Unimodular Μητρώο A = 1 1 0 0 1 1 0 0 1 Εύκολα διαπιστώνεται ότι πρόκειται για totally unimodular μητρώο. Για ΟΠΟΙΟ ΗΠΟΤΕ ακέραιο διάνυσμα σταθερών όρων a = [a 1 ; a 2 ; a 3 ] ισχύει ότι: y = Ax a...pivots... x 1 x 2 x 3 = a 1 a 2 + a 3 a 2 a 3 a 3 Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [8 / 45]
ΠΑΡΑ ΕΙΓΜΑ: ΟΧΙ Totally Unimodular Μητρώο B = 1 1 0 0 1 1 1 0 1 Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [9 / 45]
ΠΑΡΑ ΕΙΓΜΑ: ΟΧΙ Totally Unimodular Μητρώο B = 1 1 0 0 1 1 1 0 1 ΟΧΙ totally unimodular μητρώο: det(b) = 2. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [9 / 45]
ΠΑΡΑ ΕΙΓΜΑ: ΟΧΙ Totally Unimodular Μητρώο B = 1 1 0 0 1 1 1 0 1 ΟΧΙ totally unimodular μητρώο: det(b) = 2. Ενδέχεται να μην είναι εξασφαλισμένη η ακεραιότητα κορυφών του {x : Bx = b; x 0}. Πχ: Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [9 / 45]
ΠΑΡΑ ΕΙΓΜΑ: ΟΧΙ Totally Unimodular Μητρώο B = 1 1 0 0 1 1 1 0 1 ΟΧΙ totally unimodular μητρώο: det(b) = 2. Ενδέχεται να μην είναι εξασφαλισμένη η ακεραιότητα κορυφών του {x : Bx = b; x 0}. Πχ: Για το ακέραιο διάνυσμα σταθερών όρων b = [1; 1; 1] ισχύει ότι: y = Bx b...pivots... x 1 x 2 x 3 = 0.5 0.5 0.5 Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [9 / 45]
Επιλυσιμότητα (ILP) με Totally Unimodular Μητρώο Συντελεστών (Ι) ΘΕΩΡΗΜΑ Εστω το ακόλουθο ζεύγος γραμμικών προγραμμάτων: [Ακεραιότητα (LP ) με Totally Unimodular Μητρώο Συντελεστών] (P) min.{c x : Ax a; x 0} (D) max.{a y : A y c; y 0} Αν A { 1, 0, 1} m n, a Z m, c Z n και το A είναι totally unimodular, τότε τα (P), (D) έχουν βέλτιστη λύση με ακέραιες τιμές. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [10 / 45]
Επιλυσιμότητα (ILP) με Totally Unimodular Μητρώο Συντελεστών (Ι) ΘΕΩΡΗΜΑ Εστω το ακόλουθο ζεύγος γραμμικών προγραμμάτων: [Ακεραιότητα (LP ) με Totally Unimodular Μητρώο Συντελεστών] (P) min.{c x : Ax a; x 0} (D) max.{a y : A y c; y 0} Αν A { 1, 0, 1} m n, a Z m, c Z n και το A είναι totally unimodular, τότε τα (P), (D) έχουν βέλτιστη λύση με ακέραιες τιμές. ΕΞΗΓΗΣΗ: Όλες οι κορυφές είναι ακέραια διανύσματα, και κάποια από αυτές είναι βέλτιστη λύση. [Ακεραιότητα (LP ) με Totally Unimodular Μητρώο Συντελεστών] Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [10 / 45]
Επιλυσιμότητα (ILP) με Totally Unimodular Μητρώο Συντελεστών (ΙΙ) ΣΥΜΠΕΡΑΣΜΑ: Για επίλυση του ΑΚΕΡΑΙΟΥ γραμμικού προγράμματος (ILP) min.{c x : Ax a; x N n } όπου το μητρώο συντελεστών A { 1, 0, 1} m n είναι totally unimodular και a Z m, αρκεί να βρούμε μια βέλτιστη βασική εφικτή λύση του γραμμικού προγράμματος (RLP) min.{c x : Ax a; x 0} που συμβαίνει να έχει ακέραιες τιμές. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [11 / 45]
Επιλυσιμότητα (ILP) με Totally Unimodular Μητρώο Συντελεστών (ΙΙ) ΣΥΜΠΕΡΑΣΜΑ: Για επίλυση του ΑΚΕΡΑΙΟΥ γραμμικού προγράμματος (ILP) min.{c x : Ax a; x N n } όπου το μητρώο συντελεστών A { 1, 0, 1} m n είναι totally unimodular και a Z m, αρκεί να βρούμε μια βέλτιστη βασική εφικτή λύση του γραμμικού προγράμματος (RLP) min.{c x : Ax a; x 0} που συμβαίνει να έχει ακέραιες τιμές. Q Πώς μπορούμε να βρούμε μια βέλτιστη λύση με ακέραιες τιμές για το (ILP) όταν το A είναι totally unimodular, και a Z m ; Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [11 / 45]
Επιλυσιμότητα (ILP) με Totally Unimodular Μητρώο Συντελεστών (ΙΙ) ΣΥΜΠΕΡΑΣΜΑ: Για επίλυση του ΑΚΕΡΑΙΟΥ γραμμικού προγράμματος (ILP) min.{c x : Ax a; x N n } όπου το μητρώο συντελεστών A { 1, 0, 1} m n είναι totally unimodular και a Z m, αρκεί να βρούμε μια βέλτιστη βασική εφικτή λύση του γραμμικού προγράμματος (RLP) min.{c x : Ax a; x 0} που συμβαίνει να έχει ακέραιες τιμές. Q Πώς μπορούμε να βρούμε μια βέλτιστη λύση με ακέραιες τιμές για το (ILP) όταν το A είναι totally unimodular, και a Z m ; A Εκτέλεση του SIMPLEX στο (RLP). Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [11 / 45]
Επιλυσιμότητα (ILP) με Totally Unimodular Μητρώο Πολυωνυμικού Συντελεστών Χρόνου Επιλυσιμότητα (ΙΙΙ) Επιλυσιμότητα Συνδυαστικών Προβλημάτων μεσω (και) Γραμμικού Προγραμματισμού Perfect Bipartite Matching Maximum Bipartite Matching General Matching Weighted Bipartite Matching Stable Matching Minimum Spanning Trees Maximum Flows Shortest Paths Graph Orientation Min Cost Flows Matroid Intersection Submodular Flows Linear Programming 7 ΠΛΕ047: Γραμμικός Προγραμματισμός (Φθινόπωρο 2012) Σπύρος Κοντογιάννης Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [12 / 45]
Κατευθυνόμενα Γραφήματα (Κατευθυνόμενο) Γράφημα: ιατεταγμένος ζεύγος G = (V, A) όπου V είναι ένα σύνολο διακεκριμένων αντικειμένων (κορυφές), και A V V ένα σύνολο κατευθυνόμενων ακμών (τόξων) που ορίζουν μια διμελή σχέση στο V. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [13 / 45]
Κατευθυνόμενα Γραφήματα (Κατευθυνόμενο) Γράφημα: ιατεταγμένος ζεύγος G = (V, A) όπου V είναι ένα σύνολο διακεκριμένων αντικειμένων (κορυφές), και A V V ένα σύνολο κατευθυνόμενων ακμών (τόξων) που ορίζουν μια διμελή σχέση στο V. Πίνακας Πρόσπτωσης Κατευθυνόμενου Γραφήματος (δίχως ανακυκλώσεις): Ενα μητρώο M G { 1, 0, 1} V E που στις γραμμές αντιστοιχούν οι κορυφές, στις στήλες αντιστοιχούν οι ακμές, και κάθε στήλη υποδεικνύει την ουρά (με +1) και την κεφαλή (με 1) της αντίστοιχης ακμής, ενώ όλες οι άλλες θέσεις ισούνται με 0: v V, a A, M G [v, a] = 1, v = tail(a) 1, v = head(a), 0, διαφορετικά. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [13 / 45]
Παράδειγμα Αναπαράστασης Γραφήματος με Πίνακα Πρόσπτωσης Α Β C F E D Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [14 / 45]
Παράδειγμα Αναπαράστασης Γραφήματος με Πίνακα Πρόσπτωσης Α Β C F E D M G = AB AD AF CA CD1 CD2 CE CF EB A 1 1 1 1 0 0 0 0 0 B 1 0 0 0 0 0 0 0 1 C 0 0 0 1 1 1 1 1 0 D 0 1 0 0 1 1 0 0 0 E 0 0 0 0 0 0 1 0 1 F 0 0 1 0 0 0 0 1 0 Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [14 / 45]
Θεμελιώδεις Ιδιότητες Γραφημάτων (Ι) ΘΕΩΡΗΜΑ Για οποιοδήποτε κατευθυνόμενο γράφημα G = (V, A) (δίχως βρόχους), ο πίνακας πρόσπτωσης M G είναι totally unimodular. [Total Unimodularity του Πίνακα Πρόσπτωσης] Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [15 / 45]
Θεμελιώδεις Ιδιότητες Γραφημάτων (Ι) ΘΕΩΡΗΜΑ Για οποιοδήποτε κατευθυνόμενο γράφημα G = (V, A) (δίχως βρόχους), ο πίνακας πρόσπτωσης M G είναι totally unimodular. [Total Unimodularity του Πίνακα Πρόσπτωσης] ΕΞΗΓΗΣΗ: Κάνουμε μαθηματική επαγωγή στο μέγεθος 1 k n του τετραγωνικού k k υποπίνακα του M G που εξετάζουμε. [Total Unimodularity του Πίνακα Πρόσπτωσης] Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [15 / 45]
Θεμελιώδεις Ιδιότητες Γραφημάτων (Ι) ΘΕΩΡΗΜΑ Για οποιοδήποτε κατευθυνόμενο γράφημα G = (V, A) (δίχως βρόχους), ο πίνακας πρόσπτωσης M G είναι totally unimodular. [Total Unimodularity του Πίνακα Πρόσπτωσης] ΕΞΗΓΗΣΗ: Κάνουμε μαθηματική επαγωγή στο μέγεθος 1 k n του τετραγωνικού k k υποπίνακα του M G που εξετάζουμε. [Total Unimodularity του Πίνακα Πρόσπτωσης] [Βάση] Για k = 1, είναι προφανές από τον ορισμό του M G. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [15 / 45]
Θεμελιώδεις Ιδιότητες Γραφημάτων (Ι) ΘΕΩΡΗΜΑ Για οποιοδήποτε κατευθυνόμενο γράφημα G = (V, A) (δίχως βρόχους), ο πίνακας πρόσπτωσης M G είναι totally unimodular. [Total Unimodularity του Πίνακα Πρόσπτωσης] ΕΞΗΓΗΣΗ: Κάνουμε μαθηματική επαγωγή στο μέγεθος 1 k n του τετραγωνικού k k υποπίνακα του M G που εξετάζουμε. [Total Unimodularity του Πίνακα Πρόσπτωσης] [Βάση] Για k = 1, είναι προφανές από τον ορισμό του M G. [Επαγωγική Υπόθεση] Για κάθε 1 m k, οποιοδήποτε m m υπομητρώο C του M G έχει: det(c) { 1, 0, 1}. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [15 / 45]
Θεμελιώδεις Ιδιότητες Γραφημάτων (Ι) ΘΕΩΡΗΜΑ Για οποιοδήποτε κατευθυνόμενο γράφημα G = (V, A) (δίχως βρόχους), ο πίνακας πρόσπτωσης M G είναι totally unimodular. [Total Unimodularity του Πίνακα Πρόσπτωσης] ΕΞΗΓΗΣΗ: Κάνουμε μαθηματική επαγωγή στο μέγεθος 1 k n του τετραγωνικού k k υποπίνακα του M G που εξετάζουμε. [Total Unimodularity του Πίνακα Πρόσπτωσης] [Βάση] Για k = 1, είναι προφανές από τον ορισμό του M G. [Επαγωγική Υπόθεση] Για κάθε 1 m k, οποιοδήποτε m m υπομητρώο C του M G έχει: det(c) { 1, 0, 1}. [Επαγωγικό Βήμα] Για τον (k + 1) (k + 1) υποπίνακα D διακρίνουμε τρεις περιπτώσεις: [Περίπτωση 1] Υπάρχει μηδενική στήλη det(d) = 0. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [15 / 45]
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙ) ΕΞΗΓΗΣΗ: [Επαγωγικό Βήμα] (συνέχεια) [Total Unimodularity του Πίνακα Πρόσπτωσης] [Περίπτωση 2] εν υπάρχει μηδενική στήλη, και υπάρχει στήλη με ένα μη μηδενικό στοιχείο στο M G. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [16 / 45]
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙ) ΕΞΗΓΗΣΗ: [Επαγωγικό Βήμα] (συνέχεια) [Total Unimodularity του Πίνακα Πρόσπτωσης] [Περίπτωση 2] εν υπάρχει μηδενική στήλη, και υπάρχει στήλη με ένα μη μηδενικό στοιχείο στο M G. det(d) = (±1) det(c) { 1, 0, 1} για k k υποπίνακα C του D (και του M G ). / Επαγ. Υπόθεση: det(c) { 1, 0, 1} / [Περίπτωση 3] Κάθε στήλη του M G έχει ακριβώς δύο μη μηδενικά στοιχεία. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [16 / 45]
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙ) ΕΞΗΓΗΣΗ: [Επαγωγικό Βήμα] (συνέχεια) [Total Unimodularity του Πίνακα Πρόσπτωσης] [Περίπτωση 2] εν υπάρχει μηδενική στήλη, και υπάρχει στήλη με ένα μη μηδενικό στοιχείο στο M G. det(d) = (±1) det(c) { 1, 0, 1} για k k υποπίνακα C του D (και του M G ). / Επαγ. Υπόθεση: det(c) { 1, 0, 1} / [Περίπτωση 3] Κάθε στήλη του M G έχει ακριβώς δύο μη μηδενικά στοιχεία. Ο ακόλουθος μη μηδενικός γραμμικός συνδυασμός (όλων) των γραμμών του D δίνει το σημείο 0: nk=1 D[k, *] = 0. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [16 / 45]
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙ) ΕΞΗΓΗΣΗ: [Επαγωγικό Βήμα] (συνέχεια) [Total Unimodularity του Πίνακα Πρόσπτωσης] [Περίπτωση 2] εν υπάρχει μηδενική στήλη, και υπάρχει στήλη με ένα μη μηδενικό στοιχείο στο M G. det(d) = (±1) det(c) { 1, 0, 1} για k k υποπίνακα C του D (και του M G ). / Επαγ. Υπόθεση: det(c) { 1, 0, 1} / [Περίπτωση 3] Κάθε στήλη του M G έχει ακριβώς δύο μη μηδενικά στοιχεία. Ο ακόλουθος μη μηδενικός γραμμικός συνδυασμός (όλων) των γραμμών του D δίνει το σημείο 0: nk=1 D[k, *] = 0. Υπάρχει γραμμική εξάρτηση ως προς τις γραμμές του D. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [16 / 45]
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙ) ΕΞΗΓΗΣΗ: [Επαγωγικό Βήμα] (συνέχεια) [Total Unimodularity του Πίνακα Πρόσπτωσης] [Περίπτωση 2] εν υπάρχει μηδενική στήλη, και υπάρχει στήλη με ένα μη μηδενικό στοιχείο στο M G. det(d) = (±1) det(c) { 1, 0, 1} για k k υποπίνακα C του D (και του M G ). / Επαγ. Υπόθεση: det(c) { 1, 0, 1} / [Περίπτωση 3] Κάθε στήλη του M G έχει ακριβώς δύο μη μηδενικά στοιχεία. Ο ακόλουθος μη μηδενικός γραμμικός συνδυασμός (όλων) των γραμμών του D δίνει το σημείο 0: nk=1 D[k, *] = 0. Υπάρχει γραμμική εξάρτηση ως προς τις γραμμές του D. det(d) = 0. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [16 / 45]
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙ) ΕΞΗΓΗΣΗ: [Επαγωγικό Βήμα] (συνέχεια) [Total Unimodularity του Πίνακα Πρόσπτωσης] [Περίπτωση 2] εν υπάρχει μηδενική στήλη, και υπάρχει στήλη με ένα μη μηδενικό στοιχείο στο M G. det(d) = (±1) det(c) { 1, 0, 1} για k k υποπίνακα C του D (και του M G ). / Επαγ. Υπόθεση: det(c) { 1, 0, 1} / [Περίπτωση 3] Κάθε στήλη του M G έχει ακριβώς δύο μη μηδενικά στοιχεία. Ο ακόλουθος μη μηδενικός γραμμικός συνδυασμός (όλων) των γραμμών του D δίνει το σημείο 0: nk=1 D[k, *] = 0. Υπάρχει γραμμική εξάρτηση ως προς τις γραμμές του D. det(d) = 0. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [16 / 45]
Μη κατευθυνόμενα Γραφήματα Μη κατευθυνόμενο γράφημα G = (V, E): V είναι ένα σύνολο διακεκριμένων αντικειμένων (κορυφές), και E {{u, v} : u, v V} ένα σύνολο μη κατευθυνόμενων ακμών που ορίζουν μια συμετρική διμελή σχέση στο V. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [17 / 45]
Μη κατευθυνόμενα Γραφήματα Μη κατευθυνόμενο γράφημα G = (V, E): V είναι ένα σύνολο διακεκριμένων αντικειμένων (κορυφές), και E {{u, v} : u, v V} ένα σύνολο μη κατευθυνόμενων ακμών που ορίζουν μια συμετρική διμελή σχέση στο V. Πίνακας Πρόσπτωσης Μη Κατευθυνόμενου Γραφήματος (δίχως ανακυκλώσεις): Ενα μητρώο M G {, 0, 1} V E που στις γραμμές αντιστοιχούν οι κορυφές, στις στήλες αντιστοιχούν οι ακμές, και κάθε στήλη υποδεικνύει την ουρά και την κεφαλή (με 1) της αντίστοιχης ακμής: { 1, v e v V, e E, M G [v, e] = 0, διαφορετικά. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [17 / 45]
Μη κατευθυνόμενα Γραφήματα Μη κατευθυνόμενο γράφημα G = (V, E): V είναι ένα σύνολο διακεκριμένων αντικειμένων (κορυφές), και E {{u, v} : u, v V} ένα σύνολο μη κατευθυνόμενων ακμών που ορίζουν μια συμετρική διμελή σχέση στο V. Πίνακας Πρόσπτωσης Μη Κατευθυνόμενου Γραφήματος (δίχως ανακυκλώσεις): Ενα μητρώο M G {, 0, 1} V E που στις γραμμές αντιστοιχούν οι κορυφές, στις στήλες αντιστοιχούν οι ακμές, και κάθε στήλη υποδεικνύει την ουρά και την κεφαλή (με 1) της αντίστοιχης ακμής: { 1, v e v V, e E, M G [v, e] = 0, διαφορετικά. ιμερές Γράφημα G = (V = X Y, E): Το σύνολο κορυφών διαμερίζεται από τα X, Y (άρα, X Y = και X Y = V) και όλες οι ακμές του E έχουν τα άκρα τους σε διαφορετικά μερίδια (δλδ, E {{u, v} : u X, v Y}. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [17 / 45]
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙΙ) ΘΕΩΡΗΜΑ [Total Unimodularity Μη Κατευθυνόμενων ιμερών Γραφημάτων] Για κάθε μη κατευθυνόμενο, διμερές γράφημα G = (V = X Y, E), το μητρώο πρόσπτωσης M G είναι totally unimodular. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [18 / 45]
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙΙ) ΘΕΩΡΗΜΑ [Total Unimodularity Μη Κατευθυνόμενων ιμερών Γραφημάτων] Για κάθε μη κατευθυνόμενο, διμερές γράφημα G = (V = X Y, E), το μητρώο πρόσπτωσης M G είναι totally unimodular. ΕΞΗΓΗΣΗ: Επαγωγή στη διάσταση ενός k k υπομητρώου του M G. [Βάση] Για k = 1, προφανές. [Total Unimodularity Μη Κατευθυνόμενων ιμερών Γραφημάτων] Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [18 / 45]
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙΙ) ΘΕΩΡΗΜΑ [Total Unimodularity Μη Κατευθυνόμενων ιμερών Γραφημάτων] Για κάθε μη κατευθυνόμενο, διμερές γράφημα G = (V = X Y, E), το μητρώο πρόσπτωσης M G είναι totally unimodular. ΕΞΗΓΗΣΗ: Επαγωγή στη διάσταση ενός k k υπομητρώου του M G. [Βάση] Για k = 1, προφανές. [Υπόθεση] Εστω ότι για k {1,..., n 1}, κάθε m m υπομητρώο C (1 m k) έχει: det(c) { 1, 0, 1}. [Βήμα] Εστω (k + 1) (k + 1) υπομητρώο D του M G. [Περίπτωση 1] Υπάρχει μηδενική στήλη det(d) = 0. [Total Unimodularity Μη Κατευθυνόμενων ιμερών Γραφημάτων] Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [18 / 45]
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙΙ) ΘΕΩΡΗΜΑ [Total Unimodularity Μη Κατευθυνόμενων ιμερών Γραφημάτων] Για κάθε μη κατευθυνόμενο, διμερές γράφημα G = (V = X Y, E), το μητρώο πρόσπτωσης M G είναι totally unimodular. ΕΞΗΓΗΣΗ: Επαγωγή στη διάσταση ενός k k υπομητρώου του M G. [Βάση] Για k = 1, προφανές. [Υπόθεση] Εστω ότι για k {1,..., n 1}, κάθε m m υπομητρώο C (1 m k) έχει: det(c) { 1, 0, 1}. [Βήμα] Εστω (k + 1) (k + 1) υπομητρώο D του M G. [Περίπτωση 1] Υπάρχει μηδενική στήλη det(d) = 0. [Total Unimodularity Μη Κατευθυνόμενων ιμερών Γραφημάτων] [Περίπτωση 2] εν υπάρχει μηδενική στήλη και υπάρχει στήλη με ένα μη μηδενικό στοιχείο, στο D. det(d) = (±1) det(c) { 1, 0, 1} για κάποιο k k υπομητρώο C του D, άρα και του M G. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [18 / 45]
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙΙ) Πίνακα Πρόσπτωσης (ΙΙ) ΕΞΗΓΗΣΗ: έχει που που νου) ιο, [Total Unimodularity Μη Κατευθυνόμενων ιμερών Γραφημάτων] a1 [Βήμα] (συνέχεια) e3 [Περίπτωση 3] a2 Κάθεe4 στήλη του D έχει δυο μη μηδενικά στοιχεία. a3 a4 e1 e2 e5 e6 e7 e9 e8 b1 a 1 b2 e 14 e 13 e 21 a b3 2 e 22 e 31 e 32 a b4 3 e 42 e 43 e 13 e 14 e 21 e 22 e 31 e 32 e 42 e 43 e 44 a 1 1 1 0 0 0 0 0 0 0 a 2 0 0 1 1 0 0 0 0 0 a 3 0 0 0 D0 1 1 0 0 0 a 4 0 0 0 0 0 0 1 1 1 b 1 0 0 1 0 1 0 0 0 0 b 2 0 0 0 1 0 1 1 0 0 b 3 1 0 0 0 0 0 0 1 0 b 4 0 1 0 0 0 0 0 0 1 a 4 e 44 Σπύρος Κοντογιάννης Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [19 / 45] b 1 b 2 b 3 b 4
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙΙ) Πίνακα Πρόσπτωσης (ΙΙ) ΕΞΗΓΗΣΗ: έχει που που νου) ιο, [Total Unimodularity Μη Κατευθυνόμενων ιμερών Γραφημάτων] [Βήμα] (συνέχεια) e3 [Περίπτωση 3] a2 Κάθεe4 στήλη του D έχει δυο μη μηδενικά στοιχεία. a1 Κάθε στήλη a3 του D έχει ακριβώς ένα μη μηδενικό στοιχείο σε κάθε μερίδιο. a4 e1 e2 e5 e6 e7 e9 e8 b1 a 1 b2 e 14 e 13 e 21 a b3 2 e 22 e 31 e 32 a b4 3 e 42 e 43 e 13 e 14 e 21 e 22 e 31 e 32 e 42 e 43 e 44 a 1 1 1 0 0 0 0 0 0 0 a 2 0 0 1 1 0 0 0 0 0 a 3 0 0 0 D0 1 1 0 0 0 a 4 0 0 0 0 0 0 1 1 1 b 1 0 0 1 0 1 0 0 0 0 b 2 0 0 0 1 0 1 1 0 0 b 3 1 0 0 0 0 0 0 1 0 b 4 0 1 0 0 0 0 0 0 1 a 4 e 44 Σπύρος Κοντογιάννης Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [19 / 45] b 1 b 2 b 3 b 4
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙΙ) Πίνακα Πρόσπτωσης (ΙΙ) ΕΞΗΓΗΣΗ: έχει που που νου) ιο, [Total Unimodularity Μη Κατευθυνόμενων ιμερών Γραφημάτων] [Βήμα] (συνέχεια) e3 [Περίπτωση 3] a2 Κάθεe4 στήλη του D έχει δυο μη μηδενικά στοιχεία. a1 e1 e2 e5 e6 Κάθε στήλη a3 του D έχει ακριβώς ένα μη μηδενικό στοιχείο σε κάθε μερίδιο. Ο ακόλουθος γραμμικός e7 e8 συνδυασμός a4 των γραμμών του D δίνει το 0: x X D[x, *] e9 y Y D[i, *] = 0 b1 a 1 b2 e 14 e 13 e 21 a b3 2 e 22 e 31 e 32 a b4 3 e 42 e 43 e 13 e 14 e 21 e 22 e 31 e 32 e 42 e 43 e 44 a 1 1 1 0 0 0 0 0 0 0 a 2 0 0 1 1 0 0 0 0 0 a 3 0 0 0 D0 1 1 0 0 0 a 4 0 0 0 0 0 0 1 1 1 b 1 0 0 1 0 1 0 0 0 0 b 2 0 0 0 1 0 1 1 0 0 b 3 1 0 0 0 0 0 0 1 0 b 4 0 1 0 0 0 0 0 0 1 a 4 e 44 Σπύρος Κοντογιάννης Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [19 / 45] b 1 b 2 b 3 b 4
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙΙ) Πίνακα Πρόσπτωσης (ΙΙ) ΕΞΗΓΗΣΗ: έχει που που νου) ιο, [Total Unimodularity Μη Κατευθυνόμενων ιμερών Γραφημάτων] [Βήμα] (συνέχεια) e3 [Περίπτωση 3] a2 Κάθεe4 στήλη του D έχει δυο μη μηδενικά στοιχεία. a1 e1 e2 e5 e6 Κάθε στήλη a3 του D έχει ακριβώς ένα μη μηδενικό στοιχείο σε κάθε μερίδιο. Ο ακόλουθος γραμμικός e7 e8 συνδυασμός a4 των γραμμών του D δίνει το 0: x X D[x, *] e9 y Y D[i, *] = 0 b1 a det(d) = 0. 4 e 44 e 13 e 14 e 21 e 22 e 31 e 32 e 42 e 43 e 44 a 1 1 1 0 0 0 0 0 0 0 a 2 0 0 1 1 0 0 0 0 0 a 3 0 0 0 D0 1 1 0 0 0 a 4 0 0 0 0 0 0 1 1 1 b 1 0 0 1 0 1 0 0 0 0 b 2 0 0 0 1 0 1 1 0 0 b 3 1 0 0 0 0 0 0 1 0 b 4 0 1 0 0 0 0 0 0 1 a 1 e 14 e 13 e 21 a b3 2 e 22 e 31 e 32 a b4 3 e 42 e 43 Σπύρος Κοντογιάννης Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [19 / 45] b2 b 1 b 2 b 3 b 4
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙΙ) Πίνακα Πρόσπτωσης (ΙΙ) ΕΞΗΓΗΣΗ: έχει που που νου) ιο, [Total Unimodularity Μη Κατευθυνόμενων ιμερών Γραφημάτων] [Βήμα] (συνέχεια) e3 [Περίπτωση 3] a2 Κάθεe4 στήλη του D έχει δυο μη μηδενικά στοιχεία. a1 e1 e2 e5 e6 Κάθε στήλη a3 του D έχει ακριβώς ένα μη μηδενικό στοιχείο σε κάθε μερίδιο. Ο ακόλουθος γραμμικός e7 e8 συνδυασμός a4 των γραμμών του D δίνει το 0: x X D[x, *] e9 y Y D[i, *] = 0 b1 a det(d) = 0. 4 e 44 e 13 e 14 e 21 e 22 e 31 e 32 e 42 e 43 e 44 a 1 1 1 0 0 0 0 0 0 0 a 2 0 0 1 1 0 0 0 0 0 a 3 0 0 0 D0 1 1 0 0 0 a 4 0 0 0 0 0 0 1 1 1 b 1 0 0 1 0 1 0 0 0 0 b 2 0 0 0 1 0 1 1 0 0 b 3 1 0 0 0 0 0 0 1 0 b 4 0 1 0 0 0 0 0 0 1 a 1 e 14 e 13 e 21 a b3 2 e 22 e 31 e 32 a b4 3 e 42 e 43 Σπύρος Κοντογιάννης Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [19 / 45] b2 b 1 b 2 b 3 b 4
Ιδιότητα ικτύου Ενα τετραγωνικό μητρώο A { 1, 0, 1} n n έχει την ιδιότητα δικτύου (network property) αν κάθε στήλη του A έχει το πολύ ένα κελί με τιμή 1, το πολύ ένα κελί με τιμή 1, και όλα τα υπόλοιπα κελιά με τιμή 0. ηλαδή, το άθροισμα απόλυτων τιμών των κελιών του, ανήκει στο {0, 1, 2} και το άθροισμα (δίχως απόλυτες τιμές) των κελιών του ανήκει στο { 1, 0, 1}. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [20 / 45]
Ιδιότητα ικτύου Ενα τετραγωνικό μητρώο A { 1, 0, 1} n n έχει την ιδιότητα δικτύου (network property) αν κάθε στήλη του A έχει το πολύ ένα κελί με τιμή 1, το πολύ ένα κελί με τιμή 1, και όλα τα υπόλοιπα κελιά με τιμή 0. ηλαδή, το άθροισμα απόλυτων τιμών των κελιών του, ανήκει στο {0, 1, 2} και το άθροισμα (δίχως απόλυτες τιμές) των κελιών του ανήκει στο { 1, 0, 1}. ΠΑΡΑΤΗΡΗΣΗ: Η κλάση των τετραγωνικών totally unimodular μητρώων, είναι υποκλάση των μητρώων με την ιδιότητα δικτύου. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [20 / 45]
Σκελετός Ομιλίας 1 Εισαγωγικά: Το Πρόβλημα της Ανάθεσης Καθηκόντων 2 Totally Unimodular Μητρώα στον Γραμμικό Προγραμματισμό 3 Ροές Ελάχιστου Κόστους 4 Συνδυαστικά Προβλήματα Ως ικτυακές Ροές Ταιριάσματα σε ιμερή Γραφήματα Μέγιστες Ροές Ελάχιστες Αποστάσεις Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [21 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows Ορισμός ίκτυο: Κατευθυνόμενο γράφημα G = (V, A) όπου i V, b i Z είναι η ακέραια απαίτηση παροχής / κατανάλωσης του διαμοιραζόμενου αγαθού στον κόμβο i. Ο i είναι: Κόμβος παροχής (supply node), αν b i >0. Κόμβος απαίτησης (demand node), αν b i <0. Κόμβος μεταγωγής (transhipment node), αν b i = 0. b(v) > 0 b(v) < 0 v v DC Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [22 / 45]
a = ij A, c ij Z είναι το κόστος μεταφοράς (ανά μονάδα ροής του αγαθού) στην ακμή a, ενώ l ij, u ij N είναι κάτω και άνω φράγματα στη χωρητικότητα (capacity) ως προς την επιτρεπόμενη ροή που κινείται κατά μήκος του a. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [22 / 45] Ροές Ελάχιστου Κόστους Min Cost Flows Ορισμός ίκτυο: Κατευθυνόμενο γράφημα G = (V, A) όπου i V, b i Z είναι η ακέραια απαίτηση παροχής / κατανάλωσης του διαμοιραζόμενου αγαθού στον κόμβο i. Ο i είναι: Κόμβος παροχής (supply node), αν b i >0. Κόμβος απαίτησης (demand node), αν b i <0. Κόμβος μεταγωγής (transhipment node), αν b i = 0. b(v) > 0 b(v) < 0 v v DC
Ροές Ελάχιστου Κόστους Min Cost Flows Εφικτές Ροές Εφικτή Ροή: Οποιοδήποτε διάνυσμα x = (x ij ) N A τ.ώ.: να ικανοποιούνται οι εξής περιορισμοί: Περιορισμοί Χωρητικότητας (Capacity): ij A, l ij x ij u ij 0...5 a 10 e 2...10-6 0...3 28 15 1...5 0...3 d 0...4 48 7 7 0...10 0...5 0...3-6 56 38 19 1...5 c 65 b 0...3 0...3 0...3 108 48 33 f 0...5 24 g 9 5 Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [23 / 45] -2
Ροές Ελάχιστου Κόστους Min Cost Flows Εφικτές Ροές Εφικτή Ροή: Οποιοδήποτε διάνυσμα x = (x ij ) N A τ.ώ.: να ικανοποιούνται οι εξής περιορισμοί: Περιορισμοί Χωρητικότητας (Capacity): ij A, l ij x ij u ij Περιορισμοί Εξισορρόπησης Ροών (Flow Balance): i V, ik A x ik ki A x ki = b i 0...5 a 10 e 2...10-6 0...3 28 15 1...5 0...3 d 0...4 48 7 7 0...10 0...5 0...3-6 56 38 19 1...5 c 65 b 0...3 0...3 0...3 108 48 33 f 0...5 24 g 9 5 Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [23 / 45] -2
Ροές Ελάχιστου Κόστους Min Cost Flows Εφικτές Ροές Εφικτή Ροή: Οποιοδήποτε διάνυσμα x = (x ij ) N A τ.ώ.: να ικανοποιούνται οι εξής περιορισμοί: Περιορισμοί Χωρητικότητας (Capacity): ij A, l ij x ij u ij Περιορισμοί Εξισορρόπησης Ροών (Flow Balance): i V, ik A x ik ki A x ki = b i 0...5 a 10 e 2...10-6 0...3 28 15 1...5 0...3 d 0...4 48 7 7 0...10 0...5 0...3-6 56 38 19 1...5 c 65 b 0...3 0...3 0...3 108 48 33 f 0...5 24 g 9 5 Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [23 / 45] -2
Ροές Ελάχιστου Κόστους Min Cost Flows Το (MCF) ως Ακέραιο ΓΠ ΕΙΣΟ ΟΣ: G = (V, A), c Z A, l, u N A, b Z V. Ακέραιο ΓΠ για (MCF): (MCF) minimize s.t. ij A c ij x ij ik A x ik ki A x ki = b i, i V x ij l ij, ij A x ij u ij, ij A x ij N, ij A Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [24 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows Το (MCF) ως Ακέραιο ΓΠ ΕΙΣΟ ΟΣ: G = (V, A), c Z A, l, u N A, b Z V. Ακέραιο ΓΠ για (MCF): (MCF) minimize s.t. Σε μορφή μητρώων: ij A c ij x ij ik A x ik ki A x ki = b i, i V x ij l ij, ij A x ij u ij, ij A x ij N, ij A (MCF) minimize { c x : M G x = b; u x l; x N A } Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [24 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows Μερικές Απλοποιήσεις του (MCF) 1 Τα κάτω φράγματα χωρητικότητας μπορούν να απαλειφθούν, δίχως βλάβη της γενικότητας. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [25 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows Μερικές Απλοποιήσεις του (MCF) 1 Τα κάτω φράγματα χωρητικότητας μπορούν να απαλειφθούν, δίχως βλάβη της γενικότητας. Αλλαγή μεταβλητής: ij A, f ij = x ij l ij N Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [25 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows Μερικές Απλοποιήσεις του (MCF) 1 Τα κάτω φράγματα χωρητικότητας μπορούν να απαλειφθούν, δίχως βλάβη της γενικότητας. Αλλαγή μεταβλητής: ij A, f ij = x ij l ij N 2 Τα άνω φράγματα χωρητικότητας μπορούν να απαλειφθούν, με κατάλληλο μετασχηματισμό: i bi c ij u ij j bj i bi c ij 0 k -uij j bj+uij Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [25 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows Μερικές Απλοποιήσεις του (MCF) 1 Τα κάτω φράγματα χωρητικότητας μπορούν να απαλειφθούν, δίχως βλάβη της γενικότητας. Αλλαγή μεταβλητής: ij A, f ij = x ij l ij N 2 Τα άνω φράγματα χωρητικότητας μπορούν να απαλειφθούν, με κατάλληλο μετασχηματισμό: f ij + it A\{ij} f it ti A f ti = b i, jt A f jt f ij tj A\{ij} f tj = b j, f ij u ij i bi c ij u ij j bj f ik + it A\{ik} f it ti A f ti = ˆb i = b i, f jk + jt A\{jk} f jt tj A f tj = ˆb j = b j + u ij, f ik f jk = ˆb k = u ij bj+uij i bi c ij 0 k Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [25 / 45] -uij j
Ροές Ελάχιστου Κόστους Min Cost Flows Μοντελοποίηση (UMCF) ίχως Χωρητικότητες Ακμών (χβτγ) ΕΙΣΟ ΟΣ: Κατευθυνόμενο γράφημα G = (V, A), με κόστη ακμών c Z A, και απαιτήσεις κορυφών b Z V. Ακέραιο ΓΠ: minimize ij A c ij f ij (UMCF) s.t. ik A f ik ki A f ki = b i, i V f ij N, ij A Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [26 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows Μοντελοποίηση (UMCF) ίχως Χωρητικότητες Ακμών (χβτγ) ΕΙΣΟ ΟΣ: Κατευθυνόμενο γράφημα G = (V, A), με κόστη ακμών c Z A, και απαιτήσεις κορυφών b Z V. Ακέραιο ΓΠ: minimize ij A c ij f ij (UMCF) s.t. ik A f ik ki A f ki = b i, i V f ij N, ij A Σε μορφή μητρώων: (UMCF) minimize { c f : M G f = b; f N A } Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [26 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows Μοντελοποίηση (UMCF) ίχως Χωρητικότητες Ακμών (χβτγ) ΕΙΣΟ ΟΣ: Κατευθυνόμενο γράφημα G = (V, A), με κόστη ακμών c Z A, και απαιτήσεις κορυφών b Z V. Ακέραιο ΓΠ: minimize ij A c ij f ij (UMCF) s.t. ik A f ik ki A f ki = b i, i V f ij N, ij A Σε μορφή μητρώων: (UMCF) minimize { c f : M G f = b; f 0 } Επιλύσιμο λόγω της total unimodularity του μητρώου συντελεστών!!! Ισοδύναμο (χαλαρωμένο) ΓΠ. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [26 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows υϊκό Ροών Ελαχίστου Κόστους Πρωτεύον πρόγραμμα ροών ελάχιστου κόστους: (UMCF) minimize { c f : M G f = b; f 0 } υϊκό πρόγραμμα; Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [27 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows υϊκό Ροών Ελαχίστου Κόστους Πρωτεύον πρόγραμμα ροών ελάχιστου κόστους: (UMCF) minimize { c f : M G f = b; f 0 } υϊκό πρόγραμμα; (DMCF) maximize { b y : (M G ) y c } Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [27 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows υϊκό Ροών Ελαχίστου Κόστους Πρωτεύον πρόγραμμα ροών ελάχιστου κόστους: (UMCF) minimize { c f : M G f = b; f 0 } υϊκό πρόγραμμα; (DMCF) maximize { b y : (M G ) y + z = c; z 0 } Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [27 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows υϊκό Ροών Ελαχίστου Κόστους Πρωτεύον πρόγραμμα ροών ελάχιστου κόστους: (UMCF) minimize { c f : M G f = b; f 0 } υϊκό πρόγραμμα; (DMCF) maximize { b y : (M G ) y + z = c; z 0 } Σε λεπτομέρεια: maximize i V b i y i (DMCF) s.t. y j y i + z ij = c ij, ij A z ij 0, ij A Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [27 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows υϊκό Ροών Ελαχίστου Κόστους Πρωτεύον πρόγραμμα ροών ελάχιστου κόστους: (UMCF) minimize { c f : M G f = b; f 0 } υϊκό πρόγραμμα; (DMCF) maximize { b y : (M G ) y + z = c; z 0 } Σε λεπτομέρεια: maximize i V b i y i (DMCF) s.t. y j y i + z ij = c ij, ij A z ij 0, ij A Συνθήκη Βελτιστότητας (Συμπληρωματική Χαλαρότητα); Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [27 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows υϊκό Ροών Ελαχίστου Κόστους Πρωτεύον πρόγραμμα ροών ελάχιστου κόστους: (UMCF) minimize { c f : M G f = b; f 0 } υϊκό πρόγραμμα; (DMCF) maximize { b y : (M G ) y + z = c; z 0 } Σε λεπτομέρεια: maximize i V b i y i (DMCF) s.t. y j y i + z ij = c ij, ij A z ij 0, ij A Συνθήκη Βελτιστότητας (Συμπληρωματική Χαλαρότητα); ij A, x ij z ij = 0 Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [27 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows Μονοπάτια και Κύκλοι σε Κατευθυνόμενο Γράφημα G = (V, A) a e d c b f g Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [28 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows Μονοπάτια και Κύκλοι σε Κατευθυνόμενο Γράφημα G = (V, A) (Κατευθυνόμενο) Μονοπάτι: Ακολουθία v 1, v 2,..., v k από k διαφορετικές κορυφές του V, τ.ώ. i {1,..., k 1}, v i v i+1 A. a e d c b f g Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [28 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows Μονοπάτια και Κύκλοι σε Κατευθυνόμενο Γράφημα G = (V, A) Μη κατευθυνόμενο Μονοπάτι: Ακολουθία v 1, v 2,..., v k από k διαφορετικές κορυφές του V, τ.ώ. i {1,..., k 1}, {v i v i+1, v i+1 v i A. a e d c b f g Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [28 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows Μονοπάτια και Κύκλοι σε Κατευθυνόμενο Γράφημα G = (V, A) (Κατευθυνόμενος) Κύκλος: Ακολουθία v 1, v 2,..., v k, v k+1 = v 1 από k διαφορετικές (εκτός της τελευταίας, που ταυτίζεται με την πρώτη) κορυφές του V, τ.ώ. i {1,..., k}, v i v i+1 A. a e d c b f g Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [28 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows Μονοπάτια και Κύκλοι σε Κατευθυνόμενο Γράφημα G = (V, A) Μη κατευθυνόμενος Κύκλος: Ακολουθία v 1, v 2,..., v k, v k+1 = v 1 από k διαφορετικές κορυφές του V, τ.ώ. i {1,..., k}, {v i v i+1, v i+1 v i } A. a f c d b e g Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [28 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows Μονοπάτια και Κύκλοι σε Κατευθυνόμενο Γράφημα G = (V, A) (Κατευθυνόμενο) Μονοπάτι: Ακολουθία v 1, v 2,..., v k από k διαφορετικές κορυφές του V, τ.ώ. i {1,..., k 1}, v i v i+1 A. Μη κατευθυνόμενο Μονοπάτι: Ακολουθία v 1, v 2,..., v k από k διαφορετικές κορυφές του V, τ.ώ. i {1,..., k 1}, {v i v i+1, v i+1 v i A. (Κατευθυνόμενος) Κύκλος: Ακολουθία v 1, v 2,..., v k, v k+1 = v 1 από k διαφορετικές (εκτός της τελευταίας, που ταυτίζεται με την πρώτη) κορυφές του V, τ.ώ. i {1,..., k}, v i v i+1 A. Μη κατευθυνόμενος Κύκλος: Ακολουθία v 1, v 2,..., v k, v k+1 = v 1 από k διαφορετικές κορυφές του V, τ.ώ. i {1,..., k}, {v i v i+1, v i+1 v i } A. a f c d b e g Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [28 / 45]
Μη συνδεδεμένο άκυκλο & συνδεδεμένο (όχι ισχυρά) συνδεδεμένο ισχυρά συνδεδεμένο Γεννητικό (συνδετικό) δένδρο: Ενα συνδεδεμένο, άκυκλο υπογράφημα που περιλαμβάνει όλες τις κορυφές του G. ΥΠΟΘΕΣΗ: Σε προβλήματα δικτυακών ροών θεωρούμε (χβτγ) ότι το δίκτυο είναι συνδεδεμένο γράφημα. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [29 / 45] Ροές Ελάχιστου Κόστους Min Cost Flows Συνδεσιμότητα και Ακυκλικότητα Κατευθυνόμενου Γραφήματος G = (V, A) Συνδεδεμένο γράφημα: Για κάθε ζεύγος κορυφών υπάρχει μη κατευθυνόμενο μονοπάτι που τις ενώνει. Ισχυρά συνδεδεμένο γράφημα: Για κάθε ζεύγος κορυφών υπάρχει κατευθυνόμενο μονοπάτι που τις ενώνει. Άκυκλο γράφημα: εν υπάρχει (ως υπογράφημα) μη κατευθυνόμενος κύκλος. ένδρο: Συνδεδεμένο & άκυκλο γράφημα. a e a e a e a e d d d d c b c b c b c b f g f g f g f g
Ροές Ελάχιστου Κόστους Min Cost Flows Ισορροπημένες & ενδρικές Ροές Εφικτή Ροή: i V, ij A f ij ji A f ji = b i ij A, fij 0 a 56 10-6 28 15 d 48 7 c -6 108 48 33 9 5 f 24 g 65 38 FEASIBLE FLOW b 7 e 19-2 a 10-6 28 2 d 48 7 7 e -2 56-6 38 19 c 65 b 108 48 33 9 5 f 24 g a 6 d e 6 f c 3 6 b 3 2 g A TREE SOLUTION AND A BALANCED FLOW Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [30 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows Ισορροπημένες & ενδρικές Ροές Ισορροπημένη Ροή: i V, ij A f ij ji A f ji = b i ij A,f ij 0 ΠΑΡΑΤΗΡΗΣΗ: Σε μια ισορροπημένη ροή μπορεί να «ρέει» ποσότητα του διακινούμενου αγαθού προς τη λάθος κατεύθυνση μιας ακμής (αρνητική ροή). a 56 10-6 28 15 d 48 7 c -6 108 48 33 9 5 f 24 g a 56 65 38 FEASIBLE FLOW 10-6 28 2 d 48 7 c -6 108 48 33 9 5 f 24 g 65 38 b b 7 7 e 19 e 19-2 -2 a 6 d e 6 f c 3 6 b 3 2 g A TREE SOLUTION AND A BALANCED FLOW Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [30 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows Ισορροπημένες & ενδρικές Ροές Ισορροπημένη Ροή: i V, ij A f ij ji A f ji = b i ij A,f ij 0 ΠΑΡΑΤΗΡΗΣΗ: Σε μια ισορροπημένη ροή μπορεί να «ρέει» ποσότητα του διακινούμενου αγαθού προς τη λάθος κατεύθυνση μιας ακμής (αρνητική ροή). ενδρική Ροή: Μια ισορροπημένη ροή που αναθέτει μηδενική τιμή σε όλες τις ροές των ακμών εκτός ενός (συγκεκριμένου) γεννητικού δένδρου του G. a 56 10-6 28 15 d 48 7 c -6 108 48 33 9 5 f 24 g a 56 65 38 FEASIBLE FLOW 10-6 28 2 d 48 7 c -6 108 48 33 9 5 f 24 g A TREE SOLUTION AND A BALANCED FLOW Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [30 / 45] a 6 f 6 c 3 65 d 6 38 b b b 7 7 3 e 19 e 19 e 2 g -2-2
Ροές Ελάχιστου Κόστους Min Cost Flows Κατασκευή ενδρικής Ροής (Ι) ΕΙΣΟ ΟΣ: Ενα δίκτυο με απαιτήσεις στους κόμβους, και ένα γεννητικό δένδρο του. Αυθαίρετη επιλογή κόμβου του δένδρου ως ρίζα. Εξισορρόπηση στους κόμβους, από τα φύλλα προς τη ρίζα: Ξεκινώντας από τα φύλλα, μεταφέρουμε την απαίτηση ροής στους γονείς, μέχρι να συρρικνώσουμε το δένδρο σε μια κορυφή. Οριστικοποιούμε τη ροή της δενδρικής ακμής που επιτρέπει τη μεταφορά. Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [31 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows Κατασκευή ενδρικής Ροής (Ι) ΕΙΣΟ ΟΣ: Ενα δίκτυο με απαιτήσεις στους κόμβους, και ένα γεννητικό δένδρο του. Αυθαίρετη επιλογή κόμβου του δένδρου ως ρίζα. Εξισορρόπηση στους κόμβους, από τα φύλλα προς τη ρίζα: Ξεκινώντας από τα φύλλα, μεταφέρουμε την απαίτηση ροής στους γονείς, μέχρι να συρρικνώσουμε το δένδρο σε μια κορυφή. Οριστικοποιούμε τη ροή της δενδρικής ακμής που επιτρέπει τη μεταφορά. a -6 e -2 d -6 c b 9 5 f g Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [31 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows Κατασκευή ενδρικής Ροής (Ι) ΕΙΣΟ ΟΣ: Ενα δίκτυο με απαιτήσεις στους κόμβους, και ένα γεννητικό δένδρο του. Αυθαίρετη επιλογή κόμβου του δένδρου ως ρίζα. Εξισορρόπηση στους κόμβους, από τα φύλλα προς τη ρίζα: Ξεκινώντας από τα φύλλα, μεταφέρουμε την απαίτηση ροής στους γονείς, μέχρι να συρρικνώσουμε το δένδρο σε μια κορυφή. Οριστικοποιούμε τη ροή της δενδρικής ακμής που επιτρέπει τη μεταφορά. d: x(ad) = 6 x(ad) = 6-6 a 6-6 d -6 e -2 c b 9 5 f g Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [31 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows Κατασκευή ενδρικής Ροής (Ι) ΕΙΣΟ ΟΣ: Ενα δίκτυο με απαιτήσεις στους κόμβους, και ένα γεννητικό δένδρο του. Αυθαίρετη επιλογή κόμβου του δένδρου ως ρίζα. Εξισορρόπηση στους κόμβους, από τα φύλλα προς τη ρίζα: Ξεκινώντας από τα φύλλα, μεταφέρουμε την απαίτηση ροής στους γονείς, μέχρι να συρρικνώσουμε το δένδρο σε μια κορυφή. Οριστικοποιούμε τη ροή της δενδρικής ακμής που επιτρέπει τη μεταφορά. d: x(ad) = 6 x(ad) = 6-6 a e -6-2 6 e: x(ge) = 2 x(ge) = 2 c -6 d b 2 9 f g 5-2 = 3 Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [31 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows Κατασκευή ενδρικής Ροής (Ι) ΕΙΣΟ ΟΣ: Ενα δίκτυο με απαιτήσεις στους κόμβους, και ένα γεννητικό δένδρο του. Αυθαίρετη επιλογή κόμβου του δένδρου ως ρίζα. Εξισορρόπηση στους κόμβους, από τα φύλλα προς τη ρίζα: Ξεκινώντας από τα φύλλα, μεταφέρουμε την απαίτηση ροής στους γονείς, μέχρι να συρρικνώσουμε το δένδρο σε μια κορυφή. Οριστικοποιούμε τη ροή της δενδρικής ακμής που επιτρέπει τη μεταφορά. d: x(ad) = 6 x(ad) = 6-6 a e -6-2 6 e: x(ge) = 2 x(ge) = 2 d a: x(fa) = 6 x(fa) = 6-6 6 2 c b 9-6 = 3 f g 5-2 = 3 Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [31 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows Κατασκευή ενδρικής Ροής (Ι) ΕΙΣΟ ΟΣ: Ενα δίκτυο με απαιτήσεις στους κόμβους, και ένα γεννητικό δένδρο του. Αυθαίρετη επιλογή κόμβου του δένδρου ως ρίζα. Εξισορρόπηση στους κόμβους, από τα φύλλα προς τη ρίζα: Ξεκινώντας από τα φύλλα, μεταφέρουμε την απαίτηση ροής στους γονείς, μέχρι να συρρικνώσουμε το δένδρο σε μια κορυφή. Οριστικοποιούμε τη ροή της δενδρικής ακμής που επιτρέπει τη μεταφορά. d: x(ad) = 6 x(ad) = 6-6 a e -6-2 6 e: x(ge) = 2 x(ge) = 2 d a: x(fa) = 6 x(fa) = 6-6 3 6 2 f: x(fb) = 3 9-6 = 3 f c 3 b g 5-2 = 3 Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [31 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows Κατασκευή ενδρικής Ροής (Ι) ΕΙΣΟ ΟΣ: Ενα δίκτυο με απαιτήσεις στους κόμβους, και ένα γεννητικό δένδρο του. Αυθαίρετη επιλογή κόμβου του δένδρου ως ρίζα. Εξισορρόπηση στους κόμβους, από τα φύλλα προς τη ρίζα: Ξεκινώντας από τα φύλλα, μεταφέρουμε την απαίτηση ροής στους γονείς, μέχρι να συρρικνώσουμε το δένδρο σε μια κορυφή. Οριστικοποιούμε τη ροή της δενδρικής ακμής που επιτρέπει τη μεταφορά. d: x(ad) = 6 x(ad) = 6-6 a e -6-2 6 e: x(ge) = 2 x(ge) = 2 d a: x(fa) = 6 x(fa) = 6-6 -6+3 = -3 6 2 c b f: x(fb) = 3 6 9-6 = 3 3 c: x(bc) = 6 x(bc) = 6 5-2 = 3 f g Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [31 / 45]
Ροές Ελάχιστου Κόστους Min Cost Flows Κατασκευή ενδρικής Ροής (Ι) ΕΙΣΟ ΟΣ: Ενα δίκτυο με απαιτήσεις στους κόμβους, και ένα γεννητικό δένδρο του. Αυθαίρετη επιλογή κόμβου του δένδρου ως ρίζα. Εξισορρόπηση στους κόμβους, από τα φύλλα προς τη ρίζα: Ξεκινώντας από τα φύλλα, μεταφέρουμε την απαίτηση ροής στους γονείς, μέχρι να συρρικνώσουμε το δένδρο σε μια κορυφή. Οριστικοποιούμε τη ροή της δενδρικής ακμής που επιτρέπει τη μεταφορά. d: x(ad) = 6 x(ad) = 6-6 a e -6-2 6 e: x(ge) = 2 x(ge) = 2 d a: x(fa) = 6 x(fa) = 6-6 -6+3 = -3 6 2 c b f: x(fb) = 3 6 9-6 = 3 3 3 c: x(bc) = 6 x(bc) = 6-3+3 = 0 f g b: x(gb) = 3 x(gb) = 3 Σ. Κοντογιάννης ΠΜΣ/ΕΤΥ : Αλγόριθμοι & Βελτιστοποίηση (Φθινόπωρο 2016) 9η ενότητα [31 / 45]