«Πρόβλημα μέγιστης ροής» Maximum flow problem Κηρυττόπουλος Κωνσταντίνος PhD, Dipl. Eng., PMP
Στόχος προβλημάτων ροής Βέλτιστη αξιοποίηση κλάδων ενός δικτύου, προσανατολισμένου ή μη, για την επίτευξη μέγιστης ροής από ένα κόμβο σε ένα κόμβο Β. Kirytopoulos K. contact: www.kirytopoulos.eu date: //1 Presentation for:
Σχετικά προβλήματα Μεγιστοποίηση διανομής από εργοστάσιο σε σημεία πώλησης Μεγιστοποίηση διακίνησης πετρελαίου / φυσικού αερίου μέσω δικτύου αγωγών Μεγιστοποίηση διακίνησης πόσιμου νερού σε σύστημα υδραγωγείων Μεγιστοποίηση ροής αυτοκινήτων σε δίκτυο κυκλοφορίας Kirytopoulos K. contact: www.kirytopoulos.eu date: //1 Presentation for:
πίλυση προβλημάτων Θέλετε να μεταφέρετε με τραίνο ημιέτοιμα προϊόντα από το εργοστάσιο στο εργοστάσιο. Οι δυνατές διαδρομές και η εβδομαδιαία δυναμικότητα κάθε διαδρομής σε βαγόνια για την εταιρεία σας μεταξύ των ενδιάμεσων σταθμών, φαίνεται στο ακόλουθο Σχήμα: Β 8 Βρείτε το μέγιστο αριθμό βαγονιών που μπορείτε να στείλετε εβδομαδιαίως από το εργοστάσιο στο εργοστάσιο και τη διαδρομή με την οποία θα το επιτύχετε. Kirytopoulos K. contact: www.kirytopoulos.eu date: //1 Presentation for:
λγόριθμος επίλυσης λγόριθμος Ford L. & Fulkerson D. ναπτύχθηκε κατά τη διάρκεια μελέτης προβλημάτων μεταφοράς στη RAND Corp. Το αρχικό πρόβλημα αφορούσε τη μεταφορά φορτίων με τραίνα μεταξύ πόλεων με δεδομένα τα όρια εξυπηρέτησης των γραμμών. L. R. Ford Jr D. R. Fulkerson Kirytopoulos K. contact: www.kirytopoulos.eu date: //1 Presentation for:
λγόριθμος επίλυσης Συμβολισμοί Κόμβος ναπομένουσα δυναμικότητα μεταφοράς από το στο ναπομένουσα δυναμικότητα μεταφοράς από το στο κμή = δρόμος μεταφοράς Kirytopoulos K. contact: www.kirytopoulos.eu date: //1 Presentation for:
λγόριθμος Ford & Fulkerson 1. ντοπίστε έναν (οποιοδήποτε) δρόμο από τον οποίο είναι δυνατή η θετική ροή φορτίου από τον κόμβο αφετηρίας (source) στον κόμβο προορισμού (sink).. Υπολογίστε το ύψος της ροής f ως την ελάχιστη απομένουσα δυναμικότητα μεταφοράς των κόμβων που απαρτίζουν το δρόμο στην κατεύθυνση από την έναρξη στον προορισμό.. φαιρέστε τη ροή f από την εναπομένουσα δυναμικότητα κάθε κόμβου του δρόμου στην κατεύθυνση από την έναρξη στον προορισμό και προσθέστε τη στην αντίθετη κατεύθυνση σε κάθε κόμβο.. παναλάβετε τα βήματα 1 έως έως ότου να μην είναι πλέον δυνατή η θετική ροή φορτίου. Kirytopoulos K. contact: www.kirytopoulos.eu date: //1 Presentation for:
λγόριθμος F&F - Παράδειγμα Θέλετε να μεταφέρετε με τραίνο ημιέτοιμα προϊόντα από το εργοστάσιο στο εργοστάσιο. Οι δυνατές διαδρομές και η εβδομαδιαία δυναμικότητα κάθε διαδρομής σε βαγόνια για την εταιρεία σας μεταξύ των ενδιάμεσων σταθμών, φαίνεται στο ακόλουθο Σχήμα: Β 8 Βρείτε το μέγιστο αριθμό βαγονιών που μπορείτε να στείλετε εβδομαδιαίως από το εργοστάσιο στο εργοστάσιο και τη διαδρομή με την οποία θα το επιτύχετε. Kirytopoulos K. contact: www.kirytopoulos.eu date: //1 Presentation for: 8
λγόριθμος F&F - Παράδειγμα Β 8 Όπου δε μας δίνεται δυναμικότητα ροής τη θέτουμε ίση με. Kirytopoulos K. contact: www.kirytopoulos.eu date: //1 Presentation for: 9
λγόριθμος F&F - Παράδειγμα Β 8 πιλέγω το δρόμο Μέγιστη ροή: Βήμα 1 >Β>> min{,8,}= Kirytopoulos K. contact: www.kirytopoulos.eu date: //1 Presentation for: 1
λγόριθμος F&F - Παράδειγμα Β 8 8 1 8 πιλέγω το δρόμο Μέγιστη ροή: Βήμα 1 >Β>> min{,8,}= Βήμα >> min{,}= Kirytopoulos K. contact: www.kirytopoulos.eu date: //1 Presentation for: 11
λγόριθμος F&F - Παράδειγμα 8 Β 1 1 8 8 1 1 πιλέγω το δρόμο: Μέγιστη ροή: Βήμα 1 >Β>> min{,8,}= Βήμα >> min{,}= Βήμα >> min{,}= Kirytopoulos K. contact: www.kirytopoulos.eu date: //1 Presentation for: 1
λγόριθμος F&F - Παράδειγμα 8 Β 1 1 1 1 1 8 8 1 1 πιλέγω το δρόμο: Μέγιστη ροή: Βήμα 1 >Β>> min{,8,}= Βήμα >> min{,}= Βήμα > min{,}= Βήμα >Β>> min{,,1}=1 Kirytopoulos K. contact: www.kirytopoulos.eu date: //1 Presentation for: 1
λγόριθμος F&F - Παράδειγμα 8 Β 1 1 1 1 1 8 8 1 1 πιλέγω το δρόμο: Μέγιστη ροή: Βήμα 1 >Β>> min{,8,}= Βήμα >> min{,}= Βήμα > min{,}= Βήμα >Β>> min{,,1}=1 Παρατηρούμε ότι δεν υπάρχει δυνατότητα επιπλέον θετικής ροής από σε. Kirytopoulos K. contact: www.kirytopoulos.eu date: //1 Presentation for: 1
λγόριθμος F&F - Παράδειγμα 8 Β 1 1 1 1 1 1 8 8 1 1 Υπολογίζουμε την τελική ροή f f συγκρίνοντας ανά κόμβο την αρχική απομένουσα δυναμικότητα με την τελική. Τοποθετούμε την τελική ροή στο δίκτυο. Προσανατολίζουμε τις ακμές (κάνουμε τόξα) για να φαίνεται ξεκάθαρα η ροή. Kirytopoulos K. contact: www.kirytopoulos.eu date: //1 Presentation for: 1
λγόριθμος F&F- max flow/min cut Η αρχή της ισοδυναμίας μέγιστης ροής με την ελάχιστη τομή μας λέει ότι η μέγιστη δυνατή ροή από μοναδικό κόμβο αφετηρίας σε μοναδικό κόμβο προορισμού ισούται με την ελάχιστη χωρητικότητα τομής μεταξύ όλων των τομών του δικτύου. 8+++= 8++=19 Β 8 ++=1 min Kirytopoulos K. contact: www.kirytopoulos.eu date: //1 Presentation for: 1
λγόριθμος F&F- Άσκηση Βρείτε τη μέγιστη ροή και τις σχετικές διαδρομές από τον κόμβο στον κόμβο Η. 1 Β 8 9 1 9 11 Η Kirytopoulos K. contact: www.kirytopoulos.eu date: //1 Presentation for: 1
λγόριθμος F&F- Άσκηση Λύση. 1 9 1 1 1 1 Β 8 9 9 8 Η 1 Kirytopoulos K. contact: www.kirytopoulos.eu date: //1 Presentation for: 18
λγόριθμος F&F- Άσκηση παλήθευση. 1 Β 8 +++=1 9 1 9 11 Η Kirytopoulos K. contact: www.kirytopoulos.eu date: //1 Presentation for: 19
ρωτήσεις Kirytopoulos K. contact: www.kirytopoulos.eu date: //1 Presentation for: