ΚΕΦΑΛΑΙΟ 1 ΤΕΧΝΙΚΕΣ ΜΟΝΤΕΛΟΠΟΙΗΣΗΣ 1.1 ΒΑΣΙΚΕΣ ΤΕΧΝΙΚΕΣ ΜΟΝΤΕΛΟΠΟΙΗΣΗΣ

Σχετικά έγγραφα
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

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ: ΤΕΧΝΙΚΕΣ ΜΟΝΤΕΛΟΠΟΙΗΣΗΣ ΜΕΘΟ ΟΙ ΕΠΙΛΥΣΗΣ ΚΑΙ ΕΦΑΡΜΟΓΕΣ. Αντώνης Οικονόµου ηµήτρης Καγιούλης Ιγνάτιος Χάρος ΕΠΙΣΚΟΠΗΣΗ

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

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

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

ΠΡΟΒΛΗΜΑΤΑ ΕΛΑΧΙΣΤΟΠΟΙΗΣΗΣ

Ακρότατα υπό συνθήκη και οι πολλαπλασιαστές του Lagrange

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

Πανεπιστήμιο Αιγαίου. Γραμμικός Προγραμματισμός

Μάθηµα 1. Κεφάλαιο 1o: Συστήµατα. γ R παριστάνει ευθεία και καλείται γραµµική εξίσωση µε δύο αγνώστους.

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

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

Κεφάλαιο 7 Βάσεις και ιάσταση

ιατύπωση τυπικής µορφής προβληµάτων Γραµµικού

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

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

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

x 2 = b 1 2x 1 + 4x 2 + x 3 = b 2. x 1 + 2x 2 + x 3 = b 3

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

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

min f(x) x R n b j - g j (x) = s j - b j = 0 g j (x) + s j = 0 - b j ) min L(x, s, λ) x R n λ, s R m L x i = 1, 2,, n (1) m L(x, s, λ) = f(x) +

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

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

Μαθηµατικό Παράρτηµα 2 Εξισώσεις Διαφορών

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

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

ΙΙ ιαφορικός Λογισµός πολλών µεταβλητών. ιαφόριση συναρτήσεων πολλών µεταβλητών

Κεφάλαιο 3 ΠΑΡΑΓΩΓΟΣ. 3.1 Η έννοια της παραγώγου. y = f(x) f(x 0 ), = f(x 0 + x) f(x 0 )

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

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

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

11 Το ολοκλήρωµα Riemann

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

7. Ταλαντώσεις σε συστήµατα µε πολλούς βαθµούς ελευθερίας

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

ιοίκηση Παραγωγής και Υπηρεσιών

Κεφάλαιο 7 Βασικά Θεωρήµατα του ιαφορικού Λογισµού

m 1 min f = x ij 0 (8.4) b j (8.5) a i = 1

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

ΙΑΝΥΣΜΑΤΑ ΘΕΩΡΙΑ ΘΕΜΑΤΑ ΘΕΩΡΙΑΣ. Τι ονοµάζουµε διάνυσµα; αλφάβητου επιγραµµισµένα µε βέλος. για παράδειγµα, Τι ονοµάζουµε µέτρο διανύσµατος;

Κ. Ι. ΠΑΠΑΧΡΗΣΤΟΥ. Τοµέας Φυσικών Επιστηµών Σχολή Ναυτικών οκίµων ΟΡΙΖΟΥΣΕΣ. Ιδιότητες & Εφαρµογές

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

5.1 Ιδιοτιµές και Ιδιοδιανύσµατα

ΠΡΟΒΛΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ

3.7 Παραδείγματα Μεθόδου Simplex

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

ΑΛΓΕΒΡΙΚΕΣ ΟΜΕΣ Ι. Ασκησεις - Φυλλαδιο 2

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

ΘΕΩΡΙΑ: Έστω η οµογενής γραµµική διαφορική εξίσωση τάξης , (1)

Εισαγωγή και ανάλυση ευαισθησίας προβληµάτων Γραµµικού Προγραµµατισµού. υϊκότητα. Παραδείγµατα.

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

Σηµειώσεις στις σειρές

Γραµµική Αλγεβρα Ι. Ενότητα: ιανυσµατικοί χώροι. Ευάγγελος Ράπτης. Τµήµα Μαθηµατικών

1. ΣΤΑΤΙΚΗ ΑΡΙΣΤΟΠΟΙΗΣΗ

Αρµονική Ανάλυση. Ενότητα: Το ϑεώρηµα παρεµβολής του Riesz και η ανισότητα Hausdorff-Young. Απόστολος Γιαννόπουλος.

Γραµµικη Αλγεβρα Ι Επιλυση Επιλεγµενων Ασκησεων Φυλλαδιου 4


Εισαγωγή. Οπως είδαµε για την εκκίνηση της Simplex χρειαζόµαστε µια Αρχική Βασική Εφικτή Λύση. υϊσµός

Συστήματα Ελέγχου με Μικροϋπολογιστές (h9p://courseware.mech.ntua.gr/ml23259/)

Κανόνες παραγώγισης ( )

Kεφάλαιο 4. Συστήµατα διαφορικών εξισώσεων.

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

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΠΕΡΙΤΤΟΙ) Λυσεις Ασκησεων - Φυλλαδιο 4

Επιχειρησιακή Έρευνα Θεωρητική Θεμελίωση της Μεθόδου Simplex

Μετασχηµατισµοί Laplace, Αναλογικά Συστήµατα, ιαφορικές Εξισώσεις

Υπολογισµός διπλών ολοκληρωµάτων µε διαδοχική ολοκλήρωση

Αριθµητική Ανάλυση. Ενότητα 5 Προσέγγιση Συναρτήσεων. Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών,

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

Μη κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Υπογραφήµατα.

Βασικές έννοιες και ορισµοί. Ευθεία

Συνδυαστική Βελτιστοποίηση Εισαγωγή στον γραμμικό προγραμματισμό (ΓΠ)

Αριθµητική Ανάλυση 1 εκεµβρίου / 43

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

ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΚΑΙ ΜΕΘΟΔΟΣ SIMPLEX, διαλ. 3. Ανωτάτη Σχολή Παιδαγωγικής και Τεχνολογικής Εκπαίδευσης 29/4/2017

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

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» (ε) Κάθε συγκλίνουσα ακολουθία άρρητων αριθµών συγκλίνει σε άρρητο αριθµό.

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι έχουµε δει µέχρι τώρα. Υπογράφηµα Γράφοι

Μαθηµατικό Παράρτηµα 2 Εξισώσεις Διαφορών

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

11. Η έννοια του διανύσµατος 22. Πρόσθεση & αφαίρεση διανυσµάτων 33. Βαθµωτός πολλαπλασιασµός 44. Συντεταγµένες 55. Εσωτερικό γινόµενο

ΣΕΙΡΕΣ TAYLOR. Στην Ενότητα αυτή θα ασχοληθούµε µε την προσέγγιση συναρτήσεων µέσω πολυωνύµων. Πολυώνυµο είναι κάθε συνάρτηση της µορφής:

Αριθµητική Γραµµική ΑλγεβραΚεφάλαιο 4. Αριθµητικός Υπολογισµός Ιδιοτιµών 2 Απριλίου και2015 Ιδιοδιανυσµάτων 1 / 50

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

1 Ορισµός ακολουθίας πραγµατικών αριθµών

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

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

Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 2

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΑΡΤΙΟΙ) Λυσεις Ασκησεων - Φυλλαδιο 4

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

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

Βασικές έννοιες και ορισµοί. Ευθεία

Αρµονική Ανάλυση. Ενότητα: L p Σύγκλιση. Απόστολος Γιαννόπουλος. Τµήµα Μαθηµατικών

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

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

Πρόβληµα 2 (15 µονάδες)

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

6. ΔΙΑΝΥΣΜΑΤΙΚΟΙ ΧΩΡΟΙ ΚΑΙ ΑΝΤΙΣΤΡΟΦΑ ΠΡΟΒΛΗΜΑΤΑ

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

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

Transcript:

ΕΙΣΑΓΩΓΗ Το µαθηµατικό µοντέλο του ακέραιου προγραµµατισµού είναι ακριβώς το µοντέλο του γραµµικού προγραµµατισµού µε τον επιπρόσθετο περιορισµό ότι όλες (γνήσιος ακέραιος προγραµµατισµός) ή κάποιες (µικτός ακέραιος προγραµµατισµός) µεταβλητές πρέπει να έχουν ακέραιες τιµές. Ο ακέραιος προγραµµατισµός έχει σηµαντικές πρακτικές εφαρµογές και αποτελεί ένα ισχυρό πλαίσιο µοντελοποίησης που παρέχει µεγάλη ευελιξία στην έκφραση διακριτών προβληµάτων βελτιστοποίησης. Παρόλα αυτά στον αντίποδα έχουµε το γεγονός ότι ο ακέραιος προγραµµατισµός είναι ένα πολύ πιο δύσκολο πρόβληµα απ ότι ο γραµµικός. Έτσι στην εργασία θα αναφέρουµε κάποιες οδηγίες, για να οδηγούµαστε σε «ισχυρές» ακέραιες µοντελοποιήσεις για διακριτά προβλήµατα βελτιστοποίησης, θα εισάγουµε τεχνικές µοντελοποίησης και θα συγκρίνουµε εναλλακτικές µοντελοποιήσεις σε ίδια προβλήµατα. Τέλος θα παρουσιάσουµε µια σειρά εφαρµογών τις οποίες και θα επιλύσουµε, αφού τις µοντελοποιήσουµε, µε τη βοήθεια του λογισµικού επίλυσης προβληµάτων βελτιστοποίησης Lingo της Lindo Systems Inc. Οι σηµειώσεις αυτές προέκυψαν από τη διπλωµατική εργασία των Καγιούλη ηµητρίου και Χάρου Ιγνατίου για το µεταπτυχιακό δίπλωµα ειδίκευσης στη Στατιστική και Επιχειρησιακή Έρευνα του Τµήµατος Μαθηµατικών του Πανεπιστηµίου Αθηνών. - -

ΚΕΦΑΛΑΙΟ ΤΕΧΝΙΚΕΣ ΜΟΝΤΕΛΟΠΟΙΗΣΗΣ. ΒΑΣΙΚΕΣ ΤΕΧΝΙΚΕΣ ΜΟΝΤΕΛΟΠΟΙΗΣΗΣ Σ αυτό το κεφάλαιο παρουσιάζουµε συνοπτικά µερικές τεχνικές µοντελοποίησης, οι οποίες επιτρέπουν τη διατύπωση πολλών προβληµάτων βελτιστοποίησης (κυρίως διακριτού χαρακτήρα) ως προβληµάτων ακέραιου προγραµµατισµού. Σε σύγκριση µε το γραµµικό προγραµµατισµό ο ακέραιος προγραµµατισµός είναι εξαιρετικά πλουσιότερος όσον αφορά την ευελιξία και την ισχύ στη µοντελοποίηση προβληµάτων. υστυχώς δεν υπάρχει κάποιος συστηµατικός τρόπος για τη µοντελοποίηση διακριτών προβληµάτων βελτιστοποίησης και η επινόηση ενός καλού µοντέλου είναι συχνά µια τέχνη, την οποία σκοπεύουµε να αναπτύξουµε µέσω παραδειγµάτων. Το πρόβληµα του ακέραιου γραµµικού προγραµµατισµού είναι το ίδιο µε το πρόβληµα του γραµµικού προγραµµατισµού µε την προσθήκη περιορισµών που απαιτούν µερικές από τις µεταβλητές να παίρνουν ακέραιες τιµές. Γενικά δοθέντων κάποιων πινάκων Α, Β και διανυσµάτων (στηλών) b, c, d το πρόβληµα min c'x + d'y Ax + By = b xy, 0 x ακέραιος, είναι ένα µεικτό πρόβληµα ακέραιου προγραµµατισµού. Να σηµειωθεί ότι ακόµα και αν υπάρχουν περιορισµοί ανισοτήτων µπορούµε και πάλι να γράψουµε το πρόβληµα µε την παραπάνω µορφή προσθέτοντας περιθώριες µεταβλητές. Αν δεν υπάρχουν συνεχείς µεταβλητές (δηλ. διάνυσµα y) το πρόβληµα καλείται πρόβληµα αµιγούς ακέραιου προγραµµατισµού. Αν δεν υπάρχουν συνεχείς µεταβλητές και οι συνιστώσες του διανύσµατος x είναι περιορισµένες να παίρνουν τιµές 0 ή, το πρόβληµα καλείται πρόβληµα δυαδικού ακέραιου προγραµµατισµού. Τέλος συνήθως αξιώνουµε οι συνιστώσες των Α, Β, b, c, d να είναι ακέραιοι αριθµοί. Αµέσως παρακάτω, αρχίζουµε την παρουσίαση των βασικών τεχνικών µοντελοποίησης που αναφέραµε. - 2 -

Τεχνική : Χρήση δυαδικών µεταβλητών για τη λήψη απόφασης µεταξύ δύο εναλλακτικών (δυαδική επιλογή). Μια σηµαντική χρήση µιας δυαδικής µεταβλητής x είναι να κωδικοποιήσουµε µία απόφαση µεταξύ δύο εναλλακτικών που θα πρέπει να ληφθεί στο πρόβληµα. Λύνοντας το πρόβληµα, η τιµή που θα πάρει το x (0 ή ) δείχνει ποια απόφαση πρέπει να επιλεγεί ώστε να βελτιστοποιηθεί η αντικειµενική συνάρτηση. Η χρήση της τεχνικής αυτής θα αποσαφηνιστεί µε το παρακάτω παράδειγµα. Παράδειγµα.. Η κατασκευαστική εταιρεία ΠΡΟΚΑΤ ΑΕ µελετά την επέκτασή της κτίζοντας καινούργια εργοστάσια στην Θεσσαλονίκη ή / και στην Αθήνα. Μελετάται επίσης να κτιστούν αποθήκες. Η καθαρή παρούσα αξία (απόδοση) από κάθε µία από τις εναλλακτικές λύσεις φαίνεται στην τέταρτη στήλη του παρακάτω πίνακα. Στην δεξιότερη στήλη φαίνεται το κεφάλαιο που απαιτείται (έχει ήδη συµπεριληφθεί στην καθαρή παρούσα αξία) για την αντίστοιχη επένδυση. Το συνολικό διαθέσιµο κεφάλαιο είναι 0 εκατοµµύρια. Ο αντικειµενικός σκοπός είναι να βρεθεί ένας εφικτός συνδυασµός από αποφάσεις ο οποίος να µεγιστοποιεί την συνολική παρούσα καθαρή αξία. Αριθµός απόφασης 2 3 4 Ερώτηση ναι ή όχι Κτίζω εργοστάσιο στην Αθήνα; Κτίζω εργοστάσιο στην Θεσσαλονίκη; Κτίζω αποθήκη στην Αθήνα; Κτίζω αποθήκη στην Θεσσαλονίκη; Μεταβλητή απόφασης Παρούσα καθαρή αξία Απαιτούµενο κεφάλαιο x 9 εκατ. 6 εκατοµµύρια x 2 5 εκατ. 3 εκατοµµύρια x 3 6 εκατ. 5 εκατοµµύρια x 4 4 εκατ. 2 εκατοµµύρια ιαθέσιµο κεφάλαιο 0 εκατ. Αν και το πρόβληµα αυτό είναι µικρό και µπορεί να λυθεί πολύ γρήγορα µε µια µατιά (χτίζω εργοστάσιο στη Θεσσαλονίκη και τις αποθήκες), ας το µοντελοποιήσουµε προκειµένου να φανεί η χρήση της τεχνικής της δυαδικής επιλογής. Όλες οι µεταβλητές αποφάσεων x j έχουν τη δυαδική µορφή - 3 -

{ αν η απόφαση j είναι ναι xj = 0 αν η απόφαση j είναι όχι ( j =,2,3,4). Αφού γράψουµε τους περιορισµούς φέρνοντας όλες τις µεταβλητές στο αριστερό µέρος, το τελικό µοντέλο είναι: µε τους περιορισµούς max z = 9x + 5x + 6x + 4x 2 3 4 6x+ 3x2+ 5x3+ 2x4 0 xj xj 0 x j ακέραιος ( j =,2,3,4). Ισοδύναµα οι τελευταίοι τρεις περιορισµοί του µοντέλου µπορούν να αντικατασταθούν από τον περιορισµό x j δυαδική µεταβλητή (j =,2,3,4). Το µοντέλο αυτό µπορεί να εισαχθεί άµεσα σε κάποιο λογισµικό (λόγω του µικρού µεγέθους του). Στο λογισµικό Lingo που περιγράφεται συνοπτικά στο παράρτηµα ο κώδικας έχει τη µορφή: MODEL: MAX=9*x+5*x2+6*x3+4*x4; 6*x+3*x2+5*x3+2*x4<=0; x<=; x2<=; x3<=; x4<=; x>=0; x2>=0; x3>=0; x4>=0; @GIN(x); @GIN(x2); @GIN(x3); @GIN(x4); end Με την εντολή Solve παίρνουµε την αναφορά λύσης: Global optimal solution found at iteration: 0 Objective value: 5.00000-4 -

Variable Value Reduced Cost X 0.000000-9.000000 X2.000000-5.000000 X3.000000-6.000000 X4.000000-4.000000 Row Slack or Surplus Dual Price 5.00000.000000 2 0.000000 0.000000 3.000000 0.000000 4 0.000000 0.000000 5 0.000000 0.000000 6 0.000000 0.000000 7 0.000000 0.000000 8.000000 0.000000 9.000000 0.000000 0.000000 0.000000 Η στήλη Value δίπλα στις µεταβλητές (στήλη Variable) δείχνει ποιες µεταβλητές πρέπει να είναι 0 ή στην άριστη λύση. Έχουµε x 2 = x 3 = x 4 = και x =0 µε αντίστοιχη τιµή της αντικειµενικής συνάρτησης z = 5. Τεχνική 2: Χρήση δυαδικών µεταβλητών για τη διατύπωση επιβαλλόµενων (αναγκαστικών) περιορισµών µεταξύ αποφάσεων. Ένα πολύ συνηθισµένο χαρακτηριστικό στα διακριτά προβλήµατα βελτιστοποίησης είναι ότι ορισµένες αποφάσεις είναι εξαρτηµένες. Ειδικότερα ας υποθέσουµε ότι µια απόφαση Α µπορεί να ληφθεί µόνο αν η απόφαση Β έχει επίσης ληφθεί. Προκειµένου να µοντελοποιήσουµε µια τέτοια κατάσταση εισαγάγουµε τις δυαδικές µεταβλητές x, y που είναι ίσες µε αν οι αποφάσεις Α και Β αντίστοιχα έχουν ληφθεί και 0 διαφορετικά.. Η εξάρτηση των δύο αποφάσεων µπορεί να µοντελοποιηθεί χρησιµοποιώντας τον περιορισµό: x y. Έτσι, αν y = 0 (η απόφαση Β δεν έχει ληφθεί ) τότε αναγκαστικά x=0 ( η απόφαση Α δεν µπορεί να ληφθεί) Παράδειγµα.2 (συνέχεια του παραδείγµατος.) Στο προηγούµενο παράδειγµα, ας προσθέσουµε έναν ακόµη περιορισµό για την επιλογή κατασκευής ή όχι αποθηκών: «Η επιλογή να κτιστεί µια αποθήκη επιτρέπεται µόνο στις περιοχές όπου ένα καινούργιο εργοστάσιο θα κτιστεί.» Τότε το πρόβληµα θα αλλάξει γιατί οι αποφάσεις - 5 -

3 και 4 είναι εξαρτώµενες από τις αποφάσεις και 2 (η εταιρεία θα σκεφτεί να κτίσει µια αποθήκη σε µια πόλη µόνο αν κτίσει ένα καινούργιο εργοστάσιο εκεί). Γι αυτό στην περίπτωση της απόφασης 3 απαιτούµε x 3 =0 αν x =0. Αυτή η απαίτηση για τη x 3 (όταν x =0 ) επιβάλλεται προσθέτοντας τον περιορισµό : x x. 3 Οµοίως η απαίτηση x 4 =0 αν x 2 =0 επιβάλλεται προσθέτοντας τον περιορισµό: ή τελικά θέτοντας x x, 4 2 - x + x3 0 - x2 + x4 0. Το τροποποιηµένο µοντέλο θα έχει την παρακάτω µορφή σε κώδικα Lingo: MODEL: MAX=9*x+5*x2+6*x3+4*x4; 6*x+3*x2+5*x3+2*x4<=0; -x+x3<=0; -x2+x4<=0; x<=; x2<=; x3<=; x4<=; x>=0; x2>=0; x3>=0; x4>=0; @GIN(x); @GIN(x2); @GIN(x3); @GIN(x4); end Με την εντολή Solve παίρνουµε την αναφορά λύσης: Global optimal solution found at iteration: Objective value: 4.00000 Variable Value Reduced Cost X.000000-9.000000 X2.000000-5.000000 X3 0.000000-6.000000 X4 0.000000-4.000000 Row Slack or Surplus Dual Price 4.00000.000000 2.000000 0.000000 3.000000 0.000000 4.000000 0.000000 5 0.000000 0.000000-6 -

6 0.000000 0.000000 7.000000 0.000000 8.000000 0.000000 9.000000 0.000000 0.000000 0.000000 0.000000 0.000000 2 0.000000 0.000000 Βλέπουµε ότι στην περίπτωση αυτή η βέλτιστη πολιτική επέκτασης έχει αλλάξει αφού η προηγούµενη βέλτιστη πολιτική δεν είναι πια εφικτή για το πρόβληµα. Η βέλτιστη λύση µε απόδοση 4 επιτυγχάνεται τώρα για x =x 2 = και x 3 =x 4 =0 (κατασκευή µόνο εργοστασίων σε Αθήνα και Θεσσαλονίκη). Τεχνική 3: Μοντελοποίηση αλληλοαποκλειόµενων αποφάσεων µε χρήση δυαδικών µεταβλητών. Με την εισαγωγή ενός περιορισµού του τύπου n xj, όπου όλες οι µεταβλητές j= είναι δυαδικές απαιτούµε το πολύ µία από τις µεταβλητές x j να µπορεί να είναι. Παροµοίως αν ο περιορισµός είναι του τύπου n xj =, τότε ακριβώς µία από τις j= µεταβλητές x j θα πρέπει να είναι. Παράδειγµα.3 (συνέχεια του παραδείγµατος.2) Στο προηγούµενο παράδειγµα ας προσθέσουµε έναν ακόµη περιορισµό για την κατασκευή αποθηκών: «Το πολύ µία αποθήκη µπορεί να κτιστεί.» Τότε το πρόβληµα θα αλλάξει επειδή οι δύο τελευταίες αποφάσεις είναι αλληλοαποκλειόµενες εναλλακτικές (η εταιρεία χρειάζεται το πολύ µία καινούργια αποθήκη). Χρειαζόµαστε λοιπόν τον περιορισµό: x 3 x4 +. Τελικά η µορφή του προβλήµατος λαµβάνοντας υπόψη όλους τους προηγούµενους περιορισµούς είναι: - 7 -

maxz = 9x + 5x + 6x + 4x 2 3 4 6x+ 3x2+ 5x3+ 2x4 0 x3+ x4 - x + x3 0 - x2 + x4 0 xj xj 0 x j ακέραιος (j =,2,3,4). Ο αντίστοιχος κώδικας Lingo έχει τη µορφή: MODEL: MAX=9*x+5*x2+6*x3+4*x4; 6*x+3*x2+5*x3+2*x4<=0; x3+x4<=; -x+x3<=0; -x2+x4<=0; x<=; x2<=; x3<=; x4<=; x>=0; x2>=0; x3>=0; x4>=0; @GIN(x); @GIN(x2); @GIN(x3); @GIN(x4); end Με την εντολή Solve παίρνουµε την αναφορά λύσης: Global optimal solution found at iteration: 0 Objective value: 4.00000 Variable Value Reduced Cost X.000000-9.000000 X2.000000-5.000000 X3 0.000000-6.000000 X4 0.000000-4.000000 Row Slack or Surplus Dual Price 4.00000.000000 2.000000 0.000000 3.000000 0.000000 4.000000 0.000000 5.000000 0.000000 6 0.000000 0.000000 7 0.000000 0.000000-8 -

8.000000 0.000000 9.000000 0.000000 0.000000 0.000000.000000 0.000000 2 0.000000 0.000000 3 0.000000 0.000000 Παρακάτω παραθέτουµε τον κώδικα του Lingo σε µορφή δοµηµένου προγραµµατισµού για το πρόβληµα αυτό, καθώς και την αντίστοιχη αναφορά της λύσης. Όπως φαίνεται η δοµηµένη µορφή είναι πιο συµπαγής και επιτρέπει εύκολα τις γενικεύσεις. model: sets: ependysi/ erg_ath, erg_thess, apoth_ath, apoth_thess/:decision,present_value,capital endsets data: present_value= 9 5 6 4; capital= 6 3 5 2; available_capital=0; enddata max=@sum(ependysi:present_value*decision); @SUM(ependysi: capital*decision) <= available_capital; @FOR(ependysi(I) I#LE#2:@SUM(ependysi:decision(I+2)- decision(i))<=0); decision(3) + decision(4)<=; @FOR(ependysi:@bin(decision)); Με την εντολή Solve παίρνουµε την αναφορά λύσης: Global optimal solution found at iteration: 0 Objective value: 4.00000 Variable Value Reduced Cost AVAILABLE_CAPITAL 0.00000 0.000000 DECISION( ERG_ATH).000000-9.000000 DECISION( ERG_THESS).000000-5.000000 DECISION( APOTH_ATH) 0.000000-6.000000-9 -

DECISION( APOTH_THESS) 0.000000-4.000000 PRESENT_VALUE( ERG_ATH) 9.000000 0.000000 PRESENT_VALUE( ERG_THESS) 5.000000 0.000000 PRESENT_VALUE( APOTH_ATH) 6.000000 0.000000 PRESENT_VALUE( APOTH_THESS) 4.000000 0.000000 CAPITAL( ERG_ATH) 6.000000 0.000000 CAPITAL( ERG_THESS) 3.000000 0.000000 CAPITAL( APOTH_ATH) 5.000000 0.000000 CAPITAL( APOTH_THESS) 2.000000 0.000000 Row Slack or Surplus Dual Price 4.00000.000000 2.000000 0.000000 3 4.000000 0.000000 4 4.000000 0.000000 5.000000 0.000000 ( Η αναλυτική παρουσίαση του δοµηµένου προγραµµατισµού στο περιβάλλον του Lingo αναπτύσσεται στο Παράρτηµα). Συµπερασµατικά παρά το µικρό του µέγεθος αυτό το παράδειγµα είναι τυπικό για πολλές πραγµατικές εφαρµογές ακέραιου προγραµµατισµού όπου οι βασικές αποφάσεις που πρέπει να ληφθούν είναι του τύπου ναι ή όχι. Όπως το δεύτερο ζευγάρι αποφάσεων αυτού του παραδείγµατος οι οµάδες των ναι ή όχι αποφάσεων, συχνά αποτελούν οµάδες από αµοιβαία αποκλειόµενες εναλλακτικές, από τις οποίες µόνο µια απόφαση από την οµάδα µπορεί να είναι θετική. Κάθε οµάδα απαιτεί έναν περιορισµό σύµφωνα µε τον οποίο το άθροισµα των αντίστοιχων δυαδικών µεταβλητών πρέπει να ισούται µε (εάν µόνο µία απόφαση της οµάδας µπορεί να είναι θετική). Πολλές φορές, αποφάσεις του τύπου ναι-όχι είναι εξαρτηµένες αποφάσεις, πχ αποφάσεις που εξαρτώνται από προηγούµενες αποφάσεις. Για παράδειγµα µία απόφαση λέγεται εξαρτώµενη µιας άλλης απόφασης, αν επιτρέπεται να είναι ναι µόνο αν η άλλη είναι ναι. Αυτό συµβαίνει όταν η εξαρτηµένη απόφαση εµπεριέχει µια πράξη που έπεται και θα µπορούσε να οδηγήσει σε ανεπιθύµητο ή σε αδύνατο αποτέλεσµα αν η άλλη απόφαση ήταν όχι. Ο τύπος που παίρνει ο περιορισµός που προκύπτει είναι πάντα αυτός που φαίνεται στον τρίτο και τέταρτο περιορισµό του παραδείγµατος. - 0 -

Τεχνική 4: Εισαγωγή διαζευκτικών περιορισµών µε χρήση δυαδικών µεταβλητών. Μέχρι τώρα είδαµε πώς µπορούν να χρησιµοποιηθούν οι δυαδικές µεταβλητές για την µοντελοποίηση αλληλοεξαρτώµενων αποφάσεων. Μια άλλη χρήση των δυαδικών µεταβλητών είναι η µοντελοποίηση ορισµένων λογικών εξαρτήσεων µεταξύ των περιορισµών ενός προβλήµατος βελτιστοποίησης. Σε ένα τυπικό πρόβληµα γραµµικού ή ακόµα και µη γραµµικού προγραµµατισµού απαιτείται να ικανοποιείται η σύζευξη όλων των περιορισµών. Με την τεχνική που θα αναπτύξουµε παρακάτω µοντελοποιούνται περιστάσεις όπου απαιτείται να ισχύει τουλάχιστον ένας περιορισµός (διάζευξη των περιορισµών) ή γενικότερα τουλάχιστον ένας συγκεκριµένος αριθµός από αυτούς. Έστω x ένα µη αρνητικό διάνυσµα απόφασης. Ας υποθέσουµε επίσης ότι έχουµε δύο περιορισµούς ax ' b και cx ' d στους οποίους όλες οι συνιστώσες των a και c είναι µη αρνητικές. Θα θέλαµε να µοντελοποιήσουµε την απαίτηση τουλάχιστον ένας από τους δύο περιορισµούς να ικανοποιείται. Προκειµένου να επιτύχουµε αυτό, ορίζουµε µία δυαδική µεταβλητή y και επιβάλουµε τους περιορισµούς: a x yb c x (-y)d y {0,}. Γενικότερα έστω ότι έχουν δοθεί m περιορισµοί του τύπου a i x b i i=,2,,m µε a i 0 για κάθε i και απαιτούµε να ισχύουν τουλάχιστον k απ αυτούς. Τότε µοντελοποιούµε εισάγοντας m δυαδικές µεταβλητές y i και θέτοντας ai' x by i i ( i=,2,..., m) m i= yi k y i {0,}. Αν y i = στην άριστη λύση, συµπεραίνουµε ότι ο αντίστοιχος περιορισµός a i x b i είναι ενεργός (ικανοποιείται). Εάν y i =0 δεν είναι βέβαιο ότι ο αντίστοιχος περιορισµός ικανοποιείται. - -

Τεχνική 5: Χρήση δυαδικών µεταβλητών για την εισαγωγή µεταβλητών µε πεπερασµένο πεδίο τιµών. Ας υποθέσουµε ότι θέλουµε να περιορίσουµε µια µεταβλητή x να παίρνει τιµές σε ένα πεπερασµένο σύνολο {α, α 2,, α m }. Μπορούµε να το καταφέρουµε αυτό εισάγοντας m δυαδικές µεταβλητές y i και τους περιορισµούς x= m j= m j= ay j j yj = y i {0,}. Τεχνική 6: Εισαγωγή στο µοντέλο κατά τµήµατα γραµµικών κυρτών αντικειµενικών συναρτήσεων. Υπάρχει µια σηµαντική κλάση προβληµάτων βελτιστοποίησης µε µη γραµµική αντικειµενική συνάρτηση που είναι δυνατόν να αναχθούν σε προβλήµατα γραµµικού προγραµµατισµού (π.γ.π.). Τα προβλήµατα αυτά έχουν γραµµικούς περιορισµούς, ενώ η αντικειµενική συνάρτηση είναι κατά τµήµατα γραµµική και κυρτή. Για λόγους πληρότητας δίνουµε πρώτα τους παρακάτω ορισµούς. Ορισµός. n (α) Μια συνάρτηση f : R a R λ [ 0,] έχουµε : ονοµάζεται κυρτή αν για κάθε x, y f( λx+(- λ) y) λf( x) + ( λ) f( y ). n R και κάθε n n (β) Μια συνάρτηση f : R a R ονοµάζεται κοίλη αν για κάθε xy, R λ [ 0,] έχουµε : f( λx+(- λ) y) λf( x) + ( λ) f( y ). και κάθε Παρατηρούµε ότι αν τα x και y είναι διανύσµατα στο - 2 - n R και αν το λ ανήκει στο [0, ], τότε σηµεία της µορφής λx+(- λ) y ανήκουν στο ευθύγραµµο τµήµα που ενώνει τα x και y. O ορισµός µιας κυρτής συνάρτησης αναφέρεται στις τιµές της f, καθώς το όρισµά της κινείται επάνω σε αυτό το τµήµα.. Αν η f ήταν γραµµική, η

ανισότητα του. (α) θα ήταν ισότητα. Η ανισότητα έτσι σηµαίνει ότι όταν περιορίζουµε την προσοχή µας σε ένα τέτοιο τµήµα, το γράφηµα της συνάρτησης βρίσκεται κάτω από το γράφηµα της αντίστοιχης γραµµικής συνάρτησης. (Σχήµα.) λ f( x) + ( λ) f ( y) f(y) (β) f(x) x λx+ ( λ) y y Α (γ) (α) Σχήµα. (α) Ορισµός µιας κυρτής συνάρτησης (β) Μια κοίλη συνάρτηση (γ) Μια συνάρτηση που δεν είναι ούτε κοίλη ούτε κυρτή. Παρατηρούµε ότι το Α είναι τοπικό αλλά όχι ολικό ελάχιστο. Προφανώς µια συνάρτηση f είναι κυρτή αν και µόνο αν η συνάρτηση f είναι κοίλη. Οι συναρτήσεις της µορφής f( x ) a0 ax i i, ονοµάζονται αφινικές n = + = (affine) συναρτήσεις και είναι και κυρτές και κοίλες. Αποδεικνύεται µάλιστα ότι οι αφινικές συναρτήσεις είναι οι µόνες συναρτήσεις που είναι και κυρτές και κοίλες. Οι κυρτές (όπως και οι κοίλες) συναρτήσεις παίζουν βασικό ρόλο στην βελτιστοποίηση. Λέµε ότι ένα διάνυσµα x είναι ένα τοπικό ελάχιστο της f αν f( x) f( y ) για όλα τα y σε µια περιοχή του x. Λέµε επίσης ότι ένα διάνυσµα x είναι ένα ολικό ελάχιστο της f αν f( x) f( y ) για όλα τα y. Μια κυρτή συνάρτηση δεν µπορεί να έχει τοπικά ελάχιστα τα οποία δεν είναι και ολικά ελάχιστα (Σχήµα.). Αυτή η ιδιότητα έχει µεγάλη χρησιµότητα στο σχεδιασµό αποτελεσµατικών αλγορίθµων βελτιστοποίησης. Έστω,,..., και,,..., διανύσµατα στο n c c2 cm d d2 dm R και η συνάρτηση n f : R a R που ορίζεται από την : i - 3 -

f ( x) = max( c' ix+ d i) i=,..., m Αυτή η συνάρτηση είναι κυρτή (σχήµα.2(α)) σαν συνέπεια του παρακάτω αποτελέσµατος. ΘΕΩΡΗΜΑ Έστω f f R R n,..., m : a κυρτές συναρτήσεις. Τότε η συνάρτηση f που ορίζεται από την f( x) = max fi( x ) είναι επίσης κυρτή. i=,..., m Απόδειξη. n Έστω xy, R και λ [ 0,]. Έχουµε : f( λx+(- λ) y) = max fi( λx+(- λ) y) i=,..., m max λ( fi( x)+(- λ) fi( y)) i=,..., m max λf( x)+ max (- λ) fi( y) i i=,..., m i=,..., m = λf( x)+(- λ) f( y). Μια συνάρτηση της µορφής f ( x) = max( c' ix+ di) ονοµάζεται κατά τµήµατα i=,..., m γραµµική κυρτή συνάρτηση. Ένα απλό παράδειγµα είναι η συνάρτηση απόλυτης τιµής που ορίζεται από την f( x) = x = max{ x, x}. Όπως παρουσιάζεται στο σχήµα.2 (β), µια κατά τµήµατα γραµµική κυρτή συνάρτηση µπορεί να χρησιµοποιηθεί για να προσεγγίσει οσοδήποτε κοντά θέλουµε µια γενική κυρτή συνάρτηση. Τώρα θεωρούµε µια γενίκευση του πλαισίου του γραµµικού προγραµµατισµού όπου η αντικειµενική συνάρτηση είναι κατά τµήµατα γραµµική και κυρτή, δηλαδή έχουµε το πρόβληµα: min max( cx ' i + d i) i=,..., m Προσέξτε ότι το i=,..., m υπό τον περιορισµό : Ax b. max( cx ' i + d i) είναι ίσο µε το µικρότερο αριθµό z που ικανοποιεί την z cx 'i + d i για όλα τα i. Για αυτό το λόγο το παραπάνω πρόβληµα βελτιστοποίησης είναι ισοδύναµο µε το π.γ.π. : - 4 -

υπό τους περιορισµούς : min z z cx ' i + di i =,..., m, Ax b όπου οι µεταβλητές αποφάσεων είναι οι z, x. Για να συνοψίσουµε, ο γραµµικός προγραµµατισµός µπορεί να χρησιµοποιηθεί για να επιλύσουµε προβλήµατα µε κατά τµήµατα γραµµικές κυρτές συναρτήσεις κόστους και αυτές οι τελευταίες µπορούν µε τη σειρά τους να χρησιµοποιηθούν για την προσέγγιση πιο γενικών κυρτών συναρτήσεων κόστους. Από την άλλη µεριά, τέτοιου είδους προσεγγίσεις δεν είναι πάντα µια καλή ιδέα επειδή µπορεί να µετατρέψουν µια «καλή» συνάρτηση σε µια όχι τόσο «καλή». (Οι κατά τµήµατα γραµµικές κυρτές συναρτήσεις δεν είναι παντού παραγωγίσιµες). Τέλος επισηµαίνουµε ότι αν µας δοθεί ένας περιορισµός της µορφής f( x ) h όπου f είναι η κατά τµήµατα γραµµική κυρτή συνάρτηση ' f ( x) = max( fi x+ gi) ένας τέτοιος i=,..., m ' περιορισµός θα µπορούσε να γραφτεί και ως fxg i + i h, i =,..., m, και ο γραµµικός προγραµµατισµός είναι πάλι εφαρµόσιµος. cx+ d 3 3 cx + d 2 d 2 cx + d x (α) (β) Σχήµα.2 (α) Μία κατά τµήµατα γραµµική κυρτή συνάρτηση µιας µεταβλητής. (β) Προσέγγιση µιας κυρτής συνάρτησης από µια κατά τµήµατα γραµµική κυρτή συνάρτηση. x - 5 -

Τεχνική 7: Εισαγωγή στο µοντέλο αυθαίρετης κατά τµήµατα γραµµικής αντικειµενικής συνάρτησης. f(x) 0 α 2 α 3 α 4 x α Θα αναπτύξουµε εδώ µια τεχνική για τη µοντελοποίηση µιας αυθαίρετης κατά τµήµατα γραµµικής αντικειµενικής συνάρτησης χρησιµοποιώντας δυαδικές µεταβλητές. Έτσι επεκτείνουµε την τεχνική 6, αυξάνοντας το εύρος των εφαρµογών του γραµµικού προγραµµατισµού. Ας υποθέσουµε ότι α < α 2 < < α k και ότι έχουµε µία συνεχή κατά τµήµατα γραµµική συνάρτηση f(x) που καθορίζεται από τα σηµεία (α i, f(α i )) για i =, 2,,k, ορισµένη σε ένα διάστηµα [α, α k ] όπως στο παραπάνω σχήµα. Τότε κάθε x [α, α k ] µπορεί να εκφραστεί ως: k x= λiai i= όπου λ,,λ k είναι µη αρνητικά βαθµωτά που αθροίζουν στο. Με µια προσεκτική µατιά βλέπουµε πως η επιλογή των συντελεστών λ,,λ k που µπορούν να χρησιµοποιηθούν για να εκφράσουν ένα συγκεκριµένο x δεν είναι µοναδική. Ωστόσο γίνεται µοναδική αν απαιτήσουµε το πολύ δύο συνεχόµενοι συντελεστές λ i να µπορούν να είναι µη µηδενικοί. Σ αυτήν την περίπτωση κάθε x [α i, α i+ ] εκφράζεται µοναδικά σαν x = λ i α i + λ i+ α i+, µε λ i + λ i+ = και ( ) k f x = λif( ai). i= Για να είναι συνεπώς σωστή η παράσταση αυτή για την f(x) χρειαζόµαστε να µοντελοποιήσουµε τον επιπρόσθετο περιορισµό το πολύ δύο συνεχόµενοι συντελεστές λ i να είναι µη µηδενικοί. Γι αυτό το σκοπό, ορίζουµε την δυαδική µεταβλητή y i, i =,,k-, η οποία ισούται µε, αν α i x α i+ και 0 διαφορετικά. - 6 -

Το πρόβληµα τότε µοντελοποιείται ως: k min λif ( αi) i= µε λi = k i= λ y λi yi + yi, ( i = 2,..., k ) λk y k i= λi 0 yi k yi = { } 0,. Προσέξτε ότι αν y i = τότε λ i = 0 για i διαφορετικό από το j ή το j+. Τεχνική 8: Μοντελοποίηση προβληµάτων που περιλαµβάνουν απόλυτες τιµές. Ας θεωρήσουµε ένα πρόβληµα του τύπου : υπό τον περιορισµό n min ci xi i= Ax b, όπου x = ( x,..., xn), και οι συντελεστές κόστους c i υποθέτουµε ότι είναι µη αρνητικοί. Το κριτήριο κόστους, που είναι το άθροισµα των κατά τµήµατα γραµµικών κυρτών συναρτήσεων ci x i εύκολα δείχνεται ότι είναι κατά τµήµατα γραµµικό και κυρτό. Παρόλα αυτά η έκφραση του κριτηρίου κόστους στη µορφή ' max j( jx + j) c d είναι κάπως πολύπλοκη και θα προτιµούσαµε µια απευθείας προσέγγιση. Παρατηρούµε ότι ο x i είναι ο µικρότερος αριθµός z i που ικανοποιεί την xi zi και την xi zi και έτσι παίρνουµε την µοντελοποίηση γραµµικού προγραµµατισµού : - 7 -

min n i= cz i i υπό τους περιορισµούς Ax b, xi zi ( i =,..., n) xi zi ( i =,..., n). Μια εναλλακτική µέθοδος για να χειριστούµε τις απόλυτες τιµές είναι να εισάγουµε + νέες µεταβλητές x, x µε τον περιορισµό να είναι µη αρνητικές και να θέσουµε + xi = xi xi. i i + (Η πρόθεσή µας είναι να έχουµε xi= x ή xi= x, ανάλογα µε το αν η x i είναι i i θετική ή αρνητική). Τότε αντικαθιστούµε κάθε + x i µε xi xi + και παίρνουµε την παρακάτω µαθηµατική µοντελοποίηση: υπό τους περιορισµούς n min ci( x + + x ) i= i + Ax Ax b i, x +, x 0, ( i =,..., n ) i i όπου + + + x = ( x,..., xn) και x = ( x,..., xn). Οι σχέσεις + + xi = x x και xi, x i 0, δεν εγγυώνται ότι x i = x i i i + x, και η + i εγκυρότητα αυτής της αναδιατύπωσης µπορεί να µην είναι τελείως προφανής. Ας υποθέσουµε για απλούστευση ότι c i > 0 για όλα τα i. Σε µια βέλτιστη λύση στο αναδιατυπωµένο πρόβληµα, και για κάθε i, πρέπει να έχουµε είτε x + i = 0 ή x i = 0 επειδή διαφορετικά θα µπορούσαµε να µειώσουµε και τα δύο + x και x µε την ίδια ποσότητα και θα µειωνόταν το κόστος, που έρχεται σε αντίθεση µε τη βελτιστότητα. Έχοντας εξασφαλίσει ότι x + i = 0 ή x i = 0 ακολουθεί η επιθυµητή σχέση x i = x + x. Επίσης σηµειώνουµε ότι η υπόθεση της µη-αρνητικότητας των συντελεστών + i i κόστους c i είναι βασική γιατί αλλιώς η συνάρτηση κόστους είναι µη κυρτή. i i - 8 -

Παράδειγµα.4 Έστω το πρόβληµα : min 2 x + x2 υπό τον περιορισµό x + x2 4 Η πρώτη αναδιατύπωση µας δίνει : υπό τους περιορισµούς ενώ η δεύτερη µας δίνει : υπό τους περιορισµούς min 2z x + x 2 + x2 4 x x z z min 2x + 2x + x + x x x + + 2 Κλείνοντας το κεφάλαιο αυτό θα παρουσιάσουµε στη συνέχεια ορισµένα τυπικά παραδείγµατα-προβλήµατα που δείχνουν πως αξιοποιούνται οι τεχνικές που περιγράψαµε. x + x 4 0 0 2 Παράδειγµα.5 (Το πρόβληµα της βέλτιστης γραµµικής προσαρµογής δεδοµένων) n Μας δίνονται m δεδοµένα του τύπου (a i, b i ), i=,,m, όπου a i R και b i R και επιθυµούµε να κατασκευάσουµε ένα µοντέλο που να προβλέπει την τιµή της µεταβλητής b όταν γνωρίζουµε το διάνυσµα a. Σε µια τέτοια περίπτωση, συνήθως χρησιµοποιούµε ένα γραµµικό µοντέλο του τύπου b = ax ' όπου το x είναι ένα διάνυσµα-παράµετρος που πρέπει να προσδιοριστεί. οθέντος ενός συγκεκριµένου διανύσµατος παραµέτρου x, το υπόλοιπο ή σφάλµα πρόβλεψης για το i-οστό δεδοµένο ορίζεται ως το bi ax. i' Αν µας δοθεί να επιλέξουµε µεταξύ εναλλακτικών µοντέλων, θα έπρεπε να επιλέξουµε το µοντέλο που «εξηγεί» τα διαθέσιµα δεδοµένα όσο δυνατόν καλύτερα, δηλαδή ένα µοντέλο που καταλήγει σε µικρά υπόλοιπα. - 9 -

Μια θεώρηση είναι να ελαχιστοποιήσουµε το µεγαλύτερο υπόλοιπο. Αυτό είναι το πρόβληµα ελαχιστοποίησης του max bi ax i', i ως προς το x και χωρίς κανέναν περιορισµό. Προσέξτε ότι εδώ χρησιµοποιούµε µια κατά τµήµατα γραµµική κυρτή συνάρτηση κόστους. Μια ισοδύναµη µαθηµατική µοντελοποίηση γραµµικού προγραµµατισµού, σύµφωνα µε τις προαναφερθείσες τεχνικές είναι η : min z υπό τους περιορισµούς bi ax i' z ( i =,..., m), bi+ ax i' z ( i=,..., m). όπου οι µεταβλητές αποφάσεων είναι οι z και x. Με µια διαφορετική µοντελοποίηση θα µπορούσαµε να δεχτούµε το κριτήριο κόστους: m bi ax i'. i= Εφόσον το bi ax i' είναι ο µικρότερος αριθµός z i που ικανοποιεί την bi ax i' zκαι την bi+ ax i' z, έχουµε την παρακάτω µοντελοποίηση : min z+... + zm υπό τους περιορισµούς bi ax i' zi ( i =,..., m), bi+ ax i' zi ( i =,..., m). Παράδειγµα.6 (Ένα πρόβληµα βιοµηχανικής παραγωγής) Το τµήµα έρευνας και ανάπτυξης µιας εταιρείας έχει αναπτύξει τρία πιθανά νέα προϊόντα. Ωστόσο για να αποφευχθεί η υπερβολική διαφοροποίηση στη γραµµή παραγωγής της εταιρείας, η διεύθυνση εισάγει τον επόµενο περιορισµό: Περιορισµός. Από τα τρία πιθανά νέα προϊόντα, το πολύ δύο θα πρέπει να επιλεγούν για να παραχθούν. ύο εργοστάσια που θα µπορούσαν να παρασκευάσουν τα επιλεγµένα προϊόντα είναι διαθέσιµα. Για διαχειριστικούς λόγους, η διοίκηση έχει εισάγει έναν δεύτερο περιορισµό : - 20 -

Περιορισµός 2. Μόνο ένα από τα δύο εργοστάσια θα πρέπει να επιλεγεί για να παρασκευάσει τα νέα προϊόντα. Το κόστος παραγωγής για κάθε µονάδα από κάθε προϊόν θα είναι ουσιαστικά το ίδιο και στα δύο εργοστάσια. Ωστόσο λόγω των διαφορών στις διαδικασίες παραγωγής, ο αριθµός των ωρών του χρόνου παραγωγής που χρειάζεται για να παρασκευαστεί η κάθε µονάδα από κάθε προϊόν θα µπορούσε να διαφέρει µεταξύ των δύο εργοστασίων. Αυτά τα δεδοµένα δίνονται στον παρακάτω πίνακα : Προϊόν 2 3 ιαθέσιµες ώρες κάθε εβδοµάδα Εργοστάσιο 3 4 2 30 Εργοστάσιο 2 4 6 2 40 Κέρδος µονάδας 5 7 3 (σε χιλιάδες ) υνατές πωλήσεις 7 5 9 (σε µονάδες ανά εβδοµάδα) Ο αντικειµενικός σκοπός είναι να διαλέξουµε τα προϊόντα, το εργοστάσιο και τον ρυθµό παραγωγής των επιλεγµένων προϊόντων, έτσι ώστε να µεγιστοποιήσουµε το ολικό κέρδος. Κατά κάποιο τρόπο αυτό το πρόβληµα µοιάζει µε ένα τυπικό πρόβληµα παραγωγής. Στην πραγµατικότητα αν αλλάξουµε το πρόβληµα βγάζοντας τους δύο περιορισµούς και απαιτήσουµε κάθε µονάδα του προϊόντος να χρησιµοποιεί τις ώρες παραγωγής που δίνονται στον παραπάνω πίνακα και από τα δύο εργοστάσια, θα γίνει ακριβώς ένα τέτοιο πρόβληµα. Συγκεκριµένα έστω x, x 2 και x 3 οι ρυθµοί παραγωγής από τα προϊόντα, 2 και 3 αντίστοιχα. Το πρόβληµα χωρίς τους περιορισµούς και 2 θα έχει τη µορφή: 3x+ 4x2+ 2x3 30 4x 6x2 2x3 40 x x max z = 5x + 7x + 3x + + 2 2 3 7 5 x3 9 x 0, x2 0, x3 0. - 2 -

Στο πραγµατικό πρόβληµα ωστόσο, ο περιορισµός µας υποχρεώνει να προσθέσουµε στο µοντέλο τον περιορισµό: Ο αριθµός των αυστηρά θετικών µεταβλητών απόφασης (x, x 2, x 3 ) πρέπει να είναι 2. Αυτός ο περιορισµός δεν ταιριάζει στο κλασικό πλαίσιο του γραµµικού ή ακέραιου προγραµµατισµού. Το ερώτηµα κλειδί είναι πώς θα ενσωµατωθεί ένας τέτοιος περιορισµός στο µοντέλο, ώστε ένας αντίστοιχος αλγόριθµος επίλυσης γραµµικού ή έστω ακέραιου προγραµµατισµού να µπορεί να χρησιµοποιηθεί για να λύσει το συγκεκριµένο µοντέλο. Αν οι µεταβλητές απόφασης ήταν δυαδικές µεταβλητές, τότε ο περιορισµός θα εκφραζόταν στη µορφή: x + x 2 + x 3 2. Όµως µε συνεχείς µεταβλητές αποφάσεων χρειάζεται µία πιο πολύπλοκη προσέγγιση που απαιτεί την εισαγωγή βοηθητικών δυαδικών µεταβλητών. Η απαίτηση 2 υποχρεώνει να αντικατασταθούν οι πρώτοι δυο περιορισµοί: 3x+ 4x2+ 2x3 30 4x 6x2 2x3 40 + + µε τον περιορισµό είτε 3x+ 4x2+ 2x3 30 είτε 4x+ 6x2+ 2x3 40. Η επιλογή περιορισµού που θα ενεργοποιηθεί αντιστοιχεί στην επιλογή του εργοστάσιου που θα χρησιµοποιηθεί για την παραγωγή των νέων προϊόντων. Συζητήσαµε, λοιπόν, στο προηγούµενο κοµµάτι πώς ένας «είτε είτε» περιορισµός µπορεί να ενσωµατωθεί στο πλαίσιο του ακέραιου προγραµµατισµού µε τη βοήθεια µιας βοηθητικής δυαδικής µεταβλητής. Για τον περιορισµό 2 πρέπει να εφαρµόσουµε µια παραλλαγή των τεχνικών 2 και 3 αφού εδώ έχουµε και συνεχείς µεταβλητές (µη ακέραιες). Εισαγάγουµε τρεις βοηθητικές µεταβλητές (y, y 2, y 3 ) µε την ερµηνεία: { αν η xj > 0 µπορε ίνα ισχύει (µπορεί να παρασκευάσει το προιόν j) yi = 0 αν η xj = 0 πρέπει να ισχύει (δεν µπορεί να παρασκευάσει το προιόν j) για j =,2,3. Προκειµένου να επιβάλλουµε αυτήν την ερµηνεία στο µοντέλο, θεωρούµε έναν «µεγάλο» θετικό αριθµό Μ και προσθέτουµε τους περιορισµούς: - 22 -

x x x My My 2 2 My 3 3 y y y + 2+ 3 2 yi { } 0,, (j=,2,3). Ο «είτε είτε» περιορισµός και οι περιορισµοί µη αρνητικότητας δίνουν ένα φραγµένο εφικτό πεδίο για την µεταβλητή απόφασης (έτσι x i M, i=,2,3 σε κάθε σηµείο αυτής της περιοχής) και µπορούµε να επιλέξουµε ένα τέτοιο Μ για τους πρόσθετους περιορισµούς. Εποµένως µε τον x j My j περιορισµό, όταν το y j = επιτρέπεται κάθε τιµή του x j στην εφικτή περιοχή, ενώ όταν y j =0 ισχύει αναγκαστικά x j =0. (Αντιστρόφως x j >0 συνεπάγεται y j =). Επιπλέον ο τέταρτος περιορισµός συνεπάγεται ότι το πολύ δύο από τα y j θα είναι ίσα µε και αυτό ισοδυναµεί µε το να επιλεγούν το πολύ δύο από τα νέα προϊόντα για να παραχθούν. Για να αντιµετωπίσουµε την απαίτηση 2, εισαγάγουµε µια άλλη βοηθητική δυαδική µεταβλητή y 4 µε την ερµηνεία: y 4 = αν ο 4x+ 6x2+ 2x3 40 πρέπει να ενεργοποιηθεί ( επέλεξε το εργοστάσιο 2) { x+ x2+ x3 0 αν ο 3 4 2 30 πρέπει να ενεργοποιηθεί (επέλεξε το εργοστάσιο ). Αυτή η ερµηνεία επιβάλλεται προσθέτοντας τους περιορισµούς: 3x + 4x + 2x 30+ My 2 3 4 4x+ 6x2+ 2x3 40 + M( y4) y 4 { 0,} σύµφωνα µε την τεχνική 4. Συνεπώς αν µεταφέρουµε όλες τις µεταβλητές στα αριστερά µέλη των περιορισµών, το τελικό µοντέλο είναι: - 23 -

max z = 5x + 7x + 3x x 7 3x+ 4x2+ 2x3 My4 30 4 6 2 2 3 4 40 x 2 5 x3 9 x My 0 x2 My2 0 x3 My3 0 y+ y2+ y3 2 x + x + x + My + M xi 0, ( i=,2,3) { } yi 0,, ( j =,2,3,4). 2 3 Αυτό είναι ένα µοντέλο µεικτού ακέραιου προγραµµατισµού µε τρεις µεταβλητές (τις x j ) που δεν απαιτείται να είναι ακέραιες και τέσσερις δυαδικές µεταβλητές. Εποµένως µπορεί να χρησιµοποιηθεί κάποιος αλγόριθµος µεικτού ακέραιου προγραµµατισµού για να λυθεί το µοντέλο. Όταν αυτό γίνει, η βέλτιστη λύση είναι y =, y 2 =0, y 3 =, y 4 =, x = 5 2, x 2 = 0 και x 3 =9. Αυτό σηµαίνει ότι επιλέγουµε τα προϊόντα και 3 να παρασκευαστούν, επιλέγουµε το εργοστάσιο 2 για την παρασκευή και επιλέγουµε τον ρυθµό παραγωγής 5 2 µονάδες κάθε εβδοµάδα για το προϊόν και 9 µονάδες κάθε εβδοµάδα για το προϊόν 3. Το απορρέον συνολικό κέρδος είναι 54.500 κάθε εβδοµάδα. - 24 -

ΚΕΦΑΛΑΙΟ 2 ΚΛΑΣΙΚΑ ΜΟΝΤΕΛΑ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ Στην παράγραφο αυτή παρουσιάζουµε τα σηµαντικότερα κλασικά προβλήµατα βελτιστοποίησης διακριτού χαρακτήρα. Τα προβλήµατα αυτά έχουν προκύψει ιστορικά από τη µαθηµατική µελέτη υποδειγµάτων σε περιοχές όπως η Πληροφορική, η ιοίκηση Επιχειρήσεων και η Επιχειρησιακή Έρευνα. Πολλά από αυτά αναφέρονται και ως προβλήµατα συνδυαστικής βελτιστοποίησης. Η παρουσίαση κάθε προβλήµατος ακολουθεί την εξής δοµή : Πρώτα γίνεται µια λεκτική περιγραφή του προβλήµατος και περιγράφεται η αναγωγή του (µέσω των τεχνικών που έχουµε ήδη δει) σε πρόβληµα ακέραιου προγραµµατισµού. Κατόπιν παραθέτουµε το πρόβληµα σε µαθηµατική µορφή και τέλος δίνουµε τον κώδικα και τη λύση στο περιβάλλον LINGO για κάποιο συγκεκριµένο παράδειγµα. Μοντέλο : Το πρόβληµα του σακιδίου. ίδονται n αντικείµενα. Το j-οστό αντικείµενο έχει βάρος w j και η τιµή του (χρησιµότητά του) είναι c j. οθέντος ενός ορίου k, για το βάρος που µπορεί να µεταφερθεί µε το σακίδιο, θα θέλαµε να επιλέξουµε αντικείµενα ώστε να µεγιστοποιήσουµε τη συνολική τιµή. Για να µοντελοποιήσουµε αυτό το πρόβληµα ορίζουµε µία δυαδική µεταβλητή x j για κάθε αντικείµενο j, η οποία είναι αν το αντικείµενο j επιλεχθεί και 0 διαφορετικά. Το πρόβληµα γράφεται σε µαθηµατική µορφή ως : υπό τους περιορισµούς: max n j= cx j j n j= wx j j k x j {0,}, (j =,,n). - 25 -

Παράδειγµα 2. Θεωρούµε τα 8 αντικείµενα που φαίνονται στον παρακάτω πίνακα και έχουµε ένα σακίδιο χωρητικότητας 2. Αντικείµενα Βάρος Χρησιµότητα Ραδιόφωνο Κάλτσες 6 Μέλι 3 2 Μπρίκι 2 3 Χαρτοµάντιλα 4 Κονσέρβες 5 7 Μαρµελάδα 5 5 Αδιάβροχο 6 8 Να βρεθεί η επιλογή αντικειµένων που βελτιστοποιεί τη συνολική χρησιµότητα του σακιδίου. Ο αντίστοιχος κώδικας Lingo έχει τη µορφή: model: max=*x+6*x2+2*x3+3*x4+4*x5+7*x6+5*x7+8*x8; *x+*x2+3*x3+2*x4+*x5+5*x6+5*x7+6*x8<=2; @bin (x); @bin (x2); @bin (x3); @bin (x4); @bin (x5); @bin (x6); @bin (x7); @bin (x8); end Με την εντολή Solve παίρνουµε την αναφορά λύσης: Global optimal solution found at iteration: 0 Objective value: 22.00000 Variable Value Reduced Cost X 0.000000 -.000000 X2.000000-6.000000 X3 0.000000-2.000000-26 -

X4 0.000000-3.000000 X5.000000-4.000000 X6.000000-7.000000 X7.000000-5.000000 X8 0.000000-8.000000 Row Slack or Surplus Dual Price 22.00000.000000 2 0.000000 0.000000 Σε δοµηµένη µοντελοποίηση LINGO το πρόβληµα παίρνει τη µορφή: SETS: antikeimena / radio, kaltses, meli, mpriki, xartomantila, konserbes, marmelada, adiabroxo/: mpainei, baros, xrisimotita; ENDSETS DATA: baros xrisimotita = 6 3 2 2 3 4 5 7 5 5 6 8; xoritikotita = 2; ENDDATA MAX = @SUM( antikeimena: xrisimotita * mpainei); @SUM( antikeimena: baros * mpainei) <= xoritikotita; @FOR( antikeimena: @BIN( mpainei)); Με την εντολή Solve παίρνουµε την αναφορά λύσης: Global optimal solution found at iteration: 0 Objective value: 22.00000 Variable Value Reduced Cost XORITIKOTITA 2.00000 0.000000 MPAINEI( RADIO) 0.000000 -.000000 MPAINEI( KALTSES).000000-6.000000 MPAINEI( MELI) 0.000000-2.000000-27 -

MPAINEI( MPRIKI) 0.000000-3.000000 MPAINEI( XARTOMANTILA).000000-4.000000 MPAINEI( KONSERBES).000000-7.000000 MPAINEI( MARMELADA).000000-5.000000 MPAINEI( ADIABROXO) 0.000000-8.000000 BAROS( RADIO).000000 0.000000 BAROS( KALTSES).000000 0.000000 BAROS( MELI) 3.000000 0.000000 BAROS( MPRIKI) 2.000000 0.000000 BAROS( XARTOMANTILA).000000 0.000000 BAROS( KONSERBES) 5.000000 0.000000 BAROS( MARMELADA) 5.000000 0.000000 BAROS( ADIABROXO) 6.000000 0.000000 XRISIMOTITA( RADIO).000000 0.000000 XRISIMOTITA( KALTSES) 6.000000 0.000000 XRISIMOTITA( MELI) 2.000000 0.000000 XRISIMOTITA( MPRIKI) 3.000000 0.000000 XRISIMOTITA( XARTOMANTILA) 4.000000 0.000000 XRISIMOTITA( KONSERBES) 7.000000 0.000000 XRISIMOTITA( MARMELADA) 5.000000 0.000000 XRISIMOTITA( ADIABROXO) 8.000000 0.000000 Row Slack or Surplus Dual Price 22.00000.000000 2 0.000000 0.000000 Μοντέλο 2: Tα προβλήµατα κάλυψης, οµαδοποίησης και διαµέρισης Έστω ένα σύνολο σηµείων Μ={,,m} και ένα σύνολο δεικτών Ν={,,n}. Ας υποθέσουµε ότι {Μ,Μ 2, Μ n } είναι µία δοσµένη συλλογή υποσυνόλων του Μ. (για παράδειγµα η συλλογή που περιέχει τα υποσύνολα µεγέθους τουλάχιστον k). Επίσης µας δίδεται ένα βάρος c j για κάθε σύνολο M j της οµάδας. Λέµε ότι ένα υποσύνολο F του Ν είναι κάλυψη του Μ αν Uj F Mj = M. Λέµε ότι F είναι µία οµαδοποίηση του Μ αν Mj Mk = για όλα τα jk, F, j k. Λέµε ότι F είναι µια διαµέριση του Μ αν είναι ταυτόχρονα κάλυψη και οµαδοποίηση του Μ. (Βλέπε στο σχήµα). κάλυψη διαµέριση οµαδοποίηση Το βάρος ενός υποσυνόλου F του Ν ορίζεται ως. c j j F Στο πρόβληµα εύρεσης βέλτιστης κάλυψης θα θέλαµε να βρούµε µία κάλυψη F µε το ελάχιστο βάρος, στο πρόβληµα εύρεσης βέλτιστης οµαδοποίησης θα θέλαµε να βρούµε µια οµαδοποίηση F µε το µέγιστο βάρος, ενώ στο πρόβληµα εύρεσης - 28 -

βέλτιστης διαµέρισης και οι δύο εκδοχές ελαχιστοποίησης και µεγιστοποίησης είναι δυνατές. Προκειµένου να µοντελοποιήσουµε αυτά τα προβλήµατα ως προβλήµατα ακέραιου προγραµµατισµού, εισαγάγουµε τον m n πίνακα πρόσπτωσης Α της οικογένειας { Mj j N},του οποίου τα στοιχεία a ij δίνονται από τη σχέση: a ij, αν i Mj, = 0, διαφορετικά. Επίσης ορίζουµε µία µεταβλητή απόφασης xj, για κάθε j =,..., n, η οποία θα ισούται µε αν j Fκαι 0 διαφορετικά. Έστω x = (x,,x n ). Τότε το F είναι κάλυψη, διαµέριση, οµαδοποίηση του Μ αν και µόνο αν Ax e, Ax = e, Ax e, αντιστοίχως, όπου e είναι ένα m-διάστατο διάνυσµα µε όλες τις συνιστώσες του ίσες µε. Πράγµατι η i συντεταγµένη του Αx είναι ο αριθµός των συνόλων του F στα οποία ανήκει το i M. Συνεπώς οι παραπάνω περιορισµοί απαιτούν όπως κάθε στοιχείο του Μ να ανήκει σε τουλάχιστον ένα, ακριβώς ένα ή το πολύ ένα σύνολο του F αντίστοιχα. Η προηγούµενη κατηγορία µοντέλων περιγράφει µια ποικιλία από σηµαντικά πρακτικά προβλήµατα επιχειρησιακής έρευνας που θα δούµε στο κεφάλαιο των εφαρµογών. Μοντέλο 3 : Το πρόβληµα της ανάθεσης. Το πρόβληµα αυτό περιγράφεται ως εξής: Υπάρχουν m άτοµα A, A2,..., Am τα οποία πρέπει να χρησιµοποιηθούν για την εκτέλεση m εργασιών B, B2,..., B m. Κάθε εργασία απαιτεί ένα µόνο άτοµο για την εκτέλεσή της και σε κάθε άτοµο µπορεί να ανατεθεί µια µόνο εργασία. Έστω rij ( i, j =,2,..., m) η απόδοση (π.χ. παραγωγικότητα, ταχύτητα κλπ) του ατόµου Α i στην εργασία Β j. Το πρόβληµα ανάθεσης (έργου) είναι το πώς να κατανεµηθούν τα άτοµα στις εργασίες ώστε να µεγιστοποιήσουµε τη συνολική απόδοση. Πρόκειται για ένα κλασικό πρόβληµα δυαδικού ακέραιου προγραµµατισµού. Οι δυαδικές (0-) µεταβλητές είναι οι : - 29 -

x ij αν το άτοµο Ai χρησιµοποιείται στην εργασία Bj = 0 αν το άτοµο Ai δεν χρησιµοποιείται στην εργασία Bj Η συνολική απόδοση δίνεται από το άθροισµα : m m rx ij ij. i= j= Σε κάθε άτοµο µπορεί να ανατεθεί µια µόνο εργασία, οπότε έχουµε τους περιορισµούς: m xij = ( i=,2,..., m). j= Επίσης κάθε εργασία απαιτεί ένα µόνο άτοµο για την εκτέλεσή της, οπότε έχουµε τους περιορισµούς : m xij = ( j =,2,..., m). i= Έτσι η µαθηµατική µορφή δυαδικού ακέραιου προγραµµατισµού του προβλήµατος ανάθεσης είναι η παρακάτω : max m m i= j= rx ij ij m j= m i= { 0,} xij = ( i=,2,..., m) xij = ( j =,2,..., m) xij ( i,2,..., m, j,2,..., m) = =. Μοντέλο 4 : Το πρόβληµα του ελάχιστου επικαλυπτικού δένδρου. Έστω G=( Ν,Ε ) µη κατευθυνόµενο γράφηµα µε σύνολο κόµβων Ν ( Ν = n) και σύνολο ακµών Ε ( Ε = m). Κάθε ακµή e Ε έχει ένα αντίστοιχο κόστος (ή βάρος) c e.. Το κόστος (ή βάρος) ενός δένδρου υπογραφήµατος του G είναι απλά το άθροισµα των c e για όλες τις ακµές του. Το πρόβληµα εντοπίζεται στο να βρούµε ένα συνεκτικό (επικαλυπτικό) δένδρο ελαχίστου κόστους. Τέτοιου είδους προβλήµατα βελτιστοποίησης δένδρων εµφανίζονται στο σχεδιασµό των συγκοινωνιακών δικτύων, υπολογιστικών δικτύων και δικτύων ύδρευσης. Θα δούµε πιο κάτω δύο - 30 -

διαφορετικές εναλλακτικές µοντελοποιήσεις για το πρόβληµα αυτό. Στο κεφάλαιο 3 θα δούµε ποια πλεονεκτεί. Για να µοντελοποιήσουµε το πρόβληµα ως πρόβληµα ακέραιου προγραµµατισµού ορίζουµε για κάθε ακµή e Ε µια µεταβλητή x e, έτσι ώστε :, αν η ακµή e περιληφθεί στο επικαλυπτικό δένδρο xe = 0, διαφορετικά Καθόσον ένα επικαλυπτικό δένδρο θα πρέπει να έχει συνολικά n- ακµές, εισάγουµε τον περιορισµό: xe = n. E e Ακόµα οι επιλεγµένες ακµές δεν θα πρέπει να σχηµατίζουν κύκλους. Για να µοντελοποιήσουµε αυτόν τον περιορισµό, εισάγουµε για κάθε µη κενό σύνολο S N το σύνολο { } E } E( S) = i, j i, j S που περιλαµβάνει τις ακµές του G που και τα δύο άκρα τους ανήκουν στο S, και θα έχουµε τους παρακάτω περιορισµούς : xe S ( S N, S, N ). e ES ( ) Έτσι οδηγούµαστε στην παρακάτω µοντελοποίηση ακέραιου προγραµµατισµού του προβλήµατος του ελάχιστου επικαλυπτικού δένδρου : υπό τους περιορισµούς e E min xe = n e E cx e e xe S ( S N, S, N ) e ES ( ) { } xe 0,, ( e Ε ). Αυτή η µοντελοποίηση λέγεται µοντελοποίηση της απαλοιφής των κύκλων γιατί περιέχει περιορισµούς που απαλείφουν όλους τους κύκλους. Η µοντελοποίηση της απαλοιφής των κύκλων χρησιµοποιεί τον ορισµό του επικαλυπτικού δένδρου ως ένα υπογράφηµα που περιέχει n- ακµές και καθόλου κύκλους. Χρησιµοποιώντας έναν εναλλακτικό αλλά ισοδύναµο ορισµό, το - 3 -

επικαλυπτικό δένδρο είναι ένα συνεκτικό υπογράφηµα που περιέχει n- ακµές. οθέντος ενός υποσυνόλου S του N, (παρακάτω σχήµα) ορίζουµε την τοµή δ(s) ως { } E } δ ( S) = i, j i S, j S, δηλαδή το σύνολο των ακµών που συνδέουν κορυφές εντός του S µε κορυφές εκτός του S. Παρατηρούµε ότι δ ({ i}) είναι το σύνολο των ακµών που προσπίπτουν στο i. Μπορούµε τώρα να εκφράσουµε την απαίτηση της συνεκτικότητας µε τους περιορισµούς : xe, ( S N, S, N ) S e δ ({ }) Ονοµάζουµε τη µορφή αυτής της µοντελοποίησης ακέραιου προγραµµατισµού, µοντελοποίηση των τοµών. Μοντέλο 5 : Το πρόβληµα του πλανόδιου πωλητή Το πρόβληµα έχει ως εξής: οθέντος ενός µη κατευθυνόµενου γραφήµατος G=(Ν,Ε ) µε n κόµβους και κόστη c e για κάθε ακµή e Ε, ο σκοπός είναι να βρεθεί µια περιήγηση (ένας κύκλος επισκέψεων σε όλους τους κόµβους) ελαχίστου κόστους. Για να µοντελοποιήσουµε το πρόβληµα, ορίζουµε για κάθε ακµή e Ε µια µεταβλητή x e ώστε, αν η ακµή e περιλαµβάνεται στον κύκλο επισκέψεων xe = 0, διαφορετικά Μια µοντελοποίηση του προβλήµατος είναι η παρακάτω. Καταρχήν πρέπει xe = 2, ( i N ), e δ ({ i}) αφού κάθε κορυφή του γραφήµατος πρέπει να ανήκει σε δύο ακµές του κύκλου επισκέψεων. Επίσης, επειδή κάθε κοµµάτι του κύκλου επισκέψεων είναι δένδρο (δεν περιέχει κύκλους), θα έχουµε τους περιορισµούς : xe S, ( S N, S, N ) e E( S ) και έτσι θα έχουµε τη µοντελοποίηση : min e E - 32 - cx e e

xe = 2, ( i N ) e δ ({ i}) xe S, ( S N, S, N ) e E( S ) { } xe 0,, ( e Ε ), που θα λέγεται µοντελοποίηση της απαλοιφής των κύκλων κατ αναλογία µε το πρόβληµα του ελάχιστου συνεκτικού δένδρου. Μια εναλλακτική µοντελοποίηση προκύπτει ακολουθώντας τις ιδέες της µοντελοποίησης των τοµών του προβλήµατος του ελάχιστου επικαλυπτικού δένδρου. Στην περίπτωση αυτή κρατάµε την ίδια αντικειµενική συνάρτηση και τους περιορισµούς xe = 2, ( i N ). e δ ({ i}) Ακόµα, αν S είναι ένα µη κενό γνήσιο υποσύνολο του N, πρέπει να υπάρχουν τουλάχιστο δύο ακµές που να ενώνουν το S µε το N \ S και έτσι έχουµε : xe 2, ( S N, S, N ). S e δ ({ }) Έτσι η εναλλακτική µοντελοποίηση του προβλήµατος του πλανόδιου πωλητή είναι η παρακάτω: υπό τους περιορισµούς min e E cx e e xe = 2, ( i N ) e δ ({ i}) e δ xe 2, ( S N, S, N ), S ({ }) { } xe 0,, ( e Ε ). Η µοντελοποίηση αυτή θα αναφέρεται ως µοντελοποίηση των τοµών κατ αναλογία µε το πρόβληµα του ελάχιστου συνεκτικού δένδρου. Μοντέλο 6 : Το πρόβληµα της τέλειας αντιστοίχησης - 33 -

Έχουµε έναν άρτιο αριθµό n ατόµων που χρειάζεται να αντιστοιχηθούν σε ζεύγη ώστε να εκτελέσουν µια συγκεκριµένη εργασία. Αν το άτοµο i ταιριάξει µε το άτοµο j υπάρχει ένα κόστος c ij. Τα ζευγάρια γίνονται έτσι ώστε κάθε άτοµο να αντιστοιχεί µε ακριβώς ένα άλλο άτοµο. Ο στόχος είναι να βρούµε ένα ταίριασµα που να ελαχιστοποιεί το συνολικό κόστος. Αναπαριστάνουµε το σύνολο των ανθρώπων µε ένα µη κατευθυνόµενο γράφηµα G=( N, Ee) όπου Ν είναι το σύνολο των ατόµων, και το κόστος της ακµής e= {i, j} είναι c e. Αν {, i j} Eeαυτό δείχνει ότι τα i και j δεν µπορούν να ταιριάξουν σε ζευγάρι. Για κάθε ακµή e= {i, j} εισάγουµε τη µεταβλητή x e ώστε x, αν τα άτοµα i, j ταιριάξουν (αντιστοιχηθούν) = x = 0, διαφορετικά {, i j} e Τότε το πρόβληµα της πλήρους αντιστοίχησης µπορεί να µοντελοποιηθεί µαθηµατικά ως εξής: υπό τους περιορισµούς min e E cx e e xe =, ( i N ), e δ ({ i}) { } xe 0,, ( e Ε ). Μοντέλο 7: Το πρόβληµα επιλογής τοποθεσίας εγκαταστάσεων Υποθέτουµε ότι µας δίνονται n πιθανές τοποθεσίες παροχής υπηρεσιών και µια λίστα από m πελάτες οι οποίοι πρέπει να εξυπηρετηθούν από αυτές τις τοποθεσίες. Υπάρχει ένα σταθερό κόστος c j για την εγκατάσταση µιας υπηρεσίας στην τοποθεσία j. Επίσης υπάρχει ένα κόστος d ij για την εξυπηρέτηση του πελάτη i από την τοποθεσία j. Ο στόχος είναι να επιλέξουµε ένα σύνολο τοποθεσιών για την εγκατάσταση υπηρεσιών και να αναθέσουµε κάθε πελάτη σε µία υπηρεσία, ελαχιστοποιώντας το συνολικό κόστος. Προκειµένου να µοντελοποιήσουµε αυτό το πρόβληµα ορίζουµε µία δυαδική µεταβλητή απόφασης y j για κάθε τοποθεσία j µε, αν η j τοποθεσία επιλεγεί για την εγκατάσταση υπηρεσίας yj = 0, διαφορετικά - 34 -

Επιπροσθέτως ορίζουµε δυαδικές µεταβλητές x ij µε, αν ο πελάτης i, ανατεθεί στην τοποθεσία j xij = 0, διαφορετικά. Το πρόβληµα της επιλογής τοποθεσιών εγκατάστασης και ανάθεσης πελατών τυποποιείται έτσι ως ακολούθως: min n m n j= i= j= n j= cy + j j ij ij xij =, ( i=,2,..., m) xij yj, ( i =,2,..., m j=,2,..., n) { } d x xij, yj 0,, ( i =,2,..., m j=,2,..., n) Εδώ ο επιβαλλόµενος περιορισµός x ij y j µοντελοποιεί το γεγονός ότι αν δεν υπάρχει υπηρεσία στην τοποθεσία j (y j =0 ) τότε κάθε πελάτης i δεν µπορεί να εξυπηρετηθεί από αυτήν την τοποθεσία (και έτσι πρέπει να έχουµε x ij = 0 για όλα τα i). Η µοντελοποίηση αυτή θα αναφέρεται ως τυπική µοντελοποίηση του προβλήµατος επιλογής τοποθεσίας εγκαταστάσεων. Μια ισοδύναµη µοντελοποίηση προκύπτει αν για κάθε τοποθεσία j αντικαταστήσουµε τους περιορισµούς µε τον περιορισµό x y ( i =,2,..., m j=,2,..., n) ij j, m i= x ij my Έτσι έχουµε την εναλλακτική µοντελοποίηση: min j= i= j= j= m i= n m n n cy j j + { } d x ij ij j. xij =, ( i=,2,..., m), xij myj, ( j=,2,..., n), xij, yj 0,, ( i=,2,..., m j=,2,..., n). που αναφέρεται ως αθροιστική µοντελοποίηση του προβλήµατος επιλογής τοποθεσίας εγκαταστάσεων. - 35 -

ΚΕΦΑΛΑΙΟ 3 ΣΥΓΚΡΙΣΗ ΕΝΑΛΛΑΚΤΙΚΩΝ ΜΟΝΤΕΛΟΠΟΙΗΣΕΩΝ ΙΣΧΥΡΕΣ ΜΟΝΤΕΛΟΠΟΙΗΣΕΙΣ Στο γραµµικό προγραµµατισµό µια µοντελοποίηση είναι «καλή» όταν έχει όσο το δυνατόν µικρότερους αριθµούς n, m µεταβλητών και περιορισµών αντίστοιχα, επειδή η υπολογιστική πολυπλοκότητα του προβλήµατος αυξάνει πολυωνυµικά όσον αφορά τα n και m. Επιπρόσθετα, µε δεδοµένη την ύπαρξη διαφόρων αποτελεσµατικών αλγορίθµων για τον γραµµικό προγραµµατισµό, η επιλογή µιας µοντελοποίησης, παρόλο που είναι σηµαντική, δεν επηρεάζει κρίσιµα την δυνατότητά µας να λύσουµε το πρόβληµα. Η κατάσταση στον ακέραιο προγραµµατισµό είναι εντελώς διαφορετική. Εκτεταµένη υπολογιστική εµπειρία αποδεικνύει ότι η επιλογή µοντελοποίησης είναι πολύ σηµαντική. Σε αυτήν την παράγραφο θα δοθούν κατευθυντήριες οδηγίες για να φτάσουµε σε ισχυρές («καλές») µοντελοποιήσεις ακέραιου προγραµµατισµού χρησιµοποιώντας την έννοια της «χαλάρωσης» προβληµάτων γραµµικού προγραµµατισµού. Ορισµός 3. Έστω ένα πρόβληµα µεικτού ακεραίου προγραµµατισµού : υπό τους περιορισµούς min c'x+ d'y Αx+ By= b xy, 0 x ακέραιος. Η χαλάρωση γραµµικού προγραµµατισµού ορίζεται ως το πρόβληµα: υπό τους περιορισµούς min cx ' + dy ' Αx+ By= b xy, 0, - 36 -

όπου η απαίτηση το x να είναι ένα διάνυσµα ακεραίων, έχει αγνοηθεί («χαλαρωθεί»). Αν στο αρχικό πρόβληµα οι ακέραιες µεταβλητές χαλάρωση του γραµµικού προγραµµατισµού, οι µεταξύ 0 και. x j είναι δυαδικές, τότε στην x j παίρνουν πραγµατικές τιµές Επισηµαίνουµε ότι αν µια βέλτιστη λύση του «χαλαρωµένου» προβλήµατος είναι εφικτή για το αρχικό µεικτό ακέραιο πρόβληµα, είναι επίσης µια βέλτιστη λύση και για το τελευταίο. Παράδειγµα 3. (Το πρόβληµα επιλογής τοποθεσίας εγκαταστάσεων). Στο µοντέλο 7 παρουσιάσαµε δύο µοντελοποιήσεις ακέραιου προγραµµατισµού στο πρόβληµα επιλογής τοποθεσίας εγκαταστάσεων. Ας εξετάσουµε την αθροιστική µοντελοποίηση του προβλήµατος επιλογής τοποθεσίας εγκαταστάσεων (Aggregate Facility Location - AFL)): min n m n cy + j j ij ij j= i= j= d x υπό τους περιορισµούς n j= m xij = ( i=,2,..., m) x ij my j, i= xij, yj i = m { } ( j =,2,..., n) 0, (,2,...,, j =,2,..., n). Παρατηρούµε ότι ο περιορισµός m xij myj αναγκάζει τα ij i= - 37 - x να είναι 0 για όλα τα i, όταν y j = 0, αλλά επιτρέπει τα x ij να είναι αν τo y j =. Έτσι αυτός ο περιορισµός είναι αντίστοιχος µε τους περιορισµούς xij yj i =,2..., m, στην αρχική τυπική µοντελοποίηση. Για αυτόν το λόγο, το σύνολο εφικτών λύσεων και το βέλτιστο κόστος είναι το ίδιο και στις δύο µοντελοποιήσεις. Παρατηρούµε παρόλα αυτά, ότι η αθροιστική µοντελοποίηση (AFL) έχει m+n περιορισµούς, ενώ η τυπική µοντελοποίηση (FL) του µοντέλου 7 έχει m+mn. Για να συγκρίνουµε τις δύο µοντελοποιήσεις, ας θεωρήσουµε τις αντίστοιχες χαλαρώσεις γραµµικού προγραµµατισµού, στις οποίες αντικαθιστούµε τους

περιορισµούς ij, { 0,} j x y µε 0 x, 0 y. ij ij Έτσι ορίζονται τα παρακάτω πολύεδρα, που είναι τα εφικτά σύνολα των δύο χαλαρώσεων που αντιστοιχούν στις FL και AFL µοντελοποιήσεις αντίστοιχα : n PFL = ( x,y) xij =, ( i =,2,..., m) j= xij yj, ( i =,2,..., m, j =,2,..., n) 0 xij, 0 yij, = ( ) =, ( =,2,..., ), i= n PAFL x,y xij i m m i= xij myj, ( j =,2,..., n) 0 xij, 0 yij. Είναι προφανές ότι PFL PAFL και η σχέση αυτή είναι αυστηρή (βλέπε παρακάτω σχήµα). Με άλλα λόγια, το σύνολο των εφικτών λύσεων της αρχικής µοντελοποίησης FL του µοντέλου 7 είναι πιο κοντά στο σύνολο των ακεραίων λύσεων, από ότι το σύνολο των εφικτών λύσεων της χαλάρωσης AFL. Αυτό δείχνει ότι η µοντελοποίηση FL είναι καλύτερη από την AFL όπως θα αναλυθεί και διεξοδικότερα παρακάτω. P AFL P FL C B A Σύγκριση λύσεων AFL και FL µοντέλου Τα δύο πολύεδρα P AFL και P FL περιέχουν ακριβώς το ίδιο σύνολο ακεραίων λύσεων - 38 -

Έστω Ζ IP το βέλτιστο κόστος του προβλήµατος ακέραιου προγραµµατισµού, Ζ FL και Ζ AFL τα βέλτιστα κόστη των δύο χαλαρώσεων γραµµικού προγραµµατισµού που είδαµε παραπάνω. Επειδή PFL PAFL, έχουµε και ZAFL ZFL καθώς και ZFL ZIP, καθότι µια βέλτιστη λύση στο πρόβληµα ακεραίου προγραµµατισµού (π.α.π.) ανήκει στο P FL. Συνοψίζοντας : ZAFL ZFL ZIP. Παρακάτω συζητάµε τις συνέπειες αυτής της διάταξης. Πολλές µέθοδοι για να επιλύσουµε προβλήµατα ελαχιστοποίησης ακέραιου προγραµµατισµού εξαρτώνται από την διαθεσιµότητα κάτω φραγµάτων όπως του Z FL. Όσο πιο οξύ είναι το φράγµα, δηλ. όσο πιο κοντά είναι στο Z IP τόσο καλύτερα συµπεριφέρονται αυτές οι µέθοδοι. Ας θεωρήσουµε για παράδειγµα µια αντικειµενική συνάρτηση σαν αυτήν που απεικονίζουµε στο παραπάνω σχήµα. Για αυτήν την αντικειµενική συνάρτηση η βέλτιστη λύση επάνω στο πολύεδρο P FL αντιστοιχεί στο σηµείο Α στο σχήµα και είναι ακέραια. Με την προηγούµενη συλλογιστική, η λύση Α είναι και η βέλτιστη λύση του π.α.π.. Έτσι σε αυτήν την περίπτωση έχουµε λύσει το π.α.π., λύνοντας απλώς ένα π.γ.π.. Επιπρόσθετα, για την ίδια αντικειµενική συνάρτηση, η βέλτιστη λύση επάνω στο πολύεδρο PAFL είναι το σηµείο Β το οποίο είναι κλασµατικό. Έτσι η αρχική µοντελοποίηση του µοντέλου 7 προτιµάται από την AFL παρά το γεγονός ότι η τελευταία έχει πολύ λιγότερους περιορισµούς. Η FL είναι εποµένως καλύτερη της AFL. Τώρα τίθεται το γενικότερο ερώτηµα, ποια είναι (εφόσον υπάρχει) η µοντελοποίηση που υπερέχει έναντι όλων, δηλαδή ποια είναι η ιδανική µοντελοποίηση ενός π.α.π. ; Έστω T = { x,..., xk} το σύνολο των εφικτών ακεραίων λύσεων σε ένα συγκεκριµένο π.α.π.. Υποθέτουµε ότι αυτό είναι φραγµένο και έτσι το Τ είναι πεπερασµένο. Η κυρτή θήκη ή κάλυµµα (convex hull CH(T) ) του Τ είναι το σύνολο: k k CH( T) = λixi λi=, λi 0, x i T, i= i= - 39 -