Συνδυαστική Βελτιστοποίηση

Σχετικά έγγραφα
Ακέραιος Γραμμικός Προγραμματισμός

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

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

ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ

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

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

Συνδυαστική Βελτιστοποίηση

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

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

Fermat, 1638, Newton Euler, Lagrange, 1807

Συνδυαστική Βελτιστοποίηση

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Γραμμικός Προγραμματισμός και Βελτιστοποίηση (Εργαστήριο 2)

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

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

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

Στοχαστικές Στρατηγικές

ΚΕΦΑΛΑΙΟ 4. Ακέραια Πολύεδρα

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

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

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

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

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

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

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

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

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

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

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

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

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

Ανάλυση ευαισθησίας. Άσκηση 3 Δίνεται ο παρακάτω τελικός πίνακας Simplex. Επιχειρησιακή Έρευνα Γκόγκος Χρήστος

είναι πρόβλημα μεγιστοποίησης όλοι οι περιορισμοί είναι εξισώσεις με μη αρνητικούς του σταθερούς όρους όλες οι μεταβλητές είναι μη αρνητικές

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

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

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

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

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

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

Κεφάλαιο 1. Εισαγωγή. 1.1 Επιχειρησιακή Ερευνα

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

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

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

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

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

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

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

Στοχαστικές Στρατηγικές

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

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

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

Βελτιστοποίηση κατανομής πόρων συντήρησης οδοστρωμάτων Πανεπιστήμιο Πατρών - Πολυτεχνική Σχολή Τμήμα Πολιτικών Μηχανικών

ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ

ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ IΙ

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

ΠΩΣ ΝΑ ΟΡΙΣΕΤΕ ΚΑΙ ΝΑ ΕΠΙΛΥΣΕΤΕ ΕΝΑ ΠΡΟΓΡΑΜΜΑ ΓΡΑΜΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΤΟΝ SOLVER ΤΟΥ EXCEL

Τμήμα Εφαρμοσμένης Πληροφορικής

ΕΝΔΕΙΚΤΙΚΑ ΠΡΟΒΛΗΜΑΤΑ

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

Στοχαστικές Στρατηγικές

Διδάσκων: Νίκος Λαγαρός

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

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

RIGHTHAND SIDE RANGES

Προγραμματισμός Ι (HY120)

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

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

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

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

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

Δυναμικότητα (GWh) A B C Ζήτηση (GWh) W X Y Z

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

ΣΧΟΛΗ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΕΜΠ ΕΙΣΑΓΩΓΗ ΣΤΗN ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΩΝ. 1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ. Μ. Καρλαύτης Ν. Λαγαρός

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

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

3. ΠΡΟΒΛΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ ( Transportation )

Πληροφορική και Υπολογιστές

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

Ανάλυση Ευαισθησίας. αναζητάμε τις επιπτώσεις που επιφέρει στη βέλτιστη λύση η

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

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

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

Κεφάλαιο 2.4: Εργασία με εικονίδια

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

7 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΓΡΑΜΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ MATLAB

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

ISBN:

Transcript:

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 1 Συνδυαστική Βελτιστοποίηση Άγγελος Σιφαλέρας sifalera@uom.gr 2 η Διάλεξη

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 2 Το πρόβλημα του Γραμμικού Προγραμματισμού (1/3) Μέχρι στιγμής στο μάθημα «Επιχειρησιακή Έρευνα» έχουμε εξετάσει προβλήματα Γραμμικού Προγραμματισμού (π.γ.π.). Στο π.γ.π. έχουμε να μεγιστοποιήσουμε μια συνάρτηση γραμμική ως προς τις μεταβλητές x 1, x 2,, x n δηλαδή της μορφής: z = max(c 1 x 1 + c 2 x 2,, + c n x n ) η οποία ονομάζεται και αντικειμενική συνάρτηση. Συγχρόνως θέλουμε η βέλτιστη λύση να ικανοποιεί τις συνθήκες: a11x1 + a12x2 +... + a1 nxn b1 a x + a x +... + a x b 21 1 22 2 2n n 2... a x + a x + K+ a x b m1 1 m2 2 mn n m x 0, i = 1Kn i

