Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

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

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ"— Μεταγράφημα παρουσίασης:

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

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

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

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

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

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

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

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

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

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

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

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

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

14 Λύση Παράδειγμα 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 αλλιώς.

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

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

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

18 Λύση Παράδειγμα 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 δυαδικές μεταβλητές

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

20 Λύση Παράδειγμα 2.2 Η λύση που παίρνουμε από το LINGO είναι η εξής:
Global optimal solution found at iteration: 0 Objective value:   Variable Value Reduced Cost Y Y Y Y

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

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

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

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

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

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

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

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

29 Λύση Παράδειγμα 2.3 Με αυτά τα δεδομένα, η μορφοποίηση του προβλήματος στο LINGO είναι η εξής: MAX = 10000*X *X *X *Y *Y *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;

30 Λύση Παράδειγμα 2.3 @GIN(X3); M = 100;

31 Λύση Παράδειγμα 2.3 Global optimal solution found at iteration: 21 Objective value: Variable Value X X X

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

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

34 Παράδειγμα 2.4 Μπλούζα 1 Μπλούζα 2 Μπλούζα 3 Μπλούζα 4 Πουλόβερ
Μπλούζα 1 Μπλούζα 2 Μπλούζα 3 Μπλούζα 4 Πουλόβερ Φούστα 1 x Φούστα 2  5 Φούστα 3  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

35 Λύση Παράδειγμα 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 ως εξής:

36 Λύση Παράδειγμα 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;

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

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

39 Λύση Παράδειγμα 2.4 S16 <= 0.5*(P3+M3); S17 <= 0.5*(P3+M4); S18 <= P3; 600*F *F *F *P *P *P *M *M *M *M *D *D2 <= 4000;

40 Λύση Παράδειγμα 2.4 5000*F *F *F *P *P *P3 + 4000*M *M *M *M *D *D2 <= 32000;

41 Λύση Παράδειγμα 2.4 @BIN(P2); @BIN(P3); @BIN(D1); @BIN(D2); @BIN(S5); @BIN(S6); @BIN(S11); @BIN(S12); @BIN(S17); @BIN(S18);

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

43 Λύση Παράδειγμα 2.4 S S S S S S

44 Λύση Παράδειγμα 2.4 S S S S S

45 Λύση Παράδειγμα 2.4 S S S D D F M M

46 Λύση Παράδειγμα 2.4 F M F M P P P

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

65 Λύση Παράδειγμα 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*X *X *X *X *X5 > 400; @BIN(X5);

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

67 Λύση Παράδειγμα 2.6 Variable Value Reduced Cost X X X X X


Κατέβασμα ppt "ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google