Εφαρμογές Επιχειρησιακής Έρευνας. Δρ. Γεώργιος Κ.Δ. Σαχαρίδης

Σχετικά έγγραφα
ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στο Γραμμικό Προγραμματισμό

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

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

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

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

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

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

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

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

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

max c 1 x 1 + c 2 x c n x n υπό a 11 x 1 + a 12 x a 1n x n b 1 a 21 x 1 + a 22 x a 2n x n b 2 a m1 x 1 + a m2 x a mn x n b m

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

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

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

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

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

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

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

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

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

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

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

ΠΙΝΑΚΑΣ 3-1 Προσομοιωση και Βελτιστοποιηση Συστηματος (Haimes, 1977) ΠΡΑΓΜΑΤΙΚΗ ΑΠΟΚΡΙΣΗ ΦΥΣΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΜΑΘΗΜΑΤΙΚΗ ΑΠΟΚΡΙΣΗ ΣΥΣΤΗΜΑΤΟΣ

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

Προσδιοριστικές Μέθοδοι Επιχειρησιακής Έρευνας Πολυκριτήριος Γραμμικός Προγραμματισμός (Goal Programming)

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στο Γραμμικό Προγραμματισμό

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

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

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

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

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

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

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

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

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

Asset & Liability Management Διάλεξη 3

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

Παρουσίαση: Γραμμικός Προγραμματισμός (Αλγόριθμος Simplex). Λύση δυο προβλημάτων με χρήση της μεθόδου simplex και το excel.

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

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

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

ΒΕΛΤΙΣΤΟΣ ΣΧΕΔΙΑΣΜΟΣ ΤΩΝ ΚΑΤΑΣΚΕΥΩΝ. Δρ. Πολ. Μηχ. Κόκκινος Οδυσσέας

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

Στο στάδιο ανάλυσης των αποτελεσµάτων: ανάλυση ευαισθησίας της λύσης, προσδιορισµός της σύγκρουσης των κριτηρίων.

Fermat, 1638, Newton Euler, Lagrange, 1807

ΕΝΟΤΗΤΑ III ΒΑΣΙΚΕΣ ΜΕΘΟ ΟΙ ΑΝΑΛΥΣΗΣ

Βασικές έννοιες και ορισµοί. Ευθεία

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

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

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

ΠΑΡΑΔΕΙΓΜΑΤΑ ΕΠΙΧΕΙΡΗΣΙΑΚΗΣ ΕΡΕΥΝΑΣ ΜΕ ΤΗ ΧΡΗΣΗ Η/Υ (2 ο Φυλλάδιο)

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

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

4.γ. μερική επανάληψη, εισαγωγή στη βελτιστοποίηση υδατικών συστημάτων. Δρ Μ.Σπηλιώτης

ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ 1 ΕΙΣΑΓΩΓΗ 2 ΜΑΘΗΜΑΤΙΚΟΙ ΟΡΙΣΜΟΙ 3 ΜΟΝΤΕΛΟΠΟΙΗΣΗ Δρ. Δημήτρης Βαρσάμης Μάρτιος / 31

ΣΥΣΤHΜΑΤΑ ΑΠΟΦAΣΕΩΝ ΣΤΗΝ ΠΑΡΑΓΩΓH

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

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

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

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

Τεχνικές αριστοποίησης

ILP (integer linear programming) βασιζόμενη εξαρτώμενη από τους πόρους μεταγλώττιση

ΣΥΣΤHΜΑΤΑ ΑΠΟΦAΣΕΩΝ ΣΤΗΝ ΠΑΡΑΓΩΓH

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

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

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

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

ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΗΣ - ΑΠΟΘΕΜΑΤΩΝ

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

ΠΑΡΑΔΕΙΓΜΑΤΑ ΕΠΙΧΕΙΡΗΣΙΑΚΗΣ ΕΡΕΥΝΑΣ ΜΕ ΤΗ ΧΡΗΣΗ Η/Υ (3 ο Φυλλάδιο)

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

SÔntomec plhroforðec gia to glpsol (glpk)

Η επιστήμη που ασχολείται με τη βελτιστοποίηση της απόδοσης ενός συστήματος.

Transcript:

Εφαρμογές Επιχειρησιακής Έρευνας Δρ. Γεώργιος Κ.Δ. Σαχαρίδης 1

Outline Introduction to mathematical programming Introduction to scheduling Flow shop optimization Scheduling of crude oil Decomposition techniques for the solution of scheduling problems Cross docking scheduling Heuristic approaches for the solution of scheduling problems 2

Project Description of the case study The problem; The specifications of the problem; The parameters of the problem; The objective functions. Two options focusing on: 1. Mathematical modeling of the problem Three mathematical approaches of the same problem: Existing modeling; Two new modeling (improved-extension based on other existing modeling). 2. or Solution approach of the problem Decomposition approach; Hybrid approach: Decomposition approach combined with Heuristics. In both options an exact SOLUTION approach non decomposed will be used. 3

Topics Crude oil scheduling. Minimize walking distance in airports. Environmental routing problem. Centralized Decentralized donation centers Bus allocation in bus hub. Locomotive scheduling. 4

Topics Scheduling of gas network Multimodal routing. Scheduling vessel arrival time. Reallocation of bin in waste network. Allocation of bike station in bike rental network. Portfolio management. 5

Topics Application of Benders decomposition to Traveling salesman problem. Application of Lagrangean decomposition to Traveling salesman problem. Application of Lagrangean relaxation to crude oil scheduling. Application of decomposition techniques to Yogurt production scheduling. Application of decomposition techniques to bus routing rescheduling. 6

General Introduction Γενικά Mathematical Programming 7

Βελτιστοποίηση Στην προσπάθεια αντιμετώπισης και επίλυσης των προβλημάτων που προκύπτουν στην πράξη, αναπτύσσουμε μαθηματικά μοντέλα, τα οποία αναπαριστούν τα πραγματικά προβλήματα που θέλουμε να επιλύσουμε. Στα μοντέλα αυτά, ορίζουμε μεταβλητές απόφασης (decision variables) που αντιστοιχούν σε συγκεκριμένες αποφάσειςδραστηριότητες του εκάστοτε εξεταζόμενου προβλήματος. Μέσω των μεταβλητών αυτών είμαστε σε θέση να εκφράσουμε τους πραγματικούς λογικούς περιορισμούς του προβλήματος μετατρέποντάς τους σε αντίστοιχους μαθηματικούς περιορισμούς (constraints). Παράλληλα, διαμορφώνουμε και την αντικειμενική συνάρτηση (objective function) που εκφράζει το μέγεθος απόδοσης (performance measure) το οποίο θέλουμε να βελτιστοποιήσουμε (π.χ. κόστος, κέρδος, κτλ.). 8

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

Βελτιστοποίηση Σε περίπτωση που το σύνολο αυτό είναι κενό, η διαδικασία βελτιστοποίησης τερματίζει χωρίς επιτυχές αποτέλεσμα, αφού δεν υπάρχει λύση που να ικανοποιεί τους περιορισμούς. Σε αντίθετη περίπτωση, μεταξύ όλων των εφικτών λύσεων θα πρέπει να επιλεγεί εκείνη που βελτιστοποιεί την τιμή της αντικειμενικής συνάρτησης. Μια τέτοια λύση ονομάζεται βέλτιστη (optimal) και δεν είναι απαραίτητα μοναδική. Αυτή η διαδικασία λοιπόν, κατά την οποία αναζητούμε την καλύτερη (με βάση κάποιο προδηλωμένο μέγεθος απόδοσης) μεταξύ ενός συνόλου εφικτών λύσεων, ονομάζεται βελτιστοποίηση. 10

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

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

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

Γραμμικός προγραμματισμός Ο γραμμικός προγραμματισμός (linear programming) περιλαμβάνει όλα τα προβλήματα για τα οποία τόσο η αντικειμενική συνάρτηση όσο και όλοι οι περιορισμοί είναι γραμμικές συναρτήσεις (οι μεταβλητές εμφανίζονται μόνο στην πρώτη δύναμη και δεν υπάρχουν υψηλότερες δυνάμεις, ρίζες, γινόμενα μεταβλητών, κτλ.). Όλα τα προβλήματα για τα οποία δεν ισχύει αυτό ανήκουν στα προβλήματα μη γραμμικού προγραμματισμού (nonlinear programming). 14

