12/3/2012. Εργαστήριο Αλγόριθμοι Γραμμικής Βελτιστοποίησης. Lab03 1. Διανυσματοποίηση Βρόχων. Αρχικοποίηση μητρών (preallocating)

Σχετικά έγγραφα
ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Θεωρία Αλγόριθμοι Γραμμικής Βελτιστοποίησης

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

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

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

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

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

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

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

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

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

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

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.

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

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

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

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

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

Εισαγωγή στην Αριθμητική Ανάλυση

Μοντελοποίηση προβληµάτων

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

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

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

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

Μαρία Λουκά. Εργαστήριο Matlab. Αριθμητικός υπολογισμός ιδιοτιμών και ιδιοδιανυσμάτων. Τμήμα Πληροφορικής και Τηλεπικοινωνιών.

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

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

Κεφάλαιο 5ο: Ακέραιος προγραμματισμός

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

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

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

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

Εισαγωγή στο Περιβάλλον Επιστημονικού Προγραμματισμού MATLAB-Simulink. Δημήτριος Τζεράνης Λεωνίδας Αλεξόπουλος

Γραμμικός Προγραμματισμός και Βελτιστοποίηση (Εργαστήριο 2)

Εφαρμοσμένα Μαθηματικά ΙΙ

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

7.5 ΑΡΑΙΕΣ ΜΗΤΡΕΣ Κατασκευή αραιών µητρών Πράξεις και συναρτήσεις αραιών µητρών Συναρτήσεις για γραφήµατα...

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

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

1. Κατασκευάστε ένα διάνυσμα με στοιχεία τους ζυγούς αριθμούς μεταξύ του 31 και 75

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

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 4

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

Μήτρες Ειδικές μήτρες. Στοιχεία Γραμμικής Άλγεβρας

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

Πληροφορική. Ενότητα 1: Α. Οργάνωση μαθήματος. Β. Στοιχεία Προγραμματισμού -Προγραμματιστικές Δομές, Πρόγραμμα, Γλώσσες.

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

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

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

Αναγνώριση Προτύπων Ι

5 η ΕΝΟΤΗΤΑ ΠΟΛΥΚΡΙΤΗΡΙΑΚΟΣ ΜΗ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

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

Προβλήματα Εκχώρησης (Assignment Problems)

7.5 ΑΡΑΙΕΣ ΜΗΤΡΕΣ Κατασκευή αραιών µητρών Πράξεις και συναρτήσεις αραιών µητρών Συναρτήσεις για γραφήµατα...

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

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

Εφαρμοσμένη Βελτιστοποίηση

όπου Η μήτρα ή πίνακας του συστήματος

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

Οι πράξεις που χρειάζονται για την επίλυση αυτών των προβληµάτων (αφού είναι απλές) µπορούν να τεθούν σε µια σειρά και πάρουν µια αλγοριθµική µορφή.

Διαχείριση ενεργειακών πόρων & συστημάτων Πρακτικά συνεδρίου(isbn: )

ΚΕΦΑΛΑΙΟ 4. Ακέραια Πολύεδρα

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

Θεωρία Μεθόδου Simplex

Για τις λύσεις των προβλημάτων υπάρχει τρόπος εκτίμησης της επίδοσης (performance) και της αποδοτικότητας (efficiency). Ερωτήματα για την επίδοση

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 5

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 6)

Επιστηµονικός Υπολογισµός Ι - Πρώτη εργαστηριακή άσκηση

A = x x 1 + 2x 2 + 4

Τετραγωνικά μοντέλα. Τετραγωνικό μοντέλο συνάρτησης. Παράδειγμα τετραγωνικού μοντέλου #1. Παράδειγμα τετραγωνικού μοντέλου #1

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

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

Παράλληλος προγραμματισμός περιστροφικών αλγορίθμων εξωτερικών σημείων τύπου simplex ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ

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

Γραφικά με υπολογιστές. Διδάσκων: Φοίβος Μυλωνάς. Διαλέξεις #11-#12

