Σχεδίαση & Ανάλυση Αλγορίθμων

Σχετικά έγγραφα
Σχεδίαση και Ανάλυση Αλγορίθμων

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών

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

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές

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

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

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

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

Δυϊκότητα. Δημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

Επιχειρησιακή Έρευνα Θεωρητική Θεμελίωση της Μεθόδου Simplex

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

z = c 1 x 1 + c 2 x c n x n

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

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

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

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

Fermat, 1638, Newton Euler, Lagrange, 1807

Θεωρία Παιγνίων και Αποφάσεων. Ενότητα 5: Εύρεση σημείων ισορροπίας σε παίγνια μηδενικού αθροίσματος. Ε. Μαρκάκης. Επικ. Καθηγητής

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

NP-πληρότητα. Λεωνίδας Παληός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων

min f(x) x R n b j - g j (x) = s j - b j = 0 g j (x) + s j = 0 - b j ) min L(x, s, λ) x R n λ, s R m L x i = 1, 2,, n (1) m L(x, s, λ) = f(x) +

ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΚΑΙ ΜΕΘΟΔΟΣ SIMPLEX, διαλ. 3. Ανωτάτη Σχολή Παιδαγωγικής και Τεχνολογικής Εκπαίδευσης 29/4/2017

Σχεδίαση και Ανάλυση Αλγορίθμων

Σχεδίαση & Ανάλυση Αλγορίθμων

ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΘΕΩΡΙΑΣ ΤΗΣ ΜΕΘΟΔΟΥ SIMPLEX

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

ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΑΚ. ΕΤΟΣ ΔΙΑΛΕΞΗ 6 η -Η ΔΥΙΚΗ ΜΕΘΟΔΟΣ SIMPLEX

Γ2.1 Στοιχεία Αρχιτεκτονικής. Γ Λυκείου Κατεύθυνσης

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

Τμήμα Μηχανικών Πληροφορικής ΤΕ Η μέθοδος Simplex. Γκόγκος Χρήστος ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα. τελευταία ενημέρωση: 19/01/2017

Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα

Κατώτερα φράγματα Κατώτερο φράγμα: εκτίμηση της ελάχιστης εργασίας που απαιτείται για την επίλυση ενός προβλήματος. Παραδείγματα: Αριθμός συγκρίσεων π

HY118-Διακριτά Μαθηματικά. Θεωρία γράφων / γραφήματα. Τι έχουμε δει μέχρι τώρα. Υπογράφημα. 24 -Γράφοι

Υπολογιστική Πολυπλοκότητα

Σχεδίαση & Ανάλυση Αλγορίθμων

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

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

ΤΕΙ Χαλκίδας Σχολή Διοίκησης και Οικονομίας Τμήμα Διοίκησης Επιχειρήσεων

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

HY118-Διακριτά Μαθηματικά

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ. Κεφάλαιο 3 Μορφοποίηση Προβλημάτων Ακέραιου Προγραμματισμού

ILP-Feasibility conp

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

Υπολογιστική Πολυπλοκότητα

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

Δυναμικότητα (GWh) A B C Ζήτηση (GWh) W X Y Z

Τομές Γραφήματος. Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών. Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα

Τμήμα Εφαρμοσμένης Πληροφορικής

Κεφάλαιο 3ο: Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός και θεωρία Παιγνίων

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

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

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

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

ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΨΗΦΙΑΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ. Κεφάλαιο 3

HY118-Διακριτά Μαθηματικά. Θεωρία γράφων/ γραφήματα. Τι έχουμε δει μέχρι τώρα. Ισομορφισμός γράφων: Μία σχέση ισοδυναμίας μεταξύ γράφων.

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ

Θεωρία Δυαδικότητας ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. Η παρουσίαση προετοιμάστηκε από τον Ν.Α. Παναγιώτου. Επιχειρησιακή Έρευνα

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι έχουµε δει µέχρι τώρα. Υπογράφηµα Γράφοι

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

ΔΕΙΓΜΑ ΠΡΙΝ ΤΙΣ ΔΙΟΡΘΩΣΕΙΣ - ΕΚΔΟΣΕΙΣ ΚΡΙΤΙΚΗ

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

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΑΙ ΜΑΘΗΜΑΤΙΚΗ ΔΙΑΤΥΠΩΣΗ, Διαλ. 2. Ανωτάτη Σχολή Παιδαγωγικής και Τεχνολογικής Εκπαίδευσης 8/4/2017

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 11: Περιορισμοί της Αλγοριθμικής Ισχύος

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

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

σει κανένα modem των 128Κ. Θα κατασκευάσει συνολικά = 320,000 τεμάχια των 64Κ και το κέρδος της θα γίνει το μέγιστο δυνατό, ύψους 6,400,000.

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

Πολυπλοκότητα. Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης. Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης. Προσπάθεια υλοποίησης

Δομές Δεδομένων και Αλγόριθμοι

12/10/2015 LINEAR_PROGRAMMING_EBOOK ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ

Chapter 9: NP-Complete Problems

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

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

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

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

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

ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ Επιστήμη των Αποφάσεων, Διοικητική Επιστήμη

III.9 ΑΚΡΟΤΑΤΑ ΣΕ ΠΕΡΙΟΧΗ

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

Κατανεμημένα Συστήματα Ι

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές

Συνδυαστική Βελτιστοποίηση Εισαγωγή στον γραμμικό προγραμματισμό (ΓΠ)

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

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

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

Εισαγωγικές έννοιες. Κατηγορίες προβλημάτων (σε μια διάσταση) Προβλήματα εύρεσης μεγίστου. Συμβολισμοί

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Αλγόριθμοι Προσέγγισης για NP-Δύσκολα Προβλήματα

1. ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

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

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

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

Θεωρία Αλγόριθμοι Γραμμικής Βελτιστοποίησης 28/3/2012. Lecture07 1

Transcript:

Σχεδίαση & Ανάλυση Αλγορίθμων Ενότητα 6 Γραμμικός Προγραμματισμός Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros

Γραμμικός Προγραμματισμός Τι προβλήματα έχουμε δει έως τώρα? Προβλήματα των οποίων η λύση απαιτεί Αλγορίθμους για εργασίες βελτιστοποίησης, όπως: Ελάχιστες διαδρομές Ελάχιστα γενετικά (επικαλυπτικά) δένδρα Μέγιστες αύξουσες υπακολουθίες, κλπ Ποιο το χαρακτηριστικό της λύσης του? Αναζητούμε λύση η οποία: (α) (β) Ικανοποιεί ορισμένους περιορισμούς, και Είναι η καλύτερη δυνατή ως προς κάποιο κριτήριο!!!

Γραμμικός Προγραμματισμός Σημαντικό Αλγοριθμικό Εργαλείο (Τεχνική) για τέτοια προβλήματα Βελτιστοποίησης Γραμμικός Προγραμματισμός - LP Κύριο χαρακτηριστικό του LP Περιγράφει εργασίες βελτιστοποίησης στις οποίες: Οι Περιορισμοί και το Κριτήριο βελτιστοποίησης είναι Γραμμικές Συναρτήσεις!!!

Γραμμικός Προγραμματισμός Παράδειγμα Βρες τις τιμές των μεταβλητών x 1 και x 2 οι οποίες max x 1 + x 2 με τους περιορισμούς x 1 + 2x 2 4 4x 1 + 2x 2 12 -x 1 + x 2 1 x 1, x 2 0 Βέλτιστο Σημείο Περιορισμοί Αντικειμενική Συνάρτηση Σύνολο Περιορισμών ή Εφικτών Λύσεων Γενικά, επειδή η ΑΣ είναι γραμμική, παίρνει max (ή min) σε γωνιακό σημείο του ΣΠ, εάν αυτό είναι φραγμένο!!!

Γραμμικός Προγραμματισμός 1 Μεγιστοποίηση Κέρδους Ένα εργοστάσιο παράγει δύο προϊόντα: Α και Β Ανά Μονάδα πώλησης: Οι ημερήσιες απαιτήσεις: από το Α κερδίζει 1, και από το Β κερδίζει 6 για το Α είναι 200 Μ, και για το Β είναι 300 Μ το πολύ Επίσης, το εργοστάσιο μπορεί να παράγει συνολικά 400 Μ/ημέρα! Πόση πρέπει να είναι η ημερήσια παραγωγή από το κάθε προϊόν Α και Β, ώστε να επιτευχθεί το max κέρδος?

Μεγιστοποίηση Κέρδους Περιγράφουμε το πρόβλημά μας με χρήση LP Εάν, x 1 και x 2 είναι οι Μονάδες Ημερήσιας Παραγωγής των προϊόντων Α και Β, αντίστοιχα, τότε Βρες τις τιμές των x 1 και x 2 οι οποίες max x 1 + 6x 2 με τους περιορισμούς x 1 200 x 2 300 x 1 + x 2 400 x 1, x 2 0 από Α κέρδος 1 από Β κέρδος 6 για Α απαιτήσεις 200 Μ/ημ. για Β απαιτήσεις 300 Μ/ημ. δυνατότητα παραγωγής συνολικά 400 Μ/ημέρα!

Μεγιστοποίηση Κέρδους Περιγράφουμε το πρόβλημά μας με χρήση LP Εάν, x 1 και x 2 είναι οι Μονάδες Ημερήσιας Παραγωγής των προϊόντων Α και Β, αντίστοιχα, τότε: Βρες τις τιμές των x 1 και x 2 οι οποίες max x 1 + 6x 2 Σύνολο Εφικτών Λύσεων ή Εφικτή Περιοχή με τους περιορισμούς x 1 200 x 2 300 x 1 + x 2 400 x 1, x 2 0 Θέλουμε το σημείο αυτού του πολυγώνου στο οποίο max η ΑΣ, δηλ., το κέρδος!!!

Μεγιστοποίηση Κέρδους Περιγράφουμε το πρόβλημά μας με χρήση LP Εάν, x 1 και x 2 είναι οι Μονάδες Ημερήσιας Παραγωγής των προϊόντων Α και Β, αντίστοιχα, τότε Βρες τις τιμές των x 1 και x 2 οι οποίες max x 1 + 6x 2 με τους περιορισμούς Βέλτιστο Σημείο Κέρδος 1900 x 1 200 x 2 300 x 1 + x 2 400 x 1, x 2 0

Μεγιστοποίηση Κέρδους Χαρακτηριστικά της λύσης Αποτελεί γενικό κανόνα των Γραμμικών Προγραμμάτων ότι το βέλτιστο επιτυγχάνεται σε μια κορυφή της εφικτής περιοχής!!! Εκτός, εάν δεν υπάρχει βέλτιστο!!! Αυτό μπορεί να συμβεί με 2 τρόπους: (1) (2) Το ΓΠ είναι μη εφικτό (infeasible)! Για παράδειγμα: x 1, x 2 Οι περιορισμοί είναι τέτοιοι ώστε η εφικτή περιοχή να είναι μη φραγμένη! Για παράδειγμα: Βέλτιστο Σημείο Κέρδος 1900 max x 1 + x 2 x 1 + x 2 0

Μεγιστοποίηση Κέρδους Επίλυση Γραμμικών Προγραμμάτων Mε την μέθοδο simplex (George Dantzig, 1947)!!! Βασική Ιδέα Αλγόριθμου!!! Ξεκινά από μία κορυφή, στην περίπτωσή μας ίσως από την (0,0) Επαναληπτικά αναζητά μια γειτονική κορυφή με καλύτερη αντικειμενική τιμή Κέρδος 1900 1400 Όταν φθάσει σε μια κορυφή η οποία δεν έχει καλύτερο γείτονα, ο αλγόριθμος simplex την δηλώνει ως βέλτιστη και σταματά! 0 200

Μεγιστοποίηση Κέρδους Περισσότερα Προϊόντα Η εταιρεία, βλέποντας την ανταπόκριση των καταναλωτών, αποφασίζει να εισάγει ένα τρίτο προϊόν Γ, το οποίο κοστολογεί να πωλεί 13 τη Μονάδα!!! Οι δυνατότητες παραγωγής της εταιρίας παραμένουν ίδιες, δηλ., συνολικά 400 Μ/ημέρα! Τα προϊόντα Γ και Β θα παράγονται στο ίδιο μηχάνημα ικανότητας 600 Μ/ημ., όμως το Γ θα το χρησιμοποιεί 3 φορές περισσότερο από το Β! από Α κέρδος 1 από Β κέρδος 6 για Α απαιτήσεις 200 Μ/ημ. για Β απαιτήσεις 300 Μ/ημ. δυνατότητα παραγωγής συνολικά 400 Μ/ημέρα! Ποια είναι τα καλύτερα δυνατά επίπεδα παραγωγής, ώστε να επιτευχθεί το max κέρδος?

Μεγιστοποίηση Κέρδους Το νέο Γραμμικό Πρόγραμμα είναι το ακόλουθο: Εάν, x 1, x 2 και x 3 είναι οι Μονάδες Ημερήσιας Παραγωγής των προϊόντων Α, Β και Γ, αντίστοιχα, τότε: Βρες τις τιμές των x 1, x 2 και x 3 οι οποίες max x 1 + 6x 2 + 13x 3 Βέλτιστο Σημείο Κέρδος 3100 με τους περιορισμούς x 1 200 x 2 300 x 1 + x 2 + x 3 400 x 2 + 3x 3 600 x 1, x 2, x 3 0

Μεγιστοποίηση Κέρδους Σκιαγράφηση της λύσης του νέου Προγράμματος: Συμπεριφορά του Αλγόριθμου Simplex Βρες τις τιμές των x 1, x 2 και x 3 οι οποίες με τους περιορισμούς max x 1 + 6x 2 + 13x 3 x 1 200 x 2 300 x 1 + x 2 + x 3 400 x 2 + 3x 3 600 x 1, x 2, x 3 0 (0,300,100) 3100 Βέλτιστο Σημείο Κέρδος 3100 (200,200,0) (0,0,0) (200,0,0) 0 200 (200,0,200) 2800 1400

Γραμμικός Προγραμματισμός 2 Βέλτιστη Κατανομή Εύρους Ζώνης Έστω ένας πάροχος δικτυακών υπηρεσιών, ο οποίος διαχειρίζεται ένα δίκτυο, θέλει να δημιουργήσει τρεις συνδέσεις μεταξύ των χρηστών Α-Β, Β-Γ και Α-Γ Οι γραμμές του δικτύου έχουν εύρος ζώνης ακεραίους αριθμούς που φαίνονται διπλανό στο σχήμα Χρήστης B 10 b 6 Χρήστης Α a 13 12 11 c 8 Χρήστης Γ

Γραμμικός Προγραμματισμός 2 Βέλτιστη Κατανομή Εύρους Ζώνης Κάθε σύνδεση απαιτεί τουλάχιστον 2 μονάδες εύρους ζώνης στο δίκτυο!!! Ανά μονάδα εύρους ζώνης, η σύνδεση: Α-Β πληρώνει 3 Β-Γ πληρώνει 2 Α-Γ πληρώνει 4 Χρήστης B 10 b 6 Χρήστης Α a 13 12 11 c 8 Χρήστης Γ

