Επιχειρησιακή Έρευνα I

Σχετικά έγγραφα
Επιχειρησιακή Έρευνα I

Επιχειρησιακή Έρευνα I

4.4 Το πρόβλημα του ελάχιστου ζευγνύοντος δένδρου

Κεφάλαιο 4ο: Δικτυωτή Ανάλυση

Επιχειρησιακή Έρευνα I

ΑΣΚΗΣΗ 3 ΑΣΚΗΣΗ 4 ΑΣΚΗΣΗ 5

Προβλήματα Ελάχιστου Κόστους Ροής σε Δίκτυο. Δίκτυα Ροής Ελάχιστου Κόστους (Minimum Cost Flow Networks)

Προβλήματα Μεταφορών (Transportation)

Επιχειρησιακή Έρευνα I

Επιχειρησιακή Έρευνα I

Μέθοδοι Βελτιστοποίησης

ΤΣΑΝΤΑΣ ΝΙΚΟΣ 11/26/2007. Νίκος Τσάντας Τμήμα Μαθηματικών Πανεπιστημίου Πατρών, Ακαδημαϊκό έτος Δικτυωτή Ανάλυση

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ»

Επιχειρησιακή Έρευνα I

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι εύρεσης ελάχιστων γεννητικών δέντρων (MST)

Διαχείριση Εφοδιαστικής Αλυσίδας ΙΙ

Τμήμα Μηχανικών Πληροφορικής ΤΕ Πρόβλημα Μεταφοράς. Γεωργία Φουτσιτζή ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

4. ΔΙΚΤΥΑ

Αλγόριθμοι και Πολυπλοκότητα

Το Πρόβλημα του Περιοδεύοντος Πωλητή - The Travelling Salesman Problem

Τμήμα Μηχανικών Πληροφορικής ΤΕ Δυϊκότητα. Γκόγκος Χρήστος ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα. τελευταία ενημέρωση: 1/12/2016

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 3: Εφαρμογές Δικτυωτής Ανάλυσης (2 ο Μέρος)

3.7 Παραδείγματα Μεθόδου Simplex

ΠΡΟΒΛΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ

Το Πρόβλημα Μεταφοράς

Μοντέλα Διανομής και Δικτύων

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων)

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

Προβλήµατα Μεταφορών (Transportation)

ΤΣΑΝΤΑΣ ΝΙΚΟΣ 4/29/2009

Περιεχόμενα Πρόλογος 5ης αναθεωρημένης έκδοσης ΚΕΦΆΛΆΙΟ 1 Ο ρόλος της επιχειρησιακής έρευνας στη λήψη αποφάσεων ΚΕΦΆΛΆΙΟ 2.

Παράδειγμα δικτύου. Ορολογία (1) Ορολογία (2) Ορολογία (3) Δίκτυο με δεδομένα δυναμικότητας ροής στις ακμές

2 η ΕΝΟΤΗΤΑ ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ

Πρόβλημα συντομότερης διαδρομής - Shortest path problem. Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 2: Εφαρμογές Δικτυωτής Ανάλυσης (1 ο Μέρος)

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

Αναζήτηση Κατά Πλάτος

u v 4 w G 2 G 1 u v w x y z 4

ΣΥΝΕΚΤΙΚΟΤΗΤΑ ΓΡΑΦΗΜΑΤΩΝ

m 1 min f = x ij 0 (8.4) b j (8.5) a i = 1

Γραμμικός Προγραμματισμός

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ

ΘΕΜΑ 1: Αλγόριθμος Ford-Fulkerson

Πληροφοριακά Συστήματα Διοίκησης. Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού

ΠΡΟΟΡΙΣΜΟΣ ΑΠΟΘΗΚΕΣ Ζ1 Ζ2 Ζ3 Δ1 1,800 2,100 1,600 Δ2 1, Δ3 1, ,200

Αναζήτηση Κατά Πλάτος

ΤΕΙ ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΥΠΟΛΟΓΙΣΤΩΝ

Στοχαστικές Στρατηγικές. διαδρομής (1)

ΑΛΓΟΡΙΘΜΟΙ Ενότητα 10

Ταιριάσματα. Γράφημα. Ταίριασμα (matching) τέτοιο ώστε κάθε κορυφή να εμφανίζεται σε το πολύ μια ακμή του

ΠΔΕ253 2 η εργασία Προσοχή! Είναι ένα αρχικό version. Κατά την παρουσίαση των βίντεο θα διορθωθούν τυχόν λάθη σε πράξεις στην άσκηση 1.

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 7 Φεβρουαρίου / 38

Επίλυση 1 ης Εργασίας. Παραδόθηκαν: 11/12 15%

ΚΕΦΑΛΑΙΟ 2 ΑΛΓΟΡΙΘΜΟΙ ΤΥΠΟΥ SIMPLEX. 2.1 Βασικές έννοιες - Ορισμοί

Ε Π Ι Χ Ε Ι Ρ Η Σ Ι Α Κ Η Ε Ρ Ε Υ Ν Α

Θεωρία και Αλγόριθμοι Γράφων

Αναζήτηση Κατά Πλάτος

Γραμμικός Προγραμματισμός

ΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ

Βασική Εφικτή Λύση. Βασική Εφικτή Λύση

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Η γραφική μέθοδος επίλυσης προβλημάτων Γραμμικού Προγραμματισμού

Άσκηση 1. Ψευδοκώδικας Kruskal. Παρακάτω βλέπουμε την εφαρμογή του στο παρακάτω συνδεδεμένο γράφημα.

Πρακτική δραστηριότητα: Το πρόβλημα της λασπωμένης πόλης (σελ. 80) Πλακάκια ή τετράγωνα κομματάκια από χαρτόνι (περίπου 40 για κάθε παιδί)

Δοµές Δεδοµένων & Ανάλυση Αλγορίθµων 3ο Εξάµηνο. Γραφήµατα. (Graphs)

Συστήματα Παραγωγής ΠΑΡΑΔΕΙΓΜΑ ΓΡΑΜΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Εισαγωγή στο Γραμμικό Προγραμματισμό. Χειμερινό Εξάμηνο

4.6 Critical Path Analysis (Μέθοδος του κρίσιμου μονοπατιού)

Γραμμικός Προγραμματισμός Μέθοδος Simplex

«Πρόβλημα μέγιστης ροής» Maximum flow problem. Κηρυττόπουλος Κωνσταντίνος PhD, Dipl. Eng., PMP

Πληροφοριακά Συστήματα Διοίκησης. Εισαγωγή στον Γραμμικό Προγραμματισμό

Επιχειρησιακή Έρευνα

Σχεδιασμός επέκτασης του συστήματος ηλεκτροπαραγωγής με τη χρήση Πολυκριτηριακού Γραμμικού Προγραμματισμού

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 2: Γραφήματα

ΑΚΕΡΑΙΟΣ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο

ΑΣΚΗΣΗ 1 Για τις ερωτήσεις 1-4 θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι;

Επιχειρησιακή Έρευνα

Αναζήτηση Κατά Πλάτος

ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΈΡΕΥΝΑ ΣΤΑ ΠΡΟΒΛΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ ΚΑΙ ΚΑΤΑΜΕΡΙΣΜΟΥ

Το πρόβλημα μονοδρόμησης (The One-Way Street Problem)

(elementary graph algorithms)

Διαχείριση Εφοδιαστικής Αλυσίδας

Πρόβλημα μέγιστης ροής - Maximum flow problem. Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ

Αλγόριθµοι Γραφηµάτων

Παραλλαγές του Προβλήματος Μεταφοράς Το Πρόβλημα Μεταφόρτωσης και το Πρόβλημα Αναθέσεων Γεωργία Φουτσιτζή ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα

ΜΑΘΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΕΠΙΛΥΣΗ ΕΚΦΥΛΙΣΜΕΝΩΝ ΚΑΙ ΓΕΝΙΚΩΝ ΓΡΑΜΜΙΚΩΝ ΠΡΟΒΛΗΜΑΤΩΝ. 4.1 Επίλυση Εκφυλισμένων Γραμμικών Προβλημάτων

Επιχειρησιακή Έρευνα

ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Γ.Π.).) (LINEAR PROGRAMMING)

Σχεδιασμός Διαδρομών και Προγραμματισμός Δρομολογίων

Κεφάλαιο 4: Επιλογή σημείου παραγωγής

Γραφική Λύση & Πρότυπη Μορφή Μαθηματικού Μοντέλου

Transcript:

Επιχειρησιακή Έρευνα I Operations/Operational Research (OR) Κωστής Μαμάσης Παρασκευή 9: : Σημειώσεις των Α. Platis, K. Mamasis

Περιεχόμενα EE & Εισαγωγή Μαθηματικός Προγραμματισμός - Γραμμικός Προγραμματισμός Βελτιστοποίηση δικτύων Μαθηματικός Προγραμματισμός - Ακέραιος Προγραμματισμός Μαθηματικός Προγραμματισμός - Δυναμικός προγραμματισμός Μαθηματικός Προγραμματισμός - Μη γραμμικός προγραμματισμός

Περιεχόμενα EE Εισαγωγή Γραμμικός Προγραμματισμός Μοντελοποίηση Προβλημάτων Επίλυση Προβλημάτων Γραφική μέθοδος Μέθοδος Simplex Μέθοδος μεγάλου Μ Δυϊκότητα Βελτιστοποίηση δικτύων Γράφοι και δίκτυα Πρόβλημα της συντομότερης διαδρομής Πρόβλημα του ελάχιστου ζευγνύοντος δέντρου Πρόβλημα μέγιστης ροής Πρόβλημα ροής ελαχίστου κόστους 3

Βελτιστοποίηση δικτύων Ανάλυση Δικτύων

Κατευθυνόμενος γράφος Παράδειγμα: δίκτυο διανομής Κορυφές : A, B, C, D, E Ακμές : (A,B), (A,C), (A,D), (B,C), (C,E), (D,E), (E,D)

Μη-κατευθυνόμενος γράφος Παράδειγμα: οδικό σύστημα πάρκου Κορυφές : O, A, B, C, D, E, T Ακμές : {O,A}, {O,B}, {O,C}, {B,C}, {A,D}, {A,B}, {B,D}, {B,E}, {C,E}, {D,E}, {D,T}, {E,T} Ο αριθμός σε κάθε ακμή αντιπροσωπεύει την απόσταση μεταξύ δύο κορυφών 6

