Ο αλγόριθµος είναι αλγεβρική διαδικασία η οποία χρησιµοποιείται για την επίλυση προβληµάτων (προτύπων) Γραµµικού Προγραµµατισµού (ΠΓΠ). Ο αλγόριθµος έχει διάφορες παραλλαγές όπως η πινακοποιηµένη µορφή. Πλεονέκτηµά του είναι ότι είναι απλός στην εφαρµογή και συγκλίνει σε σχετικά γρήγορο χρόνο στη βέλτιστη λύση, στο πλείστον των περιπτώσεων. Σκοπός κεφαλαίου ιατύπωση τυπικής µορφής προβληµάτων Γραµµικού Προγραµµατισµού. Εισαγωγή και µελέτη του αλγόριθµου. Παραδείγµατα. 4.. Τυπική Mορφή Προβληµάτων Γραµµικού Προγραµµατισµού Για να εφαρµοστεί ο αλγόριθµος, πρέπει όλοι οι περιορισµοί του ΠΓΠ να είναι ισότητες. Παρόλα αυτά, συνήθως οι περιορισµοί ΠΓΠ είναι ανισότητες, ενώ οι µεταβλητές δεν είναι πάντα αυστηρά µη αρνητικές. Επίσης, η αντικειµενική συνάρτηση µετατρέπεται σε ισότητα, θεωρώντας την ίση µε το 0. Για το λόγο αυτό, το ΠΓΠ πρέπει να τροποποιηθεί ώστε να αποκτήσει τυπική µορφή. Η τυπική µορφή ουσιαστικά είναι µορφή του ΠΓΠ όπου κάθε περιορισµός έχει µετατραπεί σε ισότητα. Ας εξετάσουµε λοιπόν τις δυνατές περιπτώσεις: Ας θεωρήσουµε το παρακάτω ΠΓΠ, το οποίο έχει ανισότητες τύπου. Max z=x +4x s.t. x +x 00 x +4x 86 x,x 0 Για να µετατρέψουµε το παραπάνω σε τυπική µορφή, θεωρούµε µια τεχνητή (slack) s i για κάθε περιορισµό του προβλήµατος (όπου i ο αριθµός του περιορισµού), s i 0. Συνεπώς στην παρούσα περίπτωση θεωρούµε τις τεχνητές µεταβλητές s, s 0. Η κάθε τεχνητή 44
αντιπροσωπεύει το αποµένον ποσό κατά το οποίο υπολείπεται ο περιορισµός ώστε από ανισότητα να µετατραπεί σε ισότητα. Συνεπώς, η τυπική µορφή του ΠΓΠ θα είναι: z-x -4x =0 s.t. x +x +s =00 x +4x +s =86 x,x,s,s 0 Αφού το αριστερό µέλος υπολείπεται του δεξιού, είναι προφανές ότι η τεχνητή θα προστεθεί στο αριστερό µέλος ώστε αυτό να εξισωθεί µε το δεξιό. H τεχνητή s αντιπροσωπεύει την απαραίτητη ποσότητα ώστε η παράσταση x +x να γίνει ίση µε 00. Αντίστοιχα, η τεχνητή s αντιπροσωπεύει την απαραίτητη ποσότητα ώστε η παράσταση x +4x να γίνει ίση µε 86. Ένα άλλο παράδειγµα, µε ανισότητες τύπου αυτή τη φορά, είναι το παρακάτω: Μin z=x +x +0x s.t. 4x +x x + 5x +8x 7 x, x, x 0 Αντίστοιχα µε πριν, θεωρούµε µια τεχνητή e i για κάθε περιορισµό του προβλήµατος (όπου i ο αριθµός του περιορισµού), e i 0. Στην παρούσα περίπτωση θεωρούµε τις τεχνητές µεταβλητές e, e 0. Η κάθε τεχνητή αντιπροσωπεύει το πλεόνασµα αυτή τη φορά του περιορισµού έναντι του δεξιού µέλους της ανίσωσης, ώστε από ανισότητα να µετατραπεί σε ισότητα. Συνεπώς, η τυπική µορφή του ΠΓΠ θα είναι: Z-x -x -0x =0 s.t. 4x +x -e = x + 5x +8x - e =7 x, x, x, e, e 0 Αφού το αριστερό µέλος πλεονάζει του δεξιού, είναι προφανές ότι η τεχνητή θα αφαιρεθεί από το αριστερό µέλος ώστε αυτό να εξισωθεί µε το δεξιό. H τεχνητή e αντιπροσωπεύει την απαραίτητη ποσότητα ώστε η παράσταση 4x +x να γίνει ίση µε. Αντίστοιχα, η τεχνητή e αντιπροσωπεύει την απαραίτητη ποσότητα ώστε η παράσταση x +5x +8x να γίνει ίση µε 7. 45
Σύµφωνα µε τα παραπάνω, ας εξετάσουµε το παρακάτω ΠΓΠ Max z-0x -0x -4x s.t. x +5x 0 x +x 5 x +x +x 55 x, x, x 0 Το πρόβληµα έχει δύο περιορισµούς τύπου και έναν περιορισµό τύπου. Συνεπώς στον πρώτο και τον τρίτο περιορισµό αντιστοιχούν οι τεχνητές µεταβλητές s, s ενώ στον δεύτερο περιορισµό αντιστοιχεί η τεχνητή e. Συνεπώς η τυπική µορφή του ΠΓΠ είναι: ΠΑΡΑΤΗΡΗΣΕΙΣ z-0x -0x -4x s.t. x +5x +s =0 x + x -e =5 x +x +x +s=55 x, x, x, s, e, s 0 Στην περίπτωση περιορισµού µε ισότητα εφαρµόζεται η εξέλιξη της µεθόδου, Big-M, η οποία και περιγράφεται σε επόµενη παράγραφο. Ο περιορισµός µη αρνητικών µεταβλητών δεν µετατρέπεται σε τυπική µορφή. 4.. Προκαταρκτικά του Αλγόριθµου Ας θεωρήσουµε την παρακάτω κανονική µορφή ΠΓΠ Περιλαµβάνει n µεταβλητές (αρχικές και τεχνητές) και m περιορισµούς. Η µορφή του θα είναι: Max(min) z=c x +c x + +c n x n ή z-c x -c x - -c n x n =0 (µπορούµε να συµπεριλάβουµε στην αντικειµενική συνάρτηση τεχνητή θεωρώντας c i =0) s.t. a x +a x + + a n x n =b a x +a x + + a n x n =b a m x +a m x + + a mn x n =b m x i 0, i=,,,n 46
Οι περιορισµοί µπορούν να περιγραφούν µε τη βοήθεια πινάκων. Αν: a A =... a m......... a n... a mn x x =... x n b B =... b m Τότε οι περιορισµοί µπορούν να περιγραφούν από την εξίσωση Α x = B. 4... Βασικές και µη Βασικές Μεταβλητές Έστω το παραπάνω σύστηµα Α x = B (), n µεταβλητών και m περιορισµών (θεωρείται n m). Ορισµός: Μια βασική λύση του συστήµατος () λαµβάνεται αν n-m µεταβλητές τεθούν ίσες µε το µηδέν και το σύστηµα επιλυθεί για τις υπόλοιπες m µεταβλητές. Αυτό προϋποθέτει ότι οι υπόλοιπες m µεταβλητές έχουν µοναδική λύση. Οι n-m µεταβλητές καλούνται µη βασικές µεταβλητές (non-basic variables NBV), ενώ οι υπόλοιπες m µεταβλητές καλούνται βασικές (basic variables BV). Θέτοντας τις µη βασικές µεταβλητές ίσες µε µηδέν και επιλύοντας το σύστηµα (), λαµβάνονται και οι βασικές µεταβλητές και µια βασική λύση του συστήµατος (). Προφανώς, η επιλογή διαφορετικών µη βασικών µεταβλητών παρέχει και διαφορετικές βασικές λύσεις. 47
Ας εξετάσουµε ένα παράδειγµα: ΠΡΑΚΤΙΚΗ ΕΦΑΡΜΟΓΗ x -x =5 -x +x =-6 Είναι n=, m= οπότε n-m=, άρα θα διαλέξουµε µια µη βασική. Έστω ότι NBV={x }={0}. Τότε BV={x,x }={,6}. Αν όµως NBV={x }=0 τότε BV={x,x }={5,-6}. Παρόλα αυτά, υπάρχει η περίπτωση, µια οµάδα µεταβλητών να µην αποδίδει βασική λύση. Για παράδειγµα, στο παρακάτω σύστηµα: x +x +x = x +4x +x = Για NBV={x } και BV={x,x }, το σύστηµα που προκύπτει είναι το: x +x = x +4x +x = Το παραπάνω σύστηµα δεν έχει λύση συνεπώς οι x,x δεν αποτελούν λύση. ΥΝΑΤΕΣ ΛΥΣΕΙΣ Ορισµός: Κάθε βασική λύση της οποίας όλες οι µεταβλητές είναι µη αρνητικές είναι βασική δυνατή λύση. Λόγου χάρη, στο παράδειγµα: x -x =5 -x +x =-6 η λύση BV={x,x }={,6} είναι βασική δυνατή ενώ η BV={x,x }={5,-6} δεν είναι (αφού x <0). Για την εύρεση βέλτιστης λύσης σε ένα ΠΓΠ, πρέπει να αναζητηθεί η βέλτιστη βασική, δυνατή λύση. 48
ΣΥΜΠΛΗΡΩΜΑΤΙΚΕΣ ΒΑΣΙΚΕΣ ΥΝΑΤΕΣ ΛΥΣΕΙΣ Ορισµός: Για ένα ΠΓΠ µε m περιορισµούς, δύο βασικές δυνατές λύσεις είναι συµπληρωµατικές αν οι οµάδες βασικών µεταβλητών έχουν m- κοινές µεταβλητές. Λόγου χάρη στο παράδειγµα: x +x =5 x +x =6 οι βασικές λύσεις {x, x }={5,6} και {x,x }={5,} αποτελούν συµπληρωµατικές βασικές δυνατές λύσεις αφού έχουν m-=-= κοινή βασική, την x 4... Μερικά γενικά στοιχεία για ένα πρόβληµα Γραµµικού Προγραµµατισµού Για ένα ΠΓΠ µε m περιορισµούς και n µεταβλητές, µπορεί θεωρητικά να υπάρχει βασική λύση για κάθε σύνολο m-n µη βασικών µεταβλητών. Για n µεταβλητές, οι συνδυασµοί m βασικών µεταβλητών µπορούν να υπολογιστούν από τη σχέση m n! = = k n ( n m)! m! Συνεπώς ένα ΠΓΠ µπορεί να έχει το πολύ k βασικές µεταβλητές ή αντίστοιχα ο µέγιστος αριθµός αναζήτησης µεταβλητών µέχρι την εύρεση της βέλτιστης είναι k. Παρόλα αυτά, ο αλγόριθµος συγκλίνει συνήθως σε λιγότερες από m επαναλήψεις. Αν λόγου χάρη ένα ΠΓΠ έχει n=0, m=0 τότε k=85 ενώ m=0, συνεπώς ο αλγόριθµος συγκλίνει εξετάζοντας το πολύ το /6 από όλες τις βασικές δυνατές µεταβλητές. 49
4.. O Αλγόριθµος O αλγόριθµος είναι µια σχετικά απλή αλγεβρική διαδικασία η οποία συγκλίνει συνήθως σε µικρό αριθµό επαναλήψεων. Ο βασικός αριθµός βηµάτων στην τυπική περίπτωση είναι ο παρακάτω: ) Μετατρέπουµε το ΠΓΠ σε τυπική µορφή. ) Βρίσκουµε µια δυνατή βασική λύση (bfs basic feasible solution) (αν είναι δυνατόν) από την κανονική. ) Εξετάζουµε αν η δυνατή βασική λύση είναι βέλτιστη. 4) Αν δεν είναι βέλτιστη, καθορίζουµε ποια µη βασική θα γίνει βασική και ποιά βασική θα αντικαταστήσει, ώστε να αναζητηθεί καλύτερη τιµή στην αντικειµενική συνάρτηση. 5) Χρησιµοποιώντας αλγεβρικές πράξεις, βρίσκουµε τη νέα δυνατή βασική λύση και επιστρέφουµε στο 5. Για την εφαρµογή του αλγόριθµου, η γραµµή 0 πρέπει να είναι στη µορφή: z-c x -..-c n x n =0 Ορισµός: Ένα ΠΓΠ έχει κανονική µορφή όταν κάθε γραµµή έχει µια µε συντελεστή και 0 ενώ αυτή η έχει συντελεστή 0 σε κάθε άλλη γραµµή. Για την επίδειξη του αλγόριθµου, θα χρησιµοποιήσουµε το παρακάτω παράδειγµα: Max z=60x +0x +0x s.t. 8x +6x +x 48 4x +x +.5x 0 x +.5x +0.5x 8 x 5 x,x,x 0 50
ΜΕΤΑΤΡΟΠΗ ΤΟΥ Π.Γ.Π. ΣΕ ΤΥΠΙΚΗ ΜΟΡΦΗ: Για να µετατρέψουµε το ΠΓΠ σε κανονική µορφή, προσθέτουµε σε κάθε περιορισµό µια τεχνητή, s, s, s, s 4 (αφού όλοι οι περιορισµοί είναι της µορφής ). Η τυπική µορφή του προβλήµατος είναι: Row 0: z-60x -0x -0x =0 Row : 8x +6x +x +s =48 Row : 4x +x +.5x +s =0 Row : x +.5x +0.5x +s =8 x 5 Με απλή επισκόπηση µπορούµε να δούµε πως για x =x =x =0 µπορούµε να επιλύσουµε ως προς s, s, s, s 4 οπότε z=0, s =48, s =0, s =8, s 4 =5. (δηλαδή s i =δεξιό µέλος περιορισµού (rhs)). Τότε BV={s, s, s, s 4 } και NBV={x, x, x }. ΠΑΡΑΤΗΡΗΣΕΙΣ: Στη γραµµή 0 (Row 0), η z έχει συντελεστή 0 οπότε θεωρούµε ως σύµβαση ότι ανήκει στη βάση. Άρα µπορεί να θεωρηθεί ότι BV={z, s, s, s, s 4 } και NBV={x, x, x }. Κάθε βασική της αρχικής βασικής λύσης (ή βάσης) έχει συντελεστή σε γραµµή όπου είναι βασική και 0 σε γραµµή όπου δεν είναι, οπότε το σύστηµα είναι σε κανονική µορφή. Η θεώρηση όλων των x i =0 ως εκκίνηση για την εύρεση της πρώτης βασικής δυνατής λύσης είναι η συνήθης πρακτική για την εφαρµογή του αλγόριθµου. Πρέπει να εξετάσουµε αν η αρχική βασική δυνατή λύση αυτή είναι βέλτιστη ή αλλιώς αν µια συµπληρωµατική δυνατή βασική λύση της αρχικής µπορεί να αυξήσει το z. Παρατηρούµε ότι για την εξίσωση της αντικειµενικής συνάρτησης, αν αυξήσουµε µια µη βασική από τις x,x, x κατά µία µονάδα και διατηρήσουµε τις υπόλοιπες ίσες µε το 0, η τιµή του z θα αυξηθεί κατά 60, 0, 0. Αφού η αύξηση της x προκαλεί την µεγαλύτερη αύξηση του z, θα πρέπει να γίνει βασική. Η x θα εισαχθεί στη βάση. Μπορούµε να παρατηρήσουµε ότι στη γραµµή 0 η x έχει τον πλέον αρνητικό συντελεστή. 5
ΚΑΘΟΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΗΣ ΠΟΥ ΘΑ ΕΙΣΕΛΘΕΙ ΣΤΗ ΒΑΣΗ Επιλέγεται η µη βασική µε τον πλέον αρνητικό συντελεστή στη γραµµή 0 (αν υπάρχουν περισσότερες µε τον ίδιο συντελεστή ο οποίος είναι ο πλέον αρνητικός, η επιλογή γίνεται κατά βούληση). Επιθυµούµε την µέγιστη αύξηση του x. Αλλαγή του x σηµαίνει και αλλαγή των τιµών των s, s, s, s 4. ιατηρώντας τις x, x =0, προσπαθούµε να εξετάσουµε ποια είναι η µέγιστη δυνατή αύξηση του s. Είναι s =48-8x 0 ή x 48/8=6 (Row ), s =0-4x 0 ή x 0/4=5 (Row ), s =8-x 0 ή x 8/=4 (Row ), s 4 =5 (Row 4) αφού ο τελευταίος περιορισµός είναι ανεξάρτητος του x. Για να διατηρηθούν όλες οι βασικές µεταβλητές µη αρνητικές, η µεγαλύτερη δυνατή αύξηση που µπορεί να επιτευχθεί στο x είναι η ελάχιστη των 48/8, 0/4, 8/, δηλαδή η 8/=4. Για κάθε γραµµή, η αντίστοιχη τιµή (48/8,...) δείχνει τη µέγιστη δυνατή αύξηση του x για την οποία θα παραµείνουν µη αρνητικές οι s, s, s, s 4. Η κανονική µορφή του ΠΓΠ για την αρχική βάση απεικονίζεται ως εξής: Γραµµή Βασική Μεταβλητή Row 0 z -60x -0x -0x =0 z=0 Row 8x +6x +x +s =48 s =48 Row 4x +x +.5x +s =0 s =0 Row x +.5x +0.5x +s =8 s =8 Row 4 x + s 4 =5 s 4 =5 Μπορούµε λοιπόν να συµπεράνουµε ότι το πόσο µπορεί να αυξηθεί το x (οπότε και η αντικειµενική συνάρτηση) εξαρτάται από τον συντελεστή τον οποίο έχει σε κάθε γραµµή, εφόσον ο συντελεστής αυτός είναι θετικός. Παράλληλα, σε κάθε γραµµή, η τιµή της βασικής ς γινόταν αρνητική όταν η εισερχόµενη βασική υπερέβαινε την ποσότητα: εξιό µέλος γραµµής Συντελεστής εισερχόµενης ς στη βάση για την ίδια γραµµή H παραπάνω αναλογία είναι το κριτήριο για την εισαγωγή µιας µη βασικής ς στη βάση. Η γραµµή στην οποία η αναλογία έχει την µικρότερη θετική τιµή, είναι αυτή στην οποία εισέρχεται η νέα βασική στη θέση της παλαιότερης. ΠΑΡΑΤΗΡΗΣΗ: Εφόσον ο συντελεστής της εισερχόµενης ς είναι µηδέν ή αρνητικός, δεν είναι απαραίτητο και δεν υπολογίζεται η αναλογία (γιατί;). 5
Σύµφωνα µε τα παραπάνω, για το κριτήριο έχουν υπολογιστεί οι τιµές: Row : Αναλογία για το x =48/8=6 Row : Αναλογία για το x =0/4=5 Row : Αναλογία για το x =8/=4 Row 4: Συντελεστής του x =0 οπότε δεν εξετάζεται η αναλογία. Η µικρότερη τιµή της αναλογίας είναι 4 και εµφανίζεται στη γραµµή. Συνεπώς, η x εισέρχεται στη γραµµή (Row ), στη θέση της βασικής ς s. Τότε NBV={s,x,x } και BV={z,s,s,x,s 4 }. ΠΑΡΑΤΗΡΗΣΗ: Εφόσον η αναλογία είναι η ίδια σε δύο ή περισσότερες γραµµές και είναι η ελάχιστη, η επιλογή της γραµµής όπου θα εισέλθει η νέα βασική γίνεται τυχαία. ΕΙΣΑΓΩΓΗ ΤΗΣ ΝΕΑΣ ΒΑΣΙΚΗΣ ΜΕΤΑΒΛΗΤΗΣ ΣΤΗ ΒΑΣΗ Χρησιµοποιώντας βασικές αλγεβρικές πράξεις (γραµµοπράξεις) έχουµε ως στόχο το να αποκτήσει η νέα η οποία εισέρχεται στη βάση, συντελεστή ίσο µε στη γραµµή όπου εισέρχεται και συντελεστή 0 σε όλες τις άλλες γραµµές (η διαδικασία ονοµάζεται στα αγγλικά Pivoting). Το αποτέλεσµα είναι ότι η νέα αντικαθιστά την παλαιά, δηλαδή η x την s και το ΠΓΠ µετατρέπεται σε νέα κανονική µορφή. Στο παράδειγµά µας θα έχουµε τις παρακάτω γραµµοπράξεις: ΓΠ: Row = ½ Row (συντελεστής για τη x στη γραµµή ) => x +0.75x +0.5x +0.5s =4 ΓΠ: Row0 =Row0 + 60Row (συντελεστής 0 για τη x στη γραµµή 0 ) => z+5x -5x +0s =40 ΓΠ: Row =Row-8Row (συντελεστής 0 για τη x στη γραµµή ) => -x +s -4s =6 ΓΠ4: Row =Row-4Row (συντελεστής 0 για τη x στη γραµµή ) => -x +0.5x +s -s =4 ΓΠ5 Row4 =Row4+0Row (αφού η x δεν υπάρχει στη γραµµή 4 ) => x +s 4 =5 H νέα κανονική µορφή θα έχει: και θα απεικονίζεται ως: NBV={s,x,x } και BV={z,s,s,x,s 4 }. 5
Γραµµή Βασική Μεταβλητή Row 0 z -60x -0x -0x =0 z=0 Row 8x +6x +x +s =48 s =48 Row 4x +x +.5x +s =0 s =0 Row x +.5x +0.5x +s =8 s =8 Row 4 x + s 4 =5 s 4 =5 Για την κανονική µορφή αυτή, είναι z=40, s =6, s =4, x =4, s 4 =5. (η τιµή του z προκύπτει από την Row0 το δεξιό µέλος, οι τιµές των λοιπών βασικών µεταβλητών αν θέσουµε όλες τις µη βασικές µεταβλητές ίσες µε 0). ΠΑΡΑΤΗΡΗΣΗ: Η νέα κανονική µορφή δίνει βελτιωµένη λύση σε σχέση µε την προηγούµενη. Η νέα µε την παλιά κανονική µορφή έχουν συµπληρωµατικές δυνατές βασικές λύσεις, αφού έχουν m-=4- = κοινές βασικές µεταβλητές (s, s, s 4 ). ηλαδή, η διαδικασία ουσιαστικά είναι η δηµιουργία µιας καλύτερης συµπληρωµατικής βασικής δυνατής λύσης από την προηγούµενη. Εξετάζουµε στη συνέχεια αν µπορούµε να βρούµε αν κάποια από τις µη βασικές µεταβλητές µπορεί να προκαλέσει αύξηση στην τιµή της αντικειµενικής συνάρτησης (του z) και να εισέλθει στη βάση. Ο συντελεστής της µη βασικής ς s είναι 0 (0 στην κανονική µορφή), συνεπώς (για x =x =0) για αύξηση κατά της s η τιµή της αντικειµενικής συνάρτησης µειώνεται. Όµοια, ο συντελεστής της µη βασικής ς x είναι 5 (5 στην κανονική µορφή), συνεπώς (για x =s =0) για αύξηση κατά της s η τιµή της αντικειµενικής συνάρτησης µειώνεται. Αντίθετα, ο συντελεστής της µη βασικής ς x (για x =s =0) είναι 5 (-5 στην κανονική µορφή), οπότε αύξηση της x κατά, προκαλεί αύξηση της τιµής της αντικειµενικής συνάρτησης. Συνεπώς, επιθυµούµε να εισάγουµε την x στη βάση, αυξάνοντάς την τόσο όσο οι παρούσες βασικές µεταβλητές να παραµείνουν θετικές. Αυτό, όπως αναφέρθηκε και πριν, εξετάζεται µε το κριτήριο της αναλογίας. ηλαδή: Row : Η x έχει αρνητικό συντελεστή οπότε δεν υπολογίζεται αναλογία. 4 Row : = 8 0.5 4 Row : = 6 0.5 Row4 : Η x έχει µηδενικό συντελεστή οπότε δεν υπολογίζεται αναλογία. 54
Συνεπώς, η x θα εισέλθει στη βάση στη γραµµή (Row ), στη θέση της ς s. Εφαρµόζοντας γραµµοπράξεις: ΓΠ: Row =Row (συντελεστής για τη x στη γραµµή )=> -x +x +s -4s =8 ΓΠ: Row0 =Row0 +5Row (συντελεστής 0 για τη x στη γραµµή 0 )=> z+5x +0s +0s =80 ΓΠ: Row =Row +Row (συντελεστής 0 για τη x στη γραµµή )=> -x +s +s -8s =4 ΓΠ4: Row =Row -0.5Row (συντελεστής 0 για τη x στη γραµµή )=> x +.5x -0.5s +.5s = ΓΠ5: Row4 =Row4 +0Row (αφού η x δεν υπάρχει στη γραµµή 4 )=> x +s 4 =5 Οι νέες βασικές και µη βασικές µεταβλητές θα είναι: Και θα έχουν τιµές BV={z, s, x, x,s 4 } και NBV={s, s, x }. z=80, s =4, x (η τιµή του z προκύπτει από την Row0 το δεξιό µέλος, οι τιµές των λοιπών βασικών µεταβλητών αν θέσουµε όλες τις µη βασικές µεταβλητές ίσες µε 0). Η νέα κανονική µορφή θα είναι: Γραµµή Βασική Μεταβλητή Row 0 z +5x +0s +0s =80 z=80 Row -x +s +s -8s =4 s =4 Row -x +x +s -4s =8 x =8 Row x +.5x -0.5s +.5s = x = Row 4 x + s 4 =5 s 4 =5 Παρατηρούµε ότι στην παραπάνω κανονική µορφή, οποιαδήποτε της γραµµής 0 (της αντικειµενικής συνάρτησης) και αν αυξηθεί, λόγω του προσήµου των συντελεστών αυτής, η τιµή της αντικειµενικής συνάρτησης θα µειωθεί (να επιβεβαιωθεί ως άσκηση). Αυτό µας οδηγεί στο συµπέρασµα ότι έχουµε καταλήξει στη βέλτιστη λύση. 55
Γενικά: Η κανονική µορφή ενός ΠΓΠ αποδίδει βέλτιστο αποτέλεσµα (σε πρόβληµα µεγιστοποίησης), αν όλες οι µη κανονικές µεταβλητές έχουν µη αρνητικό συντελεστή στη γραµµή 0 της κανονικής µορφής. Συνοπτικά τα βήµατα του αλγόριθµου είναι τα παρακάτω: Μετατρέπουµε το ΠΓΠ σε κανονική µορφή. Βρίσκουµε µια αρχική βασική δυνατή λύση. Αυτό είναι εύκολο αν όλοι οι περιορισµοί είναι οπότε η αρχική βάση είναι το σύνολο των τεχνητών µεταβλητών (όπως στο προηγούµενο παράδειγµα). Αν δεν είναι δυνατή η µε απλή εποπτεία εύρεση αρχικής βασικής δυνατής λύσης, εφαρµόζεται η µέθοδος «Big-M», η οποία αναλύεται παρακάτω (ή κάποια άλλη µέθοδος της βιβλιογραφίας). Αν όλες οι µη βασικές µεταβλητές στη γραµµή της αντικειµενικής συνάρτησης (Row 0) έχουν µη αρνητικούς συντελεστές (για πρόβληµα µεγιστοποίησης) η λύση είναι βέλτιστη. Αν υπάρχουν µεταβλητές µε αρνητικούς συντελεστές, επιλέξτε την µε τον πιο αρνητικό συντελεστή στη γραµµή 0 για να εισέλθει στη βάση (να γίνει δηλαδή βασική ). Χρησιµοποιείστε το κριτήριο αναλογίας για να διαλέξετε τη γραµµή περιορισµών στην οποία θα εισέλθει ως βασική η και την ήδη βασική την οποία θα αντικαταστήσει. Πραγµατοποιείστε τις κατάλληλες γραµµοπράξεις για να αποκτήσει το ΠΓΠ πάλι κανονική µορφή. Επιστρέψτε στο προηγούµενο βήµα. ΒΑΣΙΚΗ ΠΑΡΑΤΗΡΗΣΗ Ισχύει ότι: Τιµή z νέας δυνατής βασικής λύσης= τιµή z προηγούµενης δυνατής βασικής λύσης + (τιµή νέας ς που εισέρχεται στη βάση) x (συντελεστής της ς αυτής στη γραµµή 0). 4.4. Απεικόνιση µε Πίνακα (Τableau ) Ο πίνακας αποτελεί µια ευκολότερη απεικόνιση της κανονικής µορφής του ΠΓΠ σε κάθε στάδιο. Περιλαµβάνει τους συντελεστές των αριστερών µελών των γραµµών και τα δεξιά µέλη, διευκολύνει δε στην πραγµατοποίηση γραµµοπράξεων και στην πιο συνοπτική επίλυση του προβλήµατος. Στη συνέχεια, οι όποιες επιλύσεις και κανονικές µορφές θα δίνονται µε πίνακες. Επίλυση µε πίνακα του προηγούµενου παραδείγµατος φαίνεται παρακάτω: 56
Πίνακας 5.4..α. Αρχικός πίνακας. ΑΡΧΙΚΟΣ ΠΙΝΑΚΑΣ z x x x s s s s 4 RHS Αναλογία -60-0 -0 0 0 0 0 0-0 8 6 0 0 0 48 48/8=6 0 4.5 0 0 0 0 0/4=5 0.5 0.5 0 0 0 8 8/=4 ελάχιστο 0 0 0 0 0 0 5 - Πίνακας 5.4..β. Πρώτη κανονική µορφή πίνακα. Η ΚΑΝΟΝΙΚΗ ΜΟΡΦΗ z x x x s s s s 4 RHS Αναλογία 0 5-5 0 0 0 0 40 0 0 0-0 - 0 6-0 0-0.5 0-0 4 4/0.5=8 0 0.75 0.5 0 0 0.5 0 4 4/0.5=6 ελάχιστο 0 0 0 0 0 0 5 - Πίνακας 5.4..γ. Τελική µορφή πίνακα. ΤΕΛΙΚΟΣ ΠΙΝΑΚΑΣ z x x x s s s s 4 RHS Βασική 0 5 0 0 0 0 0 80 z=80 0 0-0 -8 0 4 s =4 0 0-0 -4 0 8 x =8 0.5 0 0-0.5.5 0 x = 0 0 0 0 0 0 5 s 4 =5 57
4.4.. Προβλήµατα Ελαχιστοποίησης Τα προβλήµατα ελαχιστοποίησης λύνονται όπως και τα προβλήµατα µεγιστοποίησης µε µικρές τροποποιήσεις. Ας εξετάσουµε το παρακάτω παράδειγµα: Min z=x -x s.t. x +x 4 x -x 6 x, x 0 4.4... Η ΜΕΘΟ ΟΣ ΕΠΙΛΥΣΗΣ Θέτουµε w=-z και επιλύουµε το πρόβληµα ως πρόβληµα µεγιστοποίησης. Για το δοσµένο παράδειγµα, το ΠΓΠ θα γίνει: w=-z=-x +x οπότε Max w= -x +x s.t. x +x 4 x -x 6 x, x 0 4.4... Η ΜΕΘΟ ΟΣ ΕΠΙΛΥΣΗΣ Εφαρµόζουµε τον αλγόριθµο Simplex µε τις εξής τροποποιήσεις: Αν όλες οι µη βασικές µεταβλητές στη γραµµή 0 έχουν µη θετικούς συντελεστές, τότε έχει βρεθεί βέλτιστη λύση στο ΠΓΠ Η µη βασική που έχει τον µεγαλύτερο θετικό συντελεστή στη γραµµή 0 εισέρχεται στη βάση σύµφωνα µε το κριτήριο αναλογίας (ως έχει). 4.4... ΙΑΦΟΡΕΣ ΕΝΑΛΛΑΚΤΙΚΕΣ ΒΕΛΤΙΣΤΕΣ ΛΥΣΕΙΣ Ένα ΠΓΠ µπορεί να έχει περισσότερες της µιας βέλτιστες λύσεις. Με τη βοήθεια του αλγόριθµου µπορούµε να εξετάσουµε αν υπάρχουν εναλλακτικές λύσεις σε κάποιο ΠΓΠ Ας πάρουµε τον τελικό πίνακα του παραδείγµατος που χρησιµοποιήσαµε για την επίδειξη του αλγορίθµου: 58
Πίνακας 4.4...α. Τελικός πίνακας. ΤΕΛΙΚΟΣ ΠΙΝΑΚΑΣ z x x x s s s s 4 RHS Βασική 0 5 0 0 0 0 0 80 z=80 0 0-0 -8 0 4 s =4 0 0-0 -4 0 8 x =8 0.5 0 0-0.5.5 0 x = 0 0 0 0 0 0 5 s 4 =5 Για να είναι βασικές οι µεταβλητές, πρέπει να έχουν, όπως προαναφέρθηκε, µηδενικό συντελεστή στη γραµµή 0. Αν παρατηρήσουµε όµως τον πίνακα του παραδείγµατος, θα δούµε ότι στη γραµµή 0 υπάρχει και µια µη βασική, η x, η οποία έχει µηδενικό συντελεστή στη γραµµή 0. Εφόσον θελήσουµε να εισάγουµε την x στη βάση, θα εισαχθεί στη γραµµή, αντί της βασικής ς x (γιατί?). Ο πίνακας που προκύπτει είναι ο παρακάτω: Πίνακας 4.4...β. Τελικός πίνακας. ΤΕΛΙΚΟΣ ΠΙΝΑΚΑΣ ΜΕΤΑ ΤΗΝ ΕΙΣΑΓΩΓΗ ΤΟΥ X ΣΤΗ ΒΑΣΗ z x x x s s s s 4 RHS Βασική 0 0 0 0 0 0 0 80 z=80 0.6 0 0. -5.6 0 7. s =7. 0.6 0 0. -.6 0. x =. 0 0.8 0 0-0.4. 0.6 x =.6 0-0.8 0 0 0 0.4 -..4 s 4 =.4 Μπορούµε να παρατηρήσουµε ότι επειδή το x έχει µηδενικό συντελεστή στη γραµµή 0 του πρώτου βέλτιστου πίνακα, η εισαγωγή του x στη βάση, δεν αλλάζει τη γραµµή 0. Συνεπώς όλες οι µεταβλητές στη νέα γραµµή 0 συνεχίζουν να έχουν µη αρνητικές µεταβλητές, οπότε και ο νέος πίνακας SIMPEX είναι βέλτιστος, µε z=70, s =7., x =., x =.6, s 4 =.4. Γενικά: Αν µια µη βασική στην γραµµή 0 του τελικού βέλτιστου πίνακα έχει συντελεστή 0, τότε το ΠΓΠ έχει εναλλακτική βέλτιστη λύση. 59
ΜΗ ΦΡΑΓΜΕΝΑ Π.Γ.Π. Υπάρχουν ΠΓΠ στα οποία η αντικειµενική συνάρτηση δεν είναι φραγµένη από τους περιορισµούς. Τα προβλήµατα αυτά µπορούν να εντοπιστούν από τον αλγόριθµο. Ας εξετάσουµε το παρακάτω παράδειγµα: Max z=6x +0x -x -4x 4 s.t. x +x -x 5 6x +5x -x 4 0 x, x, x, x 4 0 Ο αρχικός πίνακας του προβλήµατος είναι ο παρακάτω: Πίνακας 4.4..4.α. Αρχικός πίνακας. z x x x x 4 s s RHS Βασική Αναλογία -6-0 4 0 0 0 z=0 0-0 0 5 s =5 5/ 0 6 5 0-0 0 s =0 0/6 Εφαρµόζοντας τον αλγόριθµο, οι δύο επόµενοι πίνακες είναι οι παρακάτω: Πίνακας 4.4..4.β. z x x x x 4 s s RHS Βασική Αναλογία 0 0-0 6 60 z=60 0 0 /6 - /6 -/6 0/ s =0/ (0/)/(/6)=0 0 5/6 0 -/6 0 /6 5/ x =5/ - Πίνακας 4.4..4.γ. Τελικός πίνακας. z x x x x 4 s s RHS Βασική Αναλογία 0-9 0 4 00 z=00 0 0-6 6-0 x 4 =0-0 - 0 0 5 x =5 - Στον τελευταίο πίνακα παρατηρούµε ότι δεν είναι δυνατόν να εφαρµοστεί το κριτήριο της αναλογίας. Αν εξετάσουµε αναλυτικότερα τον πίνακα, η µόνη µη βασική που µπορεί να εισέλθει στη βάση είναι η x. 60
Η x σχετίζεται µε τις βασικές µεταβλητές x, x 4 ως εξής: x 4 =0+6x x =5+x Οποιαδήποτε αύξηση του x, σηµαίνει αύξηση των x, x 4, απεριόριστα, αφού τα x, x 4 θα είναι πάντα θετικά. Συνεπώς, για οποιαδήποτε τιµή του x, τα x και x 4, οπότε και το z, αυξάνουν απεριόριστα. Από το παράδειγµα προκύπτει ο εξής κανόνας για µη φραγµένα ΠΓΠ Ένα πρόβληµα µεγιστοποίησης είναι µη φραγµένο αν µια µε αρνητικό συντελεστή στη γραµµή 0 (η οποία είναι προφανώς µη βασική), έχει µη θετικό συντελεστή σε κάθε άλλη γραµµή. Γενικά, ο απλούστερος τρόπος για να εντοπιστεί κάποιο πρόβληµα αυτού του είδους είναι να καταλήξουµε σε κάποιο πίνακα όπου δεν µπορεί να εφαρµοστεί το κριτήριο αναλογίας. 4.4.. Εκφυλισµός του Αλγόριθµου Θεωρητικά, ο αλγόριθµος µπορεί να αποτύχει στην εύρεση βέλτιστης λύσης. Παρόλα αυτά κάτι τέτοιο δεν είναι σύνηθες. Η αποτυχία βέλτιστης λύσης εξαρτάται κυρίως από την παρακάτω σχέση, η οποία συνδέει τη νέα δυνατή βασική ενός προβλήµατος µεγιστοποίησης µε την προηγούµενη αυτής (µετά από µια επανάληψη του αλγόριθµου ). Τιµή z για νέα δυνατή βασική λύση = Τιµή z προηγούµενης δυνατής βασικής λύσης (τιµή ς που εισέρχεται στη βάση) x (τιµή συντελεστή ς που εισέρχεται στη βάση, στη γραµµή 0). (*) Στην παραπάνω σχέση (*), κάθε αύξηση κατά µία µονάδα της ς που εισέρχεται στη βάση αυξάνει το z κατά (τιµή συντελεστή ς που εισέρχεται στη βάση, στη γραµµή 0), αφού (τιµή συντελεστή ς που εισέρχεται στη βάση, στη γραµµή 0)<0 και (τιµή ς που εισέρχεται στη βάση) 0. Συνδυάζοντας αυτά µε τη σχέση (*), µπορούµε να λάβουµε τα εξής συµπεράσµατα: Αν η τιµή της εισερχόµενης ς στη βάση είναι >0, τότε η νέα τιµή z είναι µεγαλύτερη της προηγούµενης. Αν η τιµή της εισερχόµενης ς στη βάση είναι =0, τότε η νέα τιµή z είναι ίση µε την προηγούµενη. Ορισµός Αν σε κάθε µία από τις δυνατές βασικές λύσεις ενός ΠΓΠ, όλες οι µεταβλητές είναι αυστηρά θετικές, το ΠΓΠ είναι µη εκφυλισµένο. Σε ένα ΠΓΠ που είναι µη εκφυλισµένο, σύµφωνα µε την προηγούµενη περίπτωση, κάθε επανάληψη του αλγόριθµου θα αυξήσει το z. Συνεπώς, 6
η συνέχιση των επαναλήψεων δεν πρόκειται να επιστρέψει σε προηγούµενη βασική δυνατή λύση (γιατί?). Αφού όπως προαναφέρθηκε, ο αλγόριθµος έχει πεπερασµένο αριθµό βασικών δυνατών λύσεων και δεν πρόκειται να επαναληφθεί βασική δυνατή λύση, µπορούµε να συµπεράνουµε ότι σε ένα µη εκφυλισµένο ΠΓΠ βέλτιστη λύση θα βρεθεί (αν υπάρχει), σε πεπερασµένο αριθµό επαναλήψεων. Παρόλα αυτά, ο αλγόριθµος µπορεί να αποτύχει στην επίλυση ενός εκφυλισµένου ΠΓΠ Ορισµός Ένα ΠΓΠ είναι εκφυλισµένο όταν υπάρχει τουλάχιστον µια δυνατή βασική λύση για την οποία µια βασική ισούται µε µηδέν. Το παρακάτω ΠΓΠ είναι εκφυλισµένο: Max z =5x +x s.t. x +x 0 x +x 0 x, x Παρακάτω φαίνονται οι πίνακες επίλυσης του παραδείγµατος: Πίνακες 4.4..α., β., γ. ΑΡΧΙΚΟΣ ΠΙΝΑΚΑΣ z x x s s RHS Βασική Αναλογία -5-0 0 0 z=0 0 0 6 s =6 6 0-0 0 s =0 0* Η ΕΠΑΝΑΛΗΨΗ z x x s s RHS Βασική Αναλογία 0-7 0 5 0 z=0 0 0-6 s =6 6/=* 0-0 0 x =0 - Η ΕΠΑΝΑΛΗΨΗ ΒΕΛΤΙΣΤΟΣ ΠΙΝΑΚΑΣ z x x s s RHS Βασική Αναλογία 0 0.5.5 z= 0 0 0.5-0.5 x = 0 0 0.5 0.5 x = Στον αρχικό πίνακα, η βασική s είναι ίση µε το µηδέν, οπότε το ΠΓΠ είναι εκφυλισµένο. Στον δεύτερο πίνακα, όπου έχει εισέλθει η x στη βάση, είναι επίσης ίση µε το µηδέν. Και στις δύο 6
περιπτώσεις, η τιµή του z παραµένει η ίδια. Στην τρίτη επανάληψη, επιτυγχάνεται η βέλτιστη λύση. Το γεγονός της πιθανής διατήρησης της ίδιας τιµής για την αντικειµενική συνάρτηση (όπως φαίνεται από τις δυο επαναλήψεις του παραδείγµατος), για συνεχόµενες εναλλαγές βάσεων, σε ένα εκφυλισµένο ΠΓΠ λέγεται κυκλική εναλλαγή (cycling). Παρόλα αυτά υπάρχουν τεχνικές οι οποίες µπορούν να αποτρέψουν το γεγονός αυτό, οι οποίες ξεφεύγουν από το σκοπό του κειµένου αυτού. 4.4.. Η Μέθοδος Big-M Όπως αναλύθηκε προηγουµένως, για να εφαρµοστεί ο αλγόριθµος, πρέπει να έχει βρεθεί µια αρχική δυνατή βασική λύση. Παρόλα αυτά, σε περιπτώσεις όπου οι περιορισµοί είναι ισότητες ή ανισότητες του τύπου, µπορεί να είναι δύσκολη η εύρεση αρχικής δυνατής βασικής λύσης. Για τον λόγο αυτόν χρησιµοποιείται η µέθοδος Big-M η οποία προσθέτει βοηθητικές µεταβλητές για την εύρεση αρχικής λύσης. Ας εξετάσουµε το παρακάτω παράδειγµα: Min z=x +x s.t. ½ x + ¼ x 4 x +x 0 x +x =0 x, x 0 Μετατρέπουµε το παραπάνω ΠΓΠ σε τυπική µορφή, προσθέτοντας µια τεχνητή s στον ο περιορισµό και µια e στον ο περιορισµό, οπότε η τυπική µορφή του ΠΓΠ είναι η: Row0: z-x -x =0 Row: ½ x +¼ x +s =4 Row: x +x -e =0 Row: x +x =0 x, x, s, e 0 Εξετάζουµε την τυπική µορφή για την εύρεση µιας βασικής δυνατής αρχικής λύσης. Από τη γραµµή, αν θεωρήσουµε x =x =0, είναι s =4 οπότε η s θα µπορούσε να θεωρηθεί βασική δυνατή. Όµως, η γραµµή για x =x =0, δίνει e =-0 που δεν είναι αποδεκτό αφού e 0. Τέλος, η γραµµή δεν δίνει πληροφορίες για αρχική βασική δυνατή λύση. Για να επιλυθεί το πρόβληµα, προσθέτουµε σε κάθε γραµµή όπου δεν είναι δυνατή η εύρεση µιας βασικής δυνατής ς µια βοηθητική a i που αντιστοιχεί στη γραµµή i όπου δεν είναι δυνατή η εύρεση δυνατής βασικής ς. 6
Στο παράδειγµά µας, προστίθενται οι βοηθητικές µεταβλητές a και a : z-x -x =0 ½ x +¼ x +s =4 x +x -e +a =0 x +x +a =0 Μπορούµε να λάβουµε συνεπώς µια αρχική βασική δυνατή λύση, z=0, s =4, a =0, a =0. υστυχώς όµως, η βέλτιστη λύση του νέου ΠΓΠ δεν είναι σίγουρο ότι είναι η ίδια και στο αρχικό. Για τον λόγο αυτόν, επιθυµούµε οι βοηθητικές µεταβλητές να είναι ίσες µε το µηδέν στη βέλτιστη λύση του νέου ΠΓΠ ώστε αυτό να είναι ισοδύναµο µε το αρχικό. Έτσι, στην αντικειµενική συνάρτηση του νέου ΠΓΠ, αν αυτό είναι πρόβληµα ελαχιστοποίησης, προσθέτουµε για κάθε βοηθητική έναν όρο Μa i (αν είναι πρόβληµα µεγιστοποίησης προσθέτουµε έναν όρο Ma i ), όπου Μ ένας «µεγάλος» θετικός αριθµός (εξ ου και η ονοµασία Big M). Θεωρώντας ότι µια πολύ µεγάλη ποσότητα είναι συνάρτηση της βοηθητικής ς, στη βέλτιστη λύση είναι αναµενόµενο οι βοηθητικές µεταβλητές να είναι ίσες µε µηδέν. Τότε η λύση του νέου προβλήµατος είναι και λύση του αρχικού. Αν παρόλα αυτά, οι βοηθητικές µεταβλητές στον τελικό πίνακα λάβουν θετικές τιµές, το αρχικό πρόβληµα δεν έχει δυνατή λύση. Η αντικειµενική συνάρτηση θα είναι η εξής: Min z=x +x +Ma +Ma ή z-x -x -Ma -Ma =0 Τα βήµατα της µεθόδου Big-M φαίνεται παρακάτω: Τροποποιήστε τα δεξιά µέλη των περιορισµών ώστε να είναι θετικά (π.χ. πολλαπλασιάζοντας και τα δυο µέλη µε -, προσοχή στη φορά της ανισότητας και τα πρόσηµα). Μετά την τροποποίηση, εξετάστε ποιοί περιορισµοί είναι ή =. Μετατρέψτε όλες τις ανισότητες σε τυπική µορφή (προσθέστε τεχνητές µεταβλητές). Αν ένας περιορισµός i ήταν της µορφής = ή πριν τη µετατροπή του σε τυπική µορφή, προσθέστε βοηθητική a i 0. Έστω Μ ένας πολύ µεγάλος θετικός. Για πρόβληµα ελαχιστοποίησης, προσθέστε για κάθε βοηθητική a i, την ποσότητα Μa i. Για πρόβληµα µεγιστοποίησης, προσθέστε για κάθε βοηθητική a i, την ποσότητα -Μa i. Αφού κάθε βοηθητική είναι στην αρχική βάση, όλες οι βοηθητικές µεταβλητές πρέπει να εξαλειφθούν από τη γραµµή 0, ώστε να έχει το ΠΓΠ κανονική µορφή. Επιλύστε το νέο ΠΓΠ µε τον αλγόριθµο. Αν όλες οι βοηθητικές µεταβλητές είναι ίσες µε µηδέν στη βέλτιστη λύση, η βέλτιστη λύση είναι αυτή του αρχικού ΠΓΠ Αν υπάρχει κάποια θετική βοηθητική, το αρχικό ΠΓΠ δεν έχει λύση. 64
Θα χρησιµοποιήσουµε τα παραπάνω βήµατα για να επιλύσουµε το παράδειγµά µας: Όλοι οι περιορισµοί έχουν θετικό πρόσηµο στο δεξιό µέλος τους οπότε δεν χρειάζεται καµία τροποποίηση. Οι περιορισµοί και θα απαιτήσουν βοηθητικές µεταβλητές a, a. Επίσης, οι γραµµές και θα χρειαστούν τεχνητές µεταβλητές, s, e. Προσθέτουµε καταρχάς τις τεχνητές µεταβλητές x, x στην κανονική µορφή του ΠΓΠ: Min z= x +x Row: ½ x + ¼ x +s =4 Row: x +x e =0 Row: x +x =0 x, x, s, e 0 Προσθέτουµε βοηθητικές µεταβλητές a, a στους περιορισµούς,. Min z= x +x Row: ½ x + ¼ x + s = 4 Row: x +x e +a = 0 Row: x +x +a = 0 x, x, s, e, a, a 0 Μπορούµε συνεπώς να δούµε ότι η αρχική δυνατή βασική λύση είναι s =4, a =0 και a =0. To πρόβληµα που επιλύουµε είναι ελαχιστοποίησης, οπότε προσθέτουµε την ποσότητα Ma +Ma στην αντικειµενική συνάρτηση: Min z= x +x -Ma -Ma Οπότε η γραµµή 0 θα γίνει z-x -x -Ma -Ma =0. Οι µεταβλητές a και a πρέπει να αφαιρεθούν από τη γραµµή 0. Αυτό θα επιτευχθεί µε τη γραµµοπράξη: Row0 =Row0+M x Row + M x Row. Πράγµατι: Row0: z-x -x -Ma -Ma =0 M Row: Mx +Mx -Me +Ma =0M M Row: Mx +Mx +Ma =0M Row0 : z +(M-)x +(4M-)x -Me =0M Ο πίνακας της αρχικής κανονικής µορφής φαίνεται παρακάτω: 65
Πίνακας 4.4..α. Αρχικός πίνακας. z x x s e a a RHS Βασική Αναλογία M- 4M- 0 -M 0 0 0M z=0m 0 ½ ¼ 0 0 0 4 s =4 6 0 0-0 0 a =0 0/ 0 0 0 0 0 a =0 0 Αφού πρόκειται για πρόβληµα ελαχιστοποίησης, η µη βασική µε τον πιο θετικό συντελεστή πρέπει να εισέλθει στη βάση. Αφού 4Μ- >Μ-, η x πρέπει να εισέλθει στη βάση, στη γραµµή, µε βάση το κριτήριο αναλογίας. Ακολουθεί η εκτέλεση των γραµµοπράξεων για την αφαίρεση του x από τη γραµµή 0 (που είναι και η συνήθης δυσκολία στην εφαρµογή της µεθόδου Big-M). Αντικαθιστούµε τη γραµµή Row µε την Row =/ Row: Row : x + x e + a = 0 Αφαιρούµε τη x από τη γραµµή 0 µε τη γραµµοπράξη Row0 =Row0+(-4M)Row ( 4M) 4M)Row' = x + ( 4M)x ( 4M) e ( 4M) + a ( 0( 4M) = Row0 = z + (M )x + (4M )x Me = 0M (M ) (M ) ( 4M) 60 + 0M Row0' = z + x + e + a = Στη συνέχεια, µε την πραγµατοποίηση γραµµοπράξεων αφαιρούµε την x από τις γραµµές Row και Row και προκύπτει ο νέος πίνακας : 66
Πίνακας 4.4..β. Νέος πίνακας. z x x s e a a RHS 0 0 0 M 5 0 0 0 0 0 0 M 4M 0 0 0 60 M + 0 7 0 0 Βασική M z = s = 7 x = 0 0 a = Αναλογία 8 5 0 5 M M Στον νέο πίνακα, αφού, η x εισέρχεται στη βάση. Το κριτήριο αναλογίας δείχνει ότι η x θα εισέλθει στην γραµµή (Row ), του πίνακα, αντί της ς a. Ακολουθούν οι γραµµοπράξεις και ιδιαίτερα η αφαίρεση του x από τη γραµµή 0: Αντικαθιστούµε τη γραµµή Row µε τη γραµµή Row = Row οπότε η νέα γραµµή θα είναι: Row' : x + e a + a = Αφαιρούµε το x από τη γραµµή 0 µε τη γραµµοπράξη 5 ( M) Row0' = Row0 + Row' (M ) (M ) ( 4M) 60 + 0M Row0: z + x + e + a = ( M) ( M) ( M) (M ) ( M) Row = Row' = x + e + a + a 6 6 e ( M) ( M) Row0 = z + a + a = 5 5 0M = Ανάλογα, υπολογίζονται οι νέες γραµµές και οπότε προκύπτει ο παρακάτω πίνακας : 67
Πίνακας 4.4..γ. Νέος πίνακας. z x x s e a a RHS 0 0 0 0 0 0 0 0 0 0 0 0 8 M 8 M 5 8 Βασική 5 z = 5 4 s = 4 5 x =5 5 x =5 Όλοι οι συντελεστές των µη βασικών µεταβλητών στη γραµµή 0 είναι µη θετικές και οι τιµές όλων των βοηθητικών µεταβλητών είναι ίσες µε το µηδέν, οπότε η λύση είναι βέλτιστη. ΠΑΡΑΤΗΡΗΣΗ: Ένα ΠΓΠ που επιλύεται µε την µέθοδο Big-M δεν έχει βέλτιστη λύση αν κάποια βοηθητική έχει θετική τιµή στον τελικό πίνακα. Λόγου χάρη στο παρακάτω παράδειγµα: Min z=x +x s.t. ½ x + ¼ x 4 x +x 6 x +x = 0 x, x 0 η επίλυση µε την µέθοδο Big-M δίνει τον παρακάτω τελικό πίνακα : Πίνακας 4.4..δ. Τελικός πίνακας. z x x s e a a RHS Βασική -M 0 0 -M 0-4M 0+6M Z=6M+0 0 0 0 0 4 4 s = 0-0 0 - - 6 a =6 0 0 0 0 0 x =0 Στον παραπάνω πίνακα, όλες οι µη βασικές µεταβλητές της γραµµής 0 είναι µη θετικές, παρόλα αυτά στη βάση ανήκει η βοηθητική a =6 η οποία είναι θετική, οπότε το ΠΓΠ δεν έχει δυνατή λύση. 68
Εκτός της µεθόδου Big M, υπάρχουν και άλλες µέθοδοι για την επίλυση ΠΓΠ όπου δεν υπάρχει προφανής αρχική βασική δυνατή λύση, όπως η µέθοδος δύο φάσεων (Two phase Simplex method) κ.ά. 4.4.4. Μεταβλητές χωρίς περιορισµό προσήµου Κατά την εφαρµογή του αλγόριθµου, χρησιµοποιείται το κριτήριο αναλογίας για να εισαχθεί µια στη βάση. Όπως αναλύθηκε προηγουµένως, για να εφαρµοστεί το κριτήριο αναλογίας, θα πρέπει οι µεταβλητές να µην είναι αρνητικές. Έτσι, αν υπάρχουν στο πρόβληµα µεταβλητές χωρίς πρόσηµο, πρέπει να γίνει κατάλληλος µετασχηµατισµός ώστε όλες οι µεταβλητές να είναι θετικές. Για κάθε x i χωρίς πρόσηµο, ορίζουµε δυο θετικές µεταβλητές, και θέτουµε x i =x i -x i. Αντικαθιστούµε στο ΠΓΠ την αυτή µε αυτές του µετασχηµατισµού και προσθέτουµε τους περιορισµούς x i 0 και x i 0. Παρόλα αυτά, µπορεί να αποδειχθεί ότι σε µια βασική δυνατή λύση δεν µπορεί να είναι ταυτόχρονα x i >0 και x i >0. Έτσι έχουµε τις τρεις παρακάτω περιπτώσεις: x i '>0 και x i =0. Αυτό ισχύει όταν x i >0 οπότε x i =x i. x i '=0 και x i >0. Αυτό ισχύει όταν x i <0 οπότε x i =-x i. x i =x i =0 οπότε x i =0. Ας εξετάσουµε το παρακάτω παράδειγµα: Max z=0x -4x s.t. 5x -x 0 x 5 x 0, x χωρίς πρόσηµο (urs) Θέτουµε x =x -x οπότε το ΠΓΠ γίνεται: Max z=0x -4x +4x s.t. 5x -x +x 0 x 5 x, x,x 0 Επιλύουµε το ΠΓΠ µε την µέθοδο. Οι πίνακες ακολουθούν: 69
Πίνακες 5.4.4.α, β, γ. Αρχικός Πίνακας z x x x s s RHS Βασική Αναλογία -0 4-4 0 0 0 Z=0 0 5-0 0 s =0 6 0 0 0 0 5 s =5 5 η Επανάληψη z x x x s s RHS Βασική Αναλογία 0 4-4 0 0 50 Z=50 0 0 - -5 5 s =5 5 0 0 0 0 5 x =5 - η Επανάληψη - Βέλτιστος Πίνακας z x x x s s RHS Βασική 0 0 0 4 0 70 Z=70 0 0 - -5 5 x =5 0 0 0 0 5 x =5 Στους παραπάνω πίνακες µπορεί να παρατηρηθεί ότι η στήλη x είναι αντίθετη της x, κάτι που συµβαίνει γενικά σε ΠΓΠ αυτού του είδους (γιατί?). Η τελική επίλυση δίνει z=70, x =5, x =5, x =0, s =s =0, οπότε και x =- 5. ΠΑΡΑΤΗΡΗΣΗ: Οι δύο µεταβλητές x και x δεν µπορεί να είναι βασικές στον ίδιο πίνακα. Αν η x λόγου χάρη είναι βασική, θα έχει σε όλες τις γραµµές συντελεστή ίσο µε 0, εκτός αυτής της γραµµής όπου θα έχει εισέλθει στη βάση και θα έχει συντελεστή ίσο µε. Σε κάθε περίπτωση τότε η x θα έχει συντελεστές αντίθετους, δηλαδή 0 παντού και - στη γραµµή όπου η x έχει εισέλθει στη βάση, οπότε δεν µπορεί να είναι βασική. 70