ΚΕΦΑΛΑΙΟ 2 ΑΛΓΟΡΙΘΜΟΙ ΤΥΠΟΥ SIMPLEX. 2.1 Βασικές έννοιες - Ορισμοί

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

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

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

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

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

Θεωρία Αλγόριθμοι Γραμμικής Βελτιστοποίησης 28/3/2012. Lecture07 1

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

Θεωρία Αλγόριθμοι Γραμμικής Βελτιστοποίησης 3/4/2012. Lecture08 1

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

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

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

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

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

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

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΙΚΑ ΣΤΟΙΧΕΙΑ. 1.1 Εισαγωγή

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

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

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

ΑΛΓΟΡΙΘΜΟΙ Ενότητα 10

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

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

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

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

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

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

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

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

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

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

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

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

(sensitivity analysis, postoptimality analysis).

2. ΜΑΘΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

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

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

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

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

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

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

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

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

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

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

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

Διαχείριση ενεργειακών πόρων & συστημάτων Πρακτικά συνεδρίου(isbn: )

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

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

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

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

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

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

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

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

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

Γραμμικός Προγραμματισμός και θεωρία Παιγνίων

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

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

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

Αλγεβρική Μέθοδος Επίλυσης Γραμμικών Μοντέλων Η μέθοδος SIMPLEX (Both Simple and Complex ) 1

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

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

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

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

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

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

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

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

Β. Βασιλειάδης. Επιχειρησιακή Έρευνα Διάλεξη 5 η -Αλγόριθμος Simplex

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

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

ΜΙΑ ΣΥΓΚΡΙΤΙΚΗ ΥΠΟΛΟΓΙΣΤΙΚΗ ΜΕΛΕΤΗ

Κανονική μορφή μοντέλου μεγιστοποίησης

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

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

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

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

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

Προβλήματα Ελάχιστου Κόστους Ροής σε Δίκτυο. Δίκτυα Ροής Ελάχιστου Κόστους (Minimum Cost Flow Networks)

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

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

Μοντέλα Διανομής και Δικτύων

Εφαρμοσμένη Βελτιστοποίηση

Δυαδικό Πρόβλημα Εισαγωγή στην Ανάλυση Ευαισθησίας

Κεφάλαιο 4ο: Δικτυωτή Ανάλυση

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

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

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

Παραδείγματα Απαλοιφή Gauss Απαλοιφή Gauss-Jordan Παραγοντοποίηση LU, LDU

ΠΡΟΛΟΓΟΣ. Θεσσαλονίκη, Μάρτιος Οι συγγραφείς. Κ. Παπαρρίζος, Ν. Σαμαράς, Α. Σιφαλέρας.

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

Μέθοδοι πολυδιάστατης ελαχιστοποίησης

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

Transcript:

ΚΕΦΑΛΑΙΟ 2 ΑΛΓΟΡΙΘΜΟΙ ΤΥΠΟΥ SIMPLEX 2.1 Βασικές έννοιες - Ορισμοί Ο αλγόριθμος Simplex για τα προβλήματα γραμμικού προγραμματισμού, βλέπε Dntzig (1963), αποδίδει αρκετά καλά στην πράξη, ιδιαίτερα σε προβλήματα μικρού ή μεσαίου μεγέθους. Αν και ο πρόσφατα αναπτυγμένος αλγόριθμος εσωτερικών σημείων, Krmrkr (1984) και ιδιαίτερα μερικές βελτιωμένες τροποποιήσεις του, αποδίδει ουσιαστικά καλύτερα στα γραμμικά προβλήματα μεγάλης κλίμακας, δείτε για παράδειγμα Adler et.l. (1989), η υπολογιστική βελτίωση του αλγορίθμου Simplex παραμένει μεγάλης σημασίας, οφειλόμενη κυρίως στο γεγονός ότι οι ακριβείς βέλτιστες λύσεις που απαιτούνται σε ένα μεγάλο αριθμό πρακτικών προβλημάτων, όπως για παράδειγμα στα προβλήματα ροής δικτύων, είναι βασικές λύσεις, δηλαδή λύσεις που υπολογίζονται από αλγορίθμους τύπου Simplex. Οι αλγόριθμοι Simplex κινούνται από μια κορυφή του συνόλου της πολυεδρικής εφικτής περιοχής σε μια παρακείμενη κορυφή με μια καλύτερη αντικειμενική τιμή. Κατασκευάζουν μια ακολουθία βασικών σημείων ώστε, αν το γ.π. είναι ελαχιστοποίησης τότε κάθε νέο βασικό σημείο που υπολογίζεται ελαττώνει την τιμή της αντικειμενικής συνάρτησης. Ένα σημείο x του γ.π. ονομάζεται βασικό σημείο (bsic point) αν ικανοποιεί τουλάχιστον n-m ανισοτικούς περιορισμούς σαν ισότητες. Οι n-m συνιστώσες του βασικού σημείου x είναι ίσες με μηδέν και ονομάζονται μη βασικές μεταβλητές, ενώ οι υπόλοιπες m μεταβλητές

30 Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex ονομάζονται βασικές μεταβλητές. Οι δείκτες των βασικών μεταβλητών λέμε ότι αποτελούν τη βάση Β του γραμμικού προβλήματος. Βασικά εφικτά σημεία ονομάζουμε τα βασικά σημεία που ικανοποιούν και τους περιορισμούς μη αρνητικότητας. Διαφορετικά τα σημεία αυτά τα ονομάζουμε βασικά μη εφικτά σημεία. Εκφυλισμένο (degenerte) ονομάζουμε ένα βασικό σημείο που ικανοποιεί τουλάχιστον n-m+1 ανισοτικούς περιορισμούς σαν ισότητες. Μη εκφυλισμένο (non degenerte) ονομάζουμε ένα βασικό σημείο που ικανοποιεί ακριβώς n-m ανισοτικούς περιορισμούς σαν ισότητες. 2.2 Πρωτεύων Αλγόριθμος Simplex Ο πρωτεύων αλγόριθμος Simplex θα περιγραφεί σε γραμμικά προβλήματα ελαχιστοποίησης στα οποία όλοι οι περιορισμοί είναι ισότητες και όλες οι μεταβλητές υπόκεινται σε περιορισμούς μη αρνητικότητας, δηλαδή σε προβλήματα της μορφής min n j= 1 n j=1 c x x j ij j x j j 0 = b i για i = 1, 2,, m και j = 1, 2,, n, τα οποία έχουν έτοιμο ένα κατάλληλο βασικό εφικτό σημείο. Ο πρωτεύων αλγόριθμος Simplex κατασκευάζει μια ακολουθία βασικών εφικτών σημείων. Για διδακτικούς λόγους θα περιγράψουμε τους αλγόριθμους τύπου Simplex χρησιμοποιώντας την μορφή των tbleu, βλέπε Dntzig (1949). Η

Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex 31 μορφή αυτή αποκαλύπτει περισσότερες πτυχές του νέου αλγόριθμου που θα παρουσιάσουμε στο επόμενο κεφάλαιο. Όμως στην υπολογιστική μελέτη θα χρησιμοποιήσουμε τη μορφή των μητρών (αναθεωρημένος πρωτεύων αλγόριθμος Simpex, βλέπε Dntzig, Orchrd-Hys (1953), Dntzig, Orchrd-Hys (1954), Dntzig, Orden, Wolfe (1955)) που είναι περισσότερο κατάλληλη για το σκοπό αυτό. Ο αλγόριθμος ξεκινά με ένα βασικό εφικτό σημείο. Ανανεώνει σε κάθε επανάληψη ένα σύστημα γραμμικών εξισώσεων. Οι συντελεστές του συστήματος αποτελούν ένα tbleu Simplex. Κάθε tbleu Simplex αντιστοιχεί σε ένα βασικό εφικτό σημείο. Σχηματισμός tbleu Simplex Η αντικειμενική συνάρτηση γράφεται αρχικά σαν z n j= 1 c x j j = 0 Οι συντελεστές της αντικειμενικής συνάρτησης και οι συντελεστές των εξισώσεων των περιορισμών γράφονται στο tbleu Simplex ο οποίος περιέχει n+2 στήλες και m+1 γραμμές. Η πρώτη στήλη από αριστερά αντιστοιχεί στη μεταβλητή z. Είναι η στήλη με αύξοντα αριθμό μηδέν. Οι n δεξιότερες (της μηδενικής) στήλες αντιστοιχούν στις μεταβλητές x j (j = 1, 2,, n). Η στήλη j αντιστοιχεί στη μεταβλητή x j. Η τελευταία στήλη δεξιά αντιστοιχεί στο δεξιό μέρος των εξισώσεων του προβλήματος και της αντικειμενικής συνάρτησης. Η πρώτη από πάνω γραμμή του tbleu Simplex αντιστοιχεί στην αντικειμενική συνάρτηση. Έχει αύξοντα αριθμό μηδέν και ονομάζεται γραμμή κόστους. Οι υπόλοιπες m γραμμές αντιστοιχούν στους m περιορισμούς ισοτήτων του γραμμικού προβλήματος.

32 Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex Τα στοιχεία του τρέχοντος tbleu Simplex θα τα παριστάνουμε με ij όπου ij, είναι το στοιχείο της i γραμμής και j στήλης. 0j, j = 1, 2,,n, είναι τα στοιχεία της μηδενικής γραμμής (αρχικά είναι 0j = -c j ) 0n+1, είναι η τιμή της αντικειμενικής συνάρτησης. in+1 ή b i, i = 1, 2,, m, είναι τα στοιχεία της δεξιάς στήλης. Η γραμμή κόστους αντιστοιχεί στη μεταβλητή z της αντικειμενικής συνάρτησης. Κάθε γραμμή i (i = 1, 2,, n) αντιστοιχεί σε μια βασική μεταβλητή. Οι βασικές μεταβλητές γράφονται αριστερά του tbleu Simplex στις αντίστοιχες γραμμές. Οι τιμές αυτών των μεταβλητών βρίσκονται στη δεξιά στήλη (Δ.Μ. = δεξιό μέρος) του tbleu Simplex. Σε κάθε επανάληψη ο αλγόριθμος Simplex επιλέγει μια μη βασική μεταβλητή η οποία, αν αυξηθεί βελτιώνει την τιμή της αντικειμενικής συνάρτησης (δηλ. της μεταβλητής z). Η μεταβλητή αυτή ονομάζεται εισερχόμενη στη βάση μεταβλητή. Η εισερχόμενη μεταβλητή θα αντικαταστήσει κάποια μεταβλητή της βάσης κατασκευάζοντας έτσι το επόμενο βασικό εφικτό σημείο. Η μεταβλητή που θα αντικατασταθεί ονομάζεται εξερχόμενη από τη βάση μεταβλητή. Επομένως πρέπει να υπάρχει τουλάχιστον ένας συντελεστής 0j > 0 που επιλέγεται με κάποιο κανόνα περιστροφής. Διαφορετικά το πρόβλημα είναι βέλτιστο και ο αλγόριθμος σταματά. Την εισερχόμενη μεταβλητή θα τη συμβολίζουμε με x s. Η στήλη s είναι η στήλη περιστροφής. Αν is 0 (i = 1, 2,, m) τότε το πρόβλημα είναι απεριόριστο και ο αλγόριθμος σταματά. Ο προσδιορισμός της εξερχόμενης μεταβλητής ονομάζεται τεστ ελαχίστου λόγου επειδή κατά τη διαδικασία αυτή υπολογίζεται ο ελάχιστος λόγος

Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex 33 b r rs b i : is > 0 is και η εξερχόμενη από τη βάση μεταβλητή βρίσκεται στη γραμμή r που ονομάζεται γραμμή περιστροφής. Το στοιχείο rs ονομάζεται στοιχείο περιστροφής. Πρέπει στη συνέχεια να κατασκευαστεί το επόμενο tbleu Simplex που αντιστοιχεί στο νέο βασικό εφικτό σημείο που έχει προσδιοριστεί, από τον προηγούμενο tbleu Simplex. Η ανανέωση των στοιχείων του tbleu Simplex αντιστοιχεί σε πράξεις γραμμών. Περιγραφή Αλγορίθμου με βήματα Βήμα 0 : Ξεκίνα μ' ένα Β.Ε.Σ. (=βασικό εφικτό σημείο) και φτιάξε το αντίστοιχο tbleu Simplex. Βήμα 1 : (προσδιορισμός στήλης περιστροφής) Αν 0j 0 για j = 1, 2,..., n, STOP. Η λύση είναι βέλτιστη. Διαφορετικά διάλεξε με κάποιο κανόνα περιστροφής ένα δείκτη s : 0s > 0, δηλ. 0s = mx{ 0j : 0j > 0, για j = 1, 2,, n} Βήμα 2 : (προσδιορισμός γραμμής περιστροφής) Θέσε I = {i : is > 0}. Αν I =, STOP. Το πρόβλημα είναι απεριόριστο. Διαφορετικά βρες ένα δείκτη r : b r rs bi : i I is

34 Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex Βήμα 3 : (περιστροφή) Κάνε περιστροφή στο στοιχείο rs, δηλαδή Θέσε rj rj, για j = 1, 2,, n, n+1 rs ij rj ij is, για i = 0, 1, 2,,m (i r) και j = 1, 2,,n, n+1 rs και πήγαινε στο Βήμα 1. Θα διευκρινίσουμε τώρα περισσότερο τον πρωτεύοντα αλγόριθμο Simplex εφαρμόζοντάς τον σε δυο γραμμικά προβλήματα, ένα βέλτιστο και ένα απεριόριστο. Παράδειγμα 2.2.1 Να λυθεί με τον πρωτεύοντα αλγόριθμο Simplex το παρακάτω γραμμικό πρόβλημα. min z = 3x 1 + x 2 - x 3 - x 4 μ.π. -2x 1 + x 2 + 2x 3 + x 5 = 5 3x 1 + 2x 2-2x 3 + x 6 = 9 2x 1 + x 2 - x 3 + x 4 + x 7 = 7 5x 1 - x 2 - x 4 + x 8 = 2 x 1, x 2, x 3, x 4, x 5, x 6, x 7, x 8, 0 Λύση

Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex 35 Επανάληψη 1 Βήμα 0 : Από το αρχικό πρόβλημα είναι φανερό ότι ένα Β.Ε.Σ. είναι x 1 = 0, x 2 = 0, x 3 = 0, x 4 = 0, x 5 = 5, x 6 = 9, x 7 = 7 και x 8 =2. Κατασκευάζουμε το αρχικό tbleu Simplex. z x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 Δ.Μ. z 1-3 -1 1 1 0 0 0 0 0 x 5 0-2 1 2 0 1 0 0 0 5 x 6 0 3 2-2 0 0 1 0 0 9 x 7 0 2 1-1 1 0 0 1 0 7 x 8 0 5-1 0-1 0 0 0 1 2 Βήμα 1 : Προσδιορίζουμε την στήλη περιστροφής και επιλέγουμε 0s = mx{ 03, 04 > 0} = mx {1, 1} = 03 Άρα s = 3, οπότε η μεταβλητή x 3 εισέρχεται στη βάση. Βήμα 2 : Θέτουμε Ι = {1} και βρίσκουμε r = 1 επειδή b 1 13 b 1 13 5 = 2 5 2 Άρα η μεταβλητή x 5 εξέρχεται από τη βάση. Βήμα 3 : Κάνουμε περιστροφή στο στοιχείο 13 = 2 και κατασκευάζουμε το επόμενο tbleu Simplex.

36 Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex z x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 Δ.Μ. z 1-4 -3/2 0 1-1/2 0 0 0-5/2 x 3 0-1 1/2 1 0 1/2 0 0 0 5/2 x 6 0 1 3 0 0 1 1 0 0 14 x 7 0 1 3/2 0 1 1/2 0 1 0 19/2 x 8 0 5-1 0-1 0 0 0 1 2 Εφόσον υπάρχει 04 > 0 στη γραμμή κόστους επαναλαμβάνω τον αλγόριθμο Simplex. Επανάληψη 2 Βήμα 1 : Προσδιορίζουμε την στήλη περιστροφής και επιλέγουμε 0s = mx{c 4 > 0} = mx {1} = 04 Άρα s = 4, οπότε η μεταβλητή x 4 εισέρχεται στη βάση. Βήμα 2 : Θέτουμε Ι = {3} και βρίσκουμε r = 3 επειδή b 3 34 b 3 34 19 / 2 = 1 2 19 Άρα η μεταβλητή x 7 εξέρχεται από τη βάση. Βήμα 3 : Κάνω περιστροφή στο στοιχείο 34 = 1 και κατασκευάζουμε το επόμενο tbleu Simplex.

Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex 37 z x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 Δ.Μ. z 1-3 -3 0 0-1 0-1 0-12 x 3 0-1 1/2 1 0 1/2 0 0 0 5/2 x 6 0 1 3 0 0 1 1 0 0 14 x 4 0 1 3/2 0 1 1/2 0 1 0 19/2 x 8 0 6 1/2 0 0 1/2 0 1 1 23/2 Επειδή 0j 0 για j = 1, 2,..., 8 STOP. Η λύση είναι βέλτιστη, δηλαδή για x 1 = 0, x 2 = 0, x 3 = 5/2, x 4 = 19/2, x 5 = 0, x 6 = 14, x 7 = 0 και x 8 =23/2 η αντικειμενική συνάρτηση z = 3x 1 + x 2 - x 3 - x 4 ελαχιστοποιείται, z = -12. Παράδειγμα 2.2.2 Να λυθεί με τον πρωτεύοντα αλγόριθμο Simplex το παρακάτω γραμμικό πρόβλημα. min z = 3x 1-2x 2 + x 3 μ.π. x 1 + x 2-2x 3 4 2x 1-3x 2 + x 3 9 x 1, x 2, x 3 0 Προσθέτω στους περιορισμούς τις χαλαρές μεταβλητές x 4, x 5 0, οπότε το γ.π. μετασχηματίζεται ως εξής : min z = 3x 1-2x 2 + x 3 μ.π. x 1 + x 2-2x 3 + x 4 = 4 2x 1-3x 2 + x 3 + x 5 = 9 x 1, x 2, x 3, x 4, x 5 0

38 Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex Λύση Επανάληψη 1 Βήμα 0 : Από το αρχικό πρόβλημα είναι φανερό ότι μια Β.Ε.Λ. (βασική εφικτή λύση) είναι η z = 0 για x 1 = x 2 = x 3 = 0, x 4 = 4, x 5 = 9. Κατασκευάζουμε το αρχικό tbleu Simplex. z x 1 x 2 x 3 x 4 x 5 Δ.Μ. z 1-3 2-1 0 0 0 x 5 0 1 1-2 1 0 4 x 6 0 2-3 1 0 1 9 Βήμα 1 : Προσδιορίζουμε την στήλη περιστροφής και επιλέγουμε 0s = mx{ 02 > 0} = mx {2} = 2 = 02 Άρα s = 2, οπότε η μεταβλητή x 2 εισέρχεται στη βάση. Βήμα 2 : Θέτουμε Ι = {1} και βρίσκουμε r = 1 επειδή b 1 12 b 1 12 4 = 4 1 Άρα η μεταβλητή x 5 εξέρχεται από τη βάση. Βήμα 3 : Κάνουμε περιστροφή στο στοιχείο 12 = 1 και κατασκευάζουμε το επόμενο tbleu Simplex. z x 1 x 2 x 3 x 4 x 5 Δ.Μ. z 1-5 0 3-2 0-8 x 2 0 1 1-2 1 0 4

Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex 39 x 6 0 5 0-5 3 1 21 Εφόσον υπάρχει 03 > 0 στη γραμμή κόστους επαναλαμβάνω τον αλγόριθμο Simplex. Επανάληψη 2 Βήμα 1 : Προσδιορίζουμε την στήλη περιστροφής και επιλέγουμε 0s = mx{ 03 } = min {3} = 3 = 03 Άρα s = 3, οπότε η μεταβλητή x 3 εισέρχεται στη βάση. Βήμα 2 : Επειδή Ι =, το πρόβλημα είναι απεριόριστο. 2.3 Δυϊκός Αλγόριθμος Simplex Ο δυϊκός αλγόριθμος Simplex θα περιγραφεί σε γραμμικά προβλήματα μεγιστοποίησης στα οποία όλοι οι περιορισμοί είναι ισότητες και όλες οι μεταβλητές υπόκεινται σε περιορισμούς μη αρνητικότητας, δηλαδή σε προβλήματα της μορφής mx n n j= 1 j=1 c x x j ij j x j j 0 = b i για i = 1, 2,, m και j = 1, 2,, n. τα οποία έχουν έτοιμο ένα κατάλληλο βασικό δυϊκά εφικτό σημείο. Ο δυϊκός αλγόριθμος Simplex, βλέπε Lemke (1954) κατασκευάζει μια ακολουθία βασικών δυϊκά εφικτών σημείων.

40 Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex Ο αλγόριθμος ξεκινά με ένα βασικό δυϊκά εφικτό σημείο και σε αντιστοιχία με τον πρωτεύοντα αλγόριθμο κατασκευάζουμε σε κάθε επανάληψη ένα tbleu Simplex που αντιστοιχεί σε ένα βασικό δυϊκά εφικτό σημείο. Ο δυϊκός αλγόριθμος Simplex προσδιορίζει πρώτα την εξερχόμενη και μετά την εισερχόμενη μεταβλητή σε αντίθεση με τον πρωτεύοντα αλγόριθμο Simplex. Περιγραφή Αλγορίθμου με βήματα Βήμα 0 : Ξεκίνα μ' ένα Β.Δ.Ε.Σ. (βασικό δυϊκά εφικτό σημείο) και φτιάξε το αντίστοιχο tbleu Simplex. Βήμα 1 : (προσδιορισμός γραμμής περιστροφής) Αν b i 0 για i=1, 2,..., m STOP. Η λύση είναι βέλτιστη. Διαφορετικά διάλεξε με κάποιο κανόνα περιστροφής ένα r : b r < 0, δηλαδή b r = min{b i : b i < 0} Βήμα 2 : (προσδιορισμός στήλης περιστροφής) Θέσε J = {j : rj < 0 }. Αν J =, STOP. Το δυϊκό πρόβλημα είναι απεριόριστο. Διαφορετικά βρες το δείκτη s : os rs 0j : j J rj Βήμα 3 : (περιστροφή) Κάνε περιστροφή στο στοιχείο rs Θέσε

Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex 41 rj rj, για j = 1, 2,, n, n+1 rs ij rj ij is, για i = 0, 1, 2,,m (i r) και j = 1, 2,,n, n+1 rs και πήγαινε στο Βήμα 1. Θα διευκρινίσουμε τώρα περισσότερο τον δυϊκό αλγόριθμο Simplex εφαρμόζοντάς τον σε δυο γραμμικά προβλήματα, ένα βέλτιστο και ένα αδύνατο. Παράδειγμα 2.3.1 Να λυθεί με τον δυϊκό αλγόριθμο Simplex το παρακάτω γραμμικό πρόβλημα. min z = 5x 1 + 7x 2 + 2x 3 + 8x 4 μ.π. x 1-2x 2-2x 3 + 3x 4 + x 5 = 5 5x 1-2x 2 - x 3 + 5x 4 + x 6 = 3 3x 1-2x 2 + 3x 3-3x 4 + x 7 = -1 - x 2 + 3x 3 + x 8 = -1 x 1, x 2, x 3, x 4, x 5, x 6, x 7, x 8, 0 Λύση Επανάληψη 1 Βήμα 0 : Μια Β.Ε.Λ. είναι η z = 0 x 1 = 0, x 2 = 0, x 3 = 0, x 4 = 0, x 5 = 5, x 6 = 3, x 7 = -1 και x 8 =-1. Κατασκευάζουμε το αρχικό tbleu Simplex.

42 Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex z x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 Δ.Μ. z 1-5 -7-2 -8 0 0 0 0 0 x 5 0 1-2 -2 3 1 0 0 0 5 x 6 0 5-2 -1 5 0 1 0 0 3 x 7 0 3-2 3-3 0 0 1 0-1 x 8 0 0-1 3 0 0 0 0 1-1 Βήμα 1 : Προσδιορίζουμε την γραμμή περιστροφής και επιλέγουμε b r = min{b 3, b 4 < 0} = min {-1, -1} = b 3 Άρα r = 3, οπότε η μεταβλητή x 7 εξέρχεται από τη βάση. Βήμα 2 : Θέτουμε J = {2, 4} και βρίσκουμε s = 4 επειδή 04 34 02 32, 04 34 7 8, = 2 3 8 3 Άρα η μεταβλητή x 4 εισέρχεται στη βάση. Βήμα 3 : Κάνουμε περιστροφή στο στοιχείο 34 = -3 και κατασκευάζουμε το επόμενο tbleu Simplex. z x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 Δ.Μ. z 1-13 -5/3-10 0 0 0-8/3 0 8/3 x 5 0 4-4 1 0 1 0 1 0 4 x 6 0 10-16/3 4 0 0 1 5/3 0 4/3 x 4 0-1 2/3-1 1 0 0-1/3 0 1/3 x 8 0 0-1 3 0 0 0 0 1-1

Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex 43 Εφόσον υπάρχει b 4 = -1 < 0 επαναλαμβάνω τον δυϊκό αλγόριθμο Simplex. Επανάληψη 2 Βήμα 1 : Προσδιορίζουμε την γραμμή περιστροφής και επιλέγουμε b r = min{ b 4 < 0} = min {-1} = b 4 Άρα r = 4, οπότε η μεταβλητή x 8 εξέρχεται από τη βάση. Βήμα 2 : Θέτουμε J = {2} και βρίσκουμε s = 2 επειδή 02 42 02 42 1 = 1 1 Άρα η μεταβλητή x 2 εισέρχεται στη βάση. Βήμα 3 : Κάνουμε περιστροφή στο στοιχείο 42 = -1 και κατασκευάζουμε το επόμενο tbleu Simplex. z x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 Δ.Μ. z 1-13 0-15 0 0 0-8/3-5/3 13/3 x 5 0 4 0-11 0 1 0 1-4 8 x 6 0 10 0-12 0 0 1 5/3-16/3 20/3 x 4 0-1 0 1 1 0 0-1/3 2/3-1/3 x 2 0 0 1-3 0 0 0 0-1 1 Εφόσον υπάρχει b 3 = -1/3 < 0 επαναλαμβάνω τον δυϊκό αλγόριθμο Simplex.

44 Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex Επανάληψη 3 Βήμα 1 : Προσδιορίζουμε την γραμμή περιστροφής και επιλέγουμε b r = min{ b 3 < 0} = min {-1/3} = b 3 Άρα r = 3, οπότε η μεταβλητή x 4 εξέρχεται από τη βάση. Βήμα 2 : Θέτουμε J = {1, 7} και βρίσκουμε s = 7 επειδή 07 37 01 31, 07 37 13 8/ 3, = 8 1 1/ 3 Άρα η μεταβλητή x 7 εισέρχεται στη βάση. Βήμα 3 : Κάνουμε περιστροφή στο στοιχείο 37 = -1/3 και κατασκευάζουμε το επόμενο tbleu Simplex. z x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 Δ.Μ. z 1-5 0-23 -8 0 0 0-7 7 x 5 0 1 0-8 3 1 0 0-2 7 x 6 0 5 0-7 5 0 1 0-2 5 x 7 0 3 0-3 -3 0 0 1-2 1 x 2 0 0 1-3 0 0 0 0-1 1 Επειδή b i > 0 για i = 1, 2, 3, 4 ο αλγόριθμος σταματά. Η λύση είναι βέλτιστη, δηλαδή για x 1 = 0, x 2 = 1, x 3 = 0, x 4 = 0, x 5 = 7, x 6 = 5, x 7 =1 και x 8 = 0 η αντικειμενική συνάρτηση παίρνει την μικρότερη τιμή, δηλαδή z = 7.

Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex 45 Παράδειγμα 2.3.2 Να λυθεί με τον δυϊκό αλγόριθμο Simplex το παρακάτω γραμμικό πρόβλημα. min z = x 1-2x 2 - x 3 μ.π. x 1 + x 2-2x 3-4 2x 1 - x 2-2x 3-2 x 1 - x 2 + 2x 3-8 x 1, x 2, x 3 0 Προσθέτω στους περιορισμούς τις χαλαρές μεταβλητές x 4, x 5, x 6 0, οπότε το γ.π. μετασχηματίζεται ως εξής : min z = x 1-2x 2 - x 3 μ.π. x 1 + x 2-2x 3 + x 4 = -4 2x 1 - x 2-2x 3 + x 5 = -2 x 1 - x 2 + 2x 3 + x 6 = -8 x 1, x 2, x 3, x 4, x 5, x 6 0 Λύση Επανάληψη 1 Βήμα 0 : Μια Β.Ε.Λ. είναι η z = 0 για x 1 = x 2 = x 3 = 0, x 4 = -4, x 5 = -2, x 6 = -8, απ όπου προκύπτει το αρχικό tbleu Simplex. z x 1 x 2 x 3 x 4 x 5 x 6 Δ.Μ. z 1-1 2 1 0 0 0 0 x 4 0 1 1-2 1 0 0-4 x 5 0 2-1 -2 0 1 0-2 x 6 0 1-1 2 0 0 1-8

46 Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex Βήμα 1 : Προσδιορίζουμε την γραμμή περιστροφής και επιλέγουμε b r = min{ b 1, b 2, b 3 < 0} = min{-4, -2, -8} = b 3 Άρα r = 3, οπότε η μεταβλητή x 6 εξέρχεται από τη βάση. Βήμα 2 : Θέτουμε J = {2} και βρίσκουμε s = 2 επειδή 02 32 02 32 2 = 2 1 Άρα η μεταβλητή x 2 εισέρχεται στη βάση. Βήμα 3 : Κάνουμε περιστροφή στο στοιχείο 32 = -1 και κατασκευάζουμε το επόμενο tbleu Simplex. z x 1 x 2 x 3 x 4 x 5 x 6 Δ.Μ. z 1 1 0 5 0 0 2-16 x 4 0 2 0 0 1 0 1-12 x 3 0 1 0-4 0 1-1 6 x 2 0-1 1-2 0 0-1 8 Εφόσον υπάρχει b i = < 0 για i =1 επαναλαμβάνω τον δυϊκό αλγόριθμο Simplex. Επανάληψη 2 Βήμα 1 : Προσδιορίζουμε την γραμμή περιστροφής και επιλέγουμε b r = min{ b 1 < 0} = mx {-12} = b 1 Άρα r = 1, οπότε η μεταβλητή x 4 εξέρχεται από τη βάση.

Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex 47 Βήμα 2 : Επειδή J =, το δυϊκό πρόβλημα είναι απεριόριστο και επομένως το αρχικό πρόβλημα είναι αδύνατο. 2.4 Αλγόριθμοι τύπου Simplex Εξωτερικών Σημείων Οι αλγόριθμοι Simplex κινούνται από μια κορυφή του συνόλου της πολυεδρικής εφικτής περιοχής σε μια παρακείμενη κορυφή με μια καλύτερη αντικειμενική τιμή. Ένας τρόπος για να βελτιωθεί η μέθοδος Simplex είναι να αναπτυχθούν αλγόριθμοι ικανοί να κινηθούν σε μη παρακείμενες κορυφές βελτίωσης (με καλύτερη αντικειμενική τιμή). Επειδή προτιμούμε οι αλγόριθμοι τύπου Simplex να μην ακολουθούν παρακείμενες κορυφές βελτίωσης ώστε να γίνουν περισσότερο αποτελεσματικοί, καλό είναι να αναπτύξουμε παραλλαγές τους που αποφεύγουν τις κορυφές του εφικτού πολυέδρου. Αυτό βεβαίως σημαίνει ότι οι βασικές λύσεις που θα κατασκευάζονται δεν θα είναι εφικτές και επομένως ο αλγόριθμος θα είναι εξωτερικών σημείων. Ένας αλγόριθμος τύπου Simplex που είναι ικανός να ακολουθήσει ένα μονοπάτι τύπου Simplex που περιέχει βασικές λύσεις που δεν είναι εφικτές καλείται αλγόριθμος εξωτερικών σημείων (EPSA). Από την εμφάνιση της μεθόδου Simplex οι ερευνητές προσπάθησαν να αναπτύξουν αλγορίθμους που αποφεύγουν την εφικτή περιοχή. Τα πρόωρα παραδείγματα των προσπαθειών αυτού του είδους είναι ο αυτοδυϊκός αλγόριθμος Dntzig (1963), και η μέθοδος των διαδοχικών ελαχίστων δρόμων για τα προβλήματα ροής ελαχίστου κόστους δικτύων, βλέπε Ford και Fulkerson (1962) και Tomizow (1972). Πιο πρόσφατα, ο Terlky (1985) ανέπτυξε έναν συγκλίνοντα περιστροφικό κανόνα για τον κανόνα Ζικ-Ζακ του Zionts (1969) τη σταυρωτή μέθοδο. Ο αλγόριθμος του Terlky είναι ένας μη βελτιωτικός (μη αποδοτικός) αλγόριθμος εξωτερικών σημείων. Η εντελώς συνδυαστική φύση και η έλλειψη οποιωνδήποτε κριτηρίων βελτίωσης ή μονοτονίας κάνουν κάποιον να θεωρήσει ότι αυτός ο αλγόριθμος δεν είναι αποδοτικός στην πράξη.

48 Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex Ο όρος αλγόριθμος εξωτερικών σημείων εμφανίζεται για πρώτη φορά με την εργασία, Pprrizos (1991), όπου παρουσιάζεται μια βελτίωση προηγούμενου παρόμοιου αλγορίθμου για το πρόβλημα μεταφοράς, Pprrizos (1988). Οι αλγόριθμοι αυτοί δέχθηκαν αρκετές βελτιώσεις και τροποποιήσεις. Μερικές παραλλαγές τους ανέπτυξαν οι Achtz et. l. (1991), και Pprrizos (1996). Επίσης, οι αλγόριθμοι αυτοί γενικεύτηκαν στο γραμμικό πρόβλημα Pprrizos (1993), Anstreicher και Terlky (1994). Ένας πιο γενικός αλγόριθμος εξωτερικών σημείων αναπτύχθηκε από τους Dosios και Pprrizos (1995), όπου γενικεύτηκαν οι αλγόριθμοι των Pprrizos (1993) και Anstreicher και Terlky (1994). 2.5 Πρωτεύων Αλγόριθμος Simplex Εξωτερικών Σημείων (EPSA) Έστω το γραμμικό πρόβλημα στην τυποποιημένη μορφή min { c Τ x : Ax = b, x 0}, όπου x, c R n, Α R mxn, b R m και Β είναι μια εφικτή βάση του. Αν είναι 0j 0 για j = 1, 2,, n, η βάση Β είναι βέλτιστη και δε χρειάζονται παραπέρα υπολογισμοί. Αντίθετα, αν δεν είναι βέλτιστη, υπάρχουν μη βασικοί δείκτες j, τέτοιοι ώστε 0j > 0. Υπολογίζουμε το σύνολο J + = {j : 0j > 0} και τις ποσότητες i0 = j J + ij, i = 0,1,2,..., m

Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex 49 Κατασκευάζουμε έτσι τη στήλη μηδέν του tbleu Simplex που ονομάζουμε χαρακτηριστική στήλη. Προς αποφυγήν συγχύσεων υπενθυμίζουμε εδώ ότι στους δυο προηγούμενους αλγόριθμους η στήλη μηδέν αντιστοιχούσε στη μεταβλητή z, δηλαδή στη μεταβλητή της αντικειμενικής συνάρτησης. Ο αλγόριθμος εξωτερικών σημείων που περιγράφεται εδώ είναι πρωτεύων στη φύση του, γιατί κατασκευάζει εφικτά σημεία του πρωτεύοντος προβλήματος. Όμως, αντίθετα με τον πρωτεύοντα αλγόριθμο Simplex, προσδιορίζει πρώτα την εξερχόμενη και μετά την εισερχόμενη μεταβλητή. Με αυτή την έννοια μοιάζει περισσότερο με το δυϊκό αλγόριθμο Simplex. Η στήλη μηδέν χρησιμοποιείται για τον έλεγχο ελαχίστου λόγου, ο οποίος είναι όμοιος με αυτόν του πρωτεύοντα αλγόριθμου Simplex και προσδιορίζει τη γραμμή περιστροφής. Αν δεν υπάρχει γραμμή περιστροφής, το πρόβλημα είναι απεριόριστο. Η εισερχόμενη μεταβλητή προσδιορίζεται με ένα μάλλον πολύπλοκο έλεγχο ελαχίστου λόγου. Στον αλγόριθμο εξωτερικών σημείων υπάρχει πάντοτε εισερχόμενη μεταβλητή. Ο πίνακας Simplex εκτός της μηδενικής στήλης ανανεώνεται με μια περιστροφή. Ο τρόπος ανανέωσης της στήλης μηδέν περιγράφεται αναλυτικά στη παρακάτω περιγραφή του αλγορίθμου σε μορφή βημάτων. Η αυτή είναι προσαρμοσμένη για γραμμικά προβλήματα στα οποία ο προσδιορισμός της εισερχόμενης μεταβλητής γίνεται χωρίς δεσμούς στον υπολογισμό του ελαχίστου λόγου θ 1 του βήματος 3. Περιγραφή Αλγορίθμου με βήματα Βήμα 0: Ξεκίνα με μια βασική εφικτή λύση και κατασκεύασε το αρχικό tbleu Simplex. Βήμα 1: (έλεγχος βελτιστότητας) Υπολόγισε το σύνολο J + = {j : 0j > 0} Αν J + =, STOP. Η παρούσα βασική εφικτή λύση είναι βέλτιστη. Διαφορετικά, υπολόγισε τις ποσότητες

50 Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex i0 = j J + ij, i = 0,1,2,..., m Βήμα 2: (προσδιορισμός γραμμής περιστροφής) Υπολόγισε το σύνολο δεικτών γραμμών I + = {i : i0 > 0} Αν I + =, STOP. Το γραμμικό πρόβλημα είναι απεριόριστο. Διαφορετικά, προσδιόρισε τη γραμμή περιστροφής r από τη σχέση b r r0 b min : i I i = + i0. Βήμα 3: (προσδιορισμός στήλης περιστροφής) Θέσε J - = {j : 0j < 0}. Υπολόγισε τους λόγους θ 1 = 0k rk oj rj : j J +, rj > 0 θ 2 = 0l rl oj rj : j J, rj < 0 Βρες τη στήλη περιστροφής s από τις προηγούμενες σχέσεις. Δηλαδή, αν θ 1 θ 2, θέσε s = k. Διαφορετικά, θέσε s = l. Βήμα 4: (περιστροφή) Κάνε περιστροφή στο στοιχείο rs. Δηλαδή θέσε rj rj, για j = 1, 2,, n, n+1 rs

Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex 51 rj ij ij is, για i = 0, 1, 2,,m (i r) και j = 1, 2,,n, n+1 rs Αν s = k θέσε 0r 0r 1 Πήγαινε στο Βήμα 1. Θα διευκρινίσουμε τώρα περισσότερο τον αλγόριθμο εφαρμόζοντάς τον σε δυο γραμμικά προβλήματα, ένα βέλτιστο και ένα απεριόριστο. Παράδειγμα 2.4.1 Να λυθεί με τον πρωτεύοντα αλγόριθμο εξωτερικών σημείων το παρακάτω γραμμικό πρόβλημα min z = 4x 1-6x 2 + x 3-2x 4 μ.π. x 1-2x 2 + 4x 3 - x 4 12 2x 1 + x 2 + x 3 + 2x 4 6 -x 1 + 2x 2 - x 3 + x 4 4 x 1, x 2, x 3, x 4 0 Προσθέτουμε στους περιορισμούς τις χαλαρές μεταβλητές x 5, x 6, x 7 0, οπότε το γ.π. μετασχηματίζεται ως εξής : min z = 4x 1-6x 2 + x 3-2x 4 μ.π. x 1-2x 2 + 4x 3 - x 4 + x 5 = 12 2x 1 + x 2 + x 3 + 2x 4 + x 6 = 6 -x 1 + 2x 2 - x 3 + x 4 + x 7 = 4 x 1, x 2, x 3, x 4, x 5, x 6, x 7 0 Λύση

52 Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex Επανάληψη 1 Βήμα 0: Ξεκινούμε με μια Β.Ε.Λ. και φτιάχνουμε το αντίστοιχο tbleu Simplex. x 1 x 2 x 3 x 4 x 5 x 6 x 7 ΔΜ z 8-4 6-1 2 0 0 0 0 x 5-3 1-2 4-1 1 1 0 12 x 6 3 2 1 1 2 0 0 1 8 x 7 3-1 2-1 1 0 0 1 3 Βήμα 1: Υπολογίζουμε το σύνολο J + = {j : 0j > 0} = {2, 4}. Επειδή J + φτιάχνουμε τη χαρακτηριστική στήλη. Βήμα 2: Υπολογίζουμε το σύνολο I + = {i : i0 > 0} = {2, 3}. Η γραμμή περιστροφής είναι η r = 3, επειδή b 3 30 b 2 20 b, 3 30 8 3, = 1 3 3 Βήμα 3: Θέτουμε J - = {j : 0j < 0} = {1, 3} και υπολογίζουμε τους λόγους 6 2 θ 1 = min, = 2 = 2 1 04 34 θ 2 1 4 = min, = 1 = 1 1 03 33 Επειδή θ 2 < θ 1, η στήλη περιστροφής είναι η s = 3.

Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex 53 Βήμα 4: Κάνουμε περιστροφή στο στοιχείο 33 = -1 και προκύπτει το επόμενο tbleu Simplex. x 1 x 2 x 3 x 4 x 5 x 6 x 7 ΔΜ z 5-3 4 0 1 0 0-1 -3 x 5 9-3 6 0 3 1 0 4 24 x 6 6 1 3 0 3 0 1 1 9 x 3-3 1-2 1-1 0 0-1 -4 Πήγαινε στο Βήμα 1. Επανάληψη 2 Βήμα 1: Υπολογίζουμε το σύνολο J + = {j : 0j > 0} = {2, 4}. Επειδή J + φτιάχνουμε τη χαρακτηριστική στήλη. Βήμα 2: Υπολογίζουμε το σύνολο I + = {i : i0 > 0} = {1, 2}. Η γραμμή περιστροφής είναι η r = 2, επειδή b 2 20 b 1 10 b, 1 10 24 9, = 3 9 6 Βήμα 3: Θέτουμε J - = {j : 0j < 0} = {1, 7} και υπολογίζουμε τους λόγους θ 1 = min { } = + θ 2 4 1 1 = min, = = 3 3 3 04 24 Άρα η στήλη περιστροφής είναι η s = 4.

54 Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex Βήμα 4: Κάνουμε περιστροφή στο στοιχείο 24 = 3 και προκύπτει το επόμενο tbleu Simplex. x 1 x 2 x 3 x 4 x 5 x 6 x 7 ΔΜ z 3-10/3 3 0 0 0-1/3-4/3-7 x 5 3-4 3 0 0 1-1 3 15 x 4 1 1/3 1 0 1 0 1/3 1/3 3 x 3-1 4/3-1 1 0 0 1/3-2/3-1 Πήγαινε στο Βήμα 1. Προσέξτε σ' αυτό το σημείο ότι το στοιχείο 02 είναι 1 και όχι 2 που προκύπτει από μια απλή περιστροφή. Φυσικά η τιμή αυτή είναι σύμφωνη με τον τρόπο ανανέωσης της στήλης 0 όταν s = k. Επανάληψη 3 Βήμα 1: Υπολογίζουμε το σύνολο J + = {j : 0j > 0} = {2}. Επειδή J + πηγαίνουμε στο επόμενο βήμα. Βήμα 2: Υπολογίζουμε το σύνολο I + = {i : i0 > 0} = {1, 2}. Η γραμμή περιστροφής είναι η r = 2, επειδή b 2 22 b 1 12 b, 2 22 15 3, = 1 3 3 Βήμα 3: Θέτουμε J - = {j : 0j < 0} = {1, 6, 7} και υπολογίζουμε τους λόγους θ 1 = min { } = +

Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex 55 3 3 min = = 1 1 02 22 Άρα η στήλη περιστροφής είναι η s = 2. Βήμα 4: Κάνουμε περιστροφή στο στοιχείο 22 = 1 και προκύπτει το επόμενο tbleu Simplex. x 1 x 2 x 3 x 4 x 5 x 6 x 7 ΔΜ z -13/3 0 0-3 0-4/3-7/3-16 x 5-5 0 0-3 1-2 0 6 x 2 1/3 1 0 1 0 1/3 1/3 3 x 3 5/3 0 1 1 0 2/3-1/3 2 Επειδή J + = {j : 0j > 0} =, η παρούσα λύση είναι βέλτιστη. Άρα για x 1 = 0, x 2 = 3, x 3 = 2, x 4 = 0, x 5 = 6 και x 6 = x 7 = 0 η αντικειμενική συνάρτηση παίρνει την ελάχιστη τιμή της, δηλαδή z = -16. Παράδειγμα 2.4.2 Να λυθεί με τον πρωτεύοντα αλγόριθμο εξωτερικών σημείων το παρακάτω γραμμικό πρόβλημα min z = 2x 1-2x 2 + 3x 3 + 4x 4 μ.π. -x 1-2x 2 + 2x 3 - x 4 18-2x 1-12x 2 - x 3 - x 4 4 3x 1 + x 2-2x 3 + 10x 4 12 x 1, x 2, x 3, x 4 0

56 Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex Προσθέτω στους περιορισμούς τις χαλαρές μεταβλητές x 5, x 6 0, οπότε το γ.π. μετασχηματίζεται ως εξής : min z = 2x 1-2x 2 + 3x 3 + 4x 4 μ.π. -x 1-2x 2 + 2x 3 - x 4 + x 5 = 18-2x 1-12x 2 - x 3 - x 4 + x 6 = 4 3x 1 + x 2-2x 3 + 10x 4 + x 7 = 12 x 1, x 2, x 3, x 4, x 5, x 6, x 7 0 Λύση Επανάληψη 1 Βήμα 0: Ξεκινούμε με μια Β.Ε.Λ. και φτιάχνουμε το αντίστοιχο tbleu Simplex. x 1 x 2 x 3 x 4 x 5 x 6 x 7 Δ.Μ. z 2-2 2-3 -4 0 0 0 0 x 5-2 -1-2 2 4 1 0 0 18 x 6-12 -2-12 -1-1 0 1 0 4 x 7 1 3 1-2 10 0 0 1 12 Βήμα 1: Υπολογίζουμε το σύνολο J + = {j : 0j > 0} = {2}. Επειδή J + φτιάχνουμε τη χαρακτηριστική στήλη. Βήμα 2: Υπολογίζουμε το σύνολο I + = {i : i0 > 0} = {3}. Η γραμμή περιστροφής είναι η r = 3, επειδή b 3 30 b 3 30 12 = 12 1

Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex 57 Βήμα 3: Θέτουμε J - = {j : 0j < 0} = {1, 3, 4} και υπολογίζουμε τους λόγους θ 1 2 = min = 1 02 32 θ 2 3 = min = 1,5 = 2 03 33 Άρα η στήλη περιστροφής είναι η s = 3, επειδή θ 2 < θ 1. Βήμα 4: Κάνουμε περιστροφή στο στοιχείο 33 = -2 και προκύπτει το επόμενο tbleu Simplex., x 1 x 2 x 3 x 4 x 5 x 6 x 7 Δ.Μ. z 1/2-5 1/2 0-19 0 0-3/2-18 x 5-1 2-1 0 11 1 0 1 30 x 6-25/2-7/2-25/2 0-6 0 1-1/2-2 x 3-1/2-3/2-1/2 1-5 0 0-1/2-6 Επανάληψη 2 Βήμα 1: Υπολογίζουμε το σύνολο J + = {j : 0j > 0} = {2}. Επειδή J + φτιάχνουμε τη χαρακτηριστική στήλη. Βήμα 2: Υπολογίζουμε το σύνολο I + = {i : i0 > 0} =. Επειδή I + = το πρόβλημα είναι απεριόριστο.

58 Κεφάλαιο 2 Αλγόριθμοι Τύπου Simplex