Θέματα Αλγορίθμων Αλγόριθμοι και Εφαρμογές στον Πραγματικό Κόσμο CSE.UOI : Μεταπτυχιακό Μάθημα 9η Ενότητα: Προβλήματα ικτυακών Ροών Σπύρος Κοντογιάννης kontog@cse.uoi.gr Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Τετάρτη, 10 Μαΐου 2017
Ροές Ελάχιστου Κόστους Min Cost Flows Μονοπάτια και Κύκλοι σε Κατευθυνόμενο Γράφημα G = (V, A) a e d c b f g Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [2 / 53]
Ροές Ελάχιστου Κόστους 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 Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [2 / 53]
Ροές Ελάχιστου Κόστους 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 Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [2 / 53]
Ροές Ελάχιστου Κόστους 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 Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [2 / 53]
Ροές Ελάχιστου Κόστους 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 Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [2 / 53]
Ροές Ελάχιστου Κόστους 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 Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [2 / 53]
Μη συνδεδεμένο άκυκλο & συνδεδεμένο (όχι ισχυρά) συνδεδεμένο ισχυρά συνδεδεμένο Γεννητικό (συνδετικό) δένδρο: Ενα συνδεδεμένο, άκυκλο υπογράφημα που περιλαμβάνει όλες τις κορυφές του G. ΥΠΟΘΕΣΗ: Σε προβλήματα δικτυακών ροών θεωρούμε (χβτγ) ότι το δίκτυο είναι συνδεδεμένο γράφημα. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [3 / 53] Ροές Ελάχιστου Κόστους 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
Πρόβλημα Ανάθεσης Καθηκόντων (Ι) ΕΙΣΟ ΟΣ: n καθήκοντα πρέπει να ανατεθούν σε n εργαζόμενους. Η ανάθεση του καθήκοντος t i T = {t 1,... t n } στον εργαζόμενο w j W = {w 1,..., w n } έχει κόστος c i,j R. Πρέπει να γίνει ανάθεση όλων των καθηκόντων στους εργαζομένους, ώστε κάθε εργαζόμενος να αναλάβει ακριβώς ένα καθήκον. ΣΤΟΧΟΣ: Η εύρεση της ανάθεσης με το ελάχιστο συνολικό κόστος. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [4 / 53]
Πρόβλημα Ανάθεσης Καθηκόντων (Ι) ΕΙΣΟ ΟΣ: 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. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [4 / 53]
Πρόβλημα Ανάθεσης Καθηκόντων (Ι) ΕΙΣΟ ΟΣ: 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 Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [4 / 53]
Πρόβλημα Ανάθεσης Καθηκόντων (ΙΙ) Q Πώς λύνουμε το (IAP); Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [5 / 53]
Πρόβλημα Ανάθεσης Καθηκόντων (ΙΙ) Q Πώς λύνουμε το (IAP); A1 «Εύκολοι» τρόποι: Απαρίθμηση (enumeration) όλων των ακέραιων λύσεων, κι επιλογή εκείνης με το ελάχιστο κόστος. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [5 / 53]
Πρόβλημα Ανάθεσης Καθηκόντων (ΙΙ) Q Πώς λύνουμε το (IAP); A1 «Εύκολοι» τρόποι: Απαρίθμηση (enumeration) όλων των ακέραιων λύσεων, κι επιλογή εκείνης με το ελάχιστο κόστος. Απαγορευτικό πλήθος (n! εφικτές ακέραιες λύσεις). Πχ, για n = 20 εργαζόμενους και καθήκοντα, πρέπει να ελεγχθούν 20! = 2.432.902.008.176.640.000 >2 61 αναθέσεις. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [5 / 53]
Πρόβλημα Ανάθεσης Καθηκόντων (ΙΙ) Q Πώς λύνουμε το (IAP); A1 «Εύκολοι» τρόποι: Απαρίθμηση (enumeration) όλων των ακέραιων λύσεων, κι επιλογή εκείνης με το ελάχιστο κόστος. Απαγορευτικό πλήθος (n! εφικτές ακέραιες λύσεις). Πχ, για n = 20 εργαζόμενους και καθήκοντα, πρέπει να ελεγχθούν 20! = 2.432.902.008.176.640.000 >2 61 αναθέσεις. Εφαρμογή γενικών τεχνικών αναζήτησης βέλτιστης ακέραιας λύσης (πχ, Branch & Bound). Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [5 / 53]
Πρόβλημα Ανάθεσης Καθηκόντων (ΙΙ) Q Πώς λύνουμε το (IAP); A1 «Εύκολοι» τρόποι: Απαρίθμηση (enumeration) όλων των ακέραιων λύσεων, κι επιλογή εκείνης με το ελάχιστο κόστος. Απαγορευτικό πλήθος (n! εφικτές ακέραιες λύσεις). Πχ, για n = 20 εργαζόμενους και καθήκοντα, πρέπει να ελεγχθούν 20! = 2.432.902.008.176.640.000 >2 61 αναθέσεις. Εφαρμογή γενικών τεχνικών αναζήτησης βέλτιστης ακέραιας λύσης (πχ, Branch & Bound). Αποδεκτή μέθοδολογία, αν δεν υπάρχει καλύτερος τρόπος. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [5 / 53]
Πρόβλημα Ανάθεσης Καθηκόντων (ΙΙ) Q Πώς λύνουμε το (IAP); A1 «Εύκολοι» τρόποι: Απαρίθμηση (enumeration) όλων των ακέραιων λύσεων, κι επιλογή εκείνης με το ελάχιστο κόστος. Απαγορευτικό πλήθος (n! εφικτές ακέραιες λύσεις). Πχ, για n = 20 εργαζόμενους και καθήκοντα, πρέπει να ελεγχθούν 20! = 2.432.902.008.176.640.000 >2 61 αναθέσεις. Εφαρμογή γενικών τεχνικών αναζήτησης βέλτιστης ακέραιας λύσης (πχ, Branch & Bound). Αποδεκτή μέθοδολογία, αν δεν υπάρχει καλύτερος τρόπος. A2 Πιο αποδοτικός τρόπος: Υπάρχει; Από τι εξαρτάται; Είναι ανιχνεύσιμο αυτό; Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [5 / 53]
Ακεραιότητα Λύσεων Γραμμιμών Συστημάτων Εξισώσεων Q Εστω ακέραιο n n μητρώο A Z n n, και ακέραιο διάνυσμα a Z n. Πότε το σύστημα γραμμικών εξισώσεων Ax = a έχει ακέραιες λύσεις; Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [6 / 53]
Ακεραιότητα Λύσεων Γραμμιμών Συστημάτων Εξισώσεων 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. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [6 / 53]
Ακεραιότητα Λύσεων Γραμμιμών Συστημάτων Εξισώσεων 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. ΙΚΑΝΗ (ΟΧΙ ΑΝΑΓΚΑΙΑ) ΣΥΝΘΗΚΗ ΑΚΕΡΑΙΟΤΗΤΑΣ Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [6 / 53]
Ακεραιότητα Λύσεων Γραμμιμών Συστημάτων Εξισώσεων 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 Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [6 / 53]
Total Unimodularity: Μια Χρήσιμη Ιδιότητα ΟΡΙΣΜΟΣ: Ενα μητρώο A είναι totally unimodular ΑΝΝ για κάθε τετραγωνικό υπομητρώο του B ισχύει: det(b) { 1, 0, 1}. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [7 / 53]
Total Unimodularity: Μια Χρήσιμη Ιδιότητα ΟΡΙΣΜΟΣ: Ενα μητρώο A είναι totally unimodular ΑΝΝ για κάθε τετραγωνικό υπομητρώο του B ισχύει: det(b) { 1, 0, 1}. ΘΕΩΡΗΜΑ Αν το A είναι totally unimodular και a Z n, τότε κάθε κορυφή του πουλυέδρου P = {x : Ax a} είναι ακέραιο διάνυσμα. [Total Unimodularity Ακεραιότητα] Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [7 / 53]
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 χαρακτηρίζεται από ένα ελάχιστο σύνολο γραμμικά ανεξάρτητων και δεσμευτικών ανισοτήτων. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [7 / 53]
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, το υποσύστημα γραμμικών ανισοτήτων. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [7 / 53]
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). Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [7 / 53]
ΠΑΡΑ ΕΙΓΜΑ: Totally Unimodular Μητρώο A = 1 1 0 0 1 1 0 0 1 Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [8 / 53]
ΠΑΡΑ ΕΙΓΜΑ: Totally Unimodular Μητρώο A = 1 1 0 0 1 1 0 0 1 Εύκολα διαπιστώνεται ότι πρόκειται για totally unimodular μητρώο. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [8 / 53]
ΠΑΡΑ ΕΙΓΜΑ: 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 Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [8 / 53]
ΠΑΡΑ ΕΙΓΜΑ: ΟΧΙ Totally Unimodular Μητρώο B = 1 1 0 0 1 1 1 0 1 Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [9 / 53]
ΠΑΡΑ ΕΙΓΜΑ: ΟΧΙ Totally Unimodular Μητρώο B = 1 1 0 0 1 1 1 0 1 ΟΧΙ totally unimodular μητρώο: det(b) = 2. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [9 / 53]
ΠΑΡΑ ΕΙΓΜΑ: ΟΧΙ Totally Unimodular Μητρώο B = 1 1 0 0 1 1 1 0 1 ΟΧΙ totally unimodular μητρώο: det(b) = 2. Ενδέχεται να μην είναι εξασφαλισμένη η ακεραιότητα κορυφών του {x : Bx = b; x 0}. Πχ: Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [9 / 53]
ΠΑΡΑ ΕΙΓΜΑ: ΟΧΙ 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 Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [9 / 53]
Επιλυσιμότητα (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) έχουν βέλτιστη λύση με ακέραιες τιμές. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [10 / 53]
Επιλυσιμότητα (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 Μητρώο Συντελεστών] Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [10 / 53]
Επιλυσιμότητα (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} που συμβαίνει να έχει ακέραιες τιμές. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [11 / 53]
Επιλυσιμότητα (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 ; Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [11 / 53]
Επιλυσιμότητα (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). Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [11 / 53]
Επιλυσιμότητα (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) Σπύρος Κοντογιάννης Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [12 / 53]
Κατευθυνόμενα Γραφήματα (Κατευθυνόμενο) Γράφημα: ιατεταγμένος ζεύγος G = (V, A) όπου V είναι ένα σύνολο διακεκριμένων αντικειμένων (κορυφές), και A V V ένα σύνολο κατευθυνόμενων ακμών (τόξων) που ορίζουν μια διμελή σχέση στο V. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [13 / 53]
Κατευθυνόμενα Γραφήματα (Κατευθυνόμενο) Γράφημα: ιατεταγμένος ζεύγος 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, διαφορετικά. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [13 / 53]
Παράδειγμα Αναπαράστασης Γραφήματος με Πίνακα Πρόσπτωσης Α Β C F E D Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [14 / 53]
Παράδειγμα Αναπαράστασης Γραφήματος με Πίνακα Πρόσπτωσης Α Β 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 Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [14 / 53]
Θεμελιώδεις Ιδιότητες Γραφημάτων (Ι) ΘΕΩΡΗΜΑ Για οποιοδήποτε κατευθυνόμενο γράφημα G = (V, A) (δίχως βρόχους), ο πίνακας πρόσπτωσης M G είναι totally unimodular. [Total Unimodularity του Πίνακα Πρόσπτωσης] Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [15 / 53]
Θεμελιώδεις Ιδιότητες Γραφημάτων (Ι) ΘΕΩΡΗΜΑ Για οποιοδήποτε κατευθυνόμενο γράφημα G = (V, A) (δίχως βρόχους), ο πίνακας πρόσπτωσης M G είναι totally unimodular. [Total Unimodularity του Πίνακα Πρόσπτωσης] ΕΞΗΓΗΣΗ: Κάνουμε μαθηματική επαγωγή στο μέγεθος 1 k n του τετραγωνικού k k υποπίνακα του M G που εξετάζουμε. [Total Unimodularity του Πίνακα Πρόσπτωσης] Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [15 / 53]
Θεμελιώδεις Ιδιότητες Γραφημάτων (Ι) ΘΕΩΡΗΜΑ Για οποιοδήποτε κατευθυνόμενο γράφημα G = (V, A) (δίχως βρόχους), ο πίνακας πρόσπτωσης M G είναι totally unimodular. [Total Unimodularity του Πίνακα Πρόσπτωσης] ΕΞΗΓΗΣΗ: Κάνουμε μαθηματική επαγωγή στο μέγεθος 1 k n του τετραγωνικού k k υποπίνακα του M G που εξετάζουμε. [Total Unimodularity του Πίνακα Πρόσπτωσης] [Βάση] Για k = 1, είναι προφανές από τον ορισμό του M G. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [15 / 53]
Θεμελιώδεις Ιδιότητες Γραφημάτων (Ι) ΘΕΩΡΗΜΑ Για οποιοδήποτε κατευθυνόμενο γράφημα G = (V, A) (δίχως βρόχους), ο πίνακας πρόσπτωσης M G είναι totally unimodular. [Total Unimodularity του Πίνακα Πρόσπτωσης] ΕΞΗΓΗΣΗ: Κάνουμε μαθηματική επαγωγή στο μέγεθος 1 k n του τετραγωνικού k k υποπίνακα του M G που εξετάζουμε. [Total Unimodularity του Πίνακα Πρόσπτωσης] [Βάση] Για k = 1, είναι προφανές από τον ορισμό του M G. [Επαγωγική Υπόθεση] Για k {1,..., n 1}, κάθε m m υπομητρώο C (1 m k) έχει: det(c) { 1, 0, 1}. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [15 / 53]
Θεμελιώδεις Ιδιότητες Γραφημάτων (Ι) ΘΕΩΡΗΜΑ Για οποιοδήποτε κατευθυνόμενο γράφημα G = (V, A) (δίχως βρόχους), ο πίνακας πρόσπτωσης M G είναι totally unimodular. [Total Unimodularity του Πίνακα Πρόσπτωσης] ΕΞΗΓΗΣΗ: Κάνουμε μαθηματική επαγωγή στο μέγεθος 1 k n του τετραγωνικού k k υποπίνακα του M G που εξετάζουμε. [Total Unimodularity του Πίνακα Πρόσπτωσης] [Βάση] Για k = 1, είναι προφανές από τον ορισμό του M G. [Επαγωγική Υπόθεση] Για k {1,..., n 1}, κάθε m m υπομητρώο C (1 m k) έχει: det(c) { 1, 0, 1}. [Επαγωγικό Βήμα] Για τον (k + 1) (k + 1) υποπίνακα D διακρίνουμε τρεις περιπτώσεις: [Περίπτωση 1] Υπάρχει μηδενική στήλη det(d) = 0. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [15 / 53]
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙ) ΕΞΗΓΗΣΗ: [Total Unimodularity του Πίνακα Πρόσπτωσης] [Επαγωγικό Βήμα] (συνέχεια) [Περίπτωση 2] εν υπάρχει μηδενική στήλη, και υπάρχει στήλη με ΕΝΑ μη μηδενικό στοιχείο στο M G. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [16 / 53]
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙ) ΕΞΗΓΗΣΗ: [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] Κάθε στήλη του D έχει ακριβώς δύο μη μηδενικά στοιχεία. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [16 / 53]
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙ) ΕΞΗΓΗΣΗ: [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] Κάθε στήλη του D έχει ακριβώς δύο μη μηδενικά στοιχεία. Ο ακόλουθος μη μηδενικός γραμμικός συνδυασμός (όλων) των γραμμών του D δίνει το σημείο 0: nk=1 D[k, *] = 0. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [16 / 53]
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙ) ΕΞΗΓΗΣΗ: [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] Κάθε στήλη του D έχει ακριβώς δύο μη μηδενικά στοιχεία. Ο ακόλουθος μη μηδενικός γραμμικός συνδυασμός (όλων) των γραμμών του D δίνει το σημείο 0: nk=1 D[k, *] = 0. Υπάρχει γραμμική εξάρτηση ως προς τις γραμμές του D. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [16 / 53]
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙ) ΕΞΗΓΗΣΗ: [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] Κάθε στήλη του D έχει ακριβώς δύο μη μηδενικά στοιχεία. Ο ακόλουθος μη μηδενικός γραμμικός συνδυασμός (όλων) των γραμμών του D δίνει το σημείο 0: nk=1 D[k, *] = 0. Υπάρχει γραμμική εξάρτηση ως προς τις γραμμές του D. det(d) = 0. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [16 / 53]
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙ) ΕΞΗΓΗΣΗ: [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] Κάθε στήλη του D έχει ακριβώς δύο μη μηδενικά στοιχεία. Ο ακόλουθος μη μηδενικός γραμμικός συνδυασμός (όλων) των γραμμών του D δίνει το σημείο 0: nk=1 D[k, *] = 0. Υπάρχει γραμμική εξάρτηση ως προς τις γραμμές του D. det(d) = 0. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [16 / 53]
Μη κατευθυνόμενα Γραφήματα Μη κατευθυνόμενο γράφημα G = (V, E): V είναι ένα σύνολο διακεκριμένων αντικειμένων (κορυφές), και E {{u, v} : u, v V} ένα σύνολο μη κατευθυνόμενων ακμών που ορίζουν μια συμετρική διμελή σχέση στο V. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [17 / 53]
Μη κατευθυνόμενα Γραφήματα Μη κατευθυνόμενο γράφημα 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, διαφορετικά. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [17 / 53]
Μη κατευθυνόμενα Γραφήματα Μη κατευθυνόμενο γράφημα 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}. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [17 / 53]
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙΙ) ΘΕΩΡΗΜΑ [Total Unimodularity Μη Κατευθυνόμενων ιμερών Γραφημάτων] Για κάθε μη κατευθυνόμενο, διμερές γράφημα G = (V = X Y, E), το μητρώο πρόσπτωσης M G είναι totally unimodular. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [18 / 53]
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙΙ) ΘΕΩΡΗΜΑ [Total Unimodularity Μη Κατευθυνόμενων ιμερών Γραφημάτων] Για κάθε μη κατευθυνόμενο, διμερές γράφημα G = (V = X Y, E), το μητρώο πρόσπτωσης M G είναι totally unimodular. ΕΞΗΓΗΣΗ: Επαγωγή στη διάσταση ενός k k υπομητρώου του M G. [Βάση] Για k = 1, προφανές. [Total Unimodularity Μη Κατευθυνόμενων ιμερών Γραφημάτων] Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [18 / 53]
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙΙ) ΘΕΩΡΗΜΑ [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 Μη Κατευθυνόμενων ιμερών Γραφημάτων] Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [18 / 53]
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙΙ) ΘΕΩΡΗΜΑ [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. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [18 / 53]
Θεμελιώδεις Ιδιότητες Γραφημάτων (ΙΙΙ) Πίνακα Πρόσπτωσης (ΙΙ) ΕΞΗΓΗΣΗ: έχει που που νου) ιο, [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 Σπύρος Κοντογιάννης Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [19 / 53] 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 Σπύρος Κοντογιάννης Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [19 / 53] 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 Σπύρος Κοντογιάννης Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [19 / 53] 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 Σπύρος Κοντογιάννης Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [19 / 53] 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 Σπύρος Κοντογιάννης Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [19 / 53] b2 b 1 b 2 b 3 b 4
Μητρώα Πρόσπτωσης Ασθενώς Συνδεδεμένων Γραφημάτων (Ι) ΘΕΩΡΗΜΑ Το μητρώο πρόσπτωσης ενός ασθενώς συνδεδεμένου (κατευθυνόμενου) γραφήματος D = (V, A) είναι V 1. [Βαθμός Μητρώου Πρόσπτωσης] Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [20 / 53]
Μητρώα Πρόσπτωσης Ασθενώς Συνδεδεμένων Γραφημάτων (Ι) ΘΕΩΡΗΜΑ Το μητρώο πρόσπτωσης ενός ασθενώς συνδεδεμένου (κατευθυνόμενου) γραφήματος D = (V, A) είναι V 1. [Βαθμός Μητρώου Πρόσπτωσης] ΕΞΗΓΗΣΗ: Στο υποκείμενο (μη κατευθυνόμενο) γράφημα G = (V, E) ως προς το D, υπάρχει γεννητικό δένδρο T. Το T έχει V = n κορυφές, n 1 ακμές, και τουλάχιστον δύο κορυφές βαθμού 1 (φύλλα). Εστω d T (v 1 ) = 1. Το T 1 = T v 1 είναι επίσης δένδρο. Εστω ότι η v 2 είναι φύλλο του T 1. Το T 2 = T 1 v 2 είναι επίσης δένδρο.... Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [20 / 53]
Μητρώα Πρόσπτωσης Ασθενώς Συνδεδεμένων Γραφημάτων (ΙΙ) ΕΞΗΓΗΣΗ: (συνέχεια) Μητρώο πρόσπτωσης του T: M T = v 1 ±1 0 0 v 2 M T1 = v 1 ±1 0 0 v 1 ±1 0 v 3 M T2 = = v 1 ±1 0 0 0 v 2 ±1 0 0......... v n 1 ±1 v n Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [21 / 53]
Μητρώα Πρόσπτωσης Ασθενώς Συνδεδεμένων Γραφημάτων (ΙΙ) ΕΞΗΓΗΣΗ: (συνέχεια) Μητρώο πρόσπτωσης του T: M T = v 1 ±1 0 0 v 2 M T1 = v 1 ±1 0 0 v 1 ±1 0 v 3 M T2 = = v 1 ±1 0 0 0 v 2 ±1 0 0......... v n 1 ±1 v n rank(m T ) = n 1 rank(d) n 1. i V M[i, *] = 0 rank(d) <n. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [21 / 53]
Μητρώα Πρόσπτωσης Ασθενώς Συνδεδεμένων Γραφημάτων (ΙΙ) ΕΞΗΓΗΣΗ: (συνέχεια) Μητρώο πρόσπτωσης του T: M T = v 1 ±1 0 0 v 2 M T1 = v 1 ±1 0 0 v 1 ±1 0 v 3 M T2 = = v 1 ±1 0 0 0 v 2 ±1 0 0......... v n 1 ±1 v n rank(m T ) = n 1 rank(d) n 1. i V M[i, *] = 0 rank(d) <n. rank(d) = n 1. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [21 / 53]
Μητρώα Πρόσπτωσης Ασθενώς Συνδεδεμένων Γραφημάτων (ΙΙ) ΕΞΗΓΗΣΗ: (συνέχεια) Μητρώο πρόσπτωσης του T: M T = v 1 ±1 0 0 v 2 M T1 = v 1 ±1 0 0 v 1 ±1 0 v 3 M T2 = = v 1 ±1 0 0 0 v 2 ±1 0 0......... v n 1 ±1 v n rank(m T ) = n 1 rank(d) n 1. i V M[i, *] = 0 rank(d) <n. rank(d) = n 1. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [21 / 53]
Μητρώα Πρόσπτωσης Ασθενώς Συνδεδεμένων Γραφημάτων (ΙΙΙ) ΠΟΡΙΣΜΑ [Επέκταση Μητρώου Πρόσπτωσης] Για ασθενώς συνδεδεμένο (κατευθυνόμενο) γράφημα D = (V, E), έστω v n μια αυθαίρετη κορυφή (που εκλαμβάνουμε ως «ρίζα» κάθε γεννητικού δένδρου του D). Τότε: 1 Το μητρώο A = [M D, e n ] έχει βαθμό V = n και είναι totally unimodular. Επίσης, οποιαδήποτε βάση του A περιλαμβάνει οπωσδήποτε και τη μεταβλητή z που αντιστοιχεί στη στήλη e n. 2 Η προσθήκη (στηλών και) βοηθητικών (slack, auxiliary) μεταβλητών στο σύστημα Ax a δεν αναιρεί την ιδιότητα του totally unimodularity. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [22 / 53]
Μητρώα Πρόσπτωσης Ασθενώς Συνδεδεμένων Γραφημάτων (IV) ΘΕΩΡΗΜΑ Για ασθενώς συνδεδεμένο (κατευθυνόμενο) γράφημα D = (V, E) με m ακμές και n κορυφές, έστω αυθαίρετη «ρίζα» v n και οποιαδήποτε βάση του μητρώου A = [M D, e n ]. Τότε, η β αντιστοιχεί σε ένα γεννητικό δένδρο του D. [Βάσεις Μητρώων Πρόσπτωσης] Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [23 / 53]
Μητρώα Πρόσπτωσης Ασθενώς Συνδεδεμένων Γραφημάτων (IV) ΘΕΩΡΗΜΑ Για ασθενώς συνδεδεμένο (κατευθυνόμενο) γράφημα D = (V, E) με m ακμές και n κορυφές, έστω αυθαίρετη «ρίζα» v n και οποιαδήποτε βάση του μητρώου A = [M D, e n ]. Τότε, η β αντιστοιχεί σε ένα γεννητικό δένδρο του D. [Βάσεις Μητρώων Πρόσπτωσης] ΕΞΗΓΗΣΗ: Εστω οποιαδήποτε βάση β { A[*, 1],..., A[*, m], e n }. β = n και e n β. Οι ακμές του β e n επάγουν στο D ένα ασθενώς συνδεδεμένο υπογράφημα: Αν όχι, τότε η συνιστώσα που δεν περιέχει τη v n θα ήταν υπογράφημα για το οποίο το άθροισμα ακμών στο M D (άρα και στο A) δίνει 0 (άτοπο γιατί υποδεικνύει εξάρτηση στηλών της βάσης). Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [23 / 53]
Μητρώα Πρόσπτωσης Ασθενώς Συνδεδεμένων Γραφημάτων (IV) ΘΕΩΡΗΜΑ Για ασθενώς συνδεδεμένο (κατευθυνόμενο) γράφημα D = (V, E) με m ακμές και n κορυφές, έστω αυθαίρετη «ρίζα» v n και οποιαδήποτε βάση του μητρώου A = [M D, e n ]. Τότε, η β αντιστοιχεί σε ένα γεννητικό δένδρο του D. [Βάσεις Μητρώων Πρόσπτωσης] ΕΞΗΓΗΣΗ: Εστω οποιαδήποτε βάση β { A[*, 1],..., A[*, m], e n }. β = n και e n β. Οι ακμές του β e n επάγουν στο D ένα ασθενώς συνδεδεμένο υπογράφημα: Αν όχι, τότε η συνιστώσα που δεν περιέχει τη v n θα ήταν υπογράφημα για το οποίο το άθροισμα ακμών στο M D (άρα και στο A) δίνει 0 (άτοπο γιατί υποδεικνύει εξάρτηση στηλών της βάσης). Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [23 / 53]
Ιδιότητα ικτύου Ενα τετραγωνικό μητρώο A { 1, 0, 1} n n έχει την ιδιότητα δικτύου (network property) αν κάθε στήλη του A έχει το πολύ ένα κελί με τιμή 1, το πολύ ένα κελί με τιμή 1, και όλα τα υπόλοιπα κελιά με τιμή 0. ηλαδή, το άθροισμα απόλυτων τιμών των κελιών του, ανήκει στο {0, 1, 2} και το άθροισμα των κελιών του (δίχως απόλυτες τιμές) ανήκει στο { 1, 0, 1}. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [24 / 53]
Ιδιότητα ικτύου Ενα τετραγωνικό μητρώο A { 1, 0, 1} n n έχει την ιδιότητα δικτύου (network property) αν κάθε στήλη του A έχει το πολύ ένα κελί με τιμή 1, το πολύ ένα κελί με τιμή 1, και όλα τα υπόλοιπα κελιά με τιμή 0. ηλαδή, το άθροισμα απόλυτων τιμών των κελιών του, ανήκει στο {0, 1, 2} και το άθροισμα των κελιών του (δίχως απόλυτες τιμές) ανήκει στο { 1, 0, 1}. ΠΑΡΑΤΗΡΗΣΗ: Η κλάση των τετραγωνικών totally unimodular μητρώων, είναι υποκλάση των μητρώων με την ιδιότητα δικτύου. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [24 / 53]
Ροές Ελάχιστου Κόστους 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 Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [25 / 53]
a = ij A, c ij Z είναι το κόστος μεταφοράς (ανά μονάδα ροής του αγαθού) στην ακμή a, ενώ `ij, u ij N είναι κάτω και άνω φράγματα στη χωρητικότητα (capacity) ως προς την επιτρεπόμενη ροή που κινείται κατά μήκος του a. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [25 / 53] Ροές Ελάχιστου Κόστους 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, `ij x ij u ij Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [26 / 53]
Ροές Ελάχιστου Κόστους Min Cost Flows Εφικτές Ροές Εφικτή Ροή: Οποιοδήποτε διάνυσμα x = (x ij ) N A τ.ώ.: να ικανοποιούνται οι εξής περιορισμοί: Περιορισμοί Χωρητικότητας (Capacity): ij A, `ij x ij u ij Περιορισμοί Εξισορρόπησης Ροών (Flow Balance): i V, ik A x ik ki A x ki = b i Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [26 / 53]
Ροές Ελάχιστου Κόστους Min Cost Flows Εφικτές Ροές Εφικτή Ροή: Οποιοδήποτε διάνυσμα x = (x ij ) N A τ.ώ.: να ικανοποιούνται οι εξής περιορισμοί: Περιορισμοί Χωρητικότητας (Capacity): ij A, `ij x ij u ij Περιορισμοί Εξισορρόπησης Ροών (Flow Balance): ij A: `ij... u ij = c ij = x ij = 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 Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [26 / 53] -2
Ροές Ελάχιστου Κόστους Min Cost Flows Εφικτές Ροές Εφικτή Ροή: Οποιοδήποτε διάνυσμα x = (x ij ) N A τ.ώ.: να ικανοποιούνται οι εξής περιορισμοί: Περιορισμοί Χωρητικότητας (Capacity): ij A, `ij x ij u ij Περιορισμοί Εξισορρόπησης Ροών (Flow Balance): ij A: `ij... u ij = c ij = x ij = 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 Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [26 / 53] -2
Ροές Ελάχιστου Κόστους Min Cost Flows Το (MCF) ως Ακέραιο ΓΠ ΕΙΣΟ ΟΣ: G = (V, A), c Z A, `, 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 `ij, ij A x ij u ij, ij A x ij N, ij A Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [27 / 53]
Ροές Ελάχιστου Κόστους Min Cost Flows Το (MCF) ως Ακέραιο ΓΠ ΕΙΣΟ ΟΣ: G = (V, A), c Z A, `, 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 `ij, ij A x ij u ij, ij A x ij N, ij A (MCF) minimize { c x : M G x = b; u x `; x N A } Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [27 / 53]
Ροές Ελάχιστου Κόστους Min Cost Flows Μερικές Απλοποιήσεις του (MCF) 1 Τα κάτω φράγματα χωρητικότητας μπορούν να απαλειφθούν, δίχως βλάβη της γενικότητας. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [28 / 53]
Ροές Ελάχιστου Κόστους Min Cost Flows Μερικές Απλοποιήσεις του (MCF) 1 Τα κάτω φράγματα χωρητικότητας μπορούν να απαλειφθούν, δίχως βλάβη της γενικότητας. Αλλαγή μεταβλητής: ij A, f ij = x ij `ij N Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [28 / 53]
Ροές Ελάχιστου Κόστους Min Cost Flows Μερικές Απλοποιήσεις του (MCF) 1 Τα κάτω φράγματα χωρητικότητας μπορούν να απαλειφθούν, δίχως βλάβη της γενικότητας. Αλλαγή μεταβλητής: ij A, f ij = x ij `ij N 2 Τα άνω φράγματα χωρητικότητας μπορούν να απαλειφθούν, με κατάλληλο μετασχηματισμό: i bi c ij u ij j bj i bi c ij 0 k -uij j bj+uij Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [28 / 53]
Ροές Ελάχιστου Κόστους Min Cost Flows Μερικές Απλοποιήσεις του (MCF) 1 Τα κάτω φράγματα χωρητικότητας μπορούν να απαλειφθούν, δίχως βλάβη της γενικότητας. Αλλαγή μεταβλητής: ij A, f ij = x ij `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 i c ij 0 k j bi -uij bj+uij Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [28 / 53]
Ροές Ελάχιστου Κόστους Min Cost Flows Μερικές Απλοποιήσεις του (MCF) 1 Τα κάτω φράγματα χωρητικότητας μπορούν να απαλειφθούν, δίχως βλάβη της γενικότητας. Αλλαγή μεταβλητής: ij A, f ij = x ij `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 +s ij = u ij i bi c ij u ij j bj i c ij 0 k j bi -uij bj+uij Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [28 / 53]
Ροές Ελάχιστου Κόστους Min Cost Flows Μερικές Απλοποιήσεις του (MCF) 1 Τα κάτω φράγματα χωρητικότητας μπορούν να απαλειφθούν, δίχως βλάβη της γενικότητας. Αλλαγή μεταβλητής: ij A, f ij = x ij `ij N 2 Τα άνω φράγματα χωρητικότητας μπορούν να απαλειφθούν, με κατάλληλο μετασχηματισμό: f ij + it A\{ij} f it ti A f ti = b i jt A f jt +f jk u ij tj A\{ij} f tj = b j f ij +f jk = u ij i bi c ij u ij j bj i c ij 0 k j bi -uij bj+uij Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [28 / 53]
Ροές Ελάχιστου Κόστους Min Cost Flows Μερικές Απλοποιήσεις του (MCF) 1 Τα κάτω φράγματα χωρητικότητας μπορούν να απαλειφθούν, δίχως βλάβη της γενικότητας. Αλλαγή μεταβλητής: ij A, f ij = x ij `ij N 2 Τα άνω φράγματα χωρητικότητας μπορούν να απαλειφθούν, με κατάλληλο μετασχηματισμό: f ik + it A\{ij} f it ti A f ti = b i jt A f jt +f jk u ij tj A\{ij} f tj = b j f ij +f jk = u ij i bi c ij u ij j bj i c ij 0 k j bi -uij bj+uij Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [28 / 53]
Ροές Ελάχιστου Κόστους Min Cost Flows Μερικές Απλοποιήσεις του (MCF) 1 Τα κάτω φράγματα χωρητικότητας μπορούν να απαλειφθούν, δίχως βλάβη της γενικότητας. Αλλαγή μεταβλητής: ij A, f ij = x ij `ij N 2 Τα άνω φράγματα χωρητικότητας μπορούν να απαλειφθούν, με κατάλληλο μετασχηματισμό: f ik + it A\{ij} f it ti A f ti = b i jt A f jt +f jk u ij tj A\{ij} f tj = b j f ij +f jk = 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 Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [28 / 53] -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 Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [29 / 53]
Ροές Ελάχιστου Κόστους 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 } Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [29 / 53]
Ροές Ελάχιστου Κόστους 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 του μητρώου συντελεστών!!! Ισοδύναμο (χαλαρωμένο) ΓΠ. Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [29 / 53]
Ροές Ελάχιστου Κόστους Min Cost Flows υϊκό Ροών Ελαχίστου Κόστους Πρωτεύον πρόγραμμα ροών ελάχιστου κόστους: (UMCF) minimize { c f : M G f = b; f 0 } υϊκό πρόγραμμα; Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [30 / 53]
Ροές Ελάχιστου Κόστους Min Cost Flows υϊκό Ροών Ελαχίστου Κόστους Πρωτεύον πρόγραμμα ροών ελάχιστου κόστους: (UMCF) minimize { c f : M G f = b; f 0 } υϊκό πρόγραμμα; (DMCF) maximize { b y : (M G ) y c } Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [30 / 53]
Ροές Ελάχιστου Κόστους Min Cost Flows υϊκό Ροών Ελαχίστου Κόστους Πρωτεύον πρόγραμμα ροών ελάχιστου κόστους: (UMCF) minimize { c f : M G f = b; f 0 } υϊκό πρόγραμμα; (DMCF) maximize { b y : (M G ) y + z = c; z 0 } Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [30 / 53]
Ροές Ελάχιστου Κόστους 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 i y j + z ij = c ij, ij A z ij 0, ij A Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [30 / 53]
Ροές Ελάχιστου Κόστους 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 i y j + z ij = c ij, ij A z ij 0, ij A Συνθήκη Βελτιστότητας (Συμπληρωματική Χαλαρότητα); Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [30 / 53]
Ροές Ελάχιστου Κόστους 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 i y j + z ij = c ij, ij A z ij 0, ij A Συνθήκη Βελτιστότητας (Συμπληρωματική Χαλαρότητα); ij A, x ij z ij = 0 Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [30 / 53]
Ροές Ελάχιστου Κόστους Min Cost Flows Ισορροπημένες & ενδρικές Ροές Εφικτή Ροή: i V, ij A f ij ji A f ji = b i ij A, fij 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 Σ. Κοντογιάννης CSE.UOI/GRAD: Αλγόριθμοι για τον Πραγματικό Κόσμο (9η ενότητα) [31 / 53] 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