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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΠΑΡΑΓΩΓΗ ΤΗΣ ΕΠΙΧΕΙΡΗΣΗΣ
Advertisements

Διάλεξη 5η: Σύνταξη της μήτρας του γραμμικού προγραμματισμού κατά την εφαρμογή του στη γεωργική παραγωγή Η μήτρα είναι ένας πίνακας που παρουσιάζει τους.
Έννοια οικονομικού προγραμματισμού
Γραφήματα & Επίπεδα Γραφήματα
Γραμμικός Προγραμματισμός
Προσεγγιστικοί Αλγόριθμοι
Δυναμική Διατήρηση Γραμμικής Διάταξης Διατηρεί μια γραμμική διάταξη δυναμικά μεταβαλλόμενης συλλογής στοιχείων. Υποστηρίζει τις λειτουργίες: Έλεγχος της.
ΚΕΦΑΛΑΙΟ 15 ΧΩΡΟΘΕΤΗΣΕΙΣ - ΚΑΤΑΝΟΜΕΣ. Είναι δυνατόν μέρος της διαφοροποίησης στην παρατηρούμενη τιμή μιας μεταβλητής να αποδοθεί στη διαφορετική γεωγραφική.
Αριθμητικές Μέθοδοι Βελτιστοποίησης Θεωρία & Λογισμικό Τμήμα Πληροφορικής - Πανεπιστήμιο Ιωαννίνων Ι. Η. Λαγαρής.
ΧΩΡΟΘΕΤΗΣΕΙΣ-ΚΑΤΑΝΟΜΕΣ. Η βασική αρχή του οικονομικού σχεδιασμού είναι η δημιουργία οικονομικών και κοινωνικών στόχων για το μέλλον, εκφρασμένων σε ποσοτικοποιημένα.
Εισαγωγή στην Οικονομική ΤΟΜΟΣ Α΄
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου.
Κεφάλαιο 2 Κίνηση σε μία διάσταση
ΣΧΕΔΙΑΣΜΟΣ ΒΙΟΑΝΤΙΔΡΑΣΤΗΡΩΝ
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Ενεργή επιλογή αλγορίθμου, Active Algorithm Selection, Feilong Chen and Rong Jin Εύα Σιταρίδη.
Διάλεξη 9η: Εφαρμογή της μεθόδου Simplex στο γραμμικό προγραμματισμό κατά τη μεγιστοποίηση Μέθοδος Simplex 1.Όταν υπάρχουν μέχρι πέντε κλάδοι παραγωγής.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Τμ.
Γραμμικός Προγραμματισμός TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Μια εταιρεία παράγει κέικ δύο κατηγοριών,
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Ασκήσεις - Εφαρμογές Διάλεξη 4η
Τι είναι η Επιχειρησιακή Έρευνα
Διάλεξη 8η: Διαγραμματική επίλυση προβλημάτων ελαχίστου κατά την εφαρμογή του γραμμικού προγραμματισμού στη γεωργική παραγωγή 1.Στην περίπτωση των κλάδων.
ΝΕΚΡΟ ΣΗΜΕΙΟ (Break-even point)
Κοζαλάκης Ευστάθιος ΠΕ03
Διάλεξη 14: Εισαγωγή στη ροή ρευστών
ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Ενότητα 6 Γεώργιος Κ.Δ. Σαχαρίδης Λάμπρος Μπίζας Τμήμα Μηχανολόγων Μηχανικών ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ.
ΕΦΑΡΜΟΓΕΣ ΕΠΙΧΕΙΡΗΣΙΑΚΗΣ ΕΡΕΥΝΑΣ Ενότητα 1: Introduction Γεώργιος Κ.Δ. Σαχαρίδης Τμήμα Μηχανολόγων Μηχανικών ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ.
Προγραμματισμός και Διαχείριση Επιχειρηματικών Πόρων - ERP Μάθημα 6: Η διαδικασία του MRP.
ΜΑΘΗΜΑ 1 Ο ΠΟΣΟΤΙΚΕΣ ΜΕΘΟΔΟΙ ΣΤΗΝ ΛΗΨΗ ΑΠΟΦΑΣΕΩΝ (εργαστήριο) ΑΚΑΔΗΜΑΙΚΟ ΕΤΟΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ.
ΕΝΟΤΗΤΑ 8η ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ - ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΣΑΒΒΑΣ ΚΑΤΕΡΕΛΟΣ.
ΜΑΘΗΜΑ 3 Ο ΠΟΣΟΤΙΚΕΣ ΜΕΘΟΔΟΙ ΣΤΗΝ ΛΗΨΗ ΑΠΟΦΑΣΕΩΝ (εργαστήριο) ΑΚΑΔΗΜΑΙΚΟ ΕΤΟΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ.
Εισαγωγή στην Οικονομική Ι Θεωρία παραγωγής και κόστους.
Κεφάλαιο 5 Συμπεριφορά των ΣΑΕ Πλεονεκτήματα της διαδικασίας σχεδίασης ΣΑΕ κλειστού βρόχου Συμπεριφορά των ΣΑΕ στο πεδίο του χρόνου Απόκριση ΣΑΕ σε διάφορα.
ΜΕΘΟΔΟΙ ΥΠΟΛΟΓΙΣΜΟΥ ΤΟΥ ΝΕΚΡΟΥ ΣΗΜΕΙΟΥ
Σήματα και Συστήματα 11 10η διάλεξη. Σήματα και Συστήματα 12 Εισαγωγικά (1) Έστω γραμμικό σύστημα που περιγράφεται από τη σχέση: Αν η είσοδος είναι γραμμικός.
ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κώστας Τσιμπούκας. Μια από τις σπουδαιότερες εφαρμογές του γραμμικού προγραμματισμού είναι στη λήψη αποφάσεων που αφορούν στην.
ΣΗΜΑΤΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ II Καθ. Πέτρος Π. Γρουμπός Διάλεξη 4η Δειγματοληψία.
Επιχειρησιακή Ερευνα στη Γεωργία
Εισαγωγή στο Γραμμικό Προγραμματισμό
Πολυκριτήριος Γραμμικός Προγραμματισμός
Προβλήματα Ικανοποίησης Περιορισμών
M. PARKIN, M. POWELL, K. MATTHEWS
Εθνικό Μετσόβιο Πολυτεχνείο Συστήματα χρηματοοικονομικής διοίκησης
ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ (Κ105)
Παράδειγμα 1 Το εργοστάσιο μιας επιχείρησης έχει ετήσια παραγωγική ικανότητα 7000 μονάδων. Η συνήθης παραγωγική δραστηριότητα.
Εισαγωγή στο Γραμμικό Προγραμματισμό
Ενότητα 10: Καμπύλες κόστους
ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Διάλεξη 5: Απλοποίηση (βελτιστοποίηση) λογικών συναρτήσεων με την μέθοδο του χάρτη Karnaugh (2ο μέρος) Δρ Κώστας Χαϊκάλης ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ.
Λογιστική για Μικρομεσαίες Επιχειρήσεις Ανάλυση Νεκρού Σημείου
ΧΡΟΝΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΩΝ
MARKETING 3η διαλεξη – το μιγμα μαρκετινγκ – η τιμη
Εισαγωγή στο Γραμμικό Προγραμματισμό
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων
Η χαρτοβιομηχανία ΠΑΠΥΡΟΣ παράγει χαρτί οικιακής χρήσης,
Διαφορικές εξισώσεις τάξης ανώτερης της πρώτης
ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ
Εφαρμογές οικονομικών συναρτήσεων
ΥΠΟΛΟΓΙΣΜΟΣ ΚΑΘΑΡΟΥ ΚΕΡΔΟΥΣ ΑΠΌ ΤΗΝ ΑΓΡΟΤΙΚΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑ
Η μέθοδος της συνεισφοράς
ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ (Κ105)
Διαχείριση των περιορισμών
Μεταβλητή – Άμεση - Οριακή κοστολόγηση
Προβλήματα Μεταφορών (Transportation)
ΧΡΟΝΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΩΝ
ΑΣΚΗΣΗ 5η Δίνονται τα παρακάτω στοιχεία: Εκταση
Γραμμικός Προγραμματισμός
Case 01: Προγραμματισμός Αγροτικής Παραγωγής «AGRO» ΣΕΝΑΡΙΟ
Προβλήματα Μεταφοράς: Παραδείγματα και Εφαρμογές
Προβλήματα Εκχώρησης (Assignment Problems)
Μεταγράφημα παρουσίασης:

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

Μεταξύ δύο περιορισμών, ο ένας πρέπει να ισχύει Έστω ότι για την κατασκευή ενός προϊόντος υπάρχουν δύο εναλλακτικά εργοστάσια κατασκευής με αντίστοιχους περιορισμούς δυναμικότητας. Ανάλογα με το ποιο από τα δύο εργοστάσια θα επιλεγεί τελικά, θέλουμε ο αντίστοιχος περιορισμός δυναμικότητας να ισχύει, ενώ είμαστε αδιάφοροι για τον άλλο.

Μεταξύ δύο περιορισμών, ο ένας πρέπει να ισχύει Ας υποθέσουμε ότι ο περιορισμός για το πρώτο εργοστάσιο είναι 4x1 + x2 < 12 και για το δεύτερο x1 + 3x2 < 14 Τότε, οι δύο περιορισμοί γράφονται ως εξής: 4x1 + x2 < 12 + Μy1 x1 + 3x2 < 14 + Μ(1-y1)

Μεταξύ N περιορισμών, οι K πρέπει να ισχύουν f1(x1,...,xm) < b1 ....................... fN(x1,...,xm) < bN Στην περίπτωση αυτή, εισάγουμε μία δυαδική μεταβλητή yi για κάθε περιορισμό (i = 1,...,N)