Μονοπάτια και κύκλοι Μονοπάτι: ακολουθία ακμών (χωρίς επαναλήψεις ακμών) που συνδέουν δύο κορυφές (κόμβους). Directional Path Μη-Κατευθυνόμενο Μονοπάτι: ακολουθία ακμών (χωρίς επαναλήψεις ακμών) που συνδέουν δύο κορυφές (κόμβους) όταν δεν παίρνουμε υπ όψη την κατεύθυνση των ακμών. Non-Directional Path Κύκλος: μονοπάτι που ξεκινάει και καταλήγει στην ίδια κορυφή (κλειστό μονοπάτι). Directional Cycle Μη-Κατευθυνόμενος Κύκλος: μη-κατευθυνόμενο μονοπάτι που ξεκινάει και τελειώνει στην ίδια κορυφή (κλειστό μονοπάτι). Non Directional Cycle

Μονοπάτια και κύκλοι (παραδείγματα) A->C->E->D = μονοπάτι (= μη-κατευθυνόμενο μονοπάτι) A->D->E->C->B = μη-κατευθυνόμενο μονοπάτι ( μονοπάτι) D->E->D = κύκλος (= μη-κατευθυνόμενος κύκλος) A->B->C->A = μη-κατευθυνόμενος κύκλος ( κύκλος) 8

Συνεκτικότητα Δύο κορυφές είναι συνεκτικές όταν υπάρχει τουλάχιστον ένα μηκατευθυνόμενο μονοπάτι που τα συνδέει. Ένα γράφημα είναι συνεκτικό όταν κάθε ζεύγος κορυφών είναι συνεκτικό. Ο μικρότερος συνεκτικός γράφος με n κορυφές έχει n- ακμές. Ονομάζεται δέντρο Εναλλακτικός ορισμός: ένα δέντρο είναι ένας συνεκτικός γράφος που δεν περιέχει κύκλους. Ζευγνύον δέντρο: δέντρο που προκύπτει από ένα συνεκτικό γράφο που περιέχει όλες τις κορυφές του. 9

Ζευγνύον δέντρο Δεν είναι ζευγνύον δέντρο: Δεν είναι συνεκτικό Δεν είναι ζευγνύον δέντρο: Περιέχει κύκλους Ζευγνύον δέντρο

Ροή σε ένα δίκτυο Δίκτυο: γράφος που έχει: Ρυθμούς ροής στις ακμές Κορυφές προσφοράς (πηγές - sources) Κορυφές ζήτησης (δέκτες - sink) Κορυφές μεταφοράς Ροή σε ένα δίκτυο: αριθμός μονάδων που κυκλοφορούν στις ακμές του δικτύου έτσι ώστε να τηρούνται οι περιορισμοί διατήρησης της ροής. Σε κάθε κορυφή: ροή εξόδου ροή εισόδου = προσφορά (εάν η κορυφή είναι πηγή) ροή εξόδου ροή εισόδου = - ζήτηση (εάν η κορυφή είναι δέκτης) ροή εξόδου ροή εισόδου = (εάν η κορυφή είναι μεταφοράς)

Ροή σε μαθηματική μορφή x ij = ποσότητα ροής που περνάει στην ακμή (i,j) b i = (μεταφορά), προσφορά (πηγή), -ζήτηση (δέκτης) x x ij ji + ( i, j) A ( i) ( j, i) A ( i) = b i i V V = σύνολο κορυφών A = σύνολο ακμών του δικτύου A + (i) = σύνολο των ακμών που εξέρχονται από την κορυφή i A - (i) = σύνολο των ακμών που εισέρχονται στην κορυφή i

Βελτιστοποίηση δικτύων Το πρόβλημα της συντομότερης διαδρομής

Το πρόβλημα της συντομότερης διαδρομής Έστω ένας μη κατευθυνόμενος και συνεκτικός γράφος Υπάρχουν δύο ειδικές κορυφές: Πηγή (ή προέλευση) O Δέκτης (ή προορισμός) T Για κάθε ακμή {i,j}, αντιστοιχεί και μία απόσταση c ij Αναζητούμε το πιο σύντομο μη-κατευθυνόμενο μονοπάτι που συνδέει το O στο T Συντομότερη διαδρομή: το μονοπάτι του οποίου η συνολική απόσταση (άθροισμα των αποστάσεων των ακμών του μονοπατιού) είναι η ελάχιστη από όλα τα μονοπάτια που συνδέουν το O στο T

Αλγόριθμος του Dijkstra (93-) Επαναληπτικός αλγόριθμος Σε κάθε επανάληψη, επιλέγουμε την κορυφή j που βρίσκεται πιο κοντά στο O και υπολογίζουμε την d(j), μεταβλητή που υπολογίζει την απόσταση μεταξύ O και j: λέμε ότι η κορυφή j έχει σήμανση Αρχικά, η πηγή O έχει σήμανση και d(o) = Η πιο κοντινή κορυφή επιλέγεται από όλες τις κορυφές χωρίς σήμανση που συνδέεται σε τουλάχιστον μία κορυφή με σήμανση. Η κορυφή j επιλέγεται ως εξής: min κορυφή j χωρίς σήμανση {d(i) + c ij για όλες τις κορυφές i με σήμανση} Θέτουμε αυτή τη τιμή στην d(j). Ο αλγόριθμος τερματίζει όταν ο προορισμός T αποκτήσει σήμανση