Το πρόβλημα του Γραμμικού Προγραμματισμού (2/3) Το γραμμικό πρόβλημα (γ.π.) με μορφή πινάκων, μπορεί να γραφεί ως εξής: z = cx Ax b x 0 όπου το c είναι ένα δ/μα γραμμή: c = (c 1, c 2,, c n ) το b είναι το m x 1 δ/μα στήλη: b = (b 1, b 2,, b m ) το x είναι το n x 1 δ/μα στήλη: x = (x 1, x 2,, x n ) και τέλος o A είναι ο m x n πίνακας: A a a... a a a... a............ a a... a 11 12 1n 21 22 2n = m1 m2 mn Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 3

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 4 Το πρόβλημα του Γραμμικού Προγραμματισμού (3/3) Λύνοντας όμως το π.γ.π. με τον αλγόριθμο Simplex (ή και άλλους αλγορίθμους), δεν οδηγούμαστε σε ακέραιες τιμές των μεταβλητών απόφασης (x i ) στη βέλτιστη λύση, (παραδοχή π.γ.π.) Στον πραγματικό κόσμο όμως υπάρχει ένας πολύ μεγάλος αριθμός από προβλήματα, στα οποία θέλουμε η βέλτιστη λύση να έχει ακέραιες τιμές. Για παράδειγμα, δεν μπορούμε να συστήσουμε σε ένα νοσοκομείο να έχει 35.7 νοσοκόμες και 20.3 ιατρούς, ή σε ένα αεροπλάνο να έχει 111.2 θέσεις, κ.λ.π. Όταν απαιτούμε η βέλτιστη λύση να έχει ακέραιες τιμές, τότε τις περισσότερες φορές αυτή απέχει πολύ από τη λύση της στρογγυλοποίησης των τιμών των μεταβλητών της βέλτιστης λύσης του γραμμικού προγραμματισμού

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 5 Το πρόβλημα του Ακεραίου Προγραμματισμού (1/4) Το π.γ.π. στο οποίο επιπλέον απαιτείται μερικές μεταβλητές να είναι ακέραιες ονομάζεται μικτό πρόβλημα ακεραίου προγραμματισμού (μ.π.α.π.) ή (mixed integer programming problem). Όταν όλες οι μεταβλητές απαιτείται να είναι ακέραιες τότε λέμε ότι έχουμε ένα πρόβλημα ακεραίου προγραμματισμού (π.α.π.) ή (pure integer programming problem). Πολύ συχνά συμβαίνει οι ακέραιες μεταβλητές να περιορίζονται στις τιμές 0 ή 1. Αυτά τα προβλήματα τα ονομάζουμε 0 1 (μ.π.α.π.) ή 0 1 (π.α.π.) ή (pure (mixed) binary integer programming problems / pure (mixed) 0 1 programming problems).

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 6 Το πρόβλημα του Ακεραίου Προγραμματισμού (2/4) Η μαθηματική μορφοποίηση του μ.π.α.π. με μορφή πινάκων είναι: όπου: c είναι ένα 1 x n 1 δ/μα γραμμή d είναι ένα 1 x n 2 δ/μα γραμμή A είναι ένας m x n 1 πίνακας D είναι ένας m x n 2 πίνακας x είναι ένα n 1 x 1 δ/μα γραμμή y είναι ένα n 2 x 1 δ/μα στήλη max z = cx + dy Ax + Dy b x 0, y 0 x ακέραιος

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 7 Το πρόβλημα του Ακεραίου Προγραμματισμού (3/4) Το π.γ.π που προκύπτει από ένα π.α.π. ή μ.π.α.π., εάν αφαιρέσουμε τη συνθήκη οι μεταβλητές να είναι ακέραιες ονομάζεται το γ.π. χαλάρωσης του α.π. Δηλαδή το γ.π. χαλάρωσης του μ.π.α.π. είναι το: max z = cx + dy Ax + Dy b x 0, y 0

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 8 Το πρόβλημα του Ακεραίου Προγραμματισμού (4/4) Ο χώρος των εφικτών λύσεων για ένα π.α.π. περικλείεται μέσα στην εφικτή περιοχή του αντίστοιχου γ.π. χαλάρωσης. Αυτό συνεπάγεται ότι: Βέλτιστη Ζ-τιμή για το γ.π. χαλάρωσης Βέλτιστη Ζ-τιμή για το π.α.π. (για προβλήματα μεγιστοποίησης) Διαφορές στην εφικτή περιοχή μεταξύ π.γ.π και π.α.π.

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 9 Ορολογία (Πολύεδρα) Η εφικτή περιοχή ενός γ.π. αποτελεί ένα κυρτό πολύτοπο (convex polytope), το οποίο μπορεί να υπάρχει σε οποιοδήποτε αριθμό διαστάσεων αναλόγως το πρόβλημα. Ειδική μορφή πολυτόπου είναι το: πολύγωνο (polygon) στις δυο διαστάσεις, πολύεδρο (polyhedron) στις τρεις διαστάσεις, κ.ο.κ....

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 10 Βιβλιογραφία Branko Grünbaum, Convex Polytopes, 2 nd ed., Springer, 2003. Gunter M. Ziegler, Lectures on Polytopes (Graduate Texts in Mathematics), 1995. Alexandrov A.D., Convex Polyhedra, Springer Monographs in Mathematics, 1995.

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 11 Συνδυαστική Βελτιστοποίηση 1 η Εφαρμογή Ακεραίου Προγραμματισμού (1/4) Project Selection Μια επενδυτική εταιρία προσφέρει τις ακόλουθες 3 επενδύσεις στους πελάτες της: Στην 1 η επένδυση πρέπει να κατατεθεί ένα κεφάλαιο 5 εκατομμυρίων για να έχει συνολικό καθαρό κέρδος 16. Στην 2 η επένδυση πρέπει να κατατεθεί ένα κεφάλαιο 7 εκατομμυρίων για να έχει συνολικό καθαρό κέρδος 23. Στην 3 η επένδυση πρέπει να κατατεθεί ένα κεφάλαιο 11 εκατομμυρίων για να έχει συνολικό καθαρό κέρδος 32. Ποιά πρέπει να είναι η επενδυτική πολιτική της εταιρίας για να μεγιστοποιήσει τα κέρδη της δεδομένου όμως ότι μπορεί να επενδύσει το πολύ 17 εκατομμύρια?

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 12 Συνδυαστική Βελτιστοποίηση 1 η Εφαρμογή Ακεραίου Προγραμματισμού (2/4) Project Selection Μαθηματική μοντελοποίησης προβλήματος: Μεταβλητές απόφασης: x j 1, εάν η j επένδυση γίνει = 0, αλλιώς για j = 1, 2, 3. max z = 16x + 23x + 32x 1 2 3 5 x + 7x + 11x 17 1 2 3 x, x, x = 0,1 1 2 3

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 13 Μαθηματική μοντελοποίηση σε AMPL: Συνδυαστική Βελτιστοποίηση 1 η Εφαρμογή Ακεραίου Προγραμματισμού (3/4) Project Selection # variables var x1 binary; # 1st type of investment var x2 binary; # 2nd type of investment var x3 binary; # 3rd type of investment # objective function maximize profit: 16*x1 + 23*x2 + 32*x3; # constraints subject to budget: 5*x1 + 7*x2 + 11*x3 <= 17;

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 14 Συνδυαστική Βελτιστοποίηση 1 η Εφαρμογή Ακεραίου Προγραμματισμού (4/4) Project Selection Αναφορά επίλυσης από AMPL: ampl: model example_1.mod; ampl: option solver gurobi_ampl; εντολές AMPL ampl: solve; σχόλια λύσης από καλούμενο λύτη βέλτιστες τιμές Gurobi 5.6.0: optimal solution; objective 48 ampl: display x1, x2, x3; x1 = 1 x2 = 0 x3 = 1

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 15 2 η Εφαρμογή Ακεραίου Προγραμματισμού (1/8) Μια εταιρία κατασκευάζει 3 ειδών έπιπλα: έπιπλα γραφείου, κρεβατοκάμαρες και έπιπλα κουζίνας. Η εταιρία νοικιάζει τα μηχανήματα κατασκευής επίπλων γραφείου με 2 εκατ./μήνα, της κρεβατοκάμαρας με 1.5 εκατ./μήνα και της κουζίνας με 1 εκατ./μήνα. Η κατασκευή κάθε είδους έχει τις ακόλουθες ανάγκες σε ξυλεία και ανθρωποώρες: Είδος Ξυλεία (Kg) Ανθρωποώρες Γραφείο 20 50 Κρεβατοκάμαρα 15 60 Κουζίνα 12 70

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 16 2 η Εφαρμογή Ακεραίου Προγραμματισμού (2/8) Κάθε μήνα η εταιρία διαθέτει 3 τόνους ξυλεία και 10,000 ανθρωποώρες εργασίας. Η τιμή πώλησης κάθε είδους καθώς και το κόστος του είναι τα εξής: Είδος Πώληση Κόστος Γραφείο 400,000 200,000 Κρεβατοκάμαρα 600,000 300,000 Κουζίνα 800,000 450,000 Ζητούμε να βρούμε τη βέλτιστη πολιτική η οποία θα μεγιστοποιεί το μηνιαίο κέρδος της εταιρίας.

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 17 2 η Εφαρμογή Ακεραίου Προγραμματισμού (3/8) Μαθηματική μοντελοποίησης προβλήματος: Ορίζουμε τις μεταβλητές: x 1 = ο αριθμός επίπλων γραφείου που κατασκευάζεται κάθε μήνα. x 2 = ο αριθμός επίπλων κρεβατοκάμαρας που κατασκευάζεται κάθε μήνα. x 3 = ο αριθμός επίπλων κουζίνας που κατασκευάζεται κάθε μήνα. Προφανώς, το κόστος ενοικίασης των μηχανημάτων δεν εξαρτάται από τον αριθμό του είδους των κατασκευαζόμενων επίπλων, αλλά από το αν θα κατασκευασθεί το είδος ή όχι.

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 18 2 η Εφαρμογή Ακεραίου Προγραμματισμού (4/8) Άρα για να προσδιορίσουμε το κόστος ενοικίασης των μηχανημάτων πρέπει να ορίσουμε τις εξής μεταβλητές: y y y 1 2 3 1, εάν ενοικιαστεί το μηχάνημα κατασκευής γραφείου = 0, αλλιώς 1, εάν ενοικιαστεί το μηχάνημα κατασκευής επίπλων κρεβατοκάμαρας = 0, αλλιώς 1, εάν ενοικιαστεί το μηχάνημα επίπλων κουζίνας = 0, αλλιώς Δηλαδή, έχουμε ότι εάν: x j > 0 y j = 1 x j = 0 y j = 0

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 19 2 η Εφαρμογή Ακεραίου Προγραμματισμού (5/8) Το μηνιαίο καθαρό κέρδος της εταιρίας είναι: (0.4x 1 + 0.6x 2 + 0.8x 3 ) (0.2x 1 + 0.3x 2 + 0.45x 3 ) (2y 1 + 1.5y 2 + y 3 ) εκατομμύρια πωλήσεις κόστος ενοικίαση Περιορισμός ξυλείας: 20x 1 + 15x 2 + 70x 3 3,000 Περιορισμός ανθρωποωρών: 50x 1 + 60x 2 + 70x 3 10,000 Υπάρχει κανένας περιορισμός που να εμποδίζει όλα τα y i (i = 1,2,3) να γίνουν ταυτόχρονα μηδέν? Αν αυτό συμβεί, είναι ρεαλιστική λύση? Τι θα κατασκευάσουμε?