Γραμμικός Προγραμματισμός 2 Βέλτιστη Κατανομή Εύρους Ζώνης Κάθε σύνδεση μπορεί να δρομολογηθεί με 2 τρόπους: Με μικρή διαδρομή Με μεγάλη διαδρομή Ή με κάποιο συνδυασμό!!! Α-a-b-B Α-a-c-b-B Για παράδειγμα, 2 μονάδες εύρους ζώνης μέσω της μικρής και 1 μέσω της μεγάλης διαδρομής 6 Χρήστης Α a 12 11 Πως θα δρομολογηθούν αυτές οι συνδέσεις για να μεγισ/θούν (max) τα έσοδα του παρόχου!!! Χρήστης B 10 b 13 c 8 Χρήστης Γ

Βέλτιστη Κατανομή Εύρους Ζώνης Αυτό είναι ένα LP ας το περιγράψουμε Έστω x ΑΒ και x AB είναι το εύρος ζώνης της μικρής και της μεγάλης διαδρομής, αντίστοιχα, που έχει κατανεμηθεί στη σύνδεση Α-Β (αντίστοιχα, για τις συνδέσεις Β-Γ και Α-Γ). Χρήστης Α max 3x ΑΒ + 3x ΑΒ + 2x ΒΓ + 2x ΒΓ + 4x ΑΓ + 4x ΑΓ μ.τ.π x ΑΒ + x ΑΒ + x ΒΓ + x ΒΓ 10 x ΑΒ + x ΑΒ + x ΑΓ + x ΑΓ 12 x ΒΓ + x ΒΓ + x ΑΓ + x ΑΓ 8 x ΑΒ + x ΒΓ + x ΑΓ 6 x ΑΓ + x ΑΓ 2 x ΑΒ, x ΑΒ, x ΒΓ, x ΒΓ, x ΑΓ, x ΑΓ 0 Χρήστης B 10 b 6 a 13 12 11 Α-Β πληρώνει 3 Β-Γ πληρώνει 2 Α-Γ πληρώνει 4 c 8 Χρήστης Γ

Βέλτιστη Κατανομή Εύρους Ζώνης Λύση μέσω του Αλγορίθμου Simplex Αν και το πρόβλημά μας είναι μια πολύ μικρή μικρογραφία του πραγματικού, είναι δύσκολο να λυθεί!!!... δοκιμάστε! Όμως, η βέλτιστη λύση λαμβάνεται ακαριαία μέσω του αλγορίθμου simplex: Χρήστης Α 12 x ΑΒ = 0 x ΑΒ = 7 a x ΒΓ = 1.5 x ΒΓ = 1.5 6 11 x ΑΓ = 0.5 x ΑΓ = 4.5 Η λύση δεν είναι ακέραιη, αλλά για την παρούσα εφαρμογή δεν χρειάζεται να είναι!!! Χρήστης B 10 b 13 c 8 Χρήστης Γ Παρατήρηση: Εντός της Α-Γ, κάθε άλλη ακμή χρησιμοποιείται πλήρως!!! Α-Β πληρώνει 3 Β-Γ πληρώνει 2 Α-Γ πληρώνει 4

Γραμμικός Προγραμματισμός! Παρατηρήσεις 1/4 Η λύση του προβλήματος Κατανομής Εύρους Ζώνης δεν είναι ακέραιη!!! x ΑΒ = 0 x ΑΒ = 7 x ΒΓ = 1.5 x ΒΓ = 1.5 x ΑΓ = 0.5 x ΑΓ = 4.5 Εάν σε ένα LP απαιτήσουμε, με κατάλληλους περιορισμούς, η λύση μας να είναι ακέραιη!!!... τότε το πρόβλημα γίνεται δυσεπίλυτο!!!

Γραμμικός Προγραμματισμός! Παρατηρήσεις 2/4 Μια γραμμική συνάρτηση, όπως η x 1 + 6x 2, μπορεί να γραφεί ως εσωτερικό γινόμενο δύο διανυσμάτων: c = 1 6 x = x 1 x 2 συμβολίζεται ως cx ή c T x Όμοια, οι γραμμικοί περιορισμοί μπορούν να γραφούν με μορφή πινάκων-διανυσμάτων: x 1 200 x 2 300 x 1 + x 2 400 1 0 0 1 1 1 x 1 x 2 200 300 400 A x b

Γραμμικός Προγραμματισμός! Παρατηρήσεις 3/4 Με αυτό το συμβολισμό, ένα γενικό LP εκφράζεται απλά ως: max c T x Ax b x 0 Οποιοδήποτε LP μπορούμε να το αναγάγουμε σε κανονική μορφή (standard form), δηλαδή σε ένα νέο LP όπου: όλες οι μεταβλητές είναι μη-αρνητικές, όλοι οι περιορισμοί είναι εξισώσεις, και η αντικειμενική συνάρτηση ελαχιστοποιείται!!!

Γραμμικός Προγραμματισμός! Παρατηρήσεις 4/4 Μέθοδοι LP Ο Simplex δεν είναι πολυωνυμικού χρόνου πρακτικά πολύ καλός! Ο Ελλειψοειδής Αλγόριθμος (Leonid Khachiyan, 1979) είναι πολυωνυμικού χρόνου πρακτικά κακός!! Μέθοδο εσωτερικών σημείων (Narenda Karmarkar, λίγα χρόνια αργότερα), είναι πολυωνυμικού χρόνου πρακτικά καλός!!! Δυϊκότητα Αποδεικνύεται ότι κάθε max LP έχει ένα δυϊκό (dual) min LP!!!

