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

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

Ευρετικές Μέθοδοι. Ενότητα 2: Βασικές έννοιες των σύγχρονων ευρετικών μεθόδων. Άγγελος Σιφαλέρας. Μεταπτυχιακό Εφαρμοσμένης Πληροφορικής

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ευρετικές Μέθοδοι. Ενότητα 3: Ευρετικές μέθοδοι αρχικοποίησης και βελτίωσης για το TSP. Άγγελος Σιφαλέρας. Μεταπτυχιακό Εφαρμοσμένης Πληροφορικής

Παράλληλος προγραμματισμός περιστροφικών αλγορίθμων εξωτερικών σημείων τύπου simplex ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ

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

Συστήματα Επιχειρηματικής Ευφυίας. CPLEX και OPL: ένα λογισμικό επίλυσης προβλημάτων Γραμμικού Προγραμματισμού

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

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

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

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

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

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

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

Ευρετικές Μέθοδοι. Ενότητα 1: Εισαγωγή στις ευρετικές μεθόδους. Άγγελος Σιφαλέρας. Μεταπτυχιακό Εφαρμοσμένης Πληροφορικής ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΙ

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

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

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

ΚΕΦΑΛΑΙΟ ΟΓΔΟΟ: Εισαγωγή στον Ακέραιο Προγραμματισμό. Εφαρμογές χρησιμοποιώντας το R

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

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

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

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

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

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

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

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

Προσεγγιστικοί Αλγόριθμοι

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

Οπτικοποίηση: ένας αποτελεσματικός τρόπος για την βελτίωση της κατανόησης του αλγορίθμου simplex

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

ΜΕΘΟΔΟΙ ΑΕΡΟΔΥΝΑΜΙΚΗΣ

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

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

Ποσοτικές Μέθοδοι στη Διοίκηση Έργων (Y100)

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

On line αλγόριθμοι δρομολόγησης για στοχαστικά δίκτυα σε πραγματικό χρόνο

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

Probabilistic Approach to Robust Optimization

Fermat, 1638, Newton Euler, Lagrange, 1807

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

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

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

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

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

Ποσοτικές Μέθοδοι στη Διοίκηση Έργων (Y100)

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

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

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

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

Optimization, PSO) DE [1, 2, 3, 4] PSO [5, 6, 7, 8, 9, 10, 11] (P)

ΗΜΥ 325: Επαναληπτικές Μέθοδοι. Διδάσκων: Χρίστος Παναγιώτου

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

Διαχείριση Ταμιευτήρα

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

ΕΥΧΑΡΙΣΤΙΕΣ. Θεσσαλονίκη, Δεκέμβριος Κώστας Δόσιος

Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων

I student. Μεθοδολογική προσέγγιση και απαιτήσεις για την ανάπτυξη των αλγορίθμων δρομολόγησης Χρυσοχόου Ευαγγελία Επιστημονικός Συνεργάτης ΙΜΕΤ

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

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

Διαδικασία μετατροπής σε τυπική μορφή

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

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

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

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

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

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

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

Αλγοριθμικές Τεχνικές

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία

Scheduling on Unrelated Parallel Machines

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

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

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

Ένα πρόβλημα κατάρτισης προγράμματος εργασίας.

Θεωρία Αποφάσεων και Βελτιστοποίηση

Εργαστηριακές Ασκήσεις

Transcript:

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

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 2 Εφαρμογή Ακεραίου Προγραμματισμού (1/4) Project Selection Έστω ότι αξιολογούνται 5 προτάσεις επενδυτικών έργων σε ένα πλάνο 3-ετούς προγραμματισμού. Ο παρακάτω πίνακας δίνει τα αναμενόμενα έσοδα, καθώς και τα αντίστοιχα ετήσια έξοδα που προκύπτουν από κάθε έργο: Έξοδα (εκ. ) έτος Έργο 1 ο έτος 2 ο έτος 3 ο έτος Αναμενόμενα έσοδα 1 5 1 8 20 2 4 7 10 40 3 3 9 2 20 4 7 4 1 15 5 8 6 10 30 Διαθέσιμο κεφάλαιο (εκ. ) 25 25 25

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 3 Εφαρμογή Ακεραίου Προγραμματισμού (2/4) Project Selection a) Να διαμορφώσετε ένα μαθηματικό μοντέλο ακεραίου προγραμματισμού για να σας βοηθήσει να επιλέξετε ποιά προγράμματα θα έπρεπε να επιλεχθούν προς υλοποίηση αυτήν την 3-ετία. b) Τι αλλάζει στο μοντέλο, εάν πρέπει το 5 ο έργο να επιλέγεται οπωσδήποτε όταν επιλέγεται είτε το 1 ο έργο είτε το 3 ο έργο? c) Τι αλλάζει στο μοντέλο, εάν τα έργα 2 και 3 δεν μπορούν ταυτόχρονα να επιλεχθούν?

Εφαρμογή Ακεραίου Προγραμματισμού (3/4) Project Selection a) ma z = 20 + 40 + 20 + 15 + 30 3 4 5 st.. 5 + 4 + 3 + 7 + 8 25 (περιορισμοί διαθέσιμου κεφαλαίου 1ου έτους) j 3 4 5 + 7 + 9 + 4 + 6 25 (περιορισμοί διαθέσιμου κεφαλαίου 2ου έτους) 3 4 5 1+ 2 3 4 5 8 10 + 2 + + 10 25 (περιορισμοί διαθέσιμου κεφαλαίου 3ου έτους) 1, εάν το έργο j επιλεχθεί = j = 1..5 0, αλλιώς b) c) 1 5 3 5 2 + 3 1 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 4

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 5 Εφαρμογή Ακεραίου Προγραμματισμού (4/4) Project Selection # # Project Selection Problem # # variables var 1 binary; # 1st type of project var 2 binary; # 2nd type of project var 3 binary; # 3rd type of project var 4 binary; # 4th type of project var 5 binary; # 5th type of project # objective function maimize profit: 20*1 + 40*2 + 20*3 + 15*4 + 30*5; # constraints s.t. Year_1: 5*1 + 4*2 + 3*3 + 7*4 + 8*5 <= 25; s.t. Year_2: 1 + 7*2 + 9*3 + 4*4 + 6*5 <= 25; s.t. Year_3: 8*1 + 10*2 + 2*3 + 4 + 10*5 <= 25;

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 6 Set Covering Problem, (1/6) Σε αυτήν την κατηγορία προβλημάτων, αντιμετωπίζουμε την ενδεχόμενη επικάλυψη υπηρεσιών οι οποίες είναι δυνατόν να προσφέρονται από έναν αριθμό εγκαταστάσεων σε έναν αριθμό περιοχών. Ο σκοπός είναι να προσδιορίσουμε τον ελάχιστο αριθμό εγκαταστάσεων οι οποίες θα καλύπτουν (δηλαδή θα ικανοποιούν τις ανάγκες) σε κάθε περιοχή. Για παράδειγμα υδραγωγεία μπορούν να κατασκευαστούν σε διάφορες τοποθεσίες, όπου το κάθε υδραγωγείο εξυπηρετεί διαφορετικό σύνολο περιοχών. Επικάλυψη προκύπτει όταν μια περιοχή μπορεί να εξυπηρετηθεί από περισσότερα του ενός υδραγωγεία.

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 7 Set Covering Problem: παράδειγμα (2/6) Έστω ότι το Α.Π.Θ. στην προσπάθεια του να αυξήσει το επίπεδο ασφάλειας μέσα στους χώρους του, προτίθεται να εγκαταστήσει έναν ελάχιστο αριθμό τηλεφωνικών συσκευών έτσι ώστε κάθε ένας από τους κύριους δρόμους των χώρων του Α.Π.Θ. να εξυπηρετείται από τουλάχιστον μια τηλεφωνική συσκευή. Έστω ότι ο χάρτης με τους κύριους δρόμους του Α.Π.Θ. είναι ο εξής: Οδός Α Οδός Β Οδός G Οδός F Οδός E Οδός H Οδός I Οδός C Οδός D Οδός J Οδός K

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 8 Set Covering Problem: παράδειγμα (3/6) Μας συμφέρει να τοποθετήσουμε τις τηλεφωνικές συσκευές στις γωνίες των δρόμων, ούτως ώστε η κάθε τηλεφωνική συσκευή να εξυπηρετεί τουλάχιστον δύο δρόμους. Επομένως, η διάταξη των δρόμων απαιτεί το πολύ 8 τηλεφωνικές συσκευές. 1 Οδός Α 2 Οδός Β 3 Οδός G Οδός F Οδός E Οδός H Οδός I 4 Οδός C Οδός D Οδός J Οδός K 5 6 7 8

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 9 Set Covering Problem: παράδειγμα (4/6) Μαθηματική μοντελοποίηση προβλήματος: Μεταβλητές απόφασης: j 1, εάν το τηλέφωνο τοποθετηθεί στην περιοχή = 0, αλλιώς j

Set Covering Problem: παράδειγμα (5/6) min z = + + + + + + + 3 4 5 6 7 8 + 1 (Οδός Α) + 1 (Οδός B) 2 3 + 1 (Οδός C) 4 5 2 6 1 6 2 4 j 6 7 4 7 3 5 + 1 (Οδός D) 7 8 + 1 (Οδός E) + 1 (Οδός F) + 1 (Οδός G) + 1 (Οδός H) + 1 (Οδός I) 5 8 + 1 (Οδός J) + 1 (Οδός K) = (0,1), j = 1...8 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 10

Set Covering Problem: παράδειγμα (6/6) param n; #maimum number of corners set street; set corner{street}; var {1..n}binary; minimize z: sum {j in 1..n} [j]; subject to limit {i in street}: sum {j in corner[i]} [j]>=1; data; param n:=8; set street:=a B C D E F G H I J K; set corner[a]:=; set corner[b]:=2 3; set corner[c]:=4 5; set corner[d]:=7 8; set corner[e]:=6 7; set corner[f]:=2 6; set corner[g]:=1 6; set corner[h]:=4 7; set corner[i]:=2 4; set corner[j]:=5 8; set corner[k]:=3 5; option solver cple; solve; display z,; ampl: model Set_Covering.mod; CPLEX 12.1.0: optimal integer solution; objective 4 8 MIP simple iterations 0 branch-and-bound nodes z = 4 [*] := 1 1 2 1 3 0 4 0 5 1 6 0 7 1 8 0 ; ampl: Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 11

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

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

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 14 Αλγόριθμος κλάδου και φραγής, (1/10) Branch & Bound Algorithm (BBΑ) Μια ιστορική αναδρομή A.H. Land & A.G. Doig (1960). An automatic method of solving discrete programming problems, Econometrica, 28(3), 497-520. G.J Li & B.W Wah (1984). Computational efficiency of parallel approimate branch-and-bound algorithms, in Proceedings of the International Conference on Parallel Processing, pp. 473-480. E.L Lawler & D.W Wood (1986). Branch-and-bound methods: A survey, Operations Research, 14, 699-719.

Αλγόριθμος κλάδου και φραγής, (2/10) Branch & Bound Algorithm (BBΑ) Εφαρμογή στο π.α.π.: ma z = 6 + 8 st.. 4 + 6 36 10 + 7 70, ακέραιοι CPLEX 12.1.0: optimal integer solution; objective 50 2 MIP simple iterations 0 branch-and-bound nodes ampl: display 1,2; 1 = 3 2 = 4 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 15

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 16 Αλγόριθμος κλάδου και φραγής, (3/10) Branch & Bound Algorithm (BBΑ) Γραφική επίλυση α.π.

Αλγόριθμος κλάδου και φραγής, (4/10) Branch & Bound Algorithm (BBΑ) Αντίστοιχο γραμμικό πρόβλημα χαλάρωσης: ma z = 6 + 8 st.. 4 + 6 36 10 + 7 70, 0 CPLEX 12.1.0: optimal solution; objective 51.5 2 dual simple iterations (1 in phase I) ampl: display 1,2; 1 = 5.25 2 = 2.5 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 17

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 18 Αλγόριθμος κλάδου και φραγής, (5/10) Branch & Bound Algorithm (BBΑ) Γραφική επίλυση γ.π. χαλάρωσης

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 19 ma z = 6 + 8 2 st.. 4 + 6 36 10 + 7 70 2, 0 Αλγόριθμος κλάδου και φραγής, (6/10) Branch & Bound Algorithm (BBΑ) ma z = 6 + 8 st.. 4 + 6 36 10 + 7 70, 0 ma z = 61+ 82 st.. 41+ 62 36 101+ 72 70 2 3, 0

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 20 Αλγόριθμος κλάδου και φραγής, (7/10) Branch & Bound Algorithm (BBΑ) Γραφική επίλυση 3 ου υπό-προβλήματος Γραφική επίλυση 2 ου υπό-προβλήματος

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 21 ma z = 6 + 8 2 st.. 4 + 6 36 10 + 7 70 2, 0 ma z = 6 + 8 2 1 st.. 4 + 6 36 10 + 7 70 3 4, 0 Αλγόριθμος κλάδου και φραγής, (8/10) Branch & Bound Algorithm (BBΑ) ma z = 6 + 8 st.. 4 + 6 36 10 + 7 70, 0 ma z = 61+ 82 st.. 41+ 62 36 101+ 72 70 2 3 1, 2 0 ma z = 61+ 82 st.. 41+ 62 36 101+ 72 70 2 3 1 5, 0

ma z = 6 + 8 2 st.. 4 + 6 36 10 + 7 70 2, 0 ma z = 6 + 8 2 1 st.. 4 + 6 36 10 + 7 70 3 4, 0 ma z = 6 + 8 2 1 2 st.. 4 + 6 36 10 + 7 70 3 4 3, 0 Αλγόριθμος κλάδου και φραγής, (9/10) Branch & Bound Algorithm (BBΑ) ma z = 6 + 8 st.. 4 + 6 36 10 + 7 70, 0 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 22 ma z = 61+ 82 st.. 41+ 62 36 101+ 72 70 2 3 1, 2 0 ma z = 61+ 82 st.. 41+ 62 36 101+ 72 70 2 3 1 5, 0 ma z = 61+ 82 st.. 41+ 62 36 101+ 72 70 2 3 1 4 2 4, 0

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 23 Αλγόριθμος κλάδου και φραγής, (10/10) Branch & Bound Algorithm (BBΑ) Αρχικά λύνουμε το αντίστοιχο γ.π. χαλάρωσης του α.π. ή μικτού γ.α.π. Αν το πρόβλημα χαλάρωσης, μας δίνει ακέραιες λύσεις, τότε αυτή είναι και η λύση του α.π. Σε κάθε περίπτωση, η τιμή της αντικειμενικής συνάρτησης στη λύση του γ.π. χαλάρωσης, αποτελεί ένα άνω φράγμα για την τιμή της αντικειμενικής συνάρτησης για το α.π. ή μικτό γ.α.π., όταν έχουμε πρόβλημα μεγιστοποίησης. Κατά ανάλογο τρόπο, αποτελεί ένα κάτω φράγμα, όταν έχουμε πρόβλημα ελαχιστοποίησης. Εξετάζουμε τις λύσεις του γ.π. χαλάρωσης για τις μεταβλητές εκείνες οι οποίες δεν είναι ακέραιες ενώ αυτό απαιτείται. Επιλέγουμε εκείνη που έχει το μεγαλύτερο δεκαδικό μέρος. Αν υπάρχουν δύο ή περισσότερες τέτοιες επιλέγουμε αυθαίρετα μια από όλες. Σχηματίζουμε δύο κλαδιά (υπό-προβλήματα) με βάση αυτή τη μεταβλητή.

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 24 Μέθοδοι περιορισμού του εφικτού χώρου: cutting-plane method Κυρτό περίβλημα (conve hull) ενός συνόλου S από n σημεία είναι το ελάχιστο κυρτό πολύγωνο P τέτοιο ώστε κάθε ένα από τα n σημεία στο S βρίσκεται πάνω στο σύνορο του S ή στο εσωτερικό του S. Ralph E. Gomory, Outline of an Algorithm for Integer Solutions to Linear Programs, Bulletin of the American Mathematical Society, 64, 275-278, 1958. Cornuejols, Gerard, Revival of the Gomory Cuts in the 1990s, Annals of Operations Research, 149(1), 63-66, 2007. Cornuejols, Gerard, Valid inequalities for mied integer linear programs. Mathematical Programming, 112(1), 3-44, 2008.

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 25 Ιδέα: Εξέτασε όλες τις πιθανές τιμές των ακεραίων μεταβλητών (έστω π.χ., { 1,..., z }, όπου z n) και λύσε τα προβλήματα γραμμικής βελτιστοποίησης στις εναπομείναντες (συνεχείς) μεταβλητές: for 1 { 1, 1 + 1,..., 1 } do for 2 { 2, 2 + 1,..., 2 } do... for z { z, z + 1,..., z } do Solve LP in k +1,..., n with 1,..., k fied. Update tentative optimal solution if necessary. end for... end for end for Print (final) optimal solution or report infeasibility. Πολυπλοκότητα? Επίλυση MIP s: Πλήρη απαρίθμηση

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 26 Συλλογές μετρό-προβλημάτων (Benchmarks), (1/3) Η συλλογή MIPLIB 2010 διατίθεται δωρεάν από την ιστοσελίδα: http://miplib.zib.de Koch T., Achterberg T., Andersen E., Bastert O., Berthold T., Biby R., Danna E., Gamrath G., Gleiner A., Heinz S., Lodi A., Mittelmann H., Ralphs T., Salvagnin D., Steffy D., & Wolter K. (2011). MIPLIB 2010 Mied Integer Programming Library version 5. Mathematical Programming Computation, 3(2), 103-163. (URL: http://d.doi.org/10.1007/s12532-011-0025-9) Achterberg T., Koch T., & Martin A. (2006). MIPLIB 2003, Operations Research Letters, 34(4), 361-372. (URL: http://d.doi.org/10.1016/j.orl.2005.07.009) Biby R., Ceria S., McZeal C., & Savelsbergh M. (1998). An updated mied integer programming library: MIPLIB 3.0. Optima, 58, 12-15. Biby R., Boyd E., & Indovina R. (1992). MIPLIB: a test set of mied integer programming problems, SIAM News, 25(2), 16.

Συλλογές μετρό-προβλημάτων (Benchmarks), (2/3) Η νέα έκδοση αποτελείται από 361 στιγμιότυπα προβλημάτων ταξινομημένα σε διάφορες κατηγορίες. Η συλλογή περιέχει το κυρίως σύνολο προβλημάτων benchmark το οποίο περιλαμβάνει 87 στιγμιότυπα προβλημάτων, τα οποία είναι όλα επιλύσιμα από τους σημερινές υλοποιήσεις των αλγορίθμων, καθώς και ένα (challenge) σύνολο από 164 στιγμιότυπα προβλημάτων, πολλά από τα οποία ακόμη και στη σημερινή εποχή παραμένουν άλυτα. Πλήθος λυμένων προβλημάτων της συλλογής MIPLIB 2010 τα οποία είναι κατηγοριοποιημένα ως εύκολα, δύσκολα, ή άλυτα. «Εύκολο» σημαίνει ότι, το συγκεκριμένο πρόβλημα μπορεί να επιλυθεί μέσα σε μια ώρα χρησιμοποιώντας έναν εμπορικό λύτη προβλημάτων μ.π.α.π., «δύσκολο» σημαίνει ότι το πρόβλημα λύνεται μεν, αλλά απαιτείται περισσότερος υπολογιστικός χρόνος. Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 27

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 28 Συλλογές μετρό-προβλημάτων (Benchmarks), (3/3) Η συλλογή MIPLIB 2003 διατίθεται δωρεάν από την ιστοσελίδα: http://miplib.zib.de/miplib2003 Σύγκριση του πλήθους των λυμένων προβλημάτων της συλλογής MIPLIB 2003 στην αρχή κάθε έτους.

Συλλογές μετρό-προβλημάτων για προβλήματα μικτούακεραίου μη γραμμικού προγραμματισμού Η συλλογή MINLPLib διατίθεται δωρεάν από την ιστοσελίδα: http://www.gamsworld.org/minlp/minlplib.htm Bussieck, M.R., Drud, A.S. & Meeraus, A. (2003). MINLPLib - A collection of test models for mied-integer nonlinear programming, INFORMS Journal on Computing, 15(1), 114-119. (URL: http://d.doi.org/10.1287/ijoc.15.1.114.15159) MINLPLib Model Statistics: http://www.gamsworld.org/minlp/minlplib/minlpstat.htm Η συλλογή MINLPLib περιέχει και τη συλλογή MacMINLP: Leyffer, S. (2000). MacMINLP AMPL collection of mied integer nonlinear programs. http://wiki.mcs.anl.gov/leyffer/inde.php/macminlp Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 29

Συλλογές μετρό-προβλημάτων για προβλήματα ολικής βελτιστοποίησης (global optimization) Bussieck, M. (2004). Globallib a collection of nonlinear programming problems. http://www.gamsworld.org/global/globallib.htm Η βιβλιοθήκη Globallib αποτελεί μια συλλογή μοντέλων μη γραμμικού προγραμματισμού, σε γλώσσα GAMS. Μπορεί εύκολα να γίνει μετατροπή των προβλημάτων της Globallib από μορφή.gms σε.lp,.mps,.mod, κ.α. μέσω του παρακάτω εργαλείου: PAVER GAMS Model Translation Web Submission Tool (GMS2XX) http://www.gamsworld.org/performance/paver/convert_submit.htm Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 30

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 31 Συλλογές μετρό-προβλημάτων για σχεδίαση δικτύων τηλεπικοινωνιών SNDlib 1.0 Survivable Network Design Library SNDlib is a library of test instances for Survivable fied telecommunication Network Design http://sndlib.zib.de Orlowski S., Wessäly R., Pióro M., and Tomaszewski A. (2010). SNDlib 1.0 Survivable Network Design Library, Networks, 55(3), 276-286. (URL: http://d.doi.org/10.1002/net.20371) FAP web FAP web is a web-site devoted to Frequency Assignment Problems (FAPs) in wireless communication networks http://fap.zib.de

Open Source λογισμικά πακέτα βελτιστοποίησης για Μικτό Ακέραιο Γραμμικό Προγραμματισμό GLPK (GNU Linear Programming Kit). Το πακέτο GLPK υποστηρίζει τη γλώσσα μοντελοποίησης GNU MathProg, η οποία αποτελεί υποσύνολο της γλώσσας μοντελοποίησης AMPL. Διατίθεται δωρεάν από την ιστοσελίδα: http://www.gnu.org/s/glpk GLPK Lab for Windows. Σύνολο εργαλείων και βιβλιοθηκών, βασισμένο στο πακέτο GLPK. Επίσης, παρέχει και ένα γραφικό περιβάλλον επεξεργασίας κώδικα GNU MathProg. Διατίθεται δωρεάν από την ιστοσελίδα: http://glpklabw.sourceforge.net GUSEK (GLPK Under Scite Etended Kit). Άλλο ένα σύνολο εργαλείων και βιβλιοθηκών, βασισμένο στο πακέτο GLPK. Επίσης, παρέχει και ένα γραφικό περιβάλλον επεξεργασίας κώδικα GNU MathProg. Διατίθεται δωρεάν από την ιστοσελίδα: http://gusek.sourceforge.net lp_solve. Το πακέτο lp_solve (free με άδεια GNU lesser general public license) αποτελεί έναν λύτη προβλημάτων μικτού ακέραιου γραμμικού προγραμματισμού. Το πακέτο περιέχει και το γραφικό περιβάλλον επεξεργασίας κώδικα GNU MathProg με όνομα LPSolve IDE. Διατίθεται δωρεάν από την ιστοσελίδα: http://lpsolve.sourceforge.net Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 32

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 33 Gurobi Optimizer State-of-the-Art Mathematical Programming Solver Παρουσίαση επίλυσης μετρό-προβλημάτων από τη συλλογή MIPLIB 2010, με τον λύτη Gurobi: 1 «εύκολο πρόβλημα»: 30_70_4.5_0.95_100 (12,526 γραμμές 10,976 στήλες, 46,640 μη μηδενικές τιμές παραμέτρων 10,975 δυαδικές μεταβλητές, και 1 συνεχή μεταβλητή). m = read("d:/lab_files/mps_eamples/30_70_4.5_0.95_100.mps") m.optimize()

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 34 30_70_4.5_0.95_100.mps

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 35 Χαρακτηριστικό παράδειγμα υπολογιστικής δυσκολίας Ακεραίου Προγραμματισμού (1/3) Αν και υπάρχουν εξαιρετικά αποτελεσματικοί λύτες προβλημάτων γραμμικής βελτιστοποίησης, η επίλυση προβλημάτων ακέραιης βελτιστοποίησης μπορεί να είναι ιδιαίτερα δύσκολη πρόκληση, ακόμη και για ορισμένα προβλήματα μικρής διάστασης. Για παράδειγμα, το παρακάτω πρόβλημα (unbounded knapsack problem), δεν είναι δυνατόν να λυθεί ούτε και μετά από ώρες υπολογισμού, χρησιμοποιώντας ακόμη και την πρόσφατη έκδοση του state-of-the-art λύτη Gurobi: min z = 213 1928 11111 2345 9123 3 4 5 12223 + 12224 + 36674 + 61119 + 85569 = 89643482 i 3 4 5 Ν, i = 1..5 Karen Aardal and Arjen K. Lenstra (2004) Hard equality constrained integer knapsacks, Mathematics of Operations Research, 29(3), 724-738. (URL: http://d.doi.org/10.1287/moor.1040.0099)

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 36 Χαρακτηριστικό παράδειγμα υπολογιστικής δυσκολίας Ακεραίου Προγραμματισμού (2/3) #--- Variables --- var 1 integer >= 0; var 2 integer >= 0; var 3 integer >= 0; var 4 integer >= 0; var 5 integer >= 0; #--- Objective function --- minimize cost: 213*1-1928*2-11111*3-2345*4-9123*5; #--- Constraints --- s.t. C1: 12223*1 + 12224*2 + 36674*3 + 61119*4 + 85569*5 = 89643482; model Hard_IP_1.mod; option solver gurobi_ampl; solve; display 1, 2, 3, 4, 5;

Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 37 Χαρακτηριστικό παράδειγμα υπολογιστικής δυσκολίας Ακεραίου Προγραμματισμού (3/3)