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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στο Γραμμικό Προγραμματισμό. Χειμερινό Εξάμηνο

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

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

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

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

Εισαγωγή στο Γραμμικό Προγραμματισμό. Χειμερινό Εξάμηνο

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

Κεφάλαιο 4: Επιλογή σημείου παραγωγής

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

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

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

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

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

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

Κεφάλαιο 4: Επιλογή σημείου παραγωγής

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

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

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

12. ΑΝΙΣΩΣΕΙΣ Α ΒΑΘΜΟΥ. είναι δύο παραστάσεις μιας μεταβλητής x πού παίρνει τιμές στο

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ»

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

Case 10: Ανάλυση Νεκρού Σημείου (Break Even Analysis) με περιορισμούς ΣΕΝΑΡΙΟ

ΚΕΦΑΛΑΙΟ 2 Ο ΕΞΙΣΩΣΕΙΣ-ΑΝΙΣΩΣΕΙΣ

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

Εισαγωγή στο Γραμμικό Προγραμματισμό. Χειμερινό Εξάμηνο

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

Λύσεις θεμάτων Επιχειρησιακής Έρευνας (17/09/2014)

Τμήμα Μηχανικών Πληροφορικής ΤΕ Η μέθοδος Simplex. Γκόγκος Χρήστος ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα. τελευταία ενημέρωση: 19/01/2017

Τμήμα Διοίκησης Επιχειρήσεων

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

ΚΕΦΑΛΑΙΟ 3 Ο 3.2 Η ΕΝΝΟΙΑ ΤΟΥ ΓΡΑΜΜΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΚΑΙ Η. (Σ) όπου α, β, α, β, είναι οι

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

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

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

ΑΛΓΕΒΡΑ Β ΛΥΚΕΙΟΥ Κεφ. 1 - Συστήματα 1

7. Αν υψώσουμε και τα δύο μέλη μιας εξίσωσης στον κύβο (και γενικά σε οποιαδήποτε περιττή δύναμη), τότε προκύπτει

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

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

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

Αναζητάμε το εβδομαδιαίο πρόγραμμα παραγωγής που θα μεγιστοποιήσει 1/20

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

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

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

Το Πρόβλημα Μεταφοράς

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

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

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

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

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

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

Πολυωνυμικές εξισώσεις και ανισώσεις Εξισώσεις και ανισώσεις που ανάγονται σε πολυωνυμικές

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

2.3 Πολυωνυμικές Εξισώσεις

Να επιλύουμε και να διερευνούμε γραμμικά συστήματα. Να ορίζουμε την έννοια του συμβιβαστού και ομογενούς συστήματος.

I. ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ. math-gr

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

(Γραμμικές) Αναδρομικές Σχέσεις


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

(Γραμμικές) Αναδρομικές Σχέσεις

2.4 Μια Πρώτη Προσέγγιση στην Ανάλυση Ευαισθησίας

ΠΑΡΑΔΕΙΓΜΑΤΑ ΘΕΜΑ Β. 2x 1. είναι Τότε έχουμε: » τον χρησιμοποιούμε κυρίως σε θεωρητικές ασκήσεις.

(Γραμμικές) Αναδρομικές Σχέσεις

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 5 o Φροντιστήριο

2ογελ ΣΥΚΕΩΝ 2ογελ ΣΥΚΕΩΝ ΠΟΛΥΩΝΥΜΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ Β Λυκει(ου ΠΟΛΥΩΝΥΜΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ

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

II. Συναρτήσεις. math-gr

ΑΣΚΗΣΕΙΣ ΣΤΙΣ ΣΥΝΑΡΤΗΣΕΙΣ. Να εξετάσετε αν είναι ίσες οι συναρτήσεις f, g όταν: x x 2 x x. x x g x. ln x ln x 1 και

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) +

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

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

1.1 ΓΡΑΜΜΙΚΑ ΣΥΣΤΗΜΑΤΑ

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

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

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

1.2 Εξισώσεις 1 ου Βαθμού

Λυμένες ασκήσεις στα πλαίσια του μαθήματος «Διοίκηση Εφοδιαστικής Αλυσίδας»

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

ΕΡΓΑΣΙΕΣ 4 ου ΚΕΦΑΛΑΙΟΥ. 1 η Ομάδα: Ερωτήσεις πολλαπλής επιλογής

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

Εισαγωγή στην επιστήμη των υπολογιστών

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

Περιεχόμενα. 1. Ανάλυση ευαισθησίας. (1) Ανάλυση ευαισθησίας (2) Δυϊκό πρόβλημα (κανονική μορφή) (3) Δυαδικός προγραμματισμός (4) Ανάλυση αποφάσεων

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

Case 08: Επιλογή Διαφημιστικών Μέσων Ι ΣΕΝΑΡΙΟ (1)

Παραδείγματα Ιδιοτιμές Ιδιοδιανύσματα

ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΙΚΑ Β ΓΥΜΝΑΣΙΟΥ. ΜΕΡΟΣ 1ο ΑΛΓΕΒΡΑ

Transcript:

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

Γραφική επίλυση Η γραφική μέθοδος επίλυσης μπορεί να χρησιμοποιηθεί μόνο για πολύ μικρά προβλήματα με δύο ή το πολύ τρεις μεταβλητές απόφασης. Η γραφική επίλυση ενός προβλήματος ακέραιου γραμμικού προγραμματισμού με δύο μεταβλητές είναι σχεδόν παρόμοια με τη γραφική επίλυση ενός απλού προβλήματος γραμμικού προγραμματισμού και περιλαμβάνει τα ακόλουθα βήματα: Αρχικά δημιουργείται η γραφική αναπαράσταση της περιοχής των εφικτών λύσεων για το χαλαρό πρόβλημα γραμμικού προγραμματισμού. Κατόπιν οι εφικτές ακέραιες λύσεις σημειώνονται με έντονες κουκίδες. Στη συνέχεια προσδιορίζεται το σημείο με ακέραιες συντεταγμένες που βελτιστοποιεί την αντικειμενική συνάρτηση. 2

Παράδειγμα 6.1 Μία βιομηχανική επιχείρηση διαθέτει τρεις μηχανές που χρησιμοποιούνται για την ικανοποίηση της υπάρχουσας ζήτησης. Επειδή οι μηχανές έχουν κάποιο χρόνο που δεν χρησιμοποιούνται, υπάρχει η σκέψη για εισαγωγή δύο νέων προϊόντων. Ο παρακάτω πίνακας δίνει το χρόνο επεξεργασίας σε ώρες που απαιτείται για κάθε ένα από τα δύο προϊόντα σε κάθε μια από τις τρεις μηχανές. Προϊόν 1 Προϊόν 2 Μηχανή 1 1 0 Μηχανή 2 0 2 Μηχανή 3 3 2 Ο διαθέσιμος εβδομαδιαίος χρόνος είναι 4 ώρες για την πρώτη μηχανή, 10 για τη δεύτερη και 18 για την τρίτη. Εάν η φύση των δύο προϊόντων είναι τέτοια που μπορούν να πάρουν μόνο ακέραιες τιμές και το κέρδος είναι 3 ανά τεμάχιο για το πρώτο και 5 ανά τεμάχιο για το δεύτερο, να βρεθεί το βέλτιστο ύψος παραγωγής που θα μεγιστοποιήσει τα κέρδη της επιχείρησης. 3

Λύση: Παράδειγμα 6.1 Ορίζουμε ακέραιες μεταβλητές απόφασης x i (i = 1,2), όπου x i = αριθμός προϊόντων i που θα παραχθούν. Με αυτά τα δεδομένα, το πρόβλημα μορφοποιείται ως εξής: Max 3x 1 + 5x 2 s.t. x 1 < 4 2x 2 < 10 3x 1 + 2x 2 < 18 2 x Z Για να λύσουμε το πρόβλημα αυτό με τη γραφική μέθοδο, χρησιμοποιούμε ένα ορθογώνιο σύστημα συντεταγμένων, όπου ο οριζόντιος άξονας αντιστοιχεί στη μεταβλητή x 1 και ο κατακόρυφος άξονας στη μεταβλητή x 2. 4

Λύση: Παράδειγμα 6.1 Στο παρακάτω σχήμα φαίνεται το σύνολο S των εφικτών λύσεων της γραμμικής χαλάρωσης του προβλήματος που είναι το convex hull των σημείων (0,0), (4,0), (0,5), x 1 και x 2. Το σημείο x 1 βρίσκεται ως το σημείο τομής των ευθειών 3x 1 + 2x 2 = 18 και x 2 = 5 και είναι το (8/3,5), ενώ το σημείο x 2 βρίσκεται ως το σημείο τομής των ευθειών 3x 1 + 2x 2 = 18 και x 1 = 4 και είναι το (4,3). Το σύνολο των εφικτών λύσεων του ακέραιου προβλήματος αποτελείται από όλα τα ακέραια σημεία που ανήκουν στο S, τα οποία απεικονίζονται στο παρακάτω σχήμα με μαύρες κουκκίδες. Η φορά του διανύσματος (3,5) μας υποδεικνύει την κατεύθυνση προς την οποία αυξάνεται η τιμή της αντικειμενικής συνάρτησης. Η βέλτιστη λύση του ακεραίου προβλήματος είναι (x 1, x 2 ) = (2,5) με τιμή για την αντικειμενική συνάρτηση ίση με 31. x 2 x 1 = 4 5 x 1 x 2 = 5 x 2 Z S 4 3x 1 + 2x 2 = 18 x 1 5

Η μέθοδος επίλυσης branch and bound Όπως και με τον γραμμικό προγραμματισμό, έτσι και με τον ακέραιο, η γραφική μέθοδος επίλυσης είναι ακατάλληλη για προβλήματα που περιέχουν τρεις ή περισσότερες μεταβλητές. Επομένως, παρουσιάζεται η ανάγκη ανάπτυξης άλλων μεθόδων επίλυσης. Η μέθοδος branch and bound αποτελεί τον πλέον αποτελεσματικό τρόπο επίλυσης για προβλήματα ακέραιου γραμμικού προγραμματισμού. Η μέθοδος αυτή χωρίζει το σύνολο των επιτρεπτών λύσεων για ένα συγκεκριμένο πρόβλημα ακέραιου γραμμικού προγραμματισμού σε μικρότερα υποσύνολα (διαχωρισμός). Κατόπιν, διαφορετικοί κανόνες χρησιμοποιούνται 1) για να προσδιορισθούν τα υποσύνολα εντός των οποίων είναι περισσότερο πιθανό να περιέχεται η βέλτιστη λύση και 2) για να προσδιορισθούν τα υποσύνολα που δεν χρειάζεται να διερευνηθούν επιπλέον διότι δεν περιέχουν πιθανώς την βέλτιστη λύση. Για πρόβλημα μεγιστοποίησης, ένα άνω φράγμα για τη τιμή της βέλτιστης λύσης σε κάθε υποσύνολο επιτυγχάνεται μέσω της λύσης ενός χαλαρού γραμμικού προβλήματος. Κάθε φορά που η λύση του χαλαρού γραμμικού προβλήματος οδηγεί σε μια ακέραια λύση, προσδιορίζεται η βέλτιστη λύση στο υποσύνολο και καθορίζεται ένα κάτω φράγμα για το αντίστοιχο υποσύνολο. Στην ενότητα αυτή θα δειχθεί πώς η μέθοδος branch and bound χρησιμοποιείται για την επίλυση προβλημάτων ακέραιου γραμμικού προγραμματισμού μέσω της επίλυσης του ολικού ακέραιου προβλήματος της εταιρείας ΑΕΑ (παράδειγμα 3.4). 6

Η μέθοδος επίλυσης branch and bound Η Ιδιότητα 1 του Κεφαλαίου 5 δηλώνει ότι ένα άνω φράγμα της βέλτιστης τιμής οποιουδήποτε προβλήματος μεγιστοποίησης ακέραιου ή μεικτού ακέραιου προγραμματισμού μπορεί να βρεθεί λύνοντας το αντίστοιχο χαλαρό πρόβλημα. Η ιδιότητα αυτή επαληθεύεται και στο πρόβλημα του Παραδείγματος 3.4. Η βέλτιστη λύση του γραμμικού προβλήματος που δίνει την υψηλότερη τιμή στην αντικειμενική συνάρτηση είναι η (2.44, 3.26) με τιμή 14.66 $. Η βέλτιστη λύση του ακέραιου γραμμικού προβλήματος είναι η (4,2) που αποδίδει χαμηλότερη τιμή στην αντικειμενική συνάρτηση, την τιμή 14.00 $. Όπως θα επισημανθεί παρακάτω, η Ιδιότητα 1 χρησιμοποιείται εκτενέστατα στην διαδικασία επίλυσης διακλάδωσης και φράγματος (branch and bound) των ακέραιων προβλημάτων. Η μέθοδος branch and bound ξεκινά λύνοντας το αντίστοιχο χαλαρό πρόβλημα του ακέραιου γραμμικού προγραμματισμού. Ξαναδιατυπώνουμε το χαλαρό γραμμικό πρόβλημα για την εταιρεία ΑΕΑ. Max 2x 1 + 3x 2 s.t. 195x 1 + 273x 2 < 1365 4x 1 + 40x 2 <140 x 1 < 4 x 1, x 2 > 0 7

Η μέθοδος επίλυσης branch and bound Η λύση είναι x 1 = 2.44 και x 2 = 3.26 με τιμή αντικειμενικής συνάρτησης ίση με 14.66. Αν η λύση του χαλαρού προβλήματος ικανοποιούσε τις ακέραιες απαιτήσεις τότε αυτή θα ήταν βέλτιστη και για το ακέραιο πρόβλημα. Επειδή αυτό δεν συμβαίνει, συνεχίζουμε με τη μέθοδο branch and bound. Λόγω της Ιδιότητας 1 έχουμε ένα άνω φράγμα για τη βέλτιστη τιμή του ακέραιου γραμμικού προβλήματος. Δηλαδή γνωρίζουμε ότι η βέλτιστη τιμή της αντικειμενικής συνάρτησης του ακέραιου προβλήματος δεν μπορεί να υπερβεί την τιμή 14.66. Λόγω του ότι οι συντελεστές όλων των μεταβλητών στους περιορισμούς είναι θετικοί και λόγω του ότι οι περιορισμοί είναι όλοι ανισώσεις του είδους < μια εφικτή λύση μπορεί να βρεθεί με τη στρογγυλοποίηση προς τα κάτω κάθε μεταβλητής απόφασης. Αυτό συμβαίνει επειδή στρογγυλοποιώντας προς τα κάτω ελαττώνουμε το αριστερό μέλος της ανισότητας, επομένως έχουμε μια επιτρεπτή λύση. Η επιτρεπτή λύση που προκύπτει από τη στρογγυλοποίηση προς τα κάτω είναι η x 1 = 2 και x 3 =3 και δίνει τιμή αντικειμενικής συνάρτησης ίση με 13. Η τιμή αυτή της επιτρεπτής λύσης μας παρέχει ένα κάτω φράγμα για την τιμή της βέλτιστης λύσης του ακέραιου προβλήματος. Κι αυτό γιατί γνωρίζουμε ότι, για πρόβλημα μεγιστοποίησης, η βέλτιστη λύση πρέπει να δίνει μεγαλύτερες ή ίσες τιμές από κάθε επιτρεπτή. Επομένως, ένα κάτω φράγμα, το 13 καθορίζεται. Ο πρώτος κόμβος του δένδρου επίλυσης της μεθόδου branch and bound (Β&Β) εμφανίζεται. Το UB (upper bound) δηλώνει το άνω φράγμα και το LB (lower bound) δηλώνει το κάτω φράγμα στη βέλτιστη τιμή της αντικειμενικής συνάρτησης. 8

Η μέθοδος επίλυσης branch and bound Μέχρι αυτού του σημείου γνωρίζουμε ότι η τιμή της βέλτιστης λύσης βρίσκεται μεταξύ του άνω φράγματος (14.66) και του κάτω φράγματος (13). Αν και έχουμε βρει μια επιτρεπτή λύση πρέπει να συνεχίσουμε για να ελέγξουμε αν μια καλύτερη μπορεί να βρεθεί. Στο σημείο αυτό εμφανίζεται το τμήμα του διαχωρισμού (διακλάδωσης) της μεθόδου branch and bound. Το σύνολο των επιτρεπτών λύσεων του χαλαρού γραμμικού προβλήματος διαχωρίζεται σε δύο υποσύνολα. Αυτά τα υποσύνολα δημιουργούνται ως εξής: επιλέγοντας την x 1 (= 2.44) το τμήμα 2 < x 1 < 3 του χώρου των επιτρεπτών λύσεων δεν περιέχει ακέραιες τιμές για τη μεταβλητή x 1. Αυτό οδηγεί στη δημιουργία δύο υποσυνόλων. Στο υποσύνολο όπου η x 1 < 2 και στο υποσύνολο όπου η x 1 > 3. Επομένως, δύο κλάδοι και δύο θυγατρικοί κόμβοι δημιουργούνται για το δένδρο επίλυσης της Β&Β. Ο ένας θυγατρικός κόμβος αντιστοιχεί στο υποσύνολο με επιτρεπτές λύσεις όπου x 1 < 2. Ο άλλος κόμβος αντιστοιχεί στο υποσύνολο με επιτρεπτές λύσεις όπου x 1 > 3. Λόγω του ότι η x 1 επιβάλλεται να είναι ακέραια, η βέλτιστη λύση θα περιέχεται υποχρεωτικά σε ένα από αυτά τα δύο υποσύνολα. 9

Η μέθοδος επίλυσης branch and bound Ο πρώτος κλάδος δημιουργείται με την προσθήκη του περιορισμού x 1 < 2 στο αρχικό πρόβλημα. Αριθμούμε τον κόμβο αυτόν με το νούμερο 2. Έτσι στον κόμβο 2 το χαλαρό γραμμικό πρόβλημα που επιλύεται είναι το εξής: χαλαρό γραμμικό πρόβλημα στον κόμβο 2: Max 2x 1 + 3x 2 s.t. 195x 1 + 273x 2 < 1365 4x 1 + 40x 2 <140 x 1 < 4 x 1 < 2 x 1, x 2 > 0 Σημειωτέον ότι ο προστεθείς περιορισμός (x 1 < 2) καθιστά τον περιορισμό x 1 < 4 περιττό. Αυτό είναι μια απλή σύμπτωση και δεν συμβαίνει πάντα. Η λύση σε αυτό το γραμμικό πρόβλημα είναι x 1 = 2 και x 2 = 3.30 και δίνει τιμή αντικειμενικής συνάρτησης ίση με 13.90. 10

Η μέθοδος επίλυσης branch and bound Ο δεύτερος κλάδος από τον κόμβο 1 δημιουργείται με τη προσθήκη του περιορισμού x 1 > 3 στο αρχικό πρόβλημα. Έτσι, στον κόμβο 3 επιλύεται το ακόλουθο χαλαρό γραμμικό πρόβλημα: χαλαρό γραμμικό πρόβλημα στον κόμβο 3: Max 2x 1 + 3x 2 s.t. 195x 1 + 273x 2 < 1365 4x 1 + 40x 2 <140 x 1 < 4 x 1 > 3 x 1, x 2 > 0 Η λύση σε αυτό το γραμμικό πρόβλημα είναι x 1 = 3 και x 2 = 2.86 και δίνει τιμή αντικειμενικής συνάρτησης ίση με 14.58. 11

Η μέθοδος επίλυσης branch and bound Από την ιδιότητα 1 γνωρίζουμε ότι η τιμή του χαλαρού γραμμικού προβλήματος (ΧΓΠ) στον κόμβο 2 είναι ένα άνω φράγμα για όλες τις λύσεις που θα βρεθούν στο αντίστοιχο υποδέντρο που ξεκινά από αυτόν τον κόμβο και η τιμή του χαλαρού γραμμικού προβλήματος στον κόμβο 3 είναι ένα άνω φράγμα για όλες τις λύσεις που θα βρεθούν στο αντίστοιχο υποδέντρο που ξεκινά από αυτόν τον κόμβο. Εφ' όσον τα δύο αυτά υποσύνολα περιέχουν όλες τις λύσεις στο πρόβλημα ΑΕΑ μπορούμε να υπολογίσουμε ένα καινούργιο άνω φράγμα. Αυτό είναι το μέγιστο των τιμών των ΧΓΠ στους κόμβους 2 και 3 (= max{13.90, 14.58}). Επομένως, το νέο άνω φράγμα για τη τιμή της αντικειμενική συνάρτησης στο πρόβλημα ΑΕΑ είναι 14.58. Εν γένει, το άνω φράγμα επανυπολογίζεται κάθε φορά που δύο νέοι θυγατρικοί κλάδοι από ένα κόμβο ολοκληρωθούν (λυθούν τα αντίστοιχα ΧΓΠ). Σε αυτή τη φάση το κάτω φράγμα επίσης επαναπροσδιορίζεται. Η νέα τιμή για το κάτω φράγμα είναι η μέγιστη τιμή από όλες τις επιτρεπτές ακέραιες λύσεις που έχουν βρεθεί μέχρι στιγμής. Λόγω του ότι τα ΧΓΠ στους κόμβους 2 και 3 δεν παρήγαγαν ακέραια λύση, το κατώτερο φράγμα (που είναι το 13 και έχει προσδιορισθεί στο κόμβο 1) δεν μεταβάλλεται. Σε αυτό το σημείο της Β&Β επίλυσης έχουμε UB = 14.58 και LB = 13.00 12

Η μέθοδος επίλυσης branch and bound Έχουμε αντιληφθεί (στον κόμβο 2) ότι η τιμή 13.90 είναι ένα άνω φράγμα για όλες τις λύσεις με x 1 < 2 και (στον κόμβο 3) ότι η τιμή 14.58 είναι ένα άνω φράγμα για όλες τις λύσεις με x 1 > 3. Η ιδιότητα 2 δείχνει πως αυτά τα αποτελέσματα μπορούν να χρησιμοποιηθούν στη συνέχιση της διαδικασίας επίλυσης Β&Β. Ιδιότητα 2 Η τιμή της αντικειμενικής συνάρτησης για ένα ΧΓΠ σε κάθε κόμβο ενός προβλήματος μεγιστοποίησης (ελαχιστοποίησης) αποτελεί άνω (κάτω) φράγμα για τα ΧΓΠ σε κάθε θυγατρικό κόμβο (κανένας κόμβος απόγονος δεν δίνει για το ΧΓΠ του τιμή αντικειμενικής συνάρτησης μεγαλύτερη (μικρότερη) από του προγονικού). Χρησιμοποιώντας την ιδιότητα 2 παρατηρούμε ότι στο υποδέντρο που ξεκινά από τον κόμβο 2 δεν μπορούμε να προσδιορίσουμε ακέραια λύση με αντικειμενική τιμή μεγαλύτερη του 13.90. Ομοίως, στο υποδέντρο που ξεκινά από τον κόμβο 3 δεν μπορούμε να προσδιορίσουμε ακέραια λύση με αντικειμενική τιμή μεγαλύτερη του 14.58. Επειδή ο κόμβος 3 μπορεί να οδηγήσει σε καλύτερες λύσεις επιλέγουμε τον κόμβο 3 (αντί του 2) για συνέχιση της διακλάδωσης. 13

Η μέθοδος επίλυσης branch and bound Επειδή η μεταβλητή x 2 είναι η μόνη μεταβλητή με κλασματική τιμή στον κόμβο 3 επιλέγουμε να διακλαδώσουμε πάνω σε αυτή. Έτσι, δύο κλάδοι σχηματίζονται στον κόμβο 3: ένας με x 2 < 2 και ένας με x 2 > 3. Δύο θυγατρικοί κόμβοι δημιουργούνται και επιλύονται τα αντίστοιχα ΧΓΠ στους κόμβους 4 και 5. Χαλαρό γραμμικό πρόβλημα στον κόμβο 4: Max 2x 1 + 3x 2 s.t. 195x 1 + 273x 2 < 1365 4x 1 + 40x 2 <140 x 1 < 4 x 1 > 3 x 2 < 2 x 1, x 2 > 0 Χαλαρό γραμμικό πρόβλημα στον κόμβο 5: Max 2x 1 + 3x 2 s.t. 195x 1 + 273x 2 < 1365 4x 1 + 40x 2 <140 x 1 < 4 x 1 > 3 x 2 > 3 x 1, x 2 > 0 14

Η μέθοδος επίλυσης branch and bound Σημειωτέον ότι λόγω του ότι διακλαδωνόμαστε από τον κλάδο 3 υπάρχει ήδη η απαίτηση x 1 > 3 και στα δύο ΧΓΠ. Μετά την επίλυση αυτών των γραμμικών προβλημάτων μπορούμε να σχεδιάσουμε το δένδρο της Β&Β διαδικασίας. Στον κόμβο 4 που αντιστοιχεί στον πρόσθετο περιορισμό x 2 < 2 βρίσκουμε μια επιτρεπτή ακέραια λύση. Στο κόμβο 5 όμως που αντιστοιχεί στον πρόσθετο περιορισμό x 2 > 3 παρατηρούμε ότι δεν υπάρχει επιτρεπτή λύση. Μέχρι αυτού του σημείου έχουμε προσδιορίσει μια επιτρεπτή λύση (x 1 = 4, x 2 = 2) με τιμή αντικειμενικής συνάρτησης 14.00 (βλέπε κόμβο 4). Έτσι το κατώτερο φράγμα αναθεωρείται και γίνεται LB = 14.00. Από το άνω φράγμα UB = 14.00 γνωρίζουμε ότι η τυχόν βέλτιστη λύση δεν θα δώσει τιμή μεγαλύτερη από 14,00. Επομένως, η λύση x 1 = 4, x 2 = 2 με τιμή αντικειμενικής συνάρτησης 14.00 αποτελεί τη βέλτιστη λύση στο πρόβλημα της ΑΕΑ. Παραθέτουμε τώρα τον κανόνα τερματισμού για την Β&Β διαδικασία επίλυσης. Κριτήριο Τερματισμού Όταν UB = LΒ, η βέλτιστη λύση που έχει προσδιορισθεί είναι η επιτρεπτή λύση με τιμή αντικειμενικής συνάρτησης ίση με LΒ. 15

Τεχνικές προεπεξεργασίας Η προεπεξεργασία είναι μία προσέγγιση που περιλαμβάνει μια αρχική «επιθεώρηση» του προβλήματος με σκοπό να μορφοποιηθεί πάλι το εξεταζόμενο πρόβλημα έτσι ώστε να καταστεί πιο εύκολη η επίλυσή του, χωρίς όμως να εξαλειφθεί καμία από τις εφικτές λύσεις του. Στην πράξη, χρησιμοποιούνται οι εξής τεχνικές: 1. Ορισμός τιμών μεταβλητών 2. Απαλοιφή περιττών περιορισμών 3. Σύσφιξη περιορισμών. 16

Ορισμός τιμών μεταβλητών (fixing variables) Η τεχνική αυτή χρησιμοποιείται κυρίως στον δυαδικό ακέραιο προγραμματισμό, όπου οι μεταβλητές απόφασης παίρνουν τιμές 0-1. Μια γενική αρχή για τον ορισμό τιμών μεταβλητών είναι η ακόλουθη: Εάν η τιμή μιας μεταβλητής δεν μπορεί να ικανοποιήσει έναν περιορισμό, ακόμα και όταν όλες οι άλλες μεταβλητές παίρνουν τις πιο «βολικές» τιμές για να ικανοποιηθεί αυτός ο περιορισμός, τότε η μεταβλητή αυτή πρέπει να πάρει την άλλη δυνατή τιμή της. Για παράδειγμα, σε κάθε μία από τις επόμενες περιπτώσεις, θα μπορούσαμε να θέσουμε τη μεταβλητή x 1 ίση με 0, αφού ο περιορισμός δεν μπορεί να ικανοποιηθεί αλλιώς, ακόμα και όταν όλες οι μεταβλητές παίρνουν τις πιο βολικές τιμές τους: 3x 1 < 2 => x 1 = 0, αφού 3(1) > 2, 3x 1 + x 2 < 2 => x 1 = 0, αφού 3(1) + 1(0) > 2, 5x 1 + x 2-2x 3 < 2 => x 1 = 0, αφού 3(1) + 1(0) -2(1) > 2. 17

Ορισμός τιμών μεταβλητών (fixing variables) Για έναν περιορισμό τύπου <, η γενική διαδικασία είναι η εξής: 1. Αναγνώρισε τη μεταβλητή με το μεγαλύτερο θετικό συντελεστή 2. Υπολόγισε το άθροισμα αυτού του συντελεστή και όλων των αρνητικών συντελεστών 3. Αν αυτό το άθροισμα ξεπερνά το δεξί μέλος του περιορισμού, τότε η τιμή της αντίστοιχης μεταβλητής απόφασης πρέπει να οριστεί σε 0. 4. Επανέλαβε για τη μεταβλητή απόφασης με τον αμέσως μεγαλύτερο συντελεστή. Η τεχνική σταματάει όταν βρεθεί η πρώτη μεταβλητή απόφασης για την οποία η τιμή δεν μπορεί να οριστεί. 18

Ορισμός τιμών μεταβλητών (fixing variables) Παρόμοια διαδικασία μπορεί να εφαρμοστεί και για περιορισμούς τύπου > : 3x 1 > 2 => x 1 = 1, αφού 3(0) < 2, 3x 1 + x 2 > 2 => x 1 = 1, αφού 3(0) + 1(1) < 2, 3x 1 + x 2-2x 3 > 2 => x 1 = 1, αφού 3(0) + 1(1) -2(0) < 2. Επίσης, σε έναν περιορισμό τύπου > μπορεί η τιμή μιας μεταβλητής να οριστεί σε 0, όπως φαίνεται στο ακόλουθο παράδειγμα: x 1 + x 2-2x 3 > 1 => x 3 = 0, αφού 1(1) + 1(1) -2(1) < 2. Στο επόμενο παράδειγμα, η τιμή μιας μεταβλητής σε έναν περιορισμό τύπου > ορίζεται σε 1 και η τιμή μιας άλλης σε 0: 3x 1 + x 2-3x 3 > 2 => x 1 = 1, αφού 3(0) + 1(1) -3(0) < 2 και => x 3 = 0, αφού 3(1) + 1(1) -3(1) < 2. Όμοια, στο επόμενο παράδειγμα, η τιμή μιας μεταβλητής σε έναν περιορισμό τύπου < με αρνητικό δεξί μέλος ορίζεται σε 0 και η τιμή μιας άλλης σε 1: 3x 1-2x 2 < -1 => x 1 = 0, αφού 3(1) - 2(1) > -1 και => x 2 = 1, αφού 3(0) - 2(0) > -1. 19

Ορισμός τιμών μεταβλητών (fixing variables) Ο ορισμός της τιμής μιας μεταβλητής σε έναν περιορισμό, μπορεί μερικές φορές να οδηγήσει μερικές φορές σε μια αλυσιδωτή διαδικασία με τον ορισμό των τιμών μεταβλητών σε άλλους περιορισμούς, όπως φαίνεται στο ακόλουθο παράδειγμα: 3x 1 + x 2-2x 3 > 2 => x 1 = 1 (όπως παραπάνω), στη συνέχεια x 1 + x 4 + x 5 < 1 => x 4 = 0, x 5 = 0, και τέλος -x 5 + x 6 < 0 => x 6 = 0. Σε κάποιες περιπτώσεις, είναι δυνατόν να συνδυαστούν δύο ή περισσότεροι περιορισμοί για τον ορισμό της τιμής μιας μεταβλητής, όπως φαίνεται στο ακόλουθο παράδειγμα: 8x 1-4x 2-5x 3 + 3x 4 < 2 => x 1 = 0, x 2 + x 3 < 1 αφού 8(1) max{4,5}(1) + 3(0) > 2. Φυσικά, εκτός από τις σχετικά απλές τεχνικές που παρουσιάζονται εδώ, υπάρχουν πολλές πιο εξειδικευμένες τεχνικές αλλά αυτές είναι πέρα από το σκοπό του παρόντος συγγράμματος. 20

Απαλοιφή περιττών περιορισμών Ένας απλός τρόπος για την ανίχνευση ενός περιττού περιορισμού είναι ο ακόλουθος: Εάν για οποιοδήποτε συνδυασμό των τιμών των μεταβλητών ενός περιορισμού, ο περιορισμός αυτός δεν μπορεί να παραβιαστεί, τότε είναι περιττός και πρέπει να απαλειφεί. Για παράδειγμα, οι ακόλουθοι περιορισμοί είναι περιττοί αφού δεν υπάρχουν συνδυασμοί τιμών των μεταβλητών απόφασης που να τους παραβιάζουν: 3x + 2y < 5 3x - 2y < 3 3x - 2y > -3. 21

Σύσφιξη περιορισμών (tightening constraints) Έστω το ακόλουθο πρόβλημα: Max Z = 3x 1 + 2x 2 s.t. 2x 1 + 3x 2 < 4 x 1, x 2 δυαδικές Αυτό το ακέραιο δυαδικό πρόβλημα έχει τρεις εφικτές λύσεις (0,0), (1,0) και (0,1), ενώ η βέλτιστη λύση είναι (1,0) με Ζ * = 3. Η βέλτιστη λύση για τη γραμμική χαλάρωση του προβλήματος αυτού φαίνεται στο παρακάτω σχήμα: x 2 1 2 Βέλτιστη λύση για τη γραμμική χαλάρωση 0 1 Βέλτιστη λύση για το ακέραιο πρόβλημα x 1 22

Σύσφιξη περιορισμών (tightening constraints) Η βέλτιστη λύση για τη γραμμική χαλάρωση είναι (1, 2/3) με Ζ * = 13/3, που απέχει αρκετά από τη βέλτιστη λύση του ακέραιου προβλήματος. Ένας αλγόριθμος branch and bound θα χρειαζότανε αρκετή δουλειά για να καταλήξει στη βέλτιστη ακέραια λύση. Έστω ότι ο περιορισμός 2x 1 + 3x 2 < 4 αντικαθίσταται από τον περιορισμό x 1 + x 2 < 1. Παρατηρούμε ότι οι εφικτές λύσεις για το ακέραιο πρόβλημα παραμένουν οι ίδιες (0,0), (1,0) και (0,1), επομένως η βέλτιστη λύση είναι ακόμα (1,0). Όμως, η εφικτή περιοχή για τη γραμμική χαλάρωση έχει μειωθεί σημαντικά, όπως φαίνεται και στο ακόλουθο σχήμα: x 2 1 2 Βέλτιστη λύση και για τη γραμμική χαλάρωση και για το ακέραιο πρόβλημα 0 1 x 1 23

Σύσφιξη περιορισμών (tightening constraints) Η μείωση στην εφικτή περιοχή είναι τέτοια που η βέλτιστη λύση του ακέραιου προβλήματος συμπίπτει με αυτήν της γραμμικής χαλάρωσης, επομένως δε χρειάζεται επιπρόσθετη δουλειά για να βρεθεί. Το παραπάνω είναι ένα παράδειγμα, σύσφιξης ενός περιορισμού με τρόπο που μειώνεται η εφικτή περιοχή για τη γραμμική χαλάρωση (επομένως εξαλείφονται εφικτές λύσεις του ίδιου προβλήματος), χωρίς να μειώνεται το σύνολο των λύσεων του ακέραιου προβλήματος. Φυσικά, για το συγκεκριμένο μικρό και εύκολο πρόβλημα η διαδικασία ήταν απλή. Σε μεγάλα προβλήματα όμως κάτι αντίστοιχο είναι πολύ πιο δύσκολο να γίνει. Η παρακάτω διαδικασία μπορεί να χρησιμοποιηθεί για τη σύσφιξη περιορισμών του τύπου < με οποιοδήποτε αριθμό μεταβλητών: 24

Σύσφιξη περιορισμών (tightening constraints) Διαδικασία σύσφιξης ενός περιορισμού τύπου < : Έστω a 1 x 1 + a 2 x 2 + + a n x n < b ο περιορισμός. 1. Υπολόγισε S = άθροισμα όλων των θετικών a j. 2. Βρες ένα οποιοδήποτε α j τέτοιο ώστε S < b + a j. a. Αν δεν υπάρχει, σταμάτησε, ο περιορισμός δεν μπορεί να συσφιχθεί περισσότερο. b. Αν a j > 0, πήγαινε στο βήμα 3. c. Αν a j < 0, πήγαινε στο βήμα 4. 3. Υπολόγισε a j = S b και b = S a j. Θέσε a j = a j και b = b. Πήγαινε στο βήμα 1. 4. Θέσε a j = b S. Πήγαινε στο βήμα 1. 25

Σύσφιξη περιορισμών (tightening constraints) Η διαδικασία αυτή εφαρμόζεται στο παραπάνω παράδειγμα ως εξής: Ο περιορισμός είναι 2x 1 + 3x 2 < 4 (a 1 = 2, a 2 = 3, b = 4). 1. S = 2 + 3 = 5 2. Ο συντελεστής a 1 ικανοποιεί S < b + a 1, αφού 5 < 4 + 2. 3. a 1 = 5 4 = 1 και b = 5 2 = 3. Θέτουμε a 1 = 1 και b = 3. Ο νέος περιορισμός είναι x 1 + 3x 2 < 3 (a 1 = 1, a 2 = 3, b = 3). 1. S = 1 + 3 = 4 2. Ο συντελεστής a 2 ικανοποιεί S < b + a 1, αφού 4 < 3 + 3. 3. a 2 = 4 3 = 1 καιb = 4 3 = 1. Θέτουμε a 2 = 1 και b = 1. Ο νέος περιορισμός είναι x 1 + x 2 < 1 (a 1 = 1, a 2 = 1, b = 1). 1. S = 1 + 1 = 2 Δεν υπάρχει συντελεστής που να ικανοποιεί τη συνθήκη, επομένως η διαδικασία σύσφιξης έχει ολοκληρωθεί. Ο τελικός περιορισμός είναι x 1 + x 2 < 1. 26

Σύσφιξη περιορισμών (tightening constraints) Εάν την πρώτη φορά εφαρμογής της διαδικασίας είχε επιλεγεί ο συντελεστής a 2 αντί για το συντελεστή a 1, τότε ο τελικός περιορισμός θα ήταν και πάλι ο ίδιος (δοκιμάστε το και μόνοι σας αν θέλετε). Στο ακόλουθο παράδειγμα, ο αρχικός περιορισμός μετατρέπεται διαδοχικά σε δύο νέους περιορισμούς: 4x 1-3x 2 + x 3 + 2x 4 < 5 => 2x 1-3x 2 + x 3 + 2x 4 < 3 => 2x 1-2x 2 + x 3 + 2x 4 < 3. Ένας περιορισμός του τύπου > μπορεί εύκολα να μετατραπεί σε περιορισμό τύπου < πολλαπλασιάζοντας και τα δύο μέλη με -1 και στη συνέχεια να εφαρμοστεί η παραπάνω διαδικασία. 27

Επίπεδες Τομές (Cutting Planes) Μία επίπεδη τομή για ένα πρόβλημα ακέραιου προγραμματισμού είναι ένας νέος λειτουργικός περιορισμός που μειώνει την περιοχή εφικτών λύσεων της γραμμικής χαλάρωσης του προβλήματος, χωρίς να αφαιρεί καμία από τις λύσεις του αρχικού ακέραιου προβλήματος. Το παράδειγμα της προηγούμενης ενότητας παρουσιάζει μία περίπτωση εφαρμογής μιας επίπεδης τομής. Έτσι, ο περιορισμός x 1 + x 2 < 1 είναι μια επίπεδη τομή για το αρχικό ακέραιο πρόβλημα, αφού μειώνει την περιοχή εφικτών λύσεων της γραμμικής χαλάρωσης, χωρίς να αφαιρεί καμία από τις λύσεις του αρχικού. Πολλές επιπλέον τεχνικές έχουν επινοηθεί για τη δημιουργία επίπεδων τομών με σκοπό την επιτάχυνση της διαδικασίας branch and bound για την εύρεση της βέλτιστης λύσης. Έστω το παρακάτω πρόβλημα: Max Z = 9x 1 + 5x 2 + 6x 3 + 4x 4 s.t. 6x 1 + 3x 2 + 5x 3 + 2x 4 < 10 x 3 + x 4 < 1 -x 1 + x 3 < 0 -x 2 + x 4 < 0 x i, δυαδική για i = 1,,4 28

Επίπεδες Τομές (Cutting Planes) Η βέλτιστη λύση για τη γραμμική χαλάρωση του προβλήματος αυτού είναι (x 1, x 2, x 3, x 4 ) = (0.83, 1, 0, 1). Ένας από τους λειτουργικούς περιορισμούς είναι 6x 1 + 3x 2 + 5x 3 + 2x 4 < 10. Οι περιορισμοί δυαδικότητας μαζί με τον περιορισμό αυτό υποδηλώνουν ότι x 1 + x 2 + x 4 < 2. Αυτός ο νέος περιορισμός είναι μία επίπεδη τομή. Απαλείφει κάποιες εφικτές λύσεις της γραμμικής χαλάρωσης του προβλήματος και ανάμεσά τους και τη βέλτιστη λύση. Δεν απαλείφει όμως καμία από τις εφικτές λύσεις του ακέραιου προβλήματος. Προσθήκη αυτού του περιορισμού στο αρχικό μοντέλο θα βελτίωνε την απόδοση του branch and bound αλγόριθμου για το ακέραιο πρόβλημα και θα επιτάχυνε σημαντικά την εύρεση της βέλτιστης λύσης. 29

Επίπεδες Τομές (Cutting Planes) Η γενική διαδικασία για τη δημιουργία και προσθήκη τέτοιων επίπεδων τομών είναι η ακόλουθη: 1. Επέλεξε έναν οποιοδήποτε λειτουργικό περιορισμό του τύπου < που έχει μόνο μη αρνητικούς συντελεστές. 2. Βρες ένα σύνολο μεταβλητών (το οποίο ονομάζεται ελάχιστη κάλυψη ή minimum cover του περιορισμού) τέτοιο ώστε: a. Ο περιορισμός παραβιάζεται αν όλες οι μεταβλητές του συνόλου πάρουν την τιμή 1 και όλες οι άλλες μεταβλητές την τιμή 0. b. Ο περιορισμός ικανοποιείται αν οποιαδήποτε από αυτές τις μεταβλητές πάρει την τιμή 0 αντί για την τιμή 1. 3. Έστω Ν ο αριθμός των μεταβλητών του συνόλου. Τότε η επίπεδη τομή που προκύπτει είναι: Άθροισμα των μεταβλητών του συνόλου < Ν-1. 30

Επίπεδες Τομές (Cutting Planes) Εφαρμόζοντας αυτή τη διαδικασία στον περιορισμό 6x 1 + 3x 2 + 5x 3 + 2x 4 < 10, βλέπουμε ότι το σύνολο των μεταβλητών (x 1, x 2, x 4 ) είναι μία ελάχιστη κάλυψη επειδή: a. (1, 1, 0, 1) παραβιάζει τον περιορισμό. b. Ο περιορισμός ικανοποιείται αν οποιαδήποτε από αυτές τις τρεις μεταβλητές πάρει την τιμή 0 αντί για την τιμή 1. Αφού Ν = 3 σε αυτή την περίπτωση, η επίπεδη τομή που προκύπτει είναι x 1 + x 2 + x 4 < 2. Ο ίδιος περιορισμός έχει κι άλλη ελάχιστη κάλυψη, την (x 1, x 3 ), αφού η λύση (1, 0, 1, 0) παραβιάζει τον περιορισμό αλλά οι λύσεις (0, 0, 1, 0) και (1, 0, 0, 0) ικανοποιούν τον περιορισμό. Γι αυτό, μία άλλη επίπεδη τομή είναι x 1 + x 3 < 1. 31

Επίπεδες Τομές (Cutting Planes) Η νέα αλγοριθμική τεχνική που παρουσιάζεται από τους Bixby et al. (1999), Crowder et al. (1983), Hoffman και Padberg (1991), Johnson et al. (1985) και Van Roy and Wolsey (1987) προτείνει τη δημιουργία και προσθήκη πολλών ελάχιστων καλύψεων αρχικά με παρόμοιο τρόπο και μετά την εφαρμογή έξυπνων μεθόδων διακλάδωσης και φραγμού. Η βελτίωση από την επίδραση των επίπεδων τομών μπορεί να είναι πολύ μεγάλη για το σφίξιμο των γραμμικών χαλαρώσεων. Για παράδειγμα, σε ένα πρόβλημα με 2756 δυαδικές μεταβλητές που παρουσιάζεται από τους Crowder et al. (1983), δημιουργήθηκαν 326 επίπεδες τομές. Το αποτέλεσμα είναι ότι το άλμα ανάμεσα στη βέλτιστη τιμή της αντικειμενικής συνάρτησης της γραμμικής χαλάρωσης και αυτήν του αρχικού προβλήματος μειώθηκε κατά 98%. Παρόμοια αποτελέσματα εξήχθησαν σχεδόν για τα μισά από τα προβλήματα που παρουσιάζονται στην ίδια εργασία. 32

Επίπεδες Τομές (Cutting Planes) Οι πολύ αρχικοί αλγόριθμοι που προτάθηκαν για τον ακέραιο προγραμματισμό, ανάμεσά τους και ο αλγόριθμος του Gomory, που προτάθηκε το 1958 βασίζονταν στη δημιουργία (με διαφορετικούς τρόπους) επίπεδων τιμών αλλά αυτή η τεχνική αποδείχθηκε μη ικανοποιητική στην πράξη (εκτός από ειδικές περιπτώσεις). Ο κύριος λόγος ήταν ότι αυτές οι τεχνικές βασίζονταν αποκλειστικά σε επίπεδες τομές. Σήμερα γνωρίζουμε ότι ο έξυπνος συνδυασμός επίπεδων τομών και διακλάδωσης και φραγμού (μαζί με τεχνικές προεπεξεργασίας) παρέχει μία πολύ ισχυρή αλγοριθμική προσέγγιση για την επίλυση μεγάλων προβλημάτων ακέραιου προγραμματισμού. Αυτός είναι ο λόγος που ο όρος branch and cut (διακλάδωση και τομή) χρησιμοποιείται για τέτοιες μεθόδους. 33

Επίπεδες Τομές (Cutting Planes) Παράδειγμα 6.5 Δίνεται το παρακάτω πρόβλημα δυαδικού ακέραιου προγραμματισμού: Max Ζ = 2x 1 + 3x 2 + x 3 + 4x 4 + 3x 5 + 2x 6 + 2x 7 + x 8 + 3x 9 s.t. 3x 2 + x 4 + x 5 > 3 (1) x 1 + x 2 < 1 (2) x 2 + x 4 - x 5 - x 6 < -1 (3) x 2 + 2x 6 + 3x 7 + x 8 + 2x 9 > 4 (4) -x 3 + 2x 5 + x 6 + 2x 7-2x 8 + x 9 < 5 (5) όλες οι μεταβλητές x i δυαδικές Χρησιμοποιείστε μεθόδους προεπεξεργασίας (preprocessing) για να απλοποιήσετε όσο γίνεται τη μορφοποίηση αυτή (καθορισμός τιμών μεταβλητών, απαλοιφή περιττών περιορισμών, σύσφιξη περιορισμών κτλ.). Στη συνέχεια βρείτε τη βέλτιστη λύση με επιθεώρηση ( με το μάτι ). 34

Επίπεδες Τομές (Cutting Planes) Λύση Από (1) x 2 = 1 και ο περιορισμός γίνεται περιττός Από (2) x 1 = 0 Από (3) x 4 = 0, x 5 = x 6 = 1 Ακολουθώντας τη διαδικασία σύσφιξης περιορισμών η (4) γίνεται x 7 + x 8 + x 9 > 1 Ακολουθώντας τη διαδικασία σύσφιξης περιορισμών η (5) γίνεται x 3 + x 7 x 8 + x 9 < 1 Τώρα, το πρόβλημα γίνεται: Max x 3 +2x 7 + x 8 + 3x 9 s.t. x 7 + x 8 + x 9 > 1 x 3 + x 7 x 8 + x 9 < 1 όλες οι μεταβλητές δυαδικές Αφού μεγιστοποιούμε και όλοι οι συντελεστές στην αντικειμενική συνάρτηση είναι θετικοί, δοκιμάζουμε τη λύση x 3 = x 7 = x 8 = x 9 = 1 Η λύση αυτή ικανοποιεί όλους τους περιορισμούς άρα είναι και η βέλτιστη. 35

Επίπεδες Τομές (Cutting Planes) Παράδειγμα 6.6 Έστω ένα πρόβλημα δυαδικού ακέραιου προγραμματισμού με τους ακόλουθους περιορισμούς: 3x 3 x 5 + x 7 < 1 x 2 + x 4 + x 6 < 1 x 1 2x 5 + 2x 6 > 2 x 1 + x 2 - x 4 < 0 όλες οι μεταβλητές 0 ή 1 Ορίστε τις τιμές όσων περισσότερων μεταβλητών μπορείτε και αναγνωρίστε τους περιορισμούς που γίνονται περιττοί. Λύση Από x 1 2x 5 + 2x 6 > 2 x 6 = 1, οπότε x 1 2x 5 > 0 x 5 = 0, οπότε x 1 > 0 περιττός Από 3x 3 x 5 + x 7 < 1 3x 3 + x 7 < 1 x 3 = 0, οπότε x 7 < 1 περιττός Από x 2 + x 4 + x 6 < 1 x 2 + x 4 < 0 x 2 = x 4 = 0 Από x 1 + x 2 - x 4 < 0 x 1 = 0. 36