Γραμμικός Προγραμματισμός 3 Ροές σε Δίκτυα Έστω ένα δίκτυο πετρελαιαγωγών - δίκτυο μεταφοράς πετρελαίου από την περιοχή παραγωγής s στην περιοχή κατανάλωσης t!!! Το δίκτυο αναπαρίσταται με ένα κατευθυνόμενο γράφημα G = (V, E) που έχει δύο ειδικούς κόμβους s, t V, και ακμικές χωρητικότητες c e > 0 Η αντιστοιχία Δίκτυο G=(V,E) είναι προφανής!!!

Γραμμικός Προγραμματισμός 3 Ροές σε Δίκτυα Έστω ένα δίκτυο πετρελαιαγωγών - δίκτυο μεταφοράς πετρελαίου από την περιοχή παραγωγής s στην περιοχή κατανάλωσης t!!! Πρόβλημα Θέλουμε να μεταφέρουμε όσο το δυνατόν περισσότερο πετρέλαιο από τον s στον t χωρίς να υπερβούμε τη χωρητικότητα καμιάς ακμής!!!

Γραμμικός Προγραμματισμός 3 Ροές σε Δίκτυα Ένα συγκεκριμένο σχήμα μεταφοράς ονομάζεται Ροή (flow), και αποτελείται από μια μεταβλητή f e e Ε : (1) 0 f e c e e Ε (2) Σ xue f xu = Σ uye f uy u V-{s, t} Η ποσότητα ροής που εισέρχεται σε ένα κόμβο u ισούται με την ποσότητα που εξέρχεται από τον u!!! Με άλλα λόγια, η ροή διατηρείται!!!

Γραμμικός Προγραμματισμός 3 Ροές σε Δίκτυα Το δίκτυο G του παραδείγματος και μια ροή f του G!!! Το μέγεθος (size) μιας ροής f είναι η συνολική ποσότητα που στέλνεται από το s στον t και, λόγω της αρχής της διατήρησης της ροής, ισούται: Size(f) = Σ sue f su

Ροές σε Δίκτυα Πως θα λύσουμε το πρόβλημα??????? Πρόβλημα Θέλουμε να μεταφέρουμε όσο το δυνατόν περισσότερο πετρέλαιο από τον s στον t χωρίς να υπερβούμε τη χωρητικότητα καμιάς ακμής!!!

Ροές σε Δίκτυα Πως θα λύσουμε το πρόβλημα? Αρκεί να αναθέσουμε τιμές f e σε e Ε οι οποίες: θα ικανοποιούν ένα σύνολο γραμμικών περιορισμών, και θα μεγιστοποιούν μια γραμμική αντικειμενική συνάρτηση!!! Πρόβλημα Θέλουμε να μεταφέρουμε όσο το δυνατόν περισσότερο πετρέλαιο από τον s στον t χωρίς να υπερβούμε τη χωρητικότητα καμιάς ακμής!!!

Ροές σε Δίκτυα Πως θα λύσουμε το πρόβλημα? Αρκεί να αναθέσουμε τιμές f e σε e Ε οι οποίες: θα ικανοποιούν ένα σύνολο γραμμικών περιορισμών, και θα μεγιστοποιούν μια γραμμική αντικειμενική συνάρτηση!!! Όμως, αυτό είναι ένα Γραμμικό Πρόγραμμα!!!??????

Ροές σε Δίκτυα Να και η λύση του!!! Για το δίκτυο του σχήματος, το ΓΠ έχει 11 μεταβλητές μία για e Ε, και ζητά να μεγιστοποιήσει την παράσταση: η οποία υπόκειται συνολικά σε 27 περιορισμούς: max f sa + f sb + f sc 11 για μη-αρνητικότητα (όπως f sa 0) 11 για χωρητικότητα (όπως f sa 3) 5 για διατήρηση της ροής σε κάθε κόμβο u V-{s, t} (όπως f sa + f sa = f sa )

Ροές σε Δίκτυα Να και η λύση του!!! Για το δίκτυο του σχήματος, το ΓΠ έχει 11 μεταβλητές μία για e Ε, και ζητά να μεγιστοποιήσει την παράσταση: max f sa + f sb + f sc η οποία υπόκειται συνολικά σε 27 περιορισμούς: 11 για μη-αρνητικότητα (όπως f sa 0) 11 για χωρητικότητα (όπως f sa 3) 5 για διατήρηση της ροής σε κάθε κόμβο u V-{s, t} (όπως f sa + f sa = f sa ) Ο αλγόριθμος Simplex επιλύει το πρόβλημα σε ελάχιστο χρόνο!!!... δίνοντας ροή 7 που είναι πράγματι βέλτιστη!!!

Ροές σε Δίκτυα! Παρατηρήσεις 1/1 Με τη λύση που μόλις δώσαμε, τι πετύχαμε??? Πετύχαμε να «ανάγουμε» το πρόβλημα της μεγίστης ροής σε πρόβλημα Γραμμικού Προγραμματισμού!!! Αποκτήσαμε «στοιχεία» και «έμπνευση» για το σχεδιασμό άμεσων αλγορίθμων (direct max-flow algorithms)!!! Ας έρθουμε πρώτα να μιλήσουμε λίγο για αναγωγές!!! Σχεδιασμός ενός άμεσου αλγορίθμου για το πρόβλημα της μεγίστης ροής (direct max-flow algorithms)!!!