6 Min {d(a)+c AF } Min {d(a)+c AG ;d(b)+c BG ; d(c)+c CG } Min {d(c)+c CH } + + ; + ; + 3 + Ο Α Β C Ο Α Β C Α Β C 3 F G H Ο Α Β C Ο Α Β C Α Β C 3 F G H Αλγόριθμος του Dijkstra (93-)

Αλγόριθμος Dijkstra (βήμα ) Ο Α Β C D E T 3 Ο Α Β C Η πιο κοντινή κορυφή επιλέγεται από όλες τις κορυφές χωρίς σήμανση που συνδέεται σε τουλάχιστον μία κορυφή με σήμανση.

Αλγόριθμος Dijkstra (βήμα ) Η πιο κοντινή κορυφή επιλέγεται από όλες τις κορυφές χωρίς σήμανση που συνδέεται σε τουλάχιστον μία κορυφή με σήμανση. Α D Ο Β T 3 C E 8

Αλγόριθμος Dijkstra (βήμα 3) 9 Α Β C Ο D E T 3 D 9 Β Η πιο κοντινή κορυφή επιλέγεται από όλες τις κορυφές χωρίς σήμανση που συνδέεται σε τουλάχιστον μία κορυφή με σήμανση.

Αλγόριθμος Dijkstra (βήμα ) Η πιο κοντινή κορυφή επιλέγεται από όλες τις κορυφές χωρίς σήμανση που συνδέεται σε τουλάχιστον μία κορυφή με σήμανση. Α Min{+,+}=8 D Ο Β T 3 C E Min{,+}= 3+=

Αλγόριθμος Dijkstra (βήμα ) Η πιο κοντινή κορυφή επιλέγεται από όλες τις κορυφές χωρίς σήμανση που συνδέεται σε τουλάχιστον μία κορυφή με σήμανση. Α Min{+,+}=8 D Ο Β T 3 C E Min{+,+3}=

Αλγόριθμος Dijkstra (βήμα 6) Η πιο κοντινή κορυφή επιλέγεται από όλες τις κορυφές χωρίς σήμανση που συνδέεται σε τουλάχιστον μία κορυφή με σήμανση. Α Min{+,+,+}=8 D Ο Β T 3 += C E

Αλγόριθμος Dijkstra (βήμα ) Η πιο κοντινή κορυφή επιλέγεται από όλες τις κορυφές χωρίς σήμανση που συνδέεται σε τουλάχιστον μία κορυφή με σήμανση. Α 8 D Min{8+,+}=3 Ο Β T 3 3 C E 3

Παράδειγμα σε μορφή πίνακα i με σήμανση συνδεδεμένο με j χωρίς σήμανση Το πιο κοντινό j χωρίς σήμανση Απόσταση Ελάχιστη απόσταση Το πιο κοντινό j p(j) O A A O O C C O A B B A A D 9 B E E B C E 8 A D 9 B D 8 8 D B E D 8 8 D E D T 3 3 T D E T

Άσκηση με γράφο Μία απ ευθείας πτήση από το Σιατλ στο Λονδίνο μπορεί να πραγματοποιηθεί μέσω διάφορων διαδρομών ανάλογα με τις μετεωρολογικές συνθήκες. Ο παρακάτω κατευθυνόμενος γράφος δείχνει σε κάθε ακμή τον χρόνο διαδρομής πτήσης (σε ώρες) ανάλογα με τις επικρατούσες μετεωρολογικές συνθήκες. A 3. D.6 3. 3. 3.6 SE. B 3. E 3.6 LN 3.3. 3. 3.8 C 3. F Ζητείται η ελαχιστοποίηση του συνολικού χρόνου πτήσης μεταξύ Σιατλ και Λονδίνου με βάση τις επικρατούσες μετεωρολογικές συνθήκες. Να επιλυθεί το πρόβλημα με τον αλγόριθμο Dijkstra

Ο αλγόριθμος του Dijkstra εφαρμόζεται σε γράφο ως μοντέλο ροής σε δίκτυο Συντομότερη διαδρομή = ροή σε ένα δίκτυο δίκτυο = κατευθυνόμενος γράφος O είναι η μοναδική πηγή με προσφορά = T είναι ο μοναδικός δέκτης με ζήτηση = - Η ροή σε κάθε ακμή (i,j) είναι είτε, εάν η ακμή ανήκει στην συντομότερη διαδρομή, είτε είναι. 6

Άλλες εκδόσεις Κατευθυνόμενος γράφος: ο αλγόριθμος του Dijkstra εφαρμόζεται. Οι συντομότερες διαδρομές μεταξύ της πηγής και όλων των άλλων κορυφών: ο αλγόριθμος του Dijkstra εφαρμόζεται. Οι συντομότερες διαδρομές μεταξύ όλων των ζεύγων κορυφών: n εφαρμογές του αλγόριθμου του Dijkstra. Αν κάποιες αποστάσεις είναι αρνητικές: ο αλγόριθμος δεν εφαρμόζεται. Αυτό συμβαίνει γιατί ο αλγόριθμος βασίζεται στην υπόθεση ότι αν προστεθεί στο μονοπάτι μια ακμή, η απόσταση αυξάνει. Οπότε η επιλογή της συντομότερης ακμης για την τρέχουσα κορυφή (τοπικό βέλτιστο) είναι και το ολικό βέλτιστο για την κορυφή αυτή.

