OpResearch June 23 Solutions
Θέμα 4
α) Έχουμε τον παρακάτω γράφο:
Σε κάθε ακμή σημειώνουμε στην αρχή την "απομένουσα χωρητικότητα", ενώ στο τέλος της ακμής σημειώνουμε το ίδιο αλλά προς την αντίθετη κατεύθυνση (χρησιμοποιείται για να ακυρώσουμε ροές σε περίπτωση που κάνουμε κάποιο λάθος).
Κάθε φορά ψάχνουμε ένα "επαυξάνον μονοπάτι", δηλαδή ένα μονοπάτι με αυστηρά θετική απομένουσα χωρητικότητα σε κάθε ακμή. Ας επιλέξουμε το παρακάτω:
Τώρα βρίσκουμε την μικρότερη απομένουσα χωρητικότητα ροής, δηλαδή
Ο αλγόριθμος σταματάει όταν δεν βρίσκουμε άλλο επαυξάνον μονοπάτι. Συνεχίζουμε με την ίδια λογική:
Εδώ θα αναιρέσουμε την ροή από το
Δεν υπάρχει άλλο επαυξάνον μονοπάτι, άρα τελειώσαμε. Η μέγιστη ροή μπορεί να υπολογιστεί προσθέτοντας όλα τα min που βρήκαμε σε κάθε στάδιο
β) Θεωρούμε ότι η κάθε ακμή έχει τιμή
Αρχικά, όλες οι ροές πρέπει να είναι μη-αρνητικές:
Capacity constraints:
π.χ. έχουμε
πάντα κοιτάμε και την φορά των ακμών, π.χ. έχουμε
Flow conservation:
Συνολική ροή που μπαίνει σε ένα κόμβο = Συνολική ροή που εξέρχεται από τον ίδιο κόμβο
π.χ. για τον κόμβο
Εξαιρούνται οι κόμβοι
Αντικειμενική συνάρτηση:
ή