Τετραγωνικά μοντέλα. Τετραγωνικό μοντέλο συνάρτησης. Παράδειγμα τετραγωνικού μοντέλου #1. Παράδειγμα τετραγωνικού μοντέλου #1

Παράλληλη Επεξεργασία Κεφάλαιο 2 Παραλληλισμός Δεδομένων

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

διανύσματα - Πίνακες - Struct Στατικό διάνυσμα Είσοδος Έξοδος δεδομένων Συναρτήσεις Χειρισμός σφαλμάτων ΤΕΤΑΡΤΗ ΔΙΑΛΕΞΗ

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

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

Παράδειγμα δημιουργίας συστήματος εξισώσεων παρατηρήσεων & πίνακα βάρους σε οριζόντιο δίκτυο

Θέση και Προσανατολισμός

Γραμμική Άλγεβρα Ι,

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Υλοποίηση Αναθεωρημένου Αλγορίθμου Simplex

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

QR είναι ˆx τότε x ˆx. 10 ρ. Ποιά είναι η τιµή του ρ και γιατί (σύντοµη εξήγηση). P = [X. 0, X,..., X. (n 1), X. n] a(n + 1 : 1 : 1)

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

Q 12. c 3 Q 23. h 12 + h 23 + h 31 = 0 (6)

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

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) +

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 2

E[ (x- ) ]= trace[(x-x)(x- ) ]

Transcript:

Τμήμα Εφαρμοσμένης Πληροφορικής ΑΛΓΟΡΙΘΜΟΙ ΓΡΑΜΜΙΚΗΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ 8 Ο ΕΞΑΜΗΝΟ ΣΑΜΑΡΑΣ ΝΙΚΟΛΑΟΣ, ΕΠ. ΚΑΘΗΓΗΤΗΣ Βελτίωση Απόδοσης ιανυσματοποίηση βρόχων Αρχικοποίηση μητρών (preallocating) Χρήση κατάλληλων λογικών τελεστών Χρήση ενσωματωμένων συναρτήσεων Χρήση συναρτήσεων Load και Save Αποφυγή εκτέλεσης μεγάλων και πολλών διεργασιών 2 Διανυσματοποίηση Βρόχων ιανυσματοποίηση σημαίνει μετατροπή των βρόχων for και while σε ισοδύναμα διανύσματα και χρήση σε πράξεις μητρών. Πριν τη διανυσματοποίηση i=0; for k=0:0.1:8000 i=i+1; y(i)=cos(k); end Time=48.8281 sec Μετά τη διανυσματοποίηση k=0:0.1:8000; y=cos(k); Time=0.0469 sec 41 φορές καλύτερη η τεχνική με τη χρήση της διανυσματοποίησης. 3 Lab03 1

Αρχικοποίηση Μητρών Πριν την αρχικοποίηση x(1)=0; for k=2:0000 x(k)=x(k-1)^2+x(k-1); end Μετά την αρχικοποίηση x=zeros(1,0000-1); for k=2:0000 x(k)=x(k-1)^2+x(k-1); end Time=84.4687 sec Time=0.0625 sec 1351 φορές καλύτερη η τεχνική με τη χρήση της αρχικοποίησης. 4 Χρήση Κατάλληλων Λογικών Τελεστών Τελεστής &, &&, Περιγραφή Χρήση λογικού AND και OR σε μήτρες (σύγκριση στοιχείο με στοιχείο) Χρήση λογικού AND και OR σε αριθμούς Παράδειγμα if (nargin>=3) &&(ischar(varargin(3))) 5 Άλλα Tips Χρήση ενσωματωμένων συναρτήσεων Χρήση ενσωματωμένων συναρτήσεων έχει ως αποτέλεσμα τη βελτίωση της υπολογιστικής συμπεριφοράς. Χρήση functions και όχι script αρχείων. Χρήση των συναρτήσεων Load και Save Χρήση των συναρτήσεων Load και Save αντί των συναρτήσεων fread and fwrite. Αποφυγή εκτέλεσης μεγάλων διεργασιών Αποφυγή εκτέλεσης μεγάλων διεργασιών κατά την εκτέλεση κωδίκων του MATLAB. 6 Lab03 2