Βελτιστοποίηση δικτύων Πρόβλημα του ελάχιστου ζευγνύοντος δέντρου

Πρόβλημα του ελάχιστου ζευγνύοντος δέντρου Έστω ένας γράφος μη-κατευθυνόμενος και συνεκτικός. Για κάθε ακμή {i,j}, αντιστοιχεί μία απόσταση c ij. Πρέπει να κατασκευαστεί ένα ζευγνύον δέντρο (ο μικρότερος συνεκτικός γράφος που περιέχει όλες τις κορυφές) του οποίου το σύνολο των αποστάσεων είναι το ελάχιστο απ όλα τα ζευγνύοντα δέντρα του γράφου. 9

Πρόβλημα του ελάχιστου ζευγνύοντος δέντρου Ο στόχος είναι να συνδέσουμε τους κόμβους ενός δικτύου με ένα ελάχιστο συνολικό μήκος ακμών. Για παράδειγμα, είναι πολύ χρήσιμο στον προγραμματισμό δικτύων τηλεπικοινωνίας, όπου πρέπει να βρεθεί κάποιο δέντρο που να συνδέει όλους τους κόμβους μεταξύ τους με κάποιο μονοπάτι με τον πιο οικονομικό τρόπο. Οι κόμβοι μπορεί να είναι τηλεπικοινωνιακοί σταθμοί, οι κλάδοι καλώδια μεταφοράς του σήματος και οι αποστάσεις το κόστος κατασκευής του αντίστοιχου κλάδου. Στα πλαίσια αυτά, το πρόβλημα του δέντρου ελάχιστης κάλυψης είναι ο προσδιορισμός εκείνων των κλάδων (ακμών), που εξυπηρετούν όλους τους σταθμούς (κορυφές) με το ελάχιστο συνολικό κόστος. 3

Αλγόριθμος του PRIM Αρχικοποίηση: επιλογή μίας κορυφής i (τυχαίας) και σύνδεση στην κορυφή j την πιο κοντινή: πρόσθεση {i,j} Για κάθε επανάληψη: επιλογή της μη-συνδεδεμένης κορυφής j που είναι πιο κοντά σε μία κορυφή i ήδη συνδεδεμένη : πρόσθεση {i,j} Τερματισμός όταν όλες οι κορυφές συνδέθηκαν. Σε περίπτωση ισότητας, μπορούμε να επιλέξουμε αυθαίρετα Αυτές οι ισότητες μπορεί να υποδεικνύουν την ύπαρξη πολλών βέλτιστων λύσεων. 3

Αλγόριθμος του PRIM: παράδειγμα A Ο B D Τ 3 C Αρχικοποίηση: επιλογή της κορυφής Ο και σύνδεση στην πιο κοντινή κορυφή: Πρόσθεση {Ο,Α} E 3

Αλγόριθμος του PRIM: παράδειγμα A Ο B D Τ 3 C E Η μη-συνδεδεμένη κορυφή που είναι η πιο κοντινή στο Ο ή στο Α είναι η Β. Επειδή είναι πιο κοντά στο Α, προσθέτουμε {Α,Β}. 33

Αλγόριθμος του PRIM: παράδειγμα A Ο B D Τ 3 C E Η μη-συνδεδεμένη κορυφή που είναι η πιο κοντινή στο Ο ή στο Α ή στο Β είναι η C. Επειδή είναι πιο κοντά στο B, προσθέτουμε {B,C} 3

Αλγόριθμος του PRIM: παράδειγμα A Ο B D Τ 3 C E Η μη-συνδεδεμένη κορυφή που είναι η πιο κοντινή σε μία από τις κορυφές είναι το Ε. Επειδή είναι πιο κοντά στο B, προσθέτουμε {B,Ε} 3

Αλγόριθμος του PRIM: παράδειγμα A Ο B D Τ 3 C E Η μη-συνδεδεμένη κορυφή που είναι η πιο κοντινή σε μία από τις κορυφές είναι το D. Επειδή είναι πιο κοντά στο E, προσθέτουμε {E,D} 36

Αλγόριθμος του PRIM: παράδειγμα A Ο B D Τ 3 C E Η μη-συνδεδεμένη κορυφή που είναι η πιο κοντινή σε μία από τις κορυφές είναι το T. Επειδή είναι πιο κοντά στο D, προσθέτουμε {D,T} Τερματίζεται ο αλγόριθμος διότι όλες οι κορυφές συνδέθηκαν και η βέλτιστη τιμή αντιστοιχεί στο σύνολο των αποστάσεων των ακμών δηλαδή. 3

Αλγόριθμος του PRIM: παράδειγμα Έστω ότι αναλαμβάνετε την μελέτη πεζοδρόμησης σε ένα θεματικό πάρκο που εκτείνεται σε στρέμματα και περιλαμβάνει σημεία ενδιαφέροντος. Σαν μηχανικός θέλετε:. να μπορούν να επικοινωνούν μεταξύ τους όλες οι εγκαταστάσεις άμεσα ή έμμεσα,. Να ολοκληρώσετε την πεζοδρόμηση με με τη μικρότερη δυνατή συνολική επιβάρυνση της έκτασης με τσιμεντένιες πλάκες πεζοδρομίου 38