Μεταξύ N περιορισμών, οι K πρέπει να ισχύουν Γράφουμε τους περιορισμούς ως εξής: f1(x1,...,xm) < b1 + My1 ....................... fN(x1,...,xm) < bN + MyN Sum(i)yi = N - K Ο τελευταίος περιορισμός εξασφαλίζει ότι K από τις μεταβλητές αυτές θα είναι 0, οπότε οι αντίστοιχοι περιορισμοί θα ισχύουν. Η προηγούμενη περίπτωση είναι ειδική περίπτωση αυτής με K = 1 και N = 2.

Συναρτήσεις με N δυνατές τιμές Έστω μια συνάρτηση f(x1,...,xm), η οποία πρέπει να πάρει μία από N τιμές, b1 ή b2 ή ... ή bN. Εισάγουμε N δυαδικές μεταβλητές y1,...,yN και χρησιμοποιούμε την παρακάτω μορφοποίηση: Ο τελευταίος περιορισμός εξασφαλίζει ότι ακριβώς μία από τις N δυαδικές μεταβλητές θα είναι 1 και όλες οι άλλες 0, οπότε η συνάρτηση θα πάρει την αντίστοιχη τιμή.

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

Το πρόβλημα του σταθερού κόστους (fixed charge problem) Για να αποφύγουμε την εισαγωγή μη γραμμικών περιορισμών στη μορφοποίηση του προβλήματος, ορίζουμε μία δυαδική μεταβλητή yj που παίρνει την τιμή 1 αν παραχθεί το προϊόν (xj > 0) και 0 αν όχι (xj = 0). Τότε, το αντίστοιχο κόστος μορφοποιείται ως εξής: fj(xj) = kjyj + cjxj xj ≤ Myj

Το πρόβλημα του σταθερού κόστους (fixed charge problem) Ο τελευταίος περιορισμός είναι αναγκαίος για να εξασφαλιστεί ότι αν yj = 0 τότε και xj = 0 και αντίθετα, αν xj > 0 τότε και yj = 1. Φυσικά, αν xj > 0 τότε ο περιορισμός αυτός ισχύει πάντοτε, αφού ο αριθμός M είναι ένας πολύ μεγάλος πραγματικός αριθμός.

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

Δυαδική απεικόνιση γενικών ακέραιων αριθμών Για τον μετασχηματισμό αυτό, απαραίτητη προϋπόθεση είναι να υπάρχει ένα άνω όριο, u, στην τιμή που μπορεί να πάρει η κάθε ακέραια μεταβλητή x.

Δυαδική απεικόνιση γενικών ακέραιων αριθμών Έστω λοιπόν ότι κάθε ακέραια μεταβλητή x έχει όρια ως εξής: 0 ≤ x ≤ u και έστω N ακέραιος τέτοιος ώστε 2N ≤ u < 2N+1. Τότε, η δυαδική απεικόνιση της μεταβλητής x είναι x = ∑i 2iyi, όπου οι μεταβλητές yi είναι βοηθητικές δυαδικές μεταβλητές. Αντικαθιστώντας κάθε ακέραια μεταβλητή με την δυαδική της απεικόνιση, μπορούμε να μετασχηματίσουμε το αρχικό πρόβλημα σε ένα ισοδύναμο πρόβλημα που έχει αποκλειστικά δυαδικές μεταβλητές. Η τελική τιμή που θα πάρει η μεταβλητή x καθορίζεται από τις τιμές που θα πάρουν οι δυαδικές μεταβλητές yi και την παραπάνω σχέση.

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

Λύση Παράδειγμα 2.1 Για i = 1,2, ορίζουμε δυαδικές μεταβλητές yi1, yi2, yi3, yi4, όπου: yi1 = 1 αν xi = 1/2 και 0 αλλιώς yi2 = 1 αν xi = 1/3 και 0 αλλιώς yi3 = 1 αν xi = 1/4 και 0 αλλιώς yi4 = 1 αν xi = 1/5 και 0 αλλιώς.

Λύση Παράδειγμα 2.1 Στη συνέχεια, το πρόβλημα μορφοποιείται ως εξής: Max 2(1/2 y11 + 1/3 y12 + 1/4 y13 + 1/5 y14) – (1/4 y11 + 1/9 y12 + 1/16 y13 + 1/25 y14) + 3(1/2 y21 + 1/3 y22 + 1/4 y23 + 1/5 y24) - 3(1/4 y21 + 1/9 y22 + 1/16 y23 + 1/25 y24) s.t. (1/2 y11 + 1/3 y12 + 1/4 y13 + 1/5 y14) + (1/2 y21 + 1/3 y22 + 1/4 y23 + 1/5 y24) < 3/4 y11 + y12 + y13 + y14 = 1 y21 + y22 + y23 + y24 = 1 όλες οι μεταβλητές 0 ή 1.

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

Λύση Παράδειγμα 2.2 Από την προσεκτική ανάλυση των περιορισμών του προβλήματος προκύπτουν τα εξής άνω όρια στις μεταβλητές απόφασης: x1 < 2 (από περιορισμό 2) x2 < 2 (από περιορισμό 1)

Λύση Παράδειγμα 2.2 Επομένως, x1 = y1 + 2y2 και x2 = y3 + 2y4 , όπου y1, y2, y3 και y4 δυαδικές μεταβλητές. Στη συνέχεια, παίρνουμε το ακόλουθο δυαδικό πρόβλημα: Max Z = y1 + 2y2 + 5y3 + 10y4 s.t. y1 + 2y2 + 10y3 + 20y4 < 20 y1 + 2y2 < 2 y1, y2, y3 και y4 δυαδικές μεταβλητές

Λύση Παράδειγμα 2.2 Ο κώδικάς στο LINGO είναι ο εξής: MAX = Y1 + 2*Y2 + 5*Y3 + 10*Y4; Y1 + 2*Y2 + 10*Y3 + 20*Y4 <= 20; Y1 + 2*Y2 <= 2; @BIN(Y1); @BIN(Y2); @BIN(Y3); @BIN(Y4);

Λύση Παράδειγμα 2.2 Η λύση που παίρνουμε από το LINGO είναι η εξής: Global optimal solution found at iteration: 0 Objective value: 10.00000  Variable Value Reduced Cost Y1 0.000000 -1.000000 Y2 0.000000 -2.000000 Y3 0.000000 -5.000000 Y4 1.000000 -10.00000  

Λύση Παράδειγμα 2.2 Row Slack or Surplus Dual Price 1 10.00000 1.000000 2 0.000000 0.000000 3 2.000000 0.000000 Επομένως, η βέλτιστη λύση του αρχικού προβλήματος είναι x1 = 0 + 2(0) = 0 και x2 = 0 + 2(1) = 2 και Ζ = 0 + 2(0) + 5(0) + 10(1) = 10.

Λογισμικό βελτιστοποίησης LINGO To LINGO είναι ένα λογισμικό βελτιστοποίησης με φιλικό γραφικό περιβάλλον επικοινωνίας. Επιλύει προβλήματα γραμμικού, ακέραιου και μη γραμμικού προγραμματισμού. Μπορείτε να ‘κατεβάσετε’ και να εγκαταστήσετε τη δοκιμαστική έκδοση του λογισμικού στον υπολογιστή σας, από την ιστοσελίδα της εταιρείας που το διακινεί: http://www.lindo.com/.