Κλιμάκωση σε Γ.Π. (1) ΕΦΑΡΜΟΖΕΤΑΙ Σε Γ.Π. μεγάλης διάστασης Σε Γ.Π. με μεγάλη διαφορά μεγέθους των τιμών των στοιχείων της μήτρας των συντελεστών Α. ΑΝΤΙΜΕΤΩΠΙΣΗ Χρήση τεχνικών κλιμάκωσης (scaling techniques). Οι πρώτες από αυτές και οι πιο καθιερωμένες αναπτύχθηκαν από τον Tomlin. Η τεχνική αυτή είναι γνωστή ως τεχνική της ισορρόπησης (equilibration technique). 7 Κλιμάκωση σε Γ.Π. (2) ΑΠΟΤΕΛΕΣΜΑ Η δημιουργία Γ.Π. των οποίων οι τιμές των στοιχείων της μήτρας Α περιλαμβάνει στοιχεία των οποίων οι τιμές δεν διαφέρουν σημαντικά σε μέγεθος. Τέτοιεςμήτρεςονομάζονται καλά-κλιμακωμένες (well-scaled). Τέτοια Γ.Π. με μήτρες καλά-κλιμακωμένες προάγουν την αριθμητική ακρίβεια (arithmetic accuracy) των αλγορίθμων και μειώνουν δραματικά την υπολογιστική προσπάθεια που απαιτείται για την επίλυσή τους 8 Κλιμάκωση σε Γ.Π. (3) Εύρεση του μεγαλύτερου κατά απόλυτη τιμή στοιχείου κάθε στήλης της μήτρας Α από τη σχέση colmax(j) = max { a ij : i = 1, 2,..., m}, j = 1, 2,..., n και πολλαπλασιασμός της στήλης Α.j, j = 1, 2,..., n με τον αριθμό 1/colmax(j) έτσι ώστε το μεγαλύτερο στοιχείο της να είναι +1 ή -1. Στη συνέχεια γίνεται έλεγχος αν κάθε γραμμή της μήτρας Α περιλαμβάνει τη μονάδα ως μεγαλύτερο κατά απόλυτη τιμή στοιχείο. 9 Lab03 3

Κλιμάκωση σε Γ.Π. (4) Αν δεν την περιλαμβάνει τότε επαναλαμβάνεται η ίδια διαδικασία με την κλιμάκωση κατά στήλες. Το μεγαλύτερο κατά απόλυτη τιμή στοιχείο κάθε γραμμής βρίσκεται από τη σχέση rowmax(i) =max { a ij :j =1 1, 2,..., n}, i =1 1, 2,..., n Η εύρεση του μεγαλύτερου κατά απόλυτη τιμή στοιχείου κάθε στήλης (γραμμής) γίνεται από τη μήτρα Α, οπολλαπλασιασμός με τον αριθμό 1/colmax (1/rowmax) περιλαμβάνει και τα διανύσματα κόστους (δεξιού μέρους). Κλιμάκωση σε Γ.Π. (5) Ηβέλτιστηλύσηενόςκλιμακωμένου γραμμικού προβλήματος (scaled linear problem) διαφέρει από τη βέλτιστη λύση του αρχικού. Η διαφορά αυτή προκύπτει από το γεγονός ότι η βέλτιστη λύση ενός κλιμακωμένου προβλήματος είναι και αυτή κλιμακωμένη. Η μετατροπή από την κλιμακωμένη βέλτιστη λύση σ αυτήν του αρχικού προβλήματος γίνεται από τη σχέση (colmulti) T x και (rowmulti) T x όπου συμβολίζει τον πολλαπλασιασμό του Hadamard και colmulti είναι ένα διάνυσμα διαστάσεων (1xn), τα στοιχεία του οποίου είναι οι πολλαπλασιαστές των στηλών της μήτρας Α 11 Μεταβλητές Εισόδου/Εξόδου (1) ΟΝΟΜΑ ΣΥΝΑΡΤΗΣΗΣ: scaling_eq ΟΝΟΜΑ ΑΡΧΕΙΟΥ: scaling_eq.m ΜΕΤΑΒΛΗΤΕΣ ΕΙΣΟΔΟΥ: Α mxn μήτρα συντελεστών b mx1 μήτρα δεξιού μέρους c 1xn μήτρα συντελεστών αντικειμενικής συνάρτησης global_max Δείχνει το μέγιστο στοιχείο του Γ.Π. 12 Lab03 4