Αλγόριθμος του PRIM: παράδειγμα 39

Βελτιστοποίηση δικτύων Πρόβλημα μέγιστης ροής

Πρόβλημα της μέγιστης ροής Έστω ένας κατευθυνόμενος και συνεκτικός γράφος Για κάθε ακμή (i,j), αντιστοιχεί μία χωρητικότητα u ij > Υπάρχουν δύο ειδικές κορυφές Πηγή (ή προέλευση) Ο Δέκτης (ή προορισμός) Τ Όλες οι άλλες κορυφές είναι κορυφές μεταφοράς. Η προσφορά στο Ο και η ζήτηση στο Τ είναι μεταβλητές Προσφορά στο Ο = Ζήτηση στο Τ = τιμή της ροής μεταξύ Ο και Τ. Στόχος είναι η μεγιστοποίηση της τιμής της ροής μεταξύ Ο και Τ.

Πρόβλημα της μέγιστης ροής Πρακτική σημασία: Ένα δίκτυο μεταφοράς είναι ένα γενικό μοντέλο με διαδρομές μεταφοράς υλικών, ρευστών, αυτοκινήτων, κεφαλαίων, ηλεκτρικού φορτίου, κλπ., από ένα κόμβο-αφετηρία σε ένα κόμβο-προορισμό. Οι ακμές ενός δικτύου μεταφοράς αντιπροσωπεύουν τη μέγιστη χωρητικότητα της ακμής/διαδρομής από ένα κόμβο σε ένα άλλο την οποία δεν μπορεί να υπερβεί η μεταφερόμενη ποσότητα. Π.χ.: για ρευστά, οι κλάδοι θα είναι η μέγιστη παροχή των σωληνώσεων, για μεταφορές, το μέγιστο φορτίο, για συγκοινωνίες, οι μέγιστες θέσεις επιβατών, κ.λ.π.

Παράδειγμα στόλου λεωφορείων Σε περίοδο μεγάλης κίνησης, υπάρχει ένας στόλος λεωφορείων για την επίσκεψη παρατηρητήριων ενός πάρκου. Η νομοθεσία περιορίζει τον αριθμό λεωφορείων που μπορεί να κυκλοφορήσει σε κάθε τμήμα οδού. Πώς πρέπει να κυκλοφορούν τα λεωφορεία ώστε να μεγιστοποιήσουμε τον αριθμό λεωφορείων που μετακινούνται από την αφετηρία (Ο) προς τον προορισμό (Τ); 3

Παράδειγμα στόλου λεωφορείων Το πρόβλημα της μέγιστης ροής μπορεί να διαμορφωθεί ως πρόβλημα γραμμικού προγραμματισμού και επομένως μπορεί να λυθεί με τη μέθοδο simplex. Όμως, υπάρχει ένας ακόμα πιο αποτελεσματικός αλγόριθμος για την επίλυση του προβλήματος. Αυτός ο αλγόριθμος βασίζεται σε δύο σημαντικές έννοιες, το υπολειπόμενο δίκτυο (residual network) και το επαυξάνον μονοπάτι (augmenting path).

Γράφος υπολοίπων Αν υποθέσουμε ότι έχουμε ήδη θέσει μία ροή στις ακμές Η χωρητικότητα ροής που απομένει (Υπολειπόμενη χωρητικότητα) σε μία ακμή (i,j) είναι: u ij -x ij Γράφος υπολοίπων: μη-κατευθυνόμενος γράφος Για κάθε ακμή, αντιστοιχούν δύο τιμές: Υπολειπόμενη χωρητικότητα ροής Ροή που έχει ήδη διατεθεί Παράδειγμα: έχουν διατεθεί μονάδες ροής στην ακμή (Ο,Β) η οποία έχει χωρητικότητα μονάδες Ο Β

Ερμηνεία του γράφου υπολοίπων Ο Β Ο Β Εάν έχουν διατεθεί μονάδες ροής στην ακμή (Ο,Β) η οποία έχει χωρητικότητα μονάδες ροής Εάν διασχίσουμε Ο Β = Υπολειπόμενη/Απομένουσα χωρητικότητα = ροή στο (Ο,Β) Εάν διασχίσουμε Β Ο = Υπολειπόμενη/ Απομένουσα χωρητικότητα = ροή στο (Β,Ο) 6

Γράφος υπολοίπων: εναλλακτική ορολογία Ο γράφος υπολοίπων λέγεται επίσης γράφος διαφορών Εάν για παράδειγμα έχουν διατεθεί μονάδες ροής στην ακμή (Ο,Β) Ροή που έχει διατεθεί στην ακμή [] Υπολειπόμενη/απομένουσα χωρητικότητα Ο Β

Μονοπάτι αύξησης Μονοπάτι πού πηγαίνει από την πηγή στο δέκτη στον κατευθυνόμενο γράφο του γράφου υπολοίπων. Για κάθε ακμή {i,j} Η ακμή (i,j) έχει μία υπολειπόμενη χωρητικότητα = u ij x ij Η ακμή (j,i) έχει μία υπολειπόμενη χωρητικότητα = x ij Κάθε ακμή του μονοπατιού έχει μία υπολειπόμενη/απομένουσα χωρητικότητα > Υπολειπόμενη χωρητικότητα σε ένα μονοπάτι αύξησης: το ελάχιστο των χωρητικοτήτων που απομένει για όλες τις ακμές του μονοπατιού. 8

