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

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

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

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

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

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

Κεφάλαιο 6. Μέθοδοι επίλυσης προβλημάτων ακέραιου προγραμματισμού

max 17x x 2 υπό 10x 1 + 7x 2 40 x 1 + x 2 5 x 1, x 2 0.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Β. Βασιλειάδης. Επιχειρησιακή Έρευνα Διάλεξη 5 η -Αλγόριθμος Simplex

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

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

Επιχειρησιακή έρευνα (ασκήσεις)

Γραµµικός Προγραµµατισµός (ΓΠ)

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

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

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

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

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

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

Τμήμα Διοίκησης Επιχειρήσεων

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

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

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

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

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

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

2. ΣΥΓΚΕΝΤΡΩΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΠΑΡΑΓΩΓΗΣ

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

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

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

Λυμένες ασκήσεις στα πλαίσια του μαθήματος «Διοίκηση Εφοδιαστικής Αλυσίδας»

Περιεχόμενα. 1. Ανάλυση ευαισθησίας. (1) Ανάλυση ευαισθησίας (2) Δυϊκό πρόβλημα (κανονική μορφή) (3) Δυαδικός προγραμματισμός (4) Ανάλυση αποφάσεων

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

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

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

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

Το µαθηµατικό µοντέλο του Υδρονοµέα

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

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

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

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

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

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

Λύσεις θεμάτων Επιχειρησιακής Έρευνας (17/09/2014)

Η μέθοδος Simplex. Χρήστος Γκόγκος. Χειμερινό Εξάμηνο ΤΕΙ Ηπείρου

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

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

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

ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ & ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ. ΕΞΕΤΑΣΗ ΣΤΗΝ ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ Έβδομο Εξάμηνο

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

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

ΠΡΟΒΛΗΜΑΤΑ ΕΛΑΧΙΣΤΟΠΟΙΗΣΗΣ

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

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

Τ.Ε.Ι. Πειραιά Π.Μ.Σ. ΕΠΙΣΤΗΜΗ ΤΩΝ ΑΠΟΦΑΣΕΩΝ ΜΕ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

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

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

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

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

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

Μάθημα Επιλογής 8 ου εξαμήνου

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

Τμήμα Διοίκησης Επιχειρήσεων

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

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

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

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

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

Προσεγγιστικοί Αλγόριθμοι

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

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

Case 09: Επιλογή Διαφημιστικών Μέσων ΙI ΣΕΝΑΡΙΟ (1)

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

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

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

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

Αναζητάμε το εβδομαδιαίο πρόγραμμα παραγωγής που θα μεγιστοποιήσει 1/20

Case 10: Ανάλυση Νεκρού Σημείου (Break Even Analysis) με περιορισμούς ΣΕΝΑΡΙΟ

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

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

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

Α) δηλώνουν τις ποσότητες που, ανάλογα με το πρόβλημα, θα παραχθούν, επενδυθούν, αγοραστούν, κατασκευαστούν κ.λπ.

Αλγεβρική Μέθοδος Επίλυσης Γραμμικών Μοντέλων Η μέθοδος SIMPLEX (Both Simple and Complex ) 1

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

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

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

Transcript:

Διαχείριση Εφοδιαστικής Αλυσίδας ΙΙ 1 η Διάλεξη: Αναδρομή στον Μαθηματικό Προγραμματισμό 2019, Πολυτεχνική Σχολή Εργαστήριο Συστημάτων Σχεδιασμού, Παραγωγής και Λειτουργιών

Περιεχόμενα 1. Γραμμικός Προγραμματισμός 1.1 Παράδειγμα Γραμμικού Προγραμματισμού 1.2 Η μέθοδος Simplex 2. Ακέραιος Προγραμματισμός 2.1 Παραδείγματα μοντέλων Ακέραιου Προγραμματισμού 2.2 Η μέθοδος Branch and Bound (B&B) 2.3 Μεικτός Ακέραιος Προγραμματισμός 2.4 Δυαδικές μεταβλητές 2

Γραμμικός Προγραμματισμός Παράδειγμα Γραμμικού Προγραμματισμού Παράδειγμα ΏΡΕΣ ΠΡΟΪΟΝ Π1 Π2 ΔΥΝΑΜΙ- ΚΟΤΗΤΑ Μ1 1 0 4 Μ2 0 2 12 Μ3 3 2 18 ΚΕΡΔΟΣ 3 5 max z= 3x 1 + 5x 2 x 1 4 2x 2 12 3x 1 + 2x 2 18 x 1, x 2 0 Γραφική Προσέγγιση x 2 10 9 8 z 6 = 5*6 = 30 z A = 3*2 + 5*6 = 36 z B = 3*4 + 5*3 = 27 z 4 = 3*4 = 12 7 6 5 4 3 2 1 A (2,6) B (4,3) 0 0 1 2 3 3,33 4 5 6 7 x 1 3