Μεταβλητές Εισόδου/Εξόδου (2) ΟΝΟΜΑ ΣΥΝΑΡΤΗΣΗΣ: scaling_eq ΟΝΟΜΑ ΑΡΧΕΙΟΥ: scaling_eq.m ΜΕΤΑΒΛΗΤΕΣ ΕΞΟΔΟΥ: Α mxn μήτρα συντελεστών b mx1 μήτρα δεξιού μέρους c 1xn μήτρα κόστους αντικειμενικής συνάρτησης global_max Δείχνει το μέγιστο στοιχείο του Γ.Π. col_multi 1xn μήτρα με τους πολ/στές των στηλών του Γ.Π. row_multi 1xm μήτρα με τους πολ/στές των γραμμών του Γ.Π. 13 Παράδειγμα (1) Να εφαρμοστεί κλιμάκωση στο παρακάτω Γ.Π. με τη μέθοδο της ισορρόπησης. c = [- 30-20 50] A = 0-5 3 200 20-0 4 8 0-4 -8 80 4 14 b = 20 30 40 14 Παράδειγμα (2) c = [-0.00 0.3000-2.0000 0.2500] A = 1.0000-0.0500 0.3000 1.0000 0.2000-1.0000 0.4000 0.0400 1.0000-0.00 1.0000 0.0200-0.00 1.0000 0.5000 0.0875 b = 20 30 50 col_multi = [0.00 0.00 0.00 0.0050] row_multi = [0 0 0 1.2500] 15 Lab03 5

Άσκηση (1) Να εφαρμοστεί κλιμάκωση στο παρακάτω Γ.Π. c =[-0 20 5 00 90] A =[-00 50 8-40 -2 30 600 12 40 0-14 20-6 4-80 -30 0-800 2] b =[ 330 550 120] 16 Άσκηση (2) c =[-0.00 0.4000 0.0083 1.2500 2.2500] A =-1.0000 1.0000 0.0167 0.00-1.0000-0.0020 0.6000 1.0000 0.0150 1.0000 0.3571-1.0000 0.1190-0.0268 0.3571-0.0800-0.6000 0.1667-1.0000 0.0500 b = 1.0e+003 * 0.3300 0.00 1.9643 0.1200 col_multi=[0.00 0.0200 0.0017 0.0013 0.0250] row_multi=[0 0 3.5714 0] 17 Άσκηση (1) Να εφαρμοστεί κλιμάκωση στο παρακάτω Γ.Π. c =[-0 20 5 00 90] A =[-00 50 8-40 -2 30 600 12 40 0 50 20-6 4-80 -30 0-800 2] b =[ 330 550 120] 18 Lab03 6

Άσκηση (2) c =[-0.00 0.4000 0.0083 1.2500 2.2500] A =-1.0000 1.0000 0.0167 0.00-1.0000-0.0020 0.6000 1.0000 0.0150 1.0000 0.00 1.0000 0.0333-0.0075 0.00-0.0800-0.6000 0.1667-1.0000 0.0500 b = 330 550 120 col_multi=[0.00 0.0200 0.0017 0.0013 0.0250] row_multi=[0 0 1 0] 19 Lab03 7