Αναγωγές Στο Βασίλειο των Ζώων Δαρβίνος = Κοινωνικά ζώα Φροντίζουν τα μικρά τους Έχουν τρίχωμα Πράγματα φαινομενικά εντελώς διαφορετικά, συχνά Αποδεικνύεται ότι είναι ΙΔΙΑ, πέρα από επιφανειακές διαφορές!!!

Αναγωγές Στο Βασίλειο των Προβλημάτων Υπολογισμός Μέγιστη Αύξουσα Υπακολουθία Μέγιστη Διαδρομή σε DAG Είδαμε με ποιο τρόπο ένας Αλγόριθμος για τον υπολογισμό της Μέγιστη Διαδρομή σε DAG μπορεί, με εκπληκτικό τρόπο, να χρησιμοποιηθεί για την εύρεση μιας Μέγιστη Αύξουσα Υπακολουθία

Αναγωγές Στο Βασίλειο των Προβλημάτων Υπολογισμός Μέγιστη Αύξουσα Υπακολουθία Μέγιστη Διαδρομή σε DAG Το Πρόβλημα της Μέγιστης Αύξουσας Υπακολουθία ανάγεται στο Πρόβλημα της Μέγιστης Διαδρομής σε DAG

Αναγωγές Στο Βασίλειο των Προβλημάτων Υπολογισμός Μέγιστη Διαδρομή σε DAG Ελάχιστη Διαδρομή σε DAG Είδαμε: Longest-Path(G) for each edge (u,v)ε(g) w(u,v) -w(u,v) return Shortest-Path(G)

Αναγωγές Στο Βασίλειο των Προβλημάτων Υπολογισμός Μέγιστη Ροή Γραμμικό Πρόγραμμα Πρόσφατα: Πετύχαμε να «ανάγουμε» το πρόβλημα της Μεγίστης Ροής σε πρόβλημα Γραμμικού Προγραμματισμού!!!

Αναγωγές Μια πιο Τυπική Θεώρηση Λέμε ότι Α Β, εάν μπορούμε να διατυπώσουμε ένα Αλγόριθμο πολυωνυμικού χρόνου για την επίλυση του Α χρησιμοποιώντας ως υπορουτίνα έναν Αλγόριθμο για την επίλυση του Β!!! Αλγόριθμος για το Α x προεπεξεργασία y Αλγόριθμος για το Β Β(y) μετεπεξεργασία Α(x) Σημείωση: Στην πραγματικότητα, μπορεί να έχουμε ή και να μην έχουμε αλγόριθμο για το Β!!!

Αναγωγές Γιατί Αναγωγές? Αυξάνουν την ισχύ των αλγορίθμων: εάν έχουμε έναν αλγόριθμο για το Β μπορούμε να τον χρησιμοποιήσουμε για να λύσουμε άλλα προβλήματα Α!!! Επιτρέπουν συγκρίσεις: μια αναγωγή Α Β, μας επιτρέπει να συγκρίνουμε τις πολυπλοκότητες χρόνου των Α και Β!!! Γενικά, η αναγωγή είναι χρήσιμη: Για κατηγοριοποίηση προβλημάτων ανάλογα με την δυσκολία τους Για δημιουργία αλγορίθμων για ΝΕΑ προβλήματα (άνω φράγματα) Για εύρεση ενδείξεων ότι δεν υπάρχουν γρήγοροι αλγόριθμοι για ΚΑΠΟΙΑ προβλήματα (κάτω φράγματα)

Αναγωγές Άνω και Κάτω Φράγματα Μόνο από την αναγωγή Α Β, δεν μπορούμε να συμπεράνουμε ότι υπάρχει ένας αλγόριθμος πολυωνυμικού χρόνου για το Α!!! Άνω φράγματα Όμως, εάν υπάρχει αλγόριθμος πολυωνυμικού χρόνου για το Β, τότε υπάρχει ένας και για το Α!!! Tο πρόβλημα Α είναι το πολύ ίδιας δυσκολίας με το Β! Κάτω φράγματα Αντίστροφα, εάν δεν υπάρχει αλγόριθμος πολυωνυμικού χρόνου για το Α, τότε δεν μπορεί να υπάρχει ούτε για το Β!!! Tο πρόβλημα Β είναι τουλάχιστον ίδιας δυσκολίας με το Α!

Αναγωγές 4 Διμερής Αντιστοίχηση Έστω ένα σύνολο n αγοριών και ένα n κοριτσιών, όπως στο παρακάτω παράδειγμα: ΑΓΟΡΙΑ Άγγελος Γιάννης Ιωσήφ Δημήτρης ΚΟΡΙΤΣΙΑ Δανάη Άννα Μαρία Κατερίνα όπου, ανάμεσα σε ένα αγόρι και ένα κορίτσι υπάρχει ακμή εάν συμπαθούν ο ένας το άλλο!!!