Περιεχόμενα 1. Γραμμικός Προγραμματισμός 1.1 Παράδειγμα Γραμμικού Προγραμματισμού 1.2 Η μέθοδος Simplex 2. Ακέραιος Προγραμματισμός 2.1 Παραδείγματα μοντέλων Ακέραιου Προγραμματισμού 2.2 Η μέθοδος Branch and Bound (B&B) 2.3 Μεικτός Ακέραιος Προγραμματισμός 2.4 Δυαδικές μεταβλητές 4

Γραμμικός Προγραμματισμός H Μέθοδος Simplex (1/4) Βήμα 1: Μεταβολή των ανισοτήτων σε ισότητες με την προσθήκη χαλαρών μεταβλητών z - 3x 1-5x 2 =0 x 1 + x 3 =4 2x 2 + x 4 =12 3x 1 + 2x 2 + x 5 =18 x 1,.,x 5 0 Μη βασικές μεταβλητές = 0 Ορισμός: Βασικές = οι υπόλοιπες Βήμα 2: Βασικές: x 3, x 4, x 5 Μη Βασικές: x 1, x 2 j Βασικές Εξ. (i) z x 1 x 2 x 3 x 4 x 5 β z 0 1-3 -5 0 0 0 0 x 3 1 0 1 0 1 0 0 4 x 4 2 0 0 2 0 1 0 12 x 5 3 0 3 2 0 0 1 18 Εφικτή λύση: x 1 = x 2 =0, x 3 =4, x 4 =12, x 5 =18 Κριτήριο: Είναι όλοι οι συντελεστές της εξίσωσης 0 Μη αρνητικοί; Αν ΝΑΙ STOP Αν ΟΧΙ CONTINUE 5

Γραμμικός Προγραμματισμός H Μέθοδος Simplex (2/4) Επαναληπτικό Βήμα Α. Προσδιορισμός Εισερχόμενης Βασικής Μεταβλητής x j Συντελεστής x j στην εξίσωση (0) είναι ο αρνητικός με τη μέγιστη απόλυτη τιμή Γιατί; Αύξηση της μεταβλητής αυτής αυξάνει γρηγορότερα την αντικειμενική συνάρτηση Η στήλη J είναι η αξονική στήλη Παράδειγμα: Εισερχόμενη βασική μεταβλητή η x 2 j = 2 B. Προσδιορισμός Εξαρτώμενης Βασικής Μεταβλητής θετικό Συντελεστή a ij υπολογίζεται b i a ij Επιλέγεται η σειρά i που αντιστοιχεί στο μικρότερο πηλίκο min Γιατί; Ο περιορισμός αυτός «περιορίζει» περισσότερο την αύξηση της εισερχόμενης μεταβλητής Η σειρά i είναι η αξονική σειρά Παράδειγμα: b 2 a 22 = 6, b 3 a 32 = 9 i = 2 Εξερχόμενη βασική μεταβλητή x 4 b i a ij 6

Γραμμικός Προγραμματισμός H Μέθοδος Simplex (3/4) Γ. Νέα εφικτή λύση Γ1. Μετατρέπεται ο συντελεστής της νέας βασικής μεταβλητής σε 1 διαιρώντας την αξονική σειρά με a i j Παράδειγμα Γ2. a i j = α i j α i j Βασικές Εξ. z x 1 x 2 x 3 x 4 x 5 β z 0 1-3 -5 0 0 0 0 x 3 1 0 1 0 1 0 0 4 x 2 2 0 0 1 0 1/2 0 6 x 5 3 0 3 2 0 0 1 18 Τα στοιχεία της αξονικής στήλης a ij θα γίνουν 0 εκτός του a i j Αυτό θα γίνει πολλαπλασιάζοντας την αξονική σειρά με a ij, i i και αφαιρώντας από τη σειρά i i Παράδειγμα Βασικές Εξ. z x 1 x 2 x 3 x 4 x 5 β z 0 1-3 0 0 5/2 0 30 x 3 1 0 1 0 1 0 0 4 x 2 2 0 0 1 0 1/2 0 6 x 5 3 0 3 0 0-1 1 6 Γ3. Συνεχίζεται η διαδικασία μέχρι όλοι οι συντελεστές της γραμμής 0 να είναι 0 x 1 = 2, x 2 = 6, x 3 = 2 7

Γραμμικός Προγραμματισμός H Μέθοδος Simplex (4/4) Παράδειγμα Βασικές Εξ. z x 1 x 2 x 3 x 4 x 5 β z 0 1-3 0 0 0 5/2 30 x 3 1 0 1 0 1 0 0 4 x 2 2 0 0 1 0 1/2 0 6 x 5 3 0 3 0 0-1 1 6 Εισερχόμενη x 1, Εξερχόμενη x 5 ( 4 1, 6 3 ) Βασικές Εξ. z x 1 x 2 x 3 x 4 x 5 β z 0 1 0 0 0-1 7/2 36 x 3 1 0 0 0 1 1/3-1/3 2 x 2 2 0 0 1 0 1/2 0 6 x 1 3 0 1 0 0-1/3 1/3 2 Όλοι οι συντελεστές της εξίσωσης (0) 0 z = 36, x 1 = 2, x 2 = 6, x 3 = 2 x 4 = 0, x 5 = 0 Μη βασικές Άσκηση: Να λυθεί γραφικά, με Simplex και με το solver max z= 2x 1 + 3x 2 x 1 + 2x 2 10 3x 1 + x 2 15 x 2 4 x 1, x 2 0 8

Περιεχόμενα 1. Γραμμικός Προγραμματισμός 1.1 Παράδειγμα Γραμμικού Προγραμματισμού 1.2 Η μέθοδος Simplex 2. Ακέραιος Προγραμματισμός 2.1 Παραδείγματα μοντέλων Ακέραιου Προγραμματισμού 2.2 Η μέθοδος Branch and Bound (B&B) 2.3 Μεικτός Ακέραιος Προγραμματισμός 2.4 Δυαδικές μεταβλητές 9

Ακέραιος Προγραμματισμός Παραδείγματα Μοντέλων Ακέραιου Προγραμματισμού (1/2) Παράδειγμα 1: Επιλογή επενδύσεων για μεγιστοποίηση κέρδους c j = κέρδος από επένδυση j j = 1,, n α ij = πόρος i που απαιτείται για επένδυση j i = 1,, m (π.χ. απαραίτητο κεφάλαιο) β i = διαθεσιμότητα πόρου i i = 1,, n x i 0,1 1 = εαν επενδύσουμε 0 = εαν δεν επενδύσουμε max n c j x j j=1 n a ij x j β i i = 1,, m j=1 x j 0, 1 j = 1,, n Γνωστό πρόβλημα: Πρόβλημα Σακκιδίου (Knapsack): Τι πρέπει να πάρει ένας ταξιδιώτης στο σακκίδιό του, c j = αξία αντικείμενου j, α j = βάρος αντικειμένου j n max c j x j j=1 j a j x j β x j 0, 1 j = 1,, n 10

Ακέραιος Προγραμματισμός Παραδείγματα Μοντέλων Ακέραιου Προγραμματισμού (2/2) Παράδειγμα 2: Σχεδιασμός Δικτύου αποθηκών Μεταβλητές απόφασης 1 = εάν χρησιμοποιηθεί αποθήκη i y i = 0,1 0 = εάν δεν χρησιμοποιηθεί αποθήκη i Κόστη Περιορισμοί x ij = ποσότητα που αποστέλλεται από αποθήκη i στον πελάτη j i. Η ζήτηση d j του πελάτη j πρέπει να ικανοποιηθεί i = 1,, m j = 1,, n f i = σταθερό κόστος λειτουργίας αποθήκης (π.χ. ενοίκιο) c ij = μεταβλητή (μοναδιαίο) κόστος logistics αποθήκης i για να εξυπηρετηθεί ο πελάτης j (π.χ. κόστος διαχείρισης αποθήκης και κόστος μεταφοράς από i σε j) ii. Η αποθήκη i αποστέλλει αγαθά μόνο εάν λειτουργεί Πολύ σημαντικό πρόβλημα για logistics όπως θα δούμε s.t. m m n min f i y i + c ij x ij i=1 m x ij d j i=1 n n x ij y i i=1 j=1 j = 1,, n i = 1,, m d j j=1 j=1 x ij 0 j = 1,, n y i 0,1 i = 1,, m 11

Περιεχόμενα 1. Γραμμικός Προγραμματισμός 1.1 Παράδειγμα Γραμμικού Προγραμματισμού 1.2 Η μέθοδος Simplex 2. Ακέραιος Προγραμματισμός 2.1 Παραδείγματα μοντέλων Ακέραιου Προγραμματισμού 2.2 Η μέθοδος Branch and Bound (B&B) 2.3 Μεικτός Ακέραιος Προγραμματισμός 2.4 Δυαδικές μεταβλητές 12

Ακέραιος Προγραμματισμός Μέθοδος Επίλυσης Παράδειγμα max z= 5x 1 + 8x 2 x 1 + x 2 6 5x 1 + 9x 2 45 x 1, x 2 0 και ακέραιοι Γραφική απεικόνιση του γραμμικού (συνεχούς) προβλήματος x 2 7 6 5 4 3 2 5/4 1 0 ( 9 4, 15 4 ) 0 2 4 6 8 9 10 5x 1 + 8x 2 =10 Η βέλτιστη λύση δεν δίνεται από στρογγυλοποίηση της βέλτιστης γραμμικής λύσης x 1 x 1 + x 2 = 6 5x 1 + 9x 2 = 45 x 1 Βέλτιστη Γραμμική Λύση Στρογγυλοποίηση Πλησιέστερη Εφικτή Βέλτιστη 9 4 = 2.25 2 2 0 15 4 = 3.75 4 3 5 z 41.25 Μη εφικτή 46 45 34 40 x 2-4 x 2 = -15 x 2 = 15 4, x 1 = 9 4 13

Ακέραιος Προγραμματισμός Μέθοδος Branch and Bound (B&B) (1/5) Η βέλτιστη λύση του γραμμικού προγραμματισμού πάντα αντιστοιχεί σε άνω όριο ενός ακέραιου προβλήματος μεγιστοποίησης (ή στο κάτω όριο ενός προβλήματος ελαχιστοποίησης) Κάθε εφικτή ακέραια λύση πάντα αντιστοιχεί σε κάτω όριο ενός προβλήματος μεγιστοποίησης (άνω όριο σε πρόβλημα ελαχιστοποίησης) Η B&B χρησιμοποιεί αυτές τις δύο παρατηρήσεις συστηματικά και υποδιαιρεί την εφικτή περιοχή για να καταλήξει στη βέλτιστη λύση Παράδειγμα: Επίλυση του γραμμικού προβλήματος z = 41 1 4 αντικειμενικής συνάρτησης είναι ακέραιοι) x 1 = 2 1 4, x 2= 3 3 4 η Γραμμική Λύση με z * z ο ή z * 41 (καθώς οι συντελεστές της Θα υποδιαιρέσουμε την εφικτή περιοχή αρχίζοντας από αυτή τη λύση π.χ. x 2 3 x 2 4 (ή x 1 2 x 2 3. Επιλέγουμε αυθαίρετα την πρώτη επιλογή) Γραμμικό Πρόβλημα L1 Γραμμικό Πρόβλημα L2 max z= 5x 1 + 8x 2 x 1 + x 2 6 5x 1 + 9x 2 45 x 2 4 x 1 0 max z= 5x 1 + 8x 2 x 1 + x 2 6 5x 1 + 9x 2 45 x 2 3 x 1, x 2 0 14

Ακέραιος Προγραμματισμός Μέθοδος Branch and Bound (B&B) (2/5) L0 x 1 = 2.25 x 2 = 3.75 z = 41.25 z * 41 x 2 4 x 2 3 Εύκολο με Γραμμική επίλυση L1 x 1 = 1.8 x 2 = 4 z = 41 L2 15

Ακέραιος Προγραμματισμός Μέθοδος Branch and Bound (B&B) (3/5) Καθότι ο x 2 είναι ακέραιος Υποδιαίρεση (διακλάδωση) μέσω x 1, L3: x 1 2, L4: x 1 1 L0 x 1 = 2.25 x 2 = 3.75 z = 41.25 z * 41 x 2 4 x 2 3 L1 x 1 = 1.8 x 2 = 4 z = 41 L2 x 1 2 x 1 1 L3 Ανέφικτο (Περιορισμός 2) Stop L4 max z= 5x 1 + 8x 2 x 1 + x 2 6 5x 1 + 9x 2 45 x 2 4 x 1 1 x 1 0 Μπορούμε να υποδιαιρέσουμε την περιοχή του L2 ή του L4 (αυθαίρετα). Στην πράξη υπάρχουν ευρετικές μέθοδοι επιτάχυνσης (π.χ. Depth-first) 16

Ας επιλέξουμε το L4 Γραφική Επίλυση x 1 = 1, x 2 = 40 Η διακλάδωση θα είναι L5: x 2 4, L6: x 2 5. Τώρα έχουμε να θεωρήσουμε τα L2, L5, L6. Για το L5: Η λύση είναι: x 1 = 1, x 2 = 4, z = 37 Το z = 37 είναι ένα κάτω όριο. Επίσης δεν υπάρχει καλύτερη ακέραια λύση στην περιοχή αυτή (καθότι είναι η λύση του γραμμικού προβλήματος) και σταματάμε. z= 5x 1 + 8x 2 x 1 + x 2 6 5x 1 + 9x 2 45 x 1 1 x 2 = 4 x 1, x 2 0 Ακέραιος Προγραμματισμός Μέθοδος Branch and Bound (B&B) (4/5) 9 (καθότι x 2 4 και x 2 4) L0 z * 41 x 2 4 x 2 3 L1 x 1 2 x 1 1 L2 L3 Stop L4 x 2 =4 x 2 5 z * 37 L5 Stop L6 17

Ακέραιος Προγραμματισμός Μέθοδος Branch and Bound (B&B) (5/5) Έχουμε να αναλύσουμε L2, L6. Στο L6 η μόνη εφικτή λύση είναι x 2 = 5, x 1 = 0 (λόγω περιορισμού 2) και z= 40. Έτσι το κάτω όριο βελτιώνεται 40 z * 41 Για το L2 x 1 =x 2 = 3, z= 39 Δεν μπορεί να προκύψει καλύτερη ακέραια λύση και εγκαταλείπεται. Έτσι το πρόβλημα επιλύθηκε Περίληψη Η βασική ιδέα του B&B είναι η υποδιαίρεση (διακλάδωση) της εφικτής περιοχής για να ευρεθούν όρια z z z. Για πρόβλημα μεγιστοποίησης το κάτω όριο z είναι η μέγιστη τιμή του z που αντιστοιχεί σε οιαδήποτε γνωστή ακέραια λύση. Το άνω όριο είναι η τιμή της αντικειμενικής συνάρτησης της βέλτιστης λύσης του γραμμικού (συνεχούς) προγραμματισμού. Γίνεται υποδιαίρεση (διακλάδωση) της εφικτής περιοχής και προχωρά η επίλυση Δεν γίνεται περαιτέρω υποδιαίρεση (διακλάδωση) μιας περιοχής όταν: α) το γραμμικό πρόβλημα L j είναι μη εφιτκό β) η λύση του γραμμικού προβλήματος L j είναι ακέραια (τότε δεν υπάρχει καλύτερη περαιτέρω διακλάδωση. Η λύση αποτελεί κάτω όριο) γ) Η λύση του γραμμικού προβλήματος L j z j z (όταν μεγιστοποιούμε) 18

Ακέραιος Προγραμματισμός Άσκηση: Να λυθεί με B&B και με το solver max z= 4x 1 + 2x 2 x 1 + x 2 8 x 1 + 3x 2 15 x 1 4 x 1, x 2 0 και ακέραιοι 19

Περιεχόμενα 1. Γραμμικός Προγραμματισμός 1.1 Παράδειγμα Γραμμικού Προγραμματισμού 1.2 Η μέθοδος Simplex 2. Ακέραιος Προγραμματισμός 2.1 Παραδείγματα μοντέλων Ακέραιου Προγραμματισμού 2.2 Η μέθοδος Branch and Bound (B&B) 2.3 Μεικτός Ακέραιος Προγραμματισμός 2.4 Δυαδικές μεταβλητές 20

Μεικτός Ακέραιος Προγραμματισμός Μέθοδος Επίλυσης: Β&Β Αφορά την περίπτωση που κάποιες μεταβλητές απόφασης είναι ακέραιες και κάποιες συνεχείς Στην περίπτωση αυτή η διαδικασία διακλάδωσης εφαρμόζεται μόνο στις ακέραιες μεταβλητές Η διαδικασία B&B εφαρμόζεται ακριβώς όπως στην περίπτωση του (καθαρά) ακέραιου προγραμματισμού Παράδειγμα max 3x 1 2x 2 + 10 x 1 2x 2 + x 3 = 5 2 2x 1 + x 2 + x 4 = 3 2 x 1, x 2, x 3, x 4 0 x 2, x 3 ακέραιοι Επίλυση L 0 με Solver L0 x 1 = 0 x 2 = 0 z=10 x 3 = 2,5 x 2 = 1,5 z * 10 21

Μεικτός Ακέραιος Προγραμματισμός Μέθοδος Επίλυσης: Β&Β Η διακλάδωση δε γίνεται στις μεταβλητές x 1 και x 4 καθότι είναι συνεχείς Η διακλάδωση δε γίνεται στη μεταβλητή x 2 καθότι είναι ακέραια και η τιμή 0 είναι η καλύτερη δυνατή στην εφικτή περιοχή x 2 0 Άρα δικλαδώνεται η x 3 σε L1: x 3 2 και L2: x 3 3 x 3 2 x 1 = 0 x 2 = 0 L0 z=10 x 3 = 2,5 x 2 = 1,5 z * 10 x 3 3 Ακέραια λύση 8,5 z * 10 x 1 = 0,5 x 2 = 0 L1 z=8,5 x 3 = 2 x 4 = 0,5 L2 x 1 = 0 x 3 = 3 x 2 = 0,25 x 4 = 1,25 z=9,5 Stop Καθότι δεν υπάρχει καλύτερη ακέραια λύση σε αυτή την υποδιαίρεση της εφικτής περιοχής (κλάδο) Όλες οι επιλύσεις των L με Solver 22

Μεικτός Ακέραιος Προγραμματισμός Μέθοδος Επίλυσης: Β&Β Διακλάδωση στη x 2 L2.1: x 2 = 0 και L2.2: x 2 1 Όλες οι επιλύσεις των L με Solver x 3 2 x 1 = 0 x 2 = 0 L0 z=10 x 3 = 2,5 x 2 = 1,5 z * 10 x 3 3 Ακέραια λύση 8,5 z * 10 x 1 = 0,5 x 2 = 0 L1 z=8,5 x 3 = 2 x 2 = 0,5 x 2 = 0 L2 x 1 = 0 x 3 = 3 x 2 = 0,25 x 2 = 1,25 z=9,5 x 2 1 Stop L2.1 L2.2 x 1 = 0 x 2 = 1 x 3 = 4.5 x 2 = 0,5 z=8 Stop Ανέφικτο πρόβλημα Συνεπώς η βέλτιστη λύση είναι αυτή του L1 Stop Λύση με τιμή z μικρότερη από το κάτω όριο 8 8,5 23

Περιεχόμενα 1. Γραμμικός Προγραμματισμός 1.1 Παράδειγμα Γραμμικού Προγραμματισμού 1.2 Η μέθοδος Simplex 2. Ακέραιος Προγραμματισμός 2.1 Παραδείγματα μοντέλων Ακέραιου Προγραμματισμού 2.2 Η μέθοδος Branch and Bound (B&B) 2.3 Μεικτός Ακέραιος Προγραμματισμός 2.4 Δυαδικές μεταβλητές 24

Δυαδικές μεταβλητές στον Ακέραιο Προγραμματισμό Μέθοδος Επίλυσης: Β&Β Αφορά την περίπτωση που όλες οι μεταβλητές του γραμμικού προγράμματος είναι ακέραιες και λαμβάνουν τιμές x i 0,1, i = 1,, n Στην περίπτωση αυτή θα μπορούσε κανείς να διερευνήσει όλους τους δυνατούς συνδυασμούς, και μεταξύ αυτών που ικανοποιούν τις συνθήκες να επιλέξει αυτόν που αντιστοιχεί στη βέλτιστη τιμή της αντικειμενικής συνάρτησης. Οι συνδυασμοί αυτοί είναι 2 n (π.χ. για n = 10 είναι 1024, για n=20 είναι > 1.000.000) Για τον περιορισμό των συνδυασμών χρησιμοποιείται μία απλή παραλλαγή στης μεθόδου B&B για την οποία δεν απαιτείται η λύση του συνεχούς γραμμικού προβλήματος Θα περιγράψουμε τη μέθοδο για πρόβλημα μεγιστοποίησης με αρνητικούς συντελεστές της αντικειμενικής συνάρτησης για το οποίο η καλύτερη (αλλά όχι κατ ανάγκη εφικτή) λύση είναι η x 1 = x 2 = x n = 0 Για άλλες μορφές προβλημάτων θα δούμε ότι εύκολα μετασχηματίζονται στη παραπάνω μορφή Παράδειγμα max z = 8x 1 2x 2 4x 3 7x 4 5x 5 + 10 3x 1 3x 2 + x 3 + 2x 4 + 3x 5 2 5x 1 3x 2 2x 3 x 4 + x 5 4 x 1, x 2, x 3, x 4, x 5 {0,1} 25

Δυαδικές μεταβλητές στον Ακέραιο Προγραμματισμό Μέθοδος Επίλυσης: Β&Β Αρχή με όλες τις μεταβλητές ελεύθερες και με κάτω όριο το z = 1. Αν δεν υφίσταται ελεύθερη μεταβλητή έχει βρεθεί η βέλτιστη λύση και είναι αυτή που αντιστοιχεί στο τρέχον κάτω όριο 2. Επιλογή μίας ελεύθερης μεταβλητής και διακλάδωση σε δύο κλάδους για τους οποίους η επιλεγμένη μεταβλητή λαμβάνει τιμές 0 ή 1, αντίστοιχα. Για τους κλάδους αυτούς η επιλεγμένη μεταβλητή δεν είναι πλέον ελεύθερη (καθώς λαμβάνει σταθερή τιμή) 3. Για κάθε κλάδο που δεν έχει διερευνηθεί I. Προσδιορίζουμε την βέλτιστη λύση για τον κλάδο θέτοντας όλες τις ελεύθερες μεταβλητές = 0 II. Εξετάζουμε αν η λύση ικανοποιεί όλους τους περιορισμούς a. Αν ναι και η τιμή της αντικειμενικής είναι μικρότερη από το τρέχον κάτω όριο, τότε σταματούμε την περαιτέρω διερεύνηση του κλάδου (καθότι κάθε υποδιαίρεση θα αντιστοιχεί σε τιμή χειρότερη ή ίδια της τρέχουσας η οποία είναι ήδη χειρότερη από τη λύση που αντιστοιχεί στο τρέχον κάτω όριο) b. Αν ναι και η τιμή της αντικειμενικής είναι μεγαλύτερη από το τρέχον κάτω όριο έχουμε ένα νέο κάτω όριο και δεν υποδιαιρούμε περαιτέρω τον κλάδο (καθότι κάθε υποδιαίρεση θα αντιστοιχεί σε τιμή χειρότερη ή ίδια της τρέχουσας) c. Αν όχι και γνωρίζουμε (θα δούμε πως) πως καμία λύση σε αυτή την υποδιαίρεση δεν είναι εφικτή σταματούμε την περαιτέρω διερεύνηση του κλάδου d. Αν όχι και υπάρχουν ελεύθερες μεταβλητές υποδιαιρούμε περαιτέρω τον κλάδο (αν είναι εφικτό) μεταβαίνοντας στο βήμα 1 26

Δυαδικές μεταβλητές στον Ακέραιο Προγραμματισμό Μέθοδος Επίλυσης: Β&Β Εφαρμογή αλγορίθμου στο παράδειγμα max z = 8x 1 2x 2 4x 3 7x 4 5x 5 + 10 3x 1 3x 2 + x 3 + 2x 4 + 3x 5 2 5x 1 3x 2 2x 3 x 4 + x 5 4 x 1, x 2, x 3, x 4, x 5 {0,1} x 1 = 1 0 z 10 x 1 = 0 z 2 1 2 Στον κόμβο 0 όλες οι μεταβλητές είναι ελεύθερες. Θέτοντας τις τιμές τους 0 η λύση δεν είναι εφικτή και z = 10. Η τιμή αυτή είναι άνω όριο z 10 Στον κόμβο 1, x 1 = 1 με ελεύθερες μεταβλητές x 2, x 3, x 4, x 5. Αν θέσουμε τις ελεύθερες μεταβλητές = 0,όλοι οι περιορισμοί ικανοποιούνται και z = 2, οπότε z 2 και σταματάει η περαιτέρω διερεύνηση του κλάδου. Τρέχον κάτω όριο είναι z = 2 Ο κόμβος 2 είναι ίδιος με τον 0 (με τη διαφορά ότι x 1 = 0 και μόνο οι υπόλοιπες 4 μεταβλητές είναι ελεύθερες). Άρα γίνεται περαιτέρω διακλάδωση 27

Δυαδικές μεταβλητές στον Ακέραιο Προγραμματισμό Μέθοδος Επίλυσης: Β&Β max z = 8x 1 2x 2 4x 3 7x 4 5x 5 + 10 3x 1 3x 2 + x 3 + 2x 4 + 3x 5 2 5x 1 3x 2 2x 3 x 4 + x 5 4 x 1, x 2, x 3, x 4, x 5 {0,1} z 2 x 1 = 1 Τρέχον κάτω όριο 0 1 2 z 10 x 1 = 0 x 2 = 1 x 2 = 0 3 4 Στον κόμβο 3 x 1 = 0, x 2 = 1 με ελεύθερες μεταβλητές x 3, x 4, x 5. Αν θέσουμε τις ελεύθερες μεταβλητές = 0, τότε ο δεύτερος περιορισμός δεν ικανοποιείται και συνεχίζουμε τη διερεύνηση της υποδιαίρεσης περαιτέρω διακλάδωση Στον κόμβο 4 x 1 = 0, x 2 = 0 με ελεύθερες μεταβλητές x 3, x 4, x 5. Αν θέσουμε τις ελεύθερες μεταβλητές = 0, τότε η λύση δεν είναι εφικτή. Παρατηρείται όμως ότι καμία λύση αυτής της υποδιαίρεσης δεν είναι εφικτή για οιονδήποτε συνδυασμό τιμών των ελεύθερων μεταβλητών. Επομένως σταματάει η περαιτέρω διερεύνηση αυτού του κλάδου Συνεχίζουμε μόνο με τον κόμβο 3 28

Δυαδικές μεταβλητές στον Ακέραιο Προγραμματισμό Μέθοδος Επίλυσης: Β&Β max z = 8x 1 2x 2 4x 3 7x 4 5x 5 + 10 3x 1 3x 2 + x 3 + 2x 4 + 3x 5 2 5x 1 3x 2 2x 3 x 4 + x 5 4 x 1, x 2, x 3, x 4, x 5 {0,1} z 2 x 1 = 1 Κάτω όριο 0 1 2 z 10 x 1 = 0 x 2 = 1 x 2 = 0 3 4 Στον κόμβο 5 x 1 = 0, x 2 = 1, x 3 = 1 με ελεύθερες μεταβλητές x 4, x 5. Αν θέσουμε τις ελεύθερες μεταβλητές = 0, τότε ικανοποιούνται οι περιορισμοί και z = 4, οπότε z 4 και σταματάει η περαιτέρω διερεύνηση του κλάδου. Το τρέχον κάτω όριο είναι z = 4 z 4 x 3 = 1 x 3 = 0 Ανέφικτος κλάδος 5 6 Τρέχον κάτω όριο Στον κόμβο 6 x 1 = 0, x 2 = 1, x 3 = 0 με ελεύθερες μεταβλητές x 4, x 5. Αν θέσουμε τις ελεύθερες μεταβλητές = 0, τότε η λύση δεν είναι εφικτή και συνεχίζεται η διακλάδωση 29

Δυαδικές μεταβλητές στον Ακέραιο Προγραμματισμό Μέθοδος Επίλυσης: Β&Β max z = 8x 1 2x 2 4x 3 7x 4 5x 5 + 10 3x 1 3x 2 + x 3 + 2x 4 + 3x 5 2 5x 1 3x 2 2x 3 x 4 + x 5 4 x 1, x 2, x 3, x 4, x 5 {0,1} Στον κόμβο 7 x 1 = 0, x 2 = 1, x 3 = 0, x 4 = 1 με ελεύθερη μεταβλητή την x 5. Αν θέσουμε την ελεύθερη μεταβλητή = 0, τότε η λύση δεν είναι εφικτή. Ούτε όμως κάποια υποδιαίρεση είναι εφικτή για οιαδήποτε τιμή της ελεύθερης μεταβλητής x 5. Επομένως σταματάει η περαιτέρω διερεύνηση αυτού του κλάδου Στον κόμβο 8 x 1 = 0, x 2 = 1, x 3 = 0, x 4 = 0 με ελεύθερη μεταβλητή την x 5. Αν θέσουμε την ελεύθερη μεταβλητή = 0, τότε η λύση δεν είναι εφικτή και συνεχίζεται η διακλάδωση z 2 z 4 x 1 = 1 Κάτω όριο 0 1 2 z 10 x 1 = 0 x 2 = 1 x 2 = 0 5 6 3 4 x 3 = 1 x 3 = 0 Ανέφικτος κλάδος Τρέχον κάτω όριο x 4 = 1 x 4 = 0 Ανέφικτος κλάδος 7 8 30

Δυαδικές μεταβλητές στον Ακέραιο Προγραμματισμό Μέθοδος Επίλυσης: Β&Β max z = 8x 1 2x 2 4x 3 7x 4 5x 5 + 10 3x 1 3x 2 + x 3 + 2x 4 + 3x 5 2 5x 1 3x 2 2x 3 x 4 + x 5 4 x 1, x 2, x 3, x 4, x 5 {0,1} Στον κόμβο 9 x 1 = 0, x 2 = 1, x 3 = 0, x 4 = 0, x 5 = 1 και δεν υπάρχει καμία ελεύθερη μεταβλητή. Η λύση δεν είναι εφικτή και εφόσον δεν υπάρχει καμία ελεύθερη μεταβλητή, ο κλάδος δε δύναται να διακλαδωθεί περαιτέρω. Στον κόμβο 10 x 1 = 0, x 2 = 1, x 3 = 0, x 4 = 0, x 5 = 0 και δεν υπάρχει καμία ελεύθερη μεταβλητή. Η λύση δεν είναι εφικτή και εφόσον δεν υπάρχει καμία ελεύθερη μεταβλητή, ο κλάδος δε δύναται να διακλαδωθεί περαιτέρω. Η βέλτιστη λύση συνεπώς είναι αυτή που αντιστοιχεί στο τρέχον κάτω όριο με x 1 = 0, x 2 = 1, x 3 = 1, x 4 = 0, x 5 = 0 και z = 4 z 2 z 4 x 1 = 1 Κάτω όριο 0 1 2 z 10 x 1 = 0 x 2 = 1 x 2 = 0 5 6 3 4 x 3 = 1 x 3 = 0 Ανέφικτος κλάδος Τρέχον κάτω όριο Ανέφικτος κλάδος x 4 = 1 x 4 = 0 7 8 x 5 = 1 x 5 = 0 9 10 Ανέφικτη λύση Ανέφικτη λύση 31

Δυαδικές μεταβλητές στον Ακέραιο Προγραμματισμό Μέθοδος Επίλυσης: Β&Β Ο αλγόριθμος βασίζεται στο γεγονός ότι το αρχικό πρόβλημα είναι στην κανονική μορφή με o o Η αντικειμενική συνάρτηση μεγιστοποιείται με όλους τους συντελεστές αρνητικούς Όλοι οι περιορισμοί είναι της μορφής μικρότερο ή ίσο Σε προβλήματα ελαχιστοποίησης πολλαπλασιάζουμε τους συντελεστές της αντικειμενικής συνάρτησης με -1 Εάν η μεταβλητή x j έχει θετικό συντελεστή στην αντικειμενική συνάρτηση τότε την αντικαθιστούμε με βάση την x j = 1 x j σε όλο το μοντέλο. Αυτός ο μετασχηματισμός διατηρεί τον συντελεστή της x j αρνητικό στην αντικειμενική συνάρτηση και την x j δυαδική μεταβλητή Οι περιορισμοί μεγαλύτερο ή ίσο μετατρέπονται σε μικρότερο ή ίσο πολλαπλασιάζοντάς τους με -1 Περιορισμοί ισότητας μετατρέπονται σε ζεύγη περιορισμών με μεγαλύτερο ή ίσο και μικρότερο ή ίσο του δεξιού μέρους 32

Ασκήσεις 2.2 και 2.3 Άσκηση: Να λυθεί με B&B και με το solver max 3x 1 2x 2 + 2x 4 + 2x 5 + 20 x 1 2x 2 + x 3 + x 4 + x 5 = 9 2 2x 2 + x 3 + x 4 + 2x 5 = 6 x 1, x 2, x 3, x 4, x 5 0 x 4, x 5 ακέραιοι Άσκηση: Να λυθεί με B&B και με το solver max z = x 1 + 2x 2 3x 3 5x 4 x 5 + 20 6x 1 2x 2 2x 3 5x 4 + 3x 5 6 4x 1 3x 2 6x 3 + 12x 4 6 x 1, x 2, x 3, x 4, x 5 {0,1} 33