Λογισμικό βελτιστοποίησης LINGO Η συγκεκριμένη έκδοση έχει περιορισμό στο μέγιστο αριθμό συνεχών μεταβλητών (300), στο μέγιστο αριθμό περιορισμών (150), και στο μέγιστο αριθμό ακέραιων μεταβλητών (30). Γι’ αυτό, αν θέλετε να λύσετε κάποιο πρόβλημα θα πρέπει η μορφοποίηση που θα αναπτύξετε να μην παραβιάζει τα όρια αυτά.

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

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

Παράδειγμα 2.3 Μία εταιρεία εξετάζει την εισαγωγή στην αγορά τριών νέων προϊόντων, 1, 2 και 3. Η διοίκηση έχει αποφασίσει ότι το πολύ δύο από τα τρία προϊόντα είναι σκόπιμο να εισαχθούν. Η εταιρεία διαθέτει δύο εργοστάσια αλλά λόγω περιορισμών μόνο ένα από τα δύο μπορεί να χρησιμοποιηθεί για την παραγωγή των νέων προϊόντων. Το κόστος αν αποφασιστεί η παραγωγή των προϊόντων 1, 2 ή 3 είναι 30000, 60000 και 80000, αντίστοιχα, ανεξαρτήτως του ύψους παραγωγής. Ο παρακάτω πίνακας δίνει το χρόνο που χρειάζεται για την παραγωγή μιας μονάδας για κάθε ένα από τα τρία προϊόντα σε κάθε ένα από τα δύο εργοστάσια. Τα εργοστάσια 1 και 2 μπορούν να δουλέψουν το πολύ μέχρι 30 και 40 ώρες την εβδομάδα, αντίστοιχα. Τα εβδομαδιαία έσοδα από την πώληση των προϊόντων 1, 2 και 3 θα είναι 10000, 12000 και 15000 ανά τεμάχιο αντίστοιχα, ενώ έχει υπολογιστεί ότι το μέγιστο εβδομαδιαίο ύψος της ζήτησης είναι 7, 5 και 9 αντίστοιχα.

Παράδειγμα 2.3 α) Μορφοποιήστε ένα πρόβλημα ακέραιου προγραμματισμού για αυτό το πρόβλημα. Σαν αντικειμενική συνάρτηση θεωρήστε το συνολικό κέρδος για μία εβδομάδα. β) Λύστε το πρόβλημα αυτό χρησιμοποιώντας το LINGO.

Λύση Παράδειγμα 2.3 Ορίζουμε ακέραιες μεταβλητές απόφασης Xi (i = 1,2,3), όπου Xi = αριθμός προϊόντων i που θα παραχθούν. Επίσης, ορίζουμε δυαδικές μεταβλητές απόφασης Υi (i = 1,2,3), όπου Υi = 1 αν το προϊόν i θα παραχθεί και 0 αλλιώς. Τέλος, ορίζουμε δυαδική μεταβλητή απόφασης Ζ, όπου Ζ = 1 αν χρησιμοποιηθεί το εργοστάσιο 1 για την παραγωγή των προϊόντων και 0 αν χρησιμοποιηθεί το εργοστάσιο 2.

Λύση Παράδειγμα 2.3 Με αυτά τα δεδομένα, η μορφοποίηση του προβλήματος στο LINGO είναι η εξής: MAX = 10000*X1 + 12000*X2 + 15000*X3 - 30000*Y1 - 60000*Y2 - 80000*Y3; Y1 + Y2 + Y3 <= 2; 3*X1 + 4*X2 + 2*X3 <= 30 + M*(1-Z); 4*X1 + 6*X2 + 2*X3 <= 40 + M*Z; X1 <= 7*Y1; X2 <= 5*Y2; X3 <= 9*Y3;

Λύση Παράδειγμα 2.3 @BIN(Y1); @BIN(Y2); @BIN(Y3); @BIN(Z); @GIN(X1); @GIN(X2); @GIN(X3); M = 100;

Λύση Παράδειγμα 2.3 Global optimal solution found at iteration: 21 Objective value: 75000.00 Variable Value X1 5.000000 X2 0.000000 X3 9.000000