2 η Εφαρμογή Ακεραίου Προγραμματισμού (6/8) Θα χρησιμοποιήσουμε το εξής «τέχνασμα»: Θέτουμε τους επιπλέον περιορισμούς: x 1 Μy 1, x 2 Μy 2 και x 3 Μy 3 όπου Μ ένας πολύ μεγάλος αριθμός σε σχέση με τις δυνατές τιμές των x i, y i (i = 1,2,3). Αυτό έχει το (επιθυμητό) αποτέλεσμα όταν y i = 0, τότε αυτόματα x i = 0. max z = 0.2x + 0.3x + 0.35x 2y 1.5y y Οπότε, έχουμε: 1 2 3 1 2 3 20 x + 15 x + 12 x 3000 1 2 3 50 x + 60 x + 70x 10000 1 2 3 x Μy, x Μy, x Μy 1 1 2 2 3 3 x, x, x ακέραιοι 1 2 3 y, y, y = 0 ή 1 1 2 3 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 20

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 21 2 η Εφαρμογή Ακεραίου Προγραμματισμού (7/8) Μαθηματική μοντελοποίηση σε AMPL: # variables var x1 integer >=0; var x2 integer >=0; var x3 integer >=0; var y1 binary; var y2 binary; var y3 binary; # objective function maximize profit: 0.2*x1 + 0.3*x2 + 0.35*x3-2*y1-1.5*y2 - y3; # constraints subject to wood: 20*x1 + 15*x2 + 12*x3 <= 3000; subject to hours: 50*x1 + 60*x2 + 70*x3 <= 10000; subject to constraint_1: x1 <= 1000000*y1; # M = 1000000 subject to constraint_2: x2 <= 1000000*y2; subject to constraint_3: x3 <= 1000000*y3;

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 22 2 η Εφαρμογή Ακεραίου Προγραμματισμού (8/8) Αναφορά επίλυσης από AMPL: ampl: model example_2.mod; ampl: option solver gurobi_ampl; ampl: solve; εντολές AMPL σχόλια λύσης από τον καλούμενο λύτη Gurobi βέλτιστες τιμές Gurobi 5.6.0: optimal solution; objective 48.7 3 simplex iterations absmipgap = 7.11e-15, relmipgap = 1.46e-16 ampl: display x1, x2, x3, y1,y2, y3; x1 = 0 x2 = 0 x3 = 142 y1 = 0 y2 = 0 y3 = 1

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 23 Συνδυαστική Βελτιστοποίηση 3 η Εφαρμογή Ακεραίου Προγραμματισμού (1/7) (set covering model) Έστω ότι η πόλη της Θεσσαλονίκης έχει χωριστεί από την Πυροσβεστική υπηρεσία της πόλης σε 6 μεγάλες περιοχές. Η διοίκηση της πόλης πρέπει να αποφασίσει σε ποια σημεία θα πρέπει να χτίσει πυροσβεστικούς σταθμούς, όπου θα σταθμεύουν τα υπηρεσιακά οχήματα. Η απόφαση πρέπει να είναι μεν τέτοια ώστε να απαιτείται το ελάχιστο δυνατόν κόστος (χτίζοντας τον ελάχιστο αριθμό σταθμών), αλλά επίσης να μην υπάρχει περιοχή από την οποία ένας τουλάχιστον σταθμός να απέχει περισσότερο από 20 οδήγησης σε μια ώρα κυκλοφοριακής αιχμής. Οι σταθμοί θα χτιστούν σε κάποιες από τις 6 περιοχές και αν ένας σταθμός χτιστεί σε μία περιοχή θεωρείται ότι ο χρόνος κάλυψης αυτής της περιοχής είναι μηδαμινός. Έτσι, σημασία έχει ο χρόνος που χρειάζεται για να πάει ένα πυροσβεστικό όχημα από τη μία περιοχή στην άλλη.

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 24 3 η Εφαρμογή Ακεραίου Προγραμματισμού (2/7) Οι χρόνοι που χρειάζεται ένα πυροσβεστικό όχημα σε ώρες κυκλοφοριακής αιχμής για να διανύσει αυτές τις αποστάσεις είναι: Περιοχή 1 Περιοχή 2 Περιοχή 3 Περιοχή 4 Περιοχή 5 Περιοχή 6 Περιοχή 1 0 12 21 30 27 18 Περιοχή 2 12 0 22 27 19 11 Περιοχή 3 21 22 0 19 23 21 Περιοχή 4 30 27 19 0 15 25 Περιοχή 5 27 19 23 15 0 12 Περιοχή 6 18 11 21 25 12 0

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 25 3 η Εφαρμογή Ακεραίου Προγραμματισμού (3/7) Μαθηματική μοντελοποίησης προβλήματος: Μεταβλητές απόφασης: x i 1, αν ένας σταθμός πυροσβεστικής θα χτιστεί στην περιοχή = 0, αλλιώς i Η αντικειμενική συνάρτηση του προβλήματος θα είναι: Min z = x 1 + x 2 + x 3 + x 4 + x 5 + x 6 o συνολικός αριθμός σταθμών πυροσβεστικής που θα χτιστούν Η ελάχιστη δυνατή τιμή ισούται με 0, όταν θέσουμε x i = 0, (i = 1,2,,6). Αυτό όμως σημαίνει ότι κανένας πυροσβεστικό σταθμός δεν θα χτιστεί Άρα, τι κάνουμε?

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 26 3 η Εφαρμογή Ακεραίου Προγραμματισμού (4/7) Η βασική μας απαίτηση είναι ότι δεν πρέπει να υπάρχει έστω και μια περιοχή στην οποία να χρειάζεται περισσότερο από 20 να φθάσει πυροσβεστικό όχημα του οποίου ο σταθμός είναι χτισμένος σε κάποια άλλη περιοχή. Για παράδειγμα, για να υπάρχει στην περιοχή 1 πάντα ένας σταθμός πυροσβεστικής σε απόσταση μικρότερη από 20, πρέπει να χτιστεί ένας σταθμός στην περιοχή 1 ή στην περιοχή 2 ή τέλος στην περιοχή 6. Αυτό σημαίνει ότι οποιαδήποτε λύση για την οποία x 1 = x 2 = x 6 = 0, δεν είναι αποδεκτή. Τι κάνουμε ώστε να εξασφαλίσουμε ότι κάτι τέτοιο δεν θα προκύψει στη λύση? Θέτουμε τον παρακάτω περιορισμό στο π.α.π. : x 1 + x 2 + x 6 1 (ομοίως τι θα προκύψει για τις υπόλοιπες περιοχές?)

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 27 3 η Εφαρμογή Ακεραίου Προγραμματισμού (5/7) Άρα, το ζητούμενο μοντέλο μαθηματικού προγραμματισμού είναι: min z = x + x + x + x + x + x 1 2 3 4 5 6 x + x + x 1 (Περιοχή 1) 1 2 6 x + x + x + x 1 (Περιοχή 2) x 1 2 5 6 + x 1 (Περιοχή 3) 3 4 x3+ x4 + x5 1 (Περιοχή 4) x + x + x + x 1 (Περιοχή 5) 2 4 5 6 x + x + x + x 1 (Περιοχή 6) 1 2 5 6 x i = 0,1, για i = 1, 2,..., 6

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 28 3 η Εφαρμογή Ακεραίου Προγραμματισμού (6/7) Μαθηματική μοντελοποίηση σε AMPL: # variables var x1 binary; # station 1 var x2 binary; # station 2 var x3 binary; # station 3 var x4 binary; # station 4 var x5 binary; # station 5 var x6 binary; # station 6 # objective function minimize cost: x1 + x2 + x3 + x4 + x5 + x6; # constraints subject to area_1: x1 + x2 + x6 >= 1; subject to area_2: x1 + x2 + x5 + x6 >= 1; subject to area_3: x3 + x4 >= 1; subject to area_4: x3 + x4 + x5 >= 1; subject to area_5: x2 + x4 + x5 + x6 >= 1;

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 29 3 η Εφαρμογή Ακεραίου Προγραμματισμού (7/7) Αναφορά επίλυσης από AMPL: ampl: model example_3.mod; ampl: option solver gurobi_ampl; εντολές AMPL σχόλια λύσης από καλούμενο λύτη Gurobi βέλτιστες τιμές ampl: solve; Gurobi 5.6.0: optimal solution; objective 2 ampl: display x1, x2, x3, x4, x5, x6; x1 = 0 x2 = 1 x3 = 0 x4 = 1 x5 = 0 x6 = 0

4 η Εφαρμογή Ακεραίου Προγραμματισμού (1/8) Έστω μια εταιρία η οποία κατασκευάζει 3 ειδών δίτροχα. Ο τύπος 1, είναι τα λεγόμενα «παπάκια». Ο τύπος 2, είναι μεγαλύτερες σε κυβικά μοτοσυκλέτες «Enduro» (χωματόδρομος, κ.λ.π.) και ο τύπος 3, είναι μοτοσυκλέτες 500 cc. ειδικές για πίστες αγώνων. Για να είναι οικονομικά εφικτή η κατασκευή ενός τύπου δίτροχου πρέπει η εταιρία να κατασκευάζει τουλάχιστον 500 από αυτόν τον τύπο. Οι πόροι που χρειάζονται για την κατασκευή κάθε τύπου δίτροχου είναι: Είδος μοτοσυκλέτας «Παπάκι» Enduro Πίστας Σίδηρο 500 Kg 800 Kg 1,000 Kg Ανθρωποώρες εργασίας 30 h 45 h 50 h Κέρδος / δίτροχο 100 χιλ. δρχ. 1,000 χιλ. δρχ. 2,000 χιλ. δρχ. Η εταιρία διαθέτει 20,000Kg σίδηρο και 50,000 ανθρωποώρες εργασίας. Πόσες μοτοσυκλέτες πρέπει να κατασκευάσει από το κάθε είδος για να μεγιστοποιήσει το κέρδος της? Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 30

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 31 4 η Εφαρμογή Ακεραίου Προγραμματισμού (2/8) Μαθηματική μοντελοποίησης προβλήματος: x i : ο αριθμός από τις μοτοσυκλέτες τύπου (i = 1, 2, 3) που η εταιρία πρέπει να κατασκευάσει Η αντικειμενική συνάρτηση του προβλήματος θα είναι: Max z = 100x 1 + 1,000x 2 + 2,000x 3 σε χιλιάδες δρχ. Περιορισμός λόγω πρώτης ύλης σιδήρου: 500x 1 + 800x 2 + 1,000x 3 20,000 Περιορισμός λόγω διαθέσιμων ανθρωποωρών: 30x 1 + 45x 2 + 50x 3 50,000

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 32 4 η Εφαρμογή Ακεραίου Προγραμματισμού (3/8) Αν η εταιρία αποφασίσει να κατασκευάσει ένα είδος μοτοσυκλέτας πρέπει να φτιάξει τουλάχιστον 500, οπότε έχουμε: x 1 0 ή x 1 500 x 2 0 ή x 2 500 x 3 0 ή x 3 500 Αυτοί οι περιορισμοί αποτελούν μια κλασική κατηγορία διαζευκτικών περιορισμών της μορφής: f(x 1, x 2,..., x n ) 0 ή g(x 1, x 2,..., x n ) 0 Ο μετασχηματισμός αυτών των περιορισμών σε κατάλληλη μορφή για να αποτελούν αποδεκτούς περιορισμούς σε ένα π.α.π., γίνεται με την αντικατάσταση τους από τους περιορισμούς: f(x 1, x 2,..., x n ) My g(x 1, x 2,..., x n ) M(1 y) (όπου y μια δυαδική μεταβλητή & Μ ένας κατάλληλα μεγάλος αριθμός)

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 33 4 η Εφαρμογή Ακεραίου Προγραμματισμού (4/8) Οπότε στο πρόβλημα μας για i = 1 έχουμε τον περιορισμό: x 1 0 ή x 1 500 Τον οποίο τον αντικαθιστούμε με τους περιορισμούς: Με τι σκεπτικό θέτουμε ότι Μ = 2,000? Just-Large-Enough-M method x 1 2,000y 1 500 x 1 2,000(1 y 1 ), y 1 = 0 ή 1 Ομοίως αντικαθιστούμε και τους υπόλοιπους περιορισμούς

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 34 4 η Εφαρμογή Ακεραίου Προγραμματισμού (5/8) Άρα, το ζητούμενο μοντέλο μαθηματικού προγραμματισμού είναι: max z = 100x + 1000x + 2000x x 1 2 3 1 1 500 x 2000(1 y ) x 1 1 1500y 2 2 500 x 1500(1 y ) x 2000y 2 2 1000y 3 3 500 x 1000(1 y ) 1 2 3 1 2 3 1 2 3 3 3 500x + 800x + 1000x 20000 1 2 3 30 x + 45 x + 50x 50000 1 2 3 x, x, x 0 x, x, x ακέραιοι y, y, y = 0 ή 1

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 35 4 η Εφαρμογή Ακεραίου Προγραμματισμού (6/8) Μαθηματική μοντελοποίηση σε AMPL (1/2): # variables var x1 integer >= 0; # station 1 var x2 integer >= 0; # station 2 var x3 integer >= 0; # station 3 var y1 binary; # station 4 var y2 binary; # station 5 var y3 binary; # station 6 # objective function maximize profit: 100*x1 + 1000*x2 + 2000*x3;

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 36 4 η Εφαρμογή Ακεραίου Προγραμματισμού (7/8) Μαθηματική μοντελοποίηση σε AMPL (2/2): # constraints subject to constraint_1: x1 <= 2000*y1; subject to constraint_2: 500-x1 <= 2000*(1-y1); subject to constraint_3: x2 <= 1500*y2; subject to constraint_4: 500-x2 <= 1500*(1-y2); subject to constraint_5: x3 <= 1000*y3; subject to constraint_6: 500-x3 <= 1000*(1-y3); subject to constraint_7: 500*x1 + 800*x2 + 1000*x3 <= 20000; subject to constraint_8: 30*x1 + 45*x2 + 50*x3 <= 50000;

4 η Εφαρμογή Ακεραίου Προγραμματισμού (8/8) Αναφορά επίλυσης από AMPL: ampl: model example_4.mod; ampl: option solver gurobi_ampl; ampl: solve; εντολές AMPL σχόλια λύσης από καλούμενο λύτη Gurobi βέλτιστες τιμές Solution determined by presolve; objective profit = 0. ampl: display x1, x2, x3, y1, y2, y3; x1 = 0 x2 = 0 x3 = 0 y1 = 0 y2 = 0 y3 = 0 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 37

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 38 5 η Εφαρμογή Ακεραίου Προγραμματισμού (1/5) Μια εμπορική επιχείρηση θέλει να επεκταθεί στην περιοχή της Κεντρικής Μακεδονίας. Η επιχείρηση σκέφτεται να δημιουργήσει ένα υποκατάστημα στη Νάουσα ή στην Έδεσσα ή από ένα και στις δύο πόλεις. Υπάρχει επίσης η σκέψη για την ίδρυση μιας το πολύ αποθήκης σε κάποια από τις δυο περιοχές, αλλά, σε αυτήν την περίπτωση, η αποθήκη πρέπει να γίνει στα περίχωρα της πόλης που θα δημιουργηθεί υποκατάστημα. Η επιχείρηση εκτίμησε τις καθαρές αποδόσεις για τα πρώτα 5 χρόνια, που φαίνονται στον παρακάτω πίνακα. Επίσης, στον πίνακα δίνονται τα απαιτούμενα κεφάλαια για τη δημιουργία υποκαταστημάτων και αποθηκών. Η επιχείρηση έχει διαθέσιμα 50.000 για την αρχική επένδυση.

5 η Εφαρμογή Ακεραίου Προγραμματισμού (2/5) Να αναπτύξετε ένα μαθηματικό μοντέλο διακριτής βελτιστοποίησης, το οποίο θα σας δώσει τη μέγιστη απόδοση. Απόφαση Ερώτηση «ναι» ή «όχι» Καθαρή απόδοση Απαιτούμενο κεφάλαιο 1 Υποκατάστημα στη Νάουσα; 45.000 30.000 2 Υποκατάστημα στην Έδεσσα; 25.000 15.000 3 Αποθήκη στη Νάουσα; 30.000 25.000 4 Αποθήκη στην Έδεσσα; 20.000 10.000 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 39

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 40 5 η Εφαρμογή Ακεραίου Προγραμματισμού (3/5) max z = 45x + 25x + 30x + 20x st.. x x x 3 4 3 1 4 2 1 2 3 4 + x 1 30x + 15x + 25x + 10x 50 x i x x 1 2 3 4 = 0,1, για i = 1...4

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 41 5 η Εφαρμογή Ακεραίου Προγραμματισμού (4/5) Μαθηματική μοντελοποίηση σε AMPL: # variables var x1 binary; # Naoussa branch var x2 binary; # Edessa branch var x3 binary; # Naoussa warehouse var x4 binary; # Edessa warehouse # objective function maximize profit: 45*x1 + 25*x2 + 30*x3 + 20*x4; # constraints s.t. constraint_1: x3 + x4 <= 1; s.t. constraint_2: x3 - x1 <= 0; s.t. constraint_3: x4 - x2 <= 0; s.t. constraint_4: 30*x1 + 15*x2 + 25*x3 + 10*x4 <= 50;

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 42 5 η Εφαρμογή Ακεραίου Προγραμματισμού (5/5) Αναφορά επίλυσης από Gurobi: model new_ypokatastima_macedonia.mod; option solver gurobi_ampl; solve; display x1, x2, x3, x4; εντολές AMPL σε αρχείο script >ampl new_ypokatastima_macedonia.run Gurobi 5.6.0: optimal solution; objective 45 σχόλια λύσης από τον καλούμενο λύτη Gurobi x1 = 0 x2 = 1 x3 = 0 x4 = 1 βέλτιστες τιμές >Exit code: 0

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 43 Συνδυαστική Βελτιστοποίηση 6 η Εφαρμογή Ακεραίου Προγραμματισμού (1/8) Computer Configuration Συχνά οι πελάτες ηλεκτρονικών καταστημάτων εταιριών πώλησης Η/Υ (π.χ., Dell), έχουν τη δυνατότητα να επιλέγουν μόνοι τους τη σύνθεση των Η/Υ (π.χ. χαρακτηριστικά ή επιλογές) κατά την παραγγελία. Έστω ότι ένας πελάτης επιθυμεί να αγοράσει ένα νέο φορητό Η/Υ ξοδεύοντας ένα ποσό μέχρι 1.800 και ότι υπάρχει διαθέσιμη μια πληθώρα επιλογών. Για παράδειγμα, η βασική τιμή ενός φορητού ισούται με 1.000 και περιλαμβάνει 1- χρόνο εγγύηση, 2 GB RAM, 400 GB σκληρό δίσκο, CD/DVD ROM και μια μπαταρία 4-κελιών ιόντων λιθίου.

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 44 Συνδυαστική Βελτιστοποίηση 6 η Εφαρμογή Ακεραίου Προγραμματισμού (2/8) Computer Configuration Συνολικά παρέχονται οι εξής δυνατότητες με το ανάλογο κόστος: Επεξεργαστής: Intel Core i3 ( 179 ), Intel Core i5 (+179 ), Intel Core i7 (+300 ) Εγγύηση: 2 έτη (+129 ), 3 έτη (+269 ) Μνήμη: 4 GB (+50 ), 8 GB (+500 ) Σκληρός δίσκος: 300 GB ( 29 ), 500 GB (+39 ), 1 ΤB (+79 ) Οπτικά μέσα: μόνο CD-ROM ( 39 ), DVD-RW (+79 ), Blu-ray (+179 ) Μπαταρία: 8-cell lithium ion (+59 ) Λογισμικό επεξεργασίας βίντεο: Adobe premiere (+79 ) Εάν ο πελάτης επιθυμεί να συνθέσει ένα σύστημα κορυφαίας ποιότητας, πρέπει να δαπανήσει 1.465 επιπλέον της βασικής τιμής Άρα ο αγοραστής πρέπει να επιλέξει προσεκτικά τη σύνθεση του Η/Υ.

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 45 Συνδυαστική Βελτιστοποίηση 6 η Εφαρμογή Ακεραίου Προγραμματισμού (3/8) Computer Configuration Ένας τρόπος για να καθοριστεί μια κατάλληλη αντικειμενική συνάρτηση, είναι να ορίσει κανείς προτιμήσεις για κάθε μια επιλογή. Για παράδειγμα, αν κάποιος θέλει να ασχοληθεί με επεξεργασία βίντεο θα επιθυμεί μια δυνατή κάρτα γραφικών. Αν κάποιος θέλει να εκτελέσει επιστημονικούς υπολογισμούς, θα επιθυμεί ένα γρήγορο επεξεργαστή, κ.ο.κ. Έστω, ότι ένας συγκεκριμένος αγοραστής έχει αξιολογήσει τις επιλογές του και αντιστοίχισε τις διπλανές προτιμήσεις σε κάθε χαρακτηριστικό. Τι θα συμβουλεύατε τον υποψήφιο αγοραστή? Επιλογή Χρησιμότητα Intel Core i3 0.20 Intel Core i5 0.70 Intel Core i7 0.90 2 έτη εγγύηση 0.50 3 έτη εγγύηση 0.55 4 GB μνήμη 0.70 8 GB μνήμη 0.80 300 GB σκληρός δίσκος 0.10 500 GB σκληρός δίσκος 0.30 1 ΤB σκληρός δίσκος 1.00 μόνο CD-ROM 0.00 DVD-RW 0.95 Blu-ray 0.45 8-cell lithium ion μπαταρία 0.15 Λογισμικό επεξεργασίας βίντεο 0.85

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 46 Συνδυαστική Βελτιστοποίηση 6 η Εφαρμογή Ακεραίου Προγραμματισμού (4/8) Computer Configuration Μαθηματική μοντελοποίηση: Επιλογή Intel Core i3 Intel Core i5 Intel Core i7 Μεταβλητή X p1 X p2 X p3 2 έτη εγγύηση X w1 3 έτη εγγύηση X w2 4 GB μνήμη X m1 Δυαδικές μεταβλητές: π.χ.: x c3 = 1, εάν επιλεχθεί το Blu-ray, x c3 = 0, εάν δεν επιλεχθεί το Blu-ray, 8 GB μνήμη X m2 300 GB σκληρός δίσκος X d1 500 GB σκληρός δίσκος X d2 1 ΤB σκληρός δίσκος X d3 μόνο DVD-ROM DVD-RW Blu-ray 8-cell lithium ion μπαταρία Λογισμικό επεξεργασίας βίντεο X c1 X c2 X c3 X b Xs

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 47 Συνδυαστική Βελτιστοποίηση 6 η Εφαρμογή Ακεραίου Προγραμματισμού (5/8) Computer Configuration max z = 0.20x + 0.70x + 0.90x + 0.50x + 0.55x + 0.70x + 0.80x p1 p2 p3 w1 w2 m1 m2 + 0.10x + 0.30x + 1.0x + 0.0x + 0.95x + 0.45x + 0.15x + 0.85x d1 d2 d3 c1 c2 c3 b s st.. 179x + 100x + 300x + 129x + 269x + 50x + 500x p1 p2 p3 w1 w2 m1 m2 + 179 + 59 + 79 800 (κεφάλαιο) 29xd1+ 39xd2 + 79xd3 39xc 1+ 79xc2 xc3 xb xs x + x + x 1 (επεξεργαστής) x x p1 p2 p3 + x 1 (εγγύηση) w1 w2 + x 1 (εγγύηση) m1 m2 x + x + x 1 (σκληρό δίσκο) d1 d2 d3 x + x + x 1 (οπτικά μέσα) x x c1 c2 c3 b s 1 (μπαταρία) 1 (λειτουργικό σύστημα) x ij = 0 ή 1, i, j

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 48 Συνδυαστική Βελτιστοποίηση 6 η Εφαρμογή Ακεραίου Προγραμματισμού (6/8) Computer Configuration Τι αλλαγές προκύπτουν στο μαθηματικό μοντέλο βελτιστοποίησης, αν υπάρχουν οι κάτωθι περιορισμοί στη σύνθεση του Η/Υ: Η επιλογή Blu-ray, προϋποθέτει τουλάχιστον 4 GB μνήμη (?) Αν επιλέξουμε τον πιο αργό τύπο επεξεργαστή (π.χ. Intel Core i3), τότε δεν μπορούμε να επιλέξουμε Blu-ray (?) Αν ο αγοραστής θέλει να εξασφαλίσει ότι, αν επιλεχθεί το λογισμικό επεξεργασίας βίντεο, τότε θα επιλεχθούν επίσης τα 8 GB μνήμης και ο σκληρός δίσκος 1 TB.

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 49 Συνδυαστική Βελτιστοποίηση 6 η Εφαρμογή Ακεραίου Προγραμματισμού (7/8) Computer Configuration 1 η περίπτωση: Αυτό σημαίνει ότι αν X c3 = 1, τότε είτε X m1 = 1 είτε X m2 = 1, το οποίο μοντελοποιείται ως εξής: X c3 X m1 + X m2 2 η περίπτωση: Αυτό σημαίνει ότι αν X p1 = 1, τότε πρέπει να ισχύει ότι X c3 = 0, το οποίο μοντελοποιείται ως εξής: X c3 + X p1 1 3 η περίπτωση: Αυτό σημαίνει ότι αν X s = 1, τότε πρέπει να ισχύει ότι X d3 = 1 και X m2 = 1, το οποίο μοντελοποιείται με δύο τρόπους ως εξής: X s X d3 ή 2X s X d3 + X m2 X s X m2

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 50 Συνδυαστική Βελτιστοποίηση 6 η Εφαρμογή Ακεραίου Προγραμματισμού (8/8) Computer Configuration ampl: model computer_configuration.mod; ampl: option solver cplex; ampl: solve; CPLEX 12.1.0: optimal integer solution; objective 5.05 5 MIP simplex iterations 0 branch-and-bound nodes ampl: display Xp1, Xp2, Xp3, Xw1, Xw2, Xm1, Xm2, Xd1, Xd2, Xd3, Xc1, Xc2, Xc3, Xb, Xs; Xp1 = 0 Xp2 = 0 Xp3 = 1 Xw1 = 1 Xw2 = 0 Xm1 = 1 Xm2 = 0 Xd1 = 0 Xd2 = 0 Xd3 = 1 Xc1 = 0 Xc2 = 1 Xc3 = 0 Xb = 1 Xs = 1

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 51 Συνδυαστική Βελτιστοποίηση Μοντελοποίηση λογικών συνθηκών, με χρήση δυαδικών μεταβλητών Λογικές συνθήκες Μορφή περιορισμού στο μοντέλο Αν Α, τότε Β A Β ή Β Α 0 Αν όχι Α, τότε Β Β 1 Α ή Α + Β 1 Αν Α, τότε όχι Β Β 1 Α ή Β + Α 1 Το πολύ ένα εκ των Α και Β Α + Β 1 Αν Α, τότε Β και Γ A Β και A Γ ή 2A Β + Γ Αν Α και Β, τότε Γ Α + Β 1 Γ ή Α + Β Γ 1 Frank Plastria, (2002). Formulating logical implications in combinatorial optimisation, European Journal of Operational Research, 140(2), 338-353. H.P. Williams, (2009). Logic and Integer Programming, Springer, New York.

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 52 Συνδυαστική Βελτιστοποίηση Εφαρμογές της Συνδυαστική Βελτιστοποίησης στη σχεδίαση ψηφιακών κυκλωμάτων Yanpei, Liu, (1993) Some combinatorial optimization problems arising from VLSI circuit design, Applied Mathematics - A Journal of Chinese Universities, 8(2), pp. 218-235. (URL: http://dx.doi.org/10.1007/bf02662005). Korte, Bernhard, Vygen, Jens, (2008) Combinatorial Problems in Chip Design, Building Bridges, Bolyai Society Mathematical Studies, Springer Berlin Heidelberg, 19, pp. 333-368. (URL: http://dx.doi.org/10.1007/978-3-540-85221- 6_12). Brenner, U., Struzyna, M., & Vygen, J. (2008). BonnPlace: Placement of Leading- Edge Chips by Advanced Combinatorial Algorithms. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 27, pp. 1607-1620. (URL: http://dx.doi.org/10.1109/tcad.2008.927674)