Ακέραιος προγραμματισμός Ο ακέραιος προγραμματισμός (integer programming) περιλαμβάνει όλα τα προβλήματα στα οποία οι μεταβλητές απόφασης μπορούν να πάρουν μόνο ακέραιες τιμές. Ένα πρόβλημα ακέραιου προγραμματισμού μπορεί κατ' επέκταση να είναι γραμμικό ή μη γραμμικό. Σε περίπτωση που κάποιες από τις μεταβλητές ενός προβλήματος περιορίζονται σε ακέραιες τιμές και κάποιες όχι, έχουμε ένα πρόβλημα μεικτού ακέραιου προγραμματισμού (mixed integer programming). Όταν όλες περιορίζονται σε ακέραιες τιμές, έχουμε ένα πρόβλημα αμιγώς ακέραιου προγραμματισμού (pure integer programming). Ο δυαδικός ακέραιος προγραμματισμός (binary integer programming) είναι μία ειδική κατηγορία προβλημάτων ακέραιου προγραμματισμού, όπου οι μεταβλητές απόφασης μπορούν να πάρουν μόνο τιμές 0 ή 1. 15

Τύποι Μαθηματικών Προβλημάτων 16

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

Γενικές Αρχές Μοντελοποίησης Η διαδικασία διαμόρφωσης ενός μοντέλου γραμμικού προγραμματισμού ονομάζεται μοντελοποίηση. Πρόκειται για το πρώτο βασικό στάδιο προσέγγισης του προβλήματος απόφασης (το δεύτερο βασικό είναι η επίλυση του), το οποίο επιτρέπει στον αναλυτή (κατασκευαστής του μοντέλου, μοντελοποιός) να αποκτήσει και να επεξεργαστεί λύσεις για το πρόβλημα. O αναλυτής του προβλήματος οφείλει να διαγνώσει, εάν το σύστημα απόφασης που μελετά επιδέχεται μοντελοποίηση με μαθηματικό προγραμματισμό. Κάτι τέτοιο είναι κατορθωτό εφόσον οι αποφάσεις μπορούν να αναλυθούν σε δραστηριότητες κατανομής πόρων, μέσων, ενεργειών, προϊόντων, υπηρεσιών, κ.λπ. 18

Τέχνη της Μοντελοποίησης Κατά συνέπεια, όταν κάνουμε λόγο για μοντελοποίηση προβλήματος απόφασης, ομιλούμε για: μια τέχνη διάγνωσης, αξιοποίησης εμπειρίας, κατασκευής, καθώς και διαχείρισης μαθηματικών σχέσεων με στόχο τη δημιουργία: ενός κατάλληλου, αποτελεσματικού και οικονομικά διαχειρίσιμου μαθηματικού οικοδομήματος Στην τέχνη αυτή δεν υπάρχουν πάντα σταθεροί κανόνες 19

Τυπική Διαδικασία Διαμόρφωσης Μαθηματικού Μοντέλου Στάδιο 1 : Εξαντλητική απαρίθμηση όλων των επιμέρους δραστηριοτήτων κατανομής, που εδώ αριθμούμε από 1 έως I : {1,2,..., I}. Στάδιο 2 : Καθορισμός των μεταβλητών απόφασης: {X 1, X 2, X 3 }, όπου κάθε μεταβλητή X i = 1,2,..., I εκφράζει τη στάθμη της δραστηριότητας κατανομής i, στις αντίστοιχες μονάδες της. Στάδιο 3 : Μοντελοποίηση των περιορισμών (γραμμικές ανισοεξισώσεις) της μορφής: α 1 X 1 + α 2 X 2 +... + α i X i < ή/και = ή/και > για i = 1,2,...,I και X 1, X 2, X 3.>=0. (Με το στάδιο αυτό ολοκληρώνεται η οριοθέτηση του αντικειμένου της απόφασης). Στάδιο 4 : Μοντελοποίηση των κριτηρίων απόφασης: [min ή max]c 1 X 1 + c 2 X 2 +... + c i X i. Yπό μεγιστοποίηση ή ελαχιστοποίηση αντικειμενικής συνάρτησης με αντίστοιχους συντελεστές (c η, n= 1,2,..., I). 20

Το πρόβλημα της ανάθεσης (assignment) Σε μια παραγωγική διαδικασία υπάρχουν n εργάτες και m μηχανές, όπου n m. Για τη λειτουργία κάθε μηχανής απαιτείται ένας εργάτης, ενώ κάθε εργάτης μπορεί να ανατεθεί το πολύ σε μία μηχανή. Το κόστος που προκύπτει από την ανάθεση του εργάτη j στη μηχανή i είναι cij. Θέλουμε να βρούμε τη βέλτιστη ανάθεση εργατών σε μηχανές, έτσι ώστε το συνολικό κόστος που προκύπτει να είναι το ελάχιστο δυνατό. Για τη μορφοποίηση του προβλήματος ορίζουμε δυαδικές μεταβλητές απόφασης x ij, i = 1,...,m, j = 1,...,n, όπου x ij = 1 αν o εργάτης j ανατεθεί στη μηχανή i και 0 αν όχι. 21

Το πρόβλημα της ανάθεσης (assignment) Το πρόβλημα μορφοποιείται ως εξής: Η πρώτη ομάδα περιορισμών εξασφαλίζει ότι κάθε εργάτης θα ανατεθεί το πολύ σε μία μηχανή και η δεύτερη ότι σε κάθε μηχανή θα ανατεθεί ακριβώς ένας εργάτης. 22

Μορφοποίηση Προβλημάτων Έστω ότι για την κατασκευή ενός προϊόντος υπάρχουν δύο εναλλακτικά εργοστάσια κατασκευής με αντίστοιχους περιορισμούς δυναμικότητας. Ανάλογα με το ποιο από τα δύο εργοστάσια θα επιλεγεί τελικά, θέλουμε ο αντίστοιχος περιορισμός δυναμικότητας να ισχύει, ενώ είμαστε αδιάφοροι για τον άλλο. Ας υποθέσουμε ότι ο περιορισμός για το πρώτο εργοστάσιο είναι 4x 1 + x 2 < 12 και για το δεύτερο x 1 + 3x 2 < 14 Τότε, οι δύο περιορισμοί γράφονται ως εξής: 4x 1 + x 2 < 12 + Μy 1 x 1 + 3x 2 < 14 + Μ(1-y 1 ) 23

Μεταξύ N περιορισμών οι K πρέπει να ισχύουν Έστω ότι υπάρχουν N περιορισμοί μεταξύ των οποίων πρέπει να ισχύουν οι K. Έστω ότι οι περιορισμοί αυτοί είναι οι εξής: f 1 (x 1,...,x m ) < b 1... f N (x 1,...,x m ) < b N Στην περίπτωση αυτή, εισάγουμε μία δυαδική μεταβλητή yi για κάθε περιορισμό (i = 1,...,N) 24

Μεταξύ N περιορισμών οι K πρέπει να ισχύουν Γράφουμε τους περιορισμούς ως εξής: f 1 (x 1,...,x m ) < b 1 + My 1... f N (x 1,...,x m ) < b N + My N Sum(i)yi = N - K Ο τελευταίος περιορισμός εξασφαλίζει ότι K από τις μεταβλητές αυτές θα είναι 0, οπότε οι αντίστοιχοι περιορισμοί θα ισχύουν. Η προηγούμενη περίπτωση είναι ειδική περίπτωση αυτής με K = 1 και N = 2. 25

Συναρτήσεις με N δυνατές τιμές Έστω μια συνάρτηση f(x 1,...,x m ), η οποία πρέπει να πάρει μία από N τιμές, b 1 ή b 2 ή... ή b N. Εισάγουμε N δυαδικές μεταβλητές y 1,...,y N και χρησιμοποιούμε την παρακάτω μορφοποίηση: Ο τελευταίος περιορισμός εξασφαλίζει ότι ακριβώς μία από τις N δυαδικές μεταβλητές θα είναι 1 και όλες οι άλλες 0, οπότε η συνάρτηση θα πάρει την αντίστοιχη τιμή. 26

Το πρόβλημα του σταθερού κόστους (fixed charge problem) Πολλές φορές, για την παραγωγή ενός προϊόντος υπάρχει ένα σταθερό κόστος k j (κόστος προετοιμασίας) και ένα μεταβλητό κόστος, ανάλογο του ύψους παραγωγής. Σε αυτή την περίπτωση, το συνολικό κόστος f j (x j ) είναι ίσο με k j + c j x j εάν παραχθεί το προϊόν (x j > 0) και 0 αν όχι (x j = 0), όπου x j είναι το ύψος της παραγωγής και c j το μοναδιαίο κόστος παραγωγής. 27

Το πρόβλημα του σταθερού κόστους (fixed charge problem) Για να αποφύγουμε την εισαγωγή μη γραμμικών περιορισμών στη μορφοποίηση του προβλήματος, ορίζουμε μία δυαδική μεταβλητή y j που παίρνει την τιμή 1 αν παραχθεί το προϊόν (x j > 0) και 0 αν όχι (x j = 0). Τότε, το αντίστοιχο κόστος μορφοποιείται ως εξής: f j (x j ) = k j y j + c j x j x j My j Ο τελευταίος περιορισμός είναι αναγκαίος για να εξασφαλιστεί ότι αν y j = 0 τότε και x j = 0 και αντίθετα, αν x j > 0 τότε και y j = 1. Φυσικά, αν x j > 0 τότε ο περιορισμός αυτός ισχύει πάντοτε, αφού ο αριθμός M είναι ένας πολύ μεγάλος πραγματικός αριθμός. 28

Δυαδική απεικόνιση γενικών ακέραιων αριθμών Oι αλγόριθμοι επίλυσης προβλημάτων με δυαδικές μεταβλητές είναι πολύ πιο αποτελεσματικοί από αυτούς που προορίζονται για προβλήματα ακέραιου προγραμματισμού και γι' αυτό οι πρώτοι θα πρέπει να προτιμώνται, όπου αυτό είναι εφικτό. Μία έξυπνη τεχνική που μπορούμε να χρησιμοποιήσουμε στη συγκεκριμένη περίπτωση είναι να αντικαταστήσουμε τις ακέραιες μεταβλητές με δυαδικές, χρησιμοποιώντας κατάλληλο μετασχηματισμό. Για τον μετασχηματισμό αυτό, απαραίτητη προϋπόθεση είναι να υπάρχει ένα άνω όριο, u, στην τιμή που μπορεί να πάρει η κάθε ακέραια μεταβλητή x. 29

Δυαδική απεικόνιση γενικών ακέραιων αριθμών 30

Παράδειγμα 1.1 Δίνεται το ακόλουθο πρόβλημα μη γραμμικού προγραμματισμού: Max 2x 1 x 2 1 + 3x 2-3x 2 2 x 1 + x 2 < 3/4 κάθε μεταβλητή μπορεί να πάρει μόνο τις τιμές 1/2, 1/3, 1/4, 1/5. Να μορφοποιηθεί το πρόβλημα αυτό σαν ένα πρόβλημα αμιγώς δυαδικού (ακέραιου) προγραμματισμού. Στη μορφοποίηση που θα αναπτύξετε θα πρέπει να υπάρχουν μόνο δυαδικές 0-1 μεταβλητές. 31

Λύση Παράδειγμα 1.1 Για i = 1,2, ορίζουμε δυαδικές μεταβλητές y i1, y i2, y i3, y i4, όπου: y i1 = 1 αν x i = 1/2 και 0 αλλιώς y i2 = 1 αν x i = 1/3 και 0 αλλιώς y i3 = 1 αν x i = 1/4 και 0 αλλιώς y i4 = 1 αν x i = 1/5 και 0 αλλιώς. Στη συνέχεια, το πρόβλημα μορφοποιείται ως εξής: Max 2(1/2 y 11 + 1/3 y 12 + 1/4 y 13 + 1/5 y 14 ) (1/4 y 11 + 1/9 y 12 + 1/16 y 13 + 1/25 y 14 ) + 3(1/2 y 21 + 1/3 y 22 + 1/4 y 23 + 1/5 y 24 ) -3(1/4 y 21 + 1/9 y 22 + 1/16 y 23 + 1/25 y 24 ) s.t. (1/2 y 11 + 1/3 y 12 + 1/4 y 13 + 1/5 y 14 ) + (1/2 y 21 + 1/3 y 22 + 1/4 y 23 + 1/5 y 24 ) < 3/4 y 11 + y 12 + y 13 + y 14 = 1 y 21 + y 22 + y 23 + y 24 = 1 όλες οι μεταβλητές 0 ή 1. 32

Παράδειγμα 1.2 Δίνεται το παρακάτω πρόβλημα ακέραιου προγραμματισμού: Max Z = x 1 + 5x 2 s.t. x 1 + 10x 2 < 20 x 1 < 2 x 1, x 2 ακέραιοι > 0 Μετασχηματίστε το πρόβλημα σε ένα πρόβλημα αμιγώς δυαδικού προγραμματισμού. 33

Λύση Παράδειγμα 1.2 Από την προσεκτική ανάλυση των περιορισμών του προβλήματος προκύπτουν τα εξής άνω όρια στις μεταβλητές απόφασης: x 1 < 2 (από περιορισμό 2) x 2 < 2 (από περιορισμό 1) Επομένως, x 1 = y 1 + 2y 2 και x 2 = y 3 + 2y 4, όπου y 1, y 2, y 3 και y 4 δυαδικές μεταβλητές. Στη συνέχεια, παίρνουμε το ακόλουθο δυαδικό πρόβλημα: Max Z = y 1 + 2y 2 + 5y 3 + 10y 4 s.t. y 1 + 2y 2 + 10y 3 + 20y 4 < 20 y 1 + 2y 2 < 2 y 1, y 2, y 3 και y 4 δυαδικές μεταβλητές 34

Λογισμικό βελτιστοποίησης LINGO To LINGO είναι ένα λογισμικό βελτιστοποίησης με φιλικό γραφικό περιβάλλον επικοινωνίας. Επιλύει προβλήματα γραμμικού, ακέραιου και μη γραμμικού προγραμματισμού. Μπορείτε να κατεβάσετε και να εγκαταστήσετε τη δοκιμαστική έκδοση του λογισμικού στον υπολογιστή σας, από την ιστοσελίδα της εταιρείας που το διακινεί: http://www.lindo.com/. Η συγκεκριμένη έκδοση έχει περιορισμό στο μέγιστο αριθμό συνεχών μεταβλητών (300), στο μέγιστο αριθμό περιορισμών (150), και στο μέγιστο αριθμό ακέραιων μεταβλητών (30). Γι αυτό, αν θέλετε να λύσετε κάποιο πρόβλημα θα πρέπει η μορφοποίηση που θα αναπτύξετε να μην παραβιάζει τα όρια αυτά. 35

Λογισμικό βελτιστοποίησης LINGO Για την εισαγωγή και επίλυση ενός προβλήματος θα πρέπει να ακολουθηθούν οι ακόλουθες οδηγίες: - Η αντικειμενική συνάρτηση πρέπει να ακολουθεί το ΜΑΧ = (ή ΜΙΝ =, ανάλογα, π.χ. ΜΑΧ = Χ1 + Χ2;). - Κάθε περιορισμός αλλά και η αντικειμενική συνάρτηση πρέπει να τελειώνουν με το ; - Οι περιορισμοί θα πρέπει να εισαχθούν αμέσως κάτω από την αντικειμενική συνάρτηση (ένας σε κάθε γραμμή). 36

Λογισμικό βελτιστοποίησης LINGO - Το γινόμενο ενός συντελεστή με μια μεταβλητή θα πρέπει να υποδηλωθεί με το * (π.χ. 2*Χ1 <= 3;) - Mία μεταβλητή Χ θα πρέπει να οριστεί ως ακέραια με την εντολή @GIN(Χ); και ως δυαδική με την εντολή @BIN(Χ); - Θα πρέπει να χρησιμοποιηθεί το <= για να δηλωθεί το < και το >= για να δηλωθεί το >. - Η μη αρνητικότητα των μεταβλητών δεν είναι ανάγκη να δηλωθεί καθώς εννοείται. - Η επίλυση του προβλήματος γίνεται με την επιλογή της εντολής LINGO->Solve. 37

Λογισμικό βελτιστοποίησης CPLEX with C++ 38

Λογισμικό βελτιστοποίησης CPLEX with C++ 39

Λογισμικό βελτιστοποίησης CPLEX with C++ 40

Λογισμικό βελτιστοποίησης CPLEX with C++ 41

Λογισμικό βελτιστοποίησης CPLEX with C++ 42

Λογισμικό βελτιστοποίησης CPLEX with C++ 43