Λύση Παράδειγμα 2.3 Y1 1.000000 Y2 0.000000 Y3 1.000000 M 100.0000 Z 0.000000 Επομένως, η βέλτιστη λύση είναι να παραχθούν πέντε τεμάχια από το προϊόν 1 και εννιά τεμάχια από το προϊόν 3, χρησιμοποιώντας το εργοστάσιο 2. Το συνολικό κέρδος που προκύπτει είναι 75000.

Παράδειγμα 2.4 Μία τουρίστρια πρόκειται να πάει ένα ταξίδι και θέλει να διαλέξει τα ρούχα που θα πάρει μαζί της. Λόγω περιορισμών της αεροπορικής εταιρείας, το μέγιστο βάρος και ο μέγιστος όγκος των ρούχων που θα πάρει μαζί της δε μπορούν να υπερβαίνουν τα 4000 γραμμάρια και τα 32000 κυβικά εκατοστά, αντίστοιχα. Στο ταξίδι της επιστροφής, οι περιορισμοί είναι πιο χαλαροί. Η τουρίστρια διαθέτει συνολικά τρεις φούστες, τρία παντελόνια, τέσσερις μπλούζες και δύο φορέματα, ενώ όταν φτάσει στον προορισμό της, σκοπεύει να αγοράσει ένα πουλόβερ. Η τουρίστρια θέλει να μεγιστοποιήσει τον αριθμό των «συνόλων» που θα πάρει μαζί της (μαζί με αυτό που θα φορέσει στο ταξίδι). Ένα πουλόβερ ή μια μπλούζα πρέπει να συνδυαστεί με ένα παντελόνι ή μια φούστα για να θεωρηθεί σύνολο, ενώ ένα φόρεμα θεωρείται από μόνο του ως σύνολο. Οι συνδυασμοί ρούχων που φαίνονται με ένα x στον παρακάτω πίνακα δεν ταιριάζουν μεταξύ τους, λόγω των χρωματισμών των ρούχων. Tέλος ο δεύτερος πίνακας δείχνει το βάρος και τον όγκο κάθε ρούχου. Μορφοποιήστε ένα πρόβλημα ακέραιου προγραμματισμού για αυτό το πρόβλημα.

Παράδειγμα 2.4 Μπλούζα 1 Μπλούζα 2 Μπλούζα 3 Μπλούζα 4 Πουλόβερ   Μπλούζα 1 Μπλούζα 2 Μπλούζα 3 Μπλούζα 4 Πουλόβερ Φούστα 1 1  2  x 3  Φούστα 2 4   5 Φούστα 3 6   7  8  9 Παντελόνι 1  10 11  Παντελόνι 2  12 13  14   15 Παντελόνι 3  16 17  18    Βάρος (gr) Όγκος (cm3) Φούστα 1 600 5000 Φούστα 2 450 3500 Φούστα 3 700 3000 Παντελόνι 1 Παντελόνι 2 550 6000 Παντελόνι 3 500 4000 Μπλούζα 1 350 Μπλούζα 2 300 Μπλούζα 3 Μπλούζα 4 Φόρεμα 1 Φόρεμα 2

Λύση Παράδειγμα 2.4 Ορίζουμε τις εξής μεταβλητές απόφασης: Mi = 1 αν η τουρίστρια πάρει τη μπλούζα i, (i = 1,2,3,4) και 0 αλλιώς Fi = 1 αν η τουρίστρια πάρει τη φούστα i, (i = 1,2,3) και 0 αλλιώς Pi = 1 αν η τουρίστρια πάρει το παντελόνι i, (i = 1,2,3) και 0 αλλιώς Di = 1 αν η τουρίστρια πάρει το φόρεμα i, (i = 1,2) και 0 αλλιώς Si = 1 αν πάρει το σύνολο i, (i = 1,…,18, όπως φαίνονται στον πρώτο πίνακα) και 0 αλλιώς. Το ακέραιο πρόβλημα μορφοποιείται στο LINGO ως εξής:

Λύση Παράδειγμα 2.4 MAX = S1 + S2 + S3 + S4 + S5 + S6 + S7 + S8 + S9 + S10 + S11 + S12 + S13 + S14 + S15 + S16 + S17 + S18 + D1 + D2; S1 <= 0.5*(F1+M1); S2 <= 0.5*(F1+M2); S3 <= F1;

Λύση Παράδειγμα 2.4 S4 <= 0.5*(F2+M1); S5 <= 0.5*(F2+M4);

Λύση Παράδειγμα 2.4 S10 <= 0.5*(P1+M1); S11 <= 0.5*(P1+M3);

Λύση Παράδειγμα 2.4 S16 <= 0.5*(P3+M3); S17 <= 0.5*(P3+M4); S18 <= P3; 600*F1 + 450*F2 + 700*F3 + 600*P1 + 550*P2 + 500*P3 + 350*M1 + 300*M2 + 300*M3 + 450*M4 + 600*D1 + 700*D2 <= 4000;

Λύση Παράδειγμα 2.4 5000*F1 + 3500*F2 + 3000*F3 + 3500*P1 + 6000*P2 + 4000*P3 + 4000*M1 + 3500*M2 + 3000*M3 + 5000*M4 + 6000*D1 + 5000*D2 <= 32000;

Λύση Παράδειγμα 2.4 @BIN(F1); @BIN(F2); @BIN(F3); @BIN(P1); @BIN(P2); @BIN(P3); @BIN(M1); @BIN(M2); @BIN(M3); @BIN(M4); @BIN(D1); @BIN(D2); @BIN(S1); @BIN(S2); @BIN(S3); @BIN(S4); @BIN(S5); @BIN(S6); @BIN(S7); @BIN(S8); @BIN(S9); @BIN(S10); @BIN(S11); @BIN(S12); @BIN(S13); @BIN(S14); @BIN(S15); @BIN(S16); @BIN(S17); @BIN(S18);

Λύση Παράδειγμα 2.4 Η λύση που παίρνουμε από το LINGO είναι η εξής: Global optimal solution found at iteration: 353 Objective value: 13.00000 Variable Value S1 1.000000 S2 1.000000 S3 1.000000 S4 0.000000

Λύση Παράδειγμα 2.4 S5 0.000000 S6 1.000000 S7 1.000000 S8 0.000000 S9 1.000000 S10 1.000000

Λύση Παράδειγμα 2.4 S11 1.000000 S12 1.000000 S13 1.000000 S14 0.000000 S15 1.000000

Λύση Παράδειγμα 2.4 S16 1.000000 S17 0.000000 S18 1.000000 D1 0.000000 D2 0.000000 F1 1.000000 M1 1.000000 M2 1.000000

Λύση Παράδειγμα 2.4 F2 0.000000 M4 0.000000 F3 1.000000 M3 1.000000 P1 1.000000 P2 1.000000 P3 1.000000 .

Λύση Παράδειγμα 2.4 Επομένως, η βέλτιστη λύση για την τουρίστρια είναι να πάρει μαζί της την 1η και την 3η φούστα, την 1η, τη 2η και την 3η μπλούζα και τα 3 παντελόνια, με συνολικό βάρος 3900 γραμμάρια και συνολικό όγκο 32000 κυβικά εκατοστά. Χρησιμοποιώντας και το πουλόβερ που πρόκειται να αγοράσει, θα διαθέτει συνολικά 13 σύνολα.

Παράδειγμα 2.5 Μία εταιρεία παράγει 3 προϊόντα σε 3 εργοστάσια και τα διαθέτει σε 3 αγορές. Για k = 1,2,3, i = 1,2,3 και j = 1,2,3 δίνονται τα εξής δεδομένα: Μοναδιαίο κόστος παραγωγής του προϊόντος k στο εργοστάσιο I

Παράδειγμα 2.5 Κόστος μεταφοράς ενός προϊόντος k από το εργοστάσιο i στην αγορά j (j=1) Κόστος μεταφοράς ενός προϊόντος k από το εργοστάσιο i στην αγορά j (j=2)

Παράδειγμα 2.5 Κόστος μεταφοράς ενός προϊόντος k από το εργοστάσιο i στην αγορά j (j=3) Σταθερό κόστος παραγωγής του προϊόντος k στο εργοστάσιο I

Παράδειγμα 2.5 Μέγιστο ύψος παραγωγής του προϊόντος k στο εργοστάσιο i

Λύση Παράδειγμα 2.5 Ελάχιστο ύψος παραγωγής του προϊόντος k στο εργοστάσιο i (σε περίπτωση θετικής παραγωγής) Δυναμικότητα (σε εργατοώρες) του εργοστασίου i που απαιτείται για την παραγωγή ενός προϊόντος k

Λύση Παράδειγμα 2.5 Συνολική δυναμικότητα (σε εργατοώρες) του εργοστασίου I Ζήτηση του προϊόντος k στην αγορά j

Λύση Παράδειγμα 2.5 Μορφοποιήστε ένα πρόβλημα ακέραιου προγραμματισμού που να ελαχιστοποιεί το συνολικό κόστος παραγωγής και μεταφοράς των προϊόντων, ώστε να καλυφθεί η ζήτηση. Βρείτε τη βέλτιστη λύση χρησιμοποιώντας το LINGO. Οι επιπλέον περιορισμοί που θα πρέπει να ικανοποιούνται είναι οι εξής: α) Κανένα εργοστάσιο δεν μπορεί να παράξει περισσότερα από 2 προϊόντα β) Κάθε προϊόν μπορεί να παραχθεί το πολύ σε 2 εργοστάσια.

Λύση Παράδειγμα 2.5 Ορίζουμε τις εξής μεταβλητές απόφασης: xijk = αριθμός προϊόντων τύπου k που παράγονται στο εργοστάσιο i και διατίθενται στην αγορά j yik = δυαδική μεταβλητή που παίρνει την τιμή 1 αν το προϊόν k παράγεται στο εργοστάσιο i και 0 αν όχι. Στη συνέχεια, το πρόβλημα μορφοποιείται ως εξής:

Λύση Παράδειγμα 2.5

Λύση Παράδειγμα 2.5

Λύση Παράδειγμα 2.5

Λύση Παράδειγμα 2.5

Λύση Παράδειγμα 2.5 Η λύση που παίρνουμε από το LINGO φαίνεται παρακάτω: Optimal solution found at step: 65 Objective value: 21020.00 Branch count: 5

Λύση Παράδειγμα 2.5

Παράδειγμα 2.6 Η κυβέρνηση εξετάζει την εγκατάσταση πυροσβεστικών σταθμών σε 5 πόλεις. Το κόστος εγκατάστασης των σταθμών σε κάθε πόλη καθώς και ο χρόνος που χρειάζεται για την κάλυψη της απόστασης μεταξύ των πόλεων αυτών δίνονται στον παρακάτω πίνακα:

Παράδειγμα 2.6 Σε κάθε πόλη μπορεί να εγκατασταθεί το πολύ 1 σταθμός. Ο στόχος είναι να εγκατασταθεί ο ελάχιστος αριθμός πυροσβεστικών σταθμών έτσι ώστε για κάθε πόλη να υπάρχει κάποιος σταθμός που μπορεί να ανταποκριθεί σε περίπτωση φωτιάς σε χρόνο που δεν υπερβαίνει τα 20 λεπτά. Επειδή έχει ήδη συγκεντρωθεί το ποσό των 400 χιλιάδων ευρώ, αυτό πρέπει να είναι και το ελάχιστο ποσό που θα πρέπει να δαπανηθεί για το συγκεκριμένο σκοπό. Να βρεθεί η βέλτιστη χωροθέτηση των πυροσβεστικών σταθμών.

Λύση Παράδειγμα 2.6 Ορίζουμε τις εξής μεταβλητές: Xi = 1 αν εγκατασταθεί σταθμός στην πόλη i και 0 αλλιώς, i = 1, 2,…,5 Τότε, το πρόβλημα μορφοποιείται στο LINGO ως εξής:

Λύση Παράδειγμα 2.6 MIN = X1 + X2 + X3 + X4 + X5; X1 + X2 + X3 > 1; ! (πόλη 1); X1 + X2 + X5 > 1; ! (πόλη 2); X1 + X3 + X4 > 1; ! (πόλη 3); X3 + X4 + X5 > 1; ! (πόλη 4); X2 + X4 + X5 > 1; ! (πόλη 5); 200*X1 + 250*X2 + 400*X3 + 300*X4 + 500*X5 > 400; ! (προϋπολογισμός); @BIN(X1); @BIN(X2); @BIN(X3); @BIN(X4); @BIN(X5);

Λύση Παράδειγμα 2.6 και η λύση που παίρνουμε είναι η εξής: Global optimal solution found. Objective value: 2.000000 Extended solver steps: 0 Total solver iterations: 0

Λύση Παράδειγμα 2.6 Variable Value Reduced Cost X1 1.000000 1.000000 X2 0.000000 1.000000 X3 0.000000 1.000000 X4 0.000000 1.000000 X5 1.000000 1.000000