Συστήματα Παραγωγής ΠΑΡΑΔΕΙΓΜΑ ΓΡΑΜΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
Περιεχόμενα 1 Γενικά στοιχεία γραμμικού προγραμματισμού 2 Παράδειγμα γραμμικού προγραμματισμού και γραφικής επίλυσης του 3 Γραμμικός προγραμματισμός με τη μορφή μητρών 4 Επίλυση σε προγραμματιστικό περιβάλλον matlab 2
Περιεχόμενα 1 Γενικά στοιχεία γραμμικού προγραμματισμού 2 Παράδειγμα γραμμικού προγραμματισμού και γραφικής επίλυσης του 3 Γραμμικός προγραμματισμός με τη μορφή μητρών 4 Επίλυση σε προγραμματιστικό περιβάλλον matlab 3
Γραμμικός προγραμματισμός Ο γραμμικός προγραμματισμός θεωρείται μία από τις σπουδαιότερες επιστημονικές ανακαλύψεις στα μέσα του 20 αιώνα Αποτελεί ένα πρότυπο εργαλείο επίλυσης προβλημάτων, που χρησιμοποιείται από τις περισσότερες μεσαίου και μεγάλου μεγέθους εμπορικές και βιομηχανικές επιχειρήσεις Ασχολείται με το πρόβλημα της κατανομής των περιορισμένων πόρων μεταξύ ανταγωνιζόμενων δραστηριοτήτων κατά τον καλύτερο δυνατό τρόπο Σχεδιάζει δηλαδή τις δραστηριότητες με σκοπό το βέλτιστο αποτέλεσμα (μεγιστοποίηση ή ελαχιστοποίηση μίας γραμμικής συνάρτησης) μεταξύ των δυνατών εναλλακτικών λύσεων (υπό γραμμικούς περιορισμούς) Πηγή: Hillier and Lieberman, 1980 4
Εφαρμογές γραμμικού προγραμματισμού Κατά τη διάρκεια του Β Παγκόσμιου Πολέμου, ο George B. Dantzig ανέπτυξε την θεωρία του γραμμικού προγραμματισμού, ως με στόχο την βελτιστοποίηση μεγάλου μεγέθους προβλημάτων που σχετιζόντουσαν με το στρατιωτικό προϋπολογισμό και προγραμματισμό Πηγή: Solow, 2014 Σήμερα εφαρμόζεται για την επίλυση προβλημάτων όπως: Προγραμματισμός πληρώματος (π.χ. αεροσυνοδοί σε πτήσεις) Δρομολόγησης οχημάτων (π.χ. λεωφορείων, απορριμματοφόρων) Παραγωγής (π.χ. ημερήσια επίπεδα παραγωγής) Διαχείρισης αποθεμάτων (π.χ. διατήρηση αποθέματος σε αποθήκη/εργοστάσιο) Σχεδιασμός δικτύου κ.α. 5
Περιεχόμενα 1 Γενικά στοιχεία γραμμικού προγραμματισμού 2 Παράδειγμα γραμμικού προγραμματισμού και γραφικής επίλυσης του 3 Γραμμικός προγραμματισμός με τη μορφή μητρών 4 Επίλυση σε προγραμματιστικό περιβάλλον matlab 6
Παράδειγμα γραμμικού προγραμματισμού Αντικειμενική συνάρτηση Περιορισμοί δομής και μη αρνητικότητας Μεταβλητές απόφασης 7
Γραφική επίλυση παραδείγματος x 2 Περιοριστική ευθεία 1 (περιορισμός 1) x 1 8
Γραφική επίλυση παραδείγματος x 2 Περιοριστική ευθεία 2 (περιορισμός 2) Ακραίο σημείο (το σημείο που τέμνονται 2 περιοριστικές ευθείες. Για να το βρω λύνω το σύστημα εξισώσεων των ευθειών) x1+x2 = 6 x1+3x2=12 x1 = 3, x2 =3 x 1 9
Γραφική επίλυση παραδείγματος x 2 Περιοριστική ευθεία 3 (περιορισμός 3) x 1 10
Γραφική επίλυση παραδείγματος x 2 Περιοχή εφικτών λύσεων (οι λύσεις που ικανοποιούν τους περιορισμούς) x 1 11
Γραφική επίλυση παραδείγματος x 2 Z = 2x 1 + 5x 2 Z=20 Βασικές λύσεις (Κορυφές της εφικτής περιοχής) Z=18 Z=10 x 1 12
Περιεχόμενα 1 Γενικά στοιχεία γραμμικού προγραμματισμού 2 Παράδειγμα γραμμικού προγραμματισμού και γραφικής επίλυσης του 3 Γραμμικός προγραμματισμός με τη μορφή μητρών 4 Επίλυση σε προγραμματιστικό περιβάλλον matlab 13
Μορφή γραμμικού προβλήματος με τη βοήθεια μητρών Συντελεστές αντικειμενικής Συντελεστές περιορισμών Δεξιό μέλος Πλήθος μεταβλητών Πλήθος περιορισμών Παράδειγμα 14
Μορφή γραμμικού προβλήματος με τη βοήθεια μητρών Παράδειγμα Το σύστημα των ανισώσεων με μορφή πινάκων είναι: 1 3 1 1 2 1 x 1 x 2 <= 12 6 10 15
Περιεχόμενα 1 Γενικά στοιχεία γραμμικού προγραμματισμού 2 Παράδειγμα γραμμικού προγραμματισμού και γραφικής επίλυσης του 3 Γραμμικός προγραμματισμός με τη μορφή μητρών 4 Επίλυση σε προγραμματιστικό περιβάλλον matlab 16
Λόγοι χρήση προγραμματιστικού περιβάλλοντος Αν το πρόβλημα έχει μόνο δύο μεταβλητές απόφασης τότε μπορεί να λυθεί γραφικά (δύο μεταβλητές απόφασης > δύο διαστάσεις) Πρόβλημα γραμμικού προγραμματισμού με πολλές μεταβλητές και πολλούς περιορισμούς επιλύεται με τη βοήθεια του αλγορίθμου SIMPLEX Το MatLab περιλαμβάνει συναρτήσεις για την επίλυση προβλημάτων βελτιστοποίησης (π.χ. linprog) 17
Επίλυση του παραδείγματος σε προγραμματιστικό περιβάλλον matlab Παράδειγμα Έξοδος Συνάρτηση Είσοδος 18
Η λύση του παραδείγματος με τη χρήση της συνάρτησης linprog Αποτέλεσμα Z=21 x 2 =3 x 1 =3 https://www.mathworks.com/help/optim/ug/linear-programming-with-equalities-and-inequalities.html 19