Αλγόριθμος του Ford-Fulkerson. Αρχικοποίηση της ροής: μονάδες σε κάθε ακμή. Αν δεν μπορούμε να εντοπίσουμε κανένα μονοπάτι αύξησης, τότε τερματίζουμε: η ροή είναι μέγιστη 3. Προσδιορισμός ενός μονοπατιού αύξησης P, και έστω c, η αντίστοιχη υπολειπόμενη/απομένουσα χωρητικότητα.. Για κάθε ακμή του P: Αύξηση της ροής (c) Μείωση της υπολειπόμενης χωρητικότητας (c). Επιστροφή στο βήμα 9

Εύρεση ενός μονοπατιού αύξησης. Εντοπισμός όλων των κορυφών που μπορούν να συνδεθούν άμεσα (με μία απ ευθείας ακμή) με την πηγή Ο και με θετική υπολειπόμενη/απομένουσα χωρητικότητα (>).. Επιλογή μίας κορυφής (από τις προηγούμενες), μετάβαση σ αυτήν, και εντοπισμός όλων των νέων κορυφών (στις οποίες δεν έχει γίνει μετάβαση και με θετική υπολειπόμενη χωρητικότητα) Εάν δεν υπάρχει τέτοια κορυφή τότε τερματίζουμε: δεν υπάρχει κανένα μονοπάτι αύξησης 3. Επιστροφή στο βήμα με τις νέες κορυφές μέχρι την τελική μετάβαση στην Τ.

Παράδειγμα () A 3 Αρχικός γράφος υπολοίπων Ο B 9 D Τ C E 6 Εύρεση μονοπατιού αύξησης: Ο Β Ε Τ Υπολειπόμενη χωρητικότητα = min{,,6} =

Παράδειγμα () Ο A 3 B 9 Αύξηση της ροής και μείωση της υπολειπόμενης χωρητικότητας μονάδων σε όλες τις ακμές των Ο Β Ε Τ D Τ C E Εύρεση μονοπατιού αύξησης: Ο Α D Τ Υπολειπόμενη χωρητικότητα = min{,3,9} =3

Παράδειγμα (3) 8 Ο 3 A B 3 6 Αύξηση της ροής και μείωση της υπολειπόμενης χωρητικότητας 3 μονάδων σε όλες τις ακμές των Ο Α D Τ D 3 Τ 8 C Εύρεση μονοπατιού αύξησης: Ο Α B D Τ Υπολειπόμενη χωρητικότητα = min{,,,6} = E 3

Παράδειγμα () 9 Ο A B 3 3 Αύξηση της ροής και μείωση της υπολειπόμενης χωρητικότητας μονάδας σε όλες τις ακμές των Ο Α Β D Τ D Τ 9 C E Εύρεση μονοπατιού αύξησης: Ο B D Τ Υπολειπόμενη χωρητικότητα = min{,3,} =

Παράδειγμα () Ο A B 3 3 3 Αύξηση της ροής και μείωση της υπολειπόμενης χωρητικότητας μονάδων σε όλες τις ακμές των Ο Β D Τ D 6 Τ C Εύρεση μονοπατιού αύξησης: Ο C E D Τ Υπολειπόμενη χωρητικότητα = min{,,,3} = E

Παράδειγμα (6) Ο A 3 B 3 3 Αύξηση της ροής και μείωση της υπολειπόμενης χωρητικότητας μονάδας σε όλες τις ακμές των Ο C E D Τ D Τ C 3 E Εύρεση μονοπατιού αύξησης: Ο C E Τ Υπολειπόμενη χωρητικότητα = min{3,3,} = 6

Παράδειγμα () 3 Ο A B 3 3 Αύξηση της ροής και μείωση της υπολειπόμενης χωρητικότητας μονάδας σε όλες τις ακμές των Ο C E Τ D 6 Τ 3 C Εύρεση μονοπατιού αύξησης: Ο C E B D Τ Υπολειπόμενη χωρητικότητα = min{,,,,} = E

Παράδειγμα (8) Ο A B 3 Αύξηση της ροής και μείωση της υπολειπόμενης χωρητικότητας μονάδας σε όλες τις ακμές των Ο C E B D Τ D 8 6 Τ 3 C 3 E Κανένα μονοπάτι αύξησης Μέγιστη ροή 8

Παράδειγμα (9 τέλος) A 3 Ο B D 8 Τ 3 6 C 3 E 9

Μέγιστη ροή Μέγιστη ροή = μοντέλο ροής Όλες οι κορυφές, εκτός Ο και Τ, είναι κορυφές μεταφοράς. Υπάρχει μία δυναμικότητα σε κάθε ακμή Ο στόχος είναι η μεγιστοποίηση της τιμής της ροής, δηλαδή η καθαρή ροή στο Ο. 6

Ασκήσεις () 6 3 3 3 6 9 63

Ασκήσεις () 3 3 3 6

Ασκήσεις (3) 3 8 3 8 9 9 3 3 6 8 3 6 6

Ασκήσεις () 3 6 3 6 8 3 6 8 Βρείτε τη συντομότερη διαδρομή μεταξύ της πόλης και 8 66

Βελτιστοποίηση δικτύων Πρόβλημα ροής με ελάχιστο κόστος

Πρόβλημα της ροής με ελάχιστο κόστος Έστω ένας κατευθυνόμενος συνεκτικός γράφος Για κάθε ακμή (i,j) αντιστοιχεί μία δυναμικότητα u ij > και ένα κόστος ανά μονάδα ροής c ij Υπάρχει τουλάχιστον μία πηγή και ένας δέκτης Τα υπόλοιπα είναι κορυφές μεταφοράς Στόχος είναι η ελαχιστοποίηση του συνολικού κόστους μεταφοράς της ροής από της πηγές (κορυφές προσφοράς) προς τους δέκτες (κορυφές ζήτησης) 68

Μοντέλο ροής με ελάχιστο κόστος x ij = ροή στην ακμή (i,j) min Σ (i,j) A c ij x ij υπό τους περιορισμούς: Σ (i,j) A + (i) x ij - Σ (j, i) A - (i) x ji = b i i V x ij u ij (i,j) A b i = (μεταφορά), προσφορά (πηγή), -ζήτηση (δέκτες) V = σύνολο κορυφών ; A = σύνολο ακμών A + (i) = σύνολο εξερχόμενων ακμών της κορυφής i A - (i) = σύνολο εισερχόμενων ακμών της κορυφής i 69

Ειδικές περιπτώσεις Πρόβλημα μεταφοράς Πολλές πηγές και πολλούς δέκτες Καμία κορυφή μεταφοράς Μόνο ακμές μεταξύ πηγής και δέκτη Καμία δυναμικότητα Πρόβλημα της εκχώρησης Ειδική περίπτωση του προβλήματος μεταφοράς Πηγές όσο και δέκτες Στόχος : η εκχώρηση σε κάθε πηγή ενός μοναδικού δέκτη και αντίστροφα, έτσι ώστε να ελαχιστοποιηθεί το συνολικό κόστος των εκχωρήσεων Θέτουμε b i =+ (πηγή), - (δέκτης)

Ειδικές περιπτώσεις Πρόβλημα της συντομότερης διαδρομής Μία πηγή και ένας δέκτης πολλές κορυφές μεταφοράς Θέτουμε b i =+ (πηγή), - (δέκτης) Καμία δυναμικότητα Πρόβλημα της μέγιστης ροής b i =+F (πηγή), -F (δέκτης) όπου F> σύνολο των χωρητικοτήτων. Πρόσθεση ακμής μεταξύ Ο και Τ: c OT = M και u OT = F Όπως c ij = σε όλες τις άλλες ακμές, μία βέλτιστη λύση είναι η μεταφορά μέγιστης ροής μεταξύ Ο και Τ χωρίς να περάσει από την ακμή (O,T)

Δίκτυο διανομής Παραγωγή μ. Ερ. 9/μον. Απ. Απαίτηση 3 μ. /μον. /μον. Κ.Δ. /μον. 3/μον. 8 3/μον. /μον. Παραγωγή μ. Ερ. Απ. Απαίτηση 6 μ.

Μοντέλο x i,j =αριθμός μονάδων που μεταφέρονται στην ακμή (i,j) μεταξύ των κόμβων i και j Στόχος: Ελαχιστοποίηση: z = x Ερ,Ερ + x Ερ,ΚΔ + 9 x Ερ,Απ + 3 x Ερ,ΚΔ + x ΚΔ,Απ +3 x Απ,Απ + x Απ,Απ Διατήρηση της ροής: σε κάθε κόμβο του δικτύου: Ροή εξόδου ροή εισόδου= αρ. Μονάδων που παράχθηκαν (εργοστάσιο) - αρ. Μονάδων που απαιτήθηκαν (αποθήκες) ΚΔ Ανώτατο όριο μεταφοράς (σε μερικές ακμές) Πχ. Για την ακμή (Ερ.,Ερ.): x Ερ,Ερ Περιορισμοί μη αρνητικότητας 3

Μοντέλο (λεπτομερή περιγραφή) Ελαχιστοποίηση z = x Ερ,Ερ + x Ερ,ΚΔ + 9 x Ερ,Απ + 3 x Ερ,ΚΔ +x ΚΔ,Απ + 3 x Απ,Απ + x Απ,Απ Κάτω από τις συνθήκες: x Ερ,Ερ + x Ερ,ΚΔ + x Ερ,Απ = -x Ερ,Ερ + x Ερ,ΚΔ = - x Ερ,ΚΔ - x Ερ,ΚΔ + x ΚΔ,Απ = - x Ερ,Απ + x Απ,Απ - x Απ,Απ = - 3 - x ΚΔ,Απ - x Απ,Απ + x Απ,Απ = - 6 x Ερ,Ερ, x ΚΔ,Απ 8 x Ερ,Ερ, x Ερ,ΚΔ, x Ερ,Απ, x Ερ,ΚΔ, x ΚΔ,Απ x Απ,Απ, x Απ,Απ

Συμπεράσματα Μοντελοποίηση και επίλυση με Excel Solver Άριστη λύση: (x Ερ,Ερ, x Ερ,ΚΔ, x Ερ, Απ, x Ερ, ΚΔ, x ΚΔ, Απ, x Απ, Απ, x Απ, Απ ) = (,,,,8,,)