Αναγωγές 4 Διμερής Αντιστοίχηση Έστω ένα σύνολο n αγοριών και ένα n κοριτσιών, όπως στο παρακάτω παράδειγμα: όπου, ανάμεσα σε ένα αγόρι και ένα κορίτσι υπάρχει ακμή εάν και μόνο εάν ο ένας συμπαθεί τον άλλο!!! ΑΓΟΡΙΑ Άγγελος Γιάννης Ιωσήφ Δημήτρης ΚΟΡΙΤΣΙΑ Δανάη Άννα Μαρία Κατερίνα Για παράδειγμα, ο Άγγελος συμπαθεί όλα τα κορίτσια!!!

Αναγωγές 4 Διμερής Αντιστοίχηση Πρόβλημα Είναι δυνατόν να επιλεγούν ζευγάρια έτσι ώστε: (α) όλοι να έχουν από ένα μόνο σύντροφο, και ΑΓΟΡΙΑ Άγγελος Γιάννης Ιωσήφ Δημήτρης (β) να είναι κάποιος που συμπαθούν!!! ΚΟΡΙΤΣΙΑ Δανάη Άννα Μαρία Κατερίνα Με όρους Θεωρίας Γραφημάτων το πρόβλημα διατυπώνεται ως εξής: Υπάρχει μια τέλεια αντιστοίχιση (perfect matching)?

Αναγωγές Υπάρχει αναγωγή σε γνωστό πρόβλημα? Αυτό το πρόβλημα δημιουργίας αντιστοιχίσεων μπορεί να αναχθεί στο πρόβλημα μέγιστης ροής!!! Και επομένως, σε Γραμμικό Προγραμματισμό!!! Ορίστε πως!!! Άγγελος Δανάη S Γιάννης Ιωσήφ Άννα Μαρία t Δημήτρης Κατερίνα

Αναγωγές ΤΕΛΕΙΑ-ΑΝΤΙΣΤΟΙΧΙΣΗ ΜΕΓΙΣΤΗ-ΡΟΗ Δίνουμε σε κάθε ακμή χωρητικότητα 1!!! Τότε, υπάρχει τέλεια αντιστοίχιση εάν και μόνο εάν αυτό το δίκτυο δίνει μια ροή της οποίας το μέγεθος ισούται με το πλήθος των ζευγαριών!!! S 1 1 1 1 Άγγελος Γιάννης Ιωσήφ Δημήτρης 1 1 1 1 1 Δανάη Άννα Μαρία Κατερίνα 1 1 1 1 t

Αναγωγές ΤΕΛΕΙΑ-ΑΝΤΙΣΤΟΙΧΙΣΗ ΜΕΓΙΣΤΗ-ΡΟΗ Δίνουμε σε κάθε ακμή χωρητικότητα 1!!! Τότε, υπάρχει τέλεια αντιστοίχιση εάν και μόνο εάν αυτό το δίκτυο δίνει μια ροή της οποίας το μέγεθος ισούται με το πλήθος των ζευγαριών!!! S 1 1 1 1 Άγγελος Γιάννης Ιωσήφ Δημήτρης Δανάη Άννα Μαρία Κατερίνα 1 1 1 1 t

Αναγωγές ΤΕΛΕΙΑ-ΑΝΤΙΣΤΟΙΧΙΣΗ ΜΕΓΙΣΤΗ-ΡΟΗ Δίνουμε σε κάθε ακμή χωρητικότητα 1!!! Τότε, υπάρχει τέλεια αντιστοίχιση εάν και μόνο εάν αυτό το δίκτυο δίνει μια ροή της οποίας το μέγεθος ισούται με το πλήθος των ζευγαριών!!! Άγγελος Γιάννης Ιωσήφ Δημήτρης Δανάη Άννα Μαρία Κατερίνα

Αναγωγές! Παρατηρήσεις 1/1 ΑΓΟΡΙΑ ΚΟΡΙΤΣΙΑ Βλέπουμε να υπάρχει κάποιο πρόβλημα στην αναγωγή μας? Άγγελος Γιάννης Θα είχαμε δυσκολία να ερμηνεύσουμε μια ροή που μεταφέρει 0.8 μονάδες στην ακμή (Άγγελος, Μαρία)!!! Ιδιότητα: Εάν όλες οι χωρητικότητες των ακμών είναι ακέραιες, τότε η βέλτιστη ροή είναι ακέραιη!!! Ιωσήφ Δημήτρη ς Ευτυχώς, για το πρόβλημα της μέγιστης ροής ισχύει: Δανάη Άννα Μαρία Κατερίνα Δυστυχώς όμως, η ιδιότητα αυτή του προβλήματος της μέγιστης ροής, είναι η εξαίρεση και όχι ο κανόνας!!!

LP και Αναγωγές Υ Υστερόγραφο Αποτίμηση Κυκλώματος Η σημασία και η ισχύς του Γραμμικού Προγρ/μού απορρέει από την μεγάλη ποικιλία και το εύρος των προβλημάτων τα οποία ανάγονται σε αυτόν!!!! Κατά μία έννοια, το επόμενο πρόβλημα που θα μελετήσουμε: Αποτίμηση Κυκλώματος είναι η έσχατη εφαρμογή!!!

LP και Αναγωγές 5 Αποτίμηση Κυκλώματος Μας δίδεται ένα λογικό κύκλωμα (Boolean circuit), δηλαδή ένα DAG, με πύλες των ακόλουθων τύπων: έξοδος AND πύλες ΕΙΣΟΔΟΥ (input gates) με βαθμό εισόδου 0 και τιμή true ή false NOT OR πύλες AND και OR με βαθμό εισόδου 2 AND OR NOT πύλες ΝΟΤ με βαθμό εισόδου 1 true false true

LP και Αναγωγές 5 Αποτίμηση Κυκλώματος Το πρόβλημα ΤΙΜΗ-ΚΥΚΛΩΜΑΤΟΣ είναι το ακόλουθο: έξοδος AND Αποτίμηση της έξοδου ενός κυκλώματος σε τιμή true, εφαρμόζοντας στις πύλες του, με τοπολογική σειρά, τους κανόνες της λογικής Boole!!! NOT AND OR OR NOT true false true

LP και Αναγωγές ΤΙΜΗ-ΚΥΚΛΩΜΑΤΟΣ LP έξοδος AND Υπάρχει ένας απλός - αυτόματος τρόπος μετάφρασης αυτού του προβλήματος σε ένα Γραμμικό Πρόβλημα!!! NOT OR Δημιουργία μιας μεταβλητής x g για κάθε πύλη, μ.τ.π 0 x g 1 true AND false OR true NOT πύλη g g g g g true false OR AND NOT x g = 1 x g = 0 h h h h h x g x h x g x h x g x h + x h x g x h x g x h x g x h + x h - 1 x g = 1- x h

LP και Αναγωγές ΤΙΜΗ-ΚΥΚΛΩΜΑΤΟΣ LP έξοδος AND Οι περιορισμοί αναγκάζουν όλες τις πύλες να πάρουν σωστές τιμές 0 για false και 1 για true!!! NOT OR Δεν χρειάζεται να μεγιστοποιήσουμε ή ελαχιστ/σουμε κάτι απλώς να πάρουμε την τιμή της μεταβλητής x ο πύλη εξόδου!!! true AND false OR true NOT πύλη g g g g g true false OR AND NOT x g = 1 x g = 0 h h h h h x g x h x g x h x g x h + x h x g x h x g x h x g x h + x h - 1 x g = 1- x h

LP και Αναγωγές! Παρατηρήσεις 1/3 έξοδος AND Δώσαμε μια άμεση αναγωγή σε LP από ένα πρόβλημα το οποίο εκ πρώτης όψεως δεν φαίνεται ενδιαφέρον!!! NOT AND OR OR NOT Όμως, κατά μια έννοια, το πρόβλημα είναι το ΤΙΜΗ-ΚΥΚΛΩΜΑΤΟΣ true false true πιο γενικό πρόβλημα επιλύσιμο σε πολυωνυμικό χρόνο!!! Ας δούμε γιατί!!! Που εκτελείται ο αλγόριθμος?... σε έναν Η/Υ!!! Τι είναι ένας Η/Υ?... ένα λογικό συνδυαστικό κύκλωμα σε ένα τσιπ!!!

LP και Αναγωγές! Παρατηρήσεις 2/3 Ας δούμε γιατί!!! Εάν ο αλγόριθμος εκτελείται σε πολυωνυμικό χρόνο, μπορεί να θεωρηθεί ως: ένα λογικό κύκλωμα αποτελούμενο από πολυωνυμικό πλήθος αντιγράφων του λογικού κυκλώματος του Η/Υ!!! true NOT AND false έξοδος ένα αντίγραφο ανά μονάδα χρόνου!!!... όπου οι τιμές στις πύλες του ενός επιπέδου χρησιμοποιούνται για τον υπολογισμό των τιμών του επομένου!!! AND OR OR true NOT Επομένως, το γεγονός ότι το πρόβλημα ΤΙΜΗ-ΚΥΚΛΩΜΑΤΟΣ ανάγεται σε LP σημαίνει ότι: όλα τα προβλήματα τα οποία μπορούν να λυθούν σε πολυωνυμικό χρόνο μπορούν να αναχθούν σε Γραμμικά Προγράμματα (LP)!!!

LP και Αναγωγές! Παρατηρήσεις 3/3 έξοδος AND NP-Πληρότητα!!! Πολλά δύσκολα προβλήματα ανάγονται σε ακέραιο προγραμματισμό (ILP), το δύσκολο δίδυμο του LP! NOT AND OR OR NOT Και μια τελευταία σκέψη!!! Πως αλλιώς μπορεί να λυθεί το πρόβλημα ΤΙΜΗ-ΚΥΚΛΩΜΑΤΟΣ? Ας σκεφτούμε λίγο το κύκλωμα είναι ένα DAG!!! Ποια αλγοριθμική τεχνική είναι κατάλληλη για προβλήματα σε DAG? Σωστά!!!... Ο δυναμικός προγραμματισμός!!! Δυναμικός Προγραμματισμός και Γραμμικός Προγραμματισμός οι Δύο πιο Γενικές Αλγοριθμικές Τεχνικές του Κόσμου!!! true false true

Τέλος Ενότητας Ευχαριστώ για τη Συμμετοχή σας!!! Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros