Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο...

80
Τ.Ε.Ι. ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΠΛΗΡΟΦΟΡΙΩΝ Εκπονηθείσα πτυχιακή εργασία απαραίτητη για την κτήση του βασικού πτυχίου Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΟΧΩΝ Βαρδαλής Νικόλαος ΝΟΕΜΒΡΙΟΣ 2007 ΕΠΟΠΤΗΣ ΚΑΘΗΓΗΤΗΣ Γεροντίδης Ιωάννης

Transcript of Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο...

Page 1: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Τ.Ε.Ι. ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΔΙΑΧΕΙΡΙΣΗΣ

ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΠΛΗΡΟΦΟΡΙΩΝ

Εκπονηθείσα πτυχιακή εργασία απαραίτητη για την κτήση του βασικού πτυχίου

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

Βαρδαλής Νικόλαος

ΝΟΕΜΒΡΙΟΣ 2007

ΕΠΟΠΤΗΣ ΚΑΘΗΓΗΤΗΣ

Γεροντίδης Ιωάννης

Page 2: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

ΠΡΟΛΟΓΟΣ

Στην εργασία αυτή θα ασχοληθούμε με μία από τις μεθόδους γραμμικού

προγραμματισμού, την μέθοδο Simplex και τον προγραμματισμό στόχων. Η

μέθοδος Simplex χρησιμοποιείται σε πραγματικές εφαρμογές όπου ο αριθμός

των μεταβλητών και των περιορισμών των προβλημάτων γραμμικού

προγραμματισμού ανέρχεται σε δεκάδες. Η μέθοδος Simplex είναι μια

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

Προγραμματισμού η οποία είναι δυνατόν να υλοποιηθεί μέσω κατάλληλων

προγραμμάτων ηλεκτρονικού υπολογιστή για την επίλυση προβλημάτων

γραμμικού προγραμματισμού οποιουδήποτε μεγέθους.

Ειδικότερα μπορούμε να πούμε πως στο πρώτο κεφάλαιο ο λόγος γίνεται για

τον γραμμικό προγραμματισμό, για τις διάφορες φάσεις που έχει περάσει

στην ιστορική του εξέλιξη, περιγράφεται ενδελεχώς ο τρόπος με τον οποίο

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

λύνονται τέτοιου είδους προβλήματα.

Στο δεύτερο κεφάλαιο περιγράφονται οι περισσότεροι αλγόριθμοι τύπου

simplex . Ξεκινώντας από τη γεωμετρική λύση ενός τέτοιου προβλήματος, στη

συνέχεια με τον δυϊκό αλγόριθμο simplex και μετά με τους αλγόριθμους

εξωτερικών σημείων οι οποίοι χωρίζονται σε πρωτεύων αλγόριθμους simplex

εξωτερικών σημείων, σε δυϊκούς αλγόριθμους simplex εξωτερικών σημείων

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

μέθοδο του μεγάλου Μ.

Τέλος στο τρίτο κεφάλαιο μέσω ενός παραδείγματος δείχνει τη χρηστότητα

του προγραμματισμού στόχων όπου αυτός που παίρνει τις αποφάσεις έχει

πολλαπλούς στόχους και δε μπορεί όλους να τις ικανοποιήσει το ίδιο. Η λύση

των προβλημάτων αυτών με την μεγαλύτερη δυνατή ικανοποίηση των στόχων

πετυχαίνεται μέσω δυο προγραμμάτων: του Lindo και του Lingo.

Page 3: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

ΠΕΡΙΕΧΟΜΕΝΑ

Σελίδα

Κεφάλαιο 1

ΕΙΣΑΓΩΓΙΚΑ ΣΤΟΙΧΕΙΑ

1.1 Γραμμικός προγραμματισμός 1

1.2 Ιστορική αναδρομή 6

1.3 Περιγραφή του γραμμικού προβλήματος 11

1.4 Κατηγορίες αλγορίθμων 12

ΚΕΦΑΛΑΙΟ 2

ΑΛΓΟΡΙΘΜΟΙ ΤΥΠΟΥ- SIMPLEX

2.1 Eισαγωγή 13

2.2 Πως δουλεύει γεωμετρικά η μέθοδος simplex 14

2.3 Πρωτεύων αλγόριθμος simplex 16

2.4 Δυϊκός αλγόριθμος simplex 25

2.5 Αλγόριθμος simplex εξωτερικών σημείων 31

2.6 Πρωτεύων αλγόριθμος simplex εξωτερικών σημείων 33

2.7 Δυϊκός αλγόριθμος simplex εξωτερικού σημείου 41

2.8 Αρχική λύση με τη μέθοδο των 2 φάσεων 47

2.9 Αρχική λύση με τη μέθοδο του μεγάλου Μ 54

ΚΕΦΑΛΑΙΟ 3

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΟΧΩΝ

3.1 Εισαγωγή 60

3.2 Εναλλακτικός προγραμματισμός στόχων 64

3.3 Χρησιμοποιώντας LINDO ή LINGO για να λύσουμε προβλήματα προγραμματισμού εναλλακτικών στόχων.

70

Page 4: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

1από72

ΚΕΦΑΛΑΙΟ 1

ΕΙΣΑΓΩΓΙΚΑ ΣΤΟΙΧΕΙΑ

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

Ο Γραμμικός Προγραμματισμός είναι ο πιο εφαρμοσμένος κλάδος της

επιστήμης των μαθηματικών με πληθώρα εφαρμογών στην επιστήμη των

ηλεκτρονικών υπολογιστών. Ασχολείται με την επίλυση του γραμμικού

προβλήματος. Για το σκοπό αυτό μελετάει τις ιδιότητες του γραμμικού

προβλήματος, κατασκευάζει μεθόδους επίλυσης(αλγόριθμους) και εξετάζει

τρόπους εφαρμογής των αποτελεσμάτων στη λήψη πολύπλοκων

αποφάσεων σε διοικητικό η οικονομικό επίπεδο, με επιστημονικό τρόπο.

Ο Γραμμικός Προγραμματισμός βρίσκει πολλές εφαρμογές στην

παραγωγική διαδικασία, όπου αναζητούνται οι ποσότητες των

παραγόμενων προϊόντων σε σχέση με τα αποθέματα, τις πρώτες ύλες ,το

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

κέρδους. Υπάρχουν πολλά επιμέρους γραμμικά προβλήματα που πρέπει

να αντιμετωπίσει μια επιχείρηση η ένας οργανισμός. Τα πιο γνωστά από

αυτά τα προβλήματα χαρακτηρίζονται ως κλασσικά προβλήματα του

γραμμικού προγραμματισμού και είναι:το πρόβλημα κατανομής πόρων,

της δίαιτας ,της μείξης προϊόντων, ενέργειας και προστασίας του

περιβάλλοντος, της παραγωγικής διαδικασίας, της διοίκησης

προσωπικού,marketing(προώθηση προϊόντων).

1.2 ΙΣΤΟΡΙΚΗ ΑΝΑΔΡΟΜΗ

Ως ορόσημο της ραγδαίας εξέλιξης του γραμμικού προγραμματισμού

θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη φορά

εφαρμόσθηκαν μέθοδοι ανεφοδιασμού των συμμαχικών δυνάμεων στην

Ευρώπη.

Page 5: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

2

Πολλοί ερευνητές εκείνης της εποχής «διεκδικούν» τον τίτλο του

θεμελιωτή της επιστήμης με τις ανακαλύψεις τους σε θεωρητικό κυρίως

επίπεδο, αλλά με τεράστιες εφαρμογές σήμερα ειδικότερα με τη χρήση

των υπολογιστών όπου κατέστη δυνατή η επίλυση επίπονων σε

υπολογισμούς προβλημάτων σε σύντομο χρονικό διάστημα.

Ένας εξαίρετος Σοβιετικός μαθηματικός ο Kantovitch(1939) δημοσίευσε

στη Ρωσία την εργασία του για το πρόβλημα της οργάνωσης και

σχεδιασμού της παραγωγής. Αργότερα το πρόβλημα αυτό ονομάστηκε

πρόβλημα μεταφοράς του Hitchcock(1941),ενός επίσης σημαντικού

Αμερικανού μελετητή. Ο Koopmans με τις εργασίες του (1947),(1951)

συνέβαλε σημαντικά στην εξέλιξη του γραμματικού προγραμματισμού και

μάλιστα σύμφωνα με τον Dantzing(1963) είναι αυτός που πρότεινε το

όνομα γραμμικός προγραμματισμός για τη νέα επιστήμη που άρχισε να

ορθοποδεί.

Κορυφαία στιγμή αναμφίβολα θεωρείται το 1947,οποπυ ο G.B Dantzig

ανακάλυψε τον γνωστό σήμερα ως αλγόριθμο Simplex για την επίλυση

του Γραμμικού Προβλήματος. Η πρώτη παρουσίαση του αλγόριθμου με τη

χρήση της γεωμετρίας στο χώρο των μεταβλητών δεν έπεισε τους

επιστήμονες για τη σημαντική ανακάλυψη. Ακολούθησε η δεύτερη

παρουσίαση με τη χρήση της γεωμετρίας στο χώρο των περιορισμών ,με

αποτέλεσμα να πειστεί η επιστημονική κοινότητα για το μέγεθος της αξίας

της ανακάλυψης .Η πρώτη δημοσίευση του αλγόριθμου έγινε το

1949.Ηταν ως τότε ο πιο αποτελεσματικός τρόπος επίλυσης γραμμικών

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

την ανακάλυψη και άλλων μεθόδων επίλυσης γραμμικών προβλημάτων

μέχρι και σήμερα . Αμέσως μετά την ανακάλυψη του αλγόριθμου Simplex

,και την ευφορία που επικράτησε σχετικά με την πρακτική

αποτελεσματικότητα του καταβλήθηκαν σοβαρές προσπάθειες για τη

βελτίωση του.

Η βιβλιογραφία των δεκαετιών ΄50 και ’60 είναι γεμάτη από μελέτες

σημαντικών επιστημόνων που συνέβαλαν και αυτοί στην επίλυση

διαφόρων άλλων προβλημάτων που προέκυψαν από την εφαρμογή στην

Page 6: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

3 από 72

πράξη του αλγόριθμου Simplex .Έγιναν οι ανακαλύψεις του δυϊκού

αλγορίθμου καθώς και άλλα αποτελέσματα σχετικά με την

πραγματοποίηση υπολογιστικών μελετών.

Πολλοί ερευνητές ακολούθησαν την κατεύθυνση της χαλάρωσης των

συνθηκών εφικτότητας. Το πρώτο βήμα σε αυτήν την κατεύθυνση έγινε

από τους Gaas και Saaty(1955) οι οποίοι κατασκεύασαν τον

αποκαλούμενο αυτό-δυϊκό αλγόριθμο. Αποδείχτηκε αργότερα από τον

Lusting(1987) ότι ο αυτοδυικός αλγόριθμος μπορεί να ερμηνευτεί σαν

ειδική περίπτωση του αλγόριθμου του Lemke(1965) για το αντίστοιχο

γραμμικό συμπληρωματικό πρόβλημα.

Η αρχή της χαλάρωσης των συνθηκών εφικτοτητας εφαρμόστηκε και σε

ειδικά γραμμικά προβλήματα. Στο χώρο της δικτυακής βελτιστοποίησης

αναπτύχθηκε πολύ νωρίς ο αλγόριθμος των διαδοχικών ελάχιστων

δρόμων .Οι αλγόριθμοι αυτοί δεν ήταν μόνο αποτελεσματικοί αλλά

συνδυάζονται με την τεχνικοί των κλιμακώσεων των Edmonds και

Karp(1972) αποτέλεσαν την βάση για την ανάπτυξη των ισχυρά

πολυονυμικών αλγόριθμων του Orlin(1984 και 1989).Οι Dosios και

paparizos(1995) απέδειξαν ότι οι αλγόριθμοι των διαδοχικών δρόμων και

μερικές παραλλαγές τους, Dijkstra (1959), Akgul (1987), Hung και

Rom(1980), είναι ειδικές περιπτώσεις των αλγόριθμων εξωτερικών

σημείων.

Όλοι οι παραπάνω αλγόριθμοι είναι τύπου Simplex. Τεχνικές χαλάρωσης

εφαρμόστηκαν και σε διαφορετικούς μη Simplex αλγόριθμους. Η βασική

ιδέα που εφαρμόστηκε είναι απλή. Ένα σύνολο περιορισμών αγνοείται και

λύνεται το προκύπτον πρόβλημα με μικρότερο αριθμό περιορισμών.

Χρησιμοποιώντας την παρούσα βέλτιστη λύση ένα νέο σύνολο

περιορισμών προσδιορίζεται και η διαδικασία επαναλαμβάνεται. Ο

πρώτος αλγόριθμος αυτού του τύπου κατασκευάστηκε από τους Motzkin

και Schenberg(1954), οι οποίοι χρησιμοποίησαν παρόμοιους αλγόριθμους

για επίλυση συστημάτων ισοτήτων ,Southwell (1940) και Allen (1954), και

ανισοτήτων, Agmon(1954).Η ιδέα αυτή επεκτάθηκε αργότερα σε πολύ πιο

γενικά προβλήματα.

Page 7: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

4

Ένα ιδιαίτερο χαρακτηριστικό του αλγόριθμου Simplex είναι ο

απεριόριστος αριθμός επιλογών στην εισερχόμενη και στην εξερχόμενη

από τη βάση μεταβλητή. Αυτό το χαρακτηριστικό κατέστησε δυνατή την

ανάπτυξη αμέτρητων απαλλαγών, όπως για παράδειγμα των

Bland(1977),Goldfarb και Reid(1977), Clausen (1987), Ternary (1985),

Zhang(1989) και Zionts (1969). Παρά την πρακτική αποτελεσματικότητα

του ο αλγόριθμος Simplex εκθετικός .Οι εργασίες των Avis και Chvatal

(1978), Goldfarb και Sit (1979), Jeroslow (1973), Klee και Minty (1972),

Murty (1980), Paparizos (1989) και Roos (1990) αποτελούν μια μικρή

λίστα εργασιών στις οποίες αποδεικνύεται εκθετική πολυπλοκότητα

διαφόρων κανόνων περιστροφής του αλγόριθμου Simplex. Η μέση

πολυπλοκότητα όμως είναι πολυωνυμική.

Ο χρόνος επίλυσης των μεγάλων προβλημάτων με τον αλγόριθμο

Simplex αποτέλεσε σημείο τριβής μεταξύ των ερευνητών, με ζητούμενο

την πολυπλοκότητα του αλγόριθμου, το μεγαλύτερο ανοικτό πρόβλημα της

εποχής εκείνης. Το 1972 οι μαθηματικοί Klee και Minty με την εργασία

τους απέδειξαν ότι για την υπολογιστική συμπεριφορά της χειρότερης

περίπτωσης, ο αλγόριθμος είναι εκθετικός και όχι πολυωνυμικός.

Η ανακάλυψη αυτή από τους Klee και Minty μετέφερε το βάρος των

ερευνών στην κατασκευή αλγόριθμων με πολυωνυμική πολυπλοκότητα. Ο

ελλειψοειδής αλγόριθμος ήταν ο πρώτος πολυωνυμικός αλγόριθμος που

αναπτύχθηκε. Παρουσιάστηκε από τον Ρώσο επιστήμονα

Khachian(1979), ως τροποποίηση του αλγόριθμου του Shor(1970). Παρά

την θεωρητική του αποτελεσματικότητα αποδείχθηκε στην πράξη ότι

υστερούσε σημαντικά του αλγόριθμου Simplex. Ο ελλειψοειδής

αλγόριθμος παρέμεινε μόνο ένα σημαντικό θεωρητικό αποτέλεσμα στις

μετέπειτα αλγοριθμικές προσπάθειες για ανακάλυψη ενός πολυωνυμικού

αλγορίθμου αποτελεσματικού στην πράξη.

Το 1983 ο Karmakar, ερευνητής των Bell Labs, ανακοινώνει στο συνέδριο

της ΙΕΕΕ την ανακάλυψη ενός πολυωνυμικού αλγόριθμου εσωτερικών

σημείων με σημαντικά καλύτερη αποτελεσματικότητα στην πράξη από τον

αλγόριθμο Simplex και η δημοσίευση της εργασίας του γίνεται ένα χρόνο

Page 8: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

5 από 72

μετά. Παράλληλα αποδεικνύεται η πολυωνυμική συμπεριφορά μέσης

περίπτωσης για μερικούς κανόνες περιστροφής του αλγόριθμου Simplex.

Πολλοί ερευνητές Adler και Megiddo (1985), Borgwardt (1987) , Haimovich

και Todd (1986) προσπάθησαν να αναλύσουν τη μέση πολυπλοκότητα και

τις περισσότερες φορές απέδειξαν ότι είναι πολυωνυμική σε ορισμένα

τυχαία δημιουργημένα με ειδικές κατανομές πιθανοτήτων γραμμικά

προβλήματα.

Στη συνεχεία οι Anstreicher και terlaky (1994) απέδειξαν ότι, ο αυτοδυικός

αλγόριθμος περιέχει σαν ειδική περίπτωση τον αλγόριθμο των σκιερών

κορυφών. Μελετώντας σχέσεις μεταξύ του δικού τους αλγόριθμου

εξωτερικών σημείων με άλλους αλγόριθμους οι Ansteicher και Terlaky

απέδειξαν ότι ο αλγόριθμος σκιερών κορυφών είναι ειδική περίπτωση του

δικού τους αλγόριθμου. Οι αλγόριθμοι εξωτερικών σημείων σχετίζονται με

τον αλγόριθμο των σκιερών κορυφών και επομένως και με τον αυτοδυικό

αλγόριθμο. Αυτές οι σχέσεις μελετήθηκαν εκτενώς από τους Anstreicher

και Terlaky (1994). Αρκετά πριν τον Terlaky εντελώς διαφορετική

κατεύθυνση ακολουθήθηκε από τον Zionts (1969), ο οποίος κατασκεύασε

το λεγόμενο Ζικ-Ζακ αλγόριθμο. Στην αρχική του μορφή ο αλγόριθμος Ζικ-

Ζακ δεν ήταν πεπερασμένος. Μια πεπερασμένη παραλλαγή του

κατασκευάστηκε από τον Terlaky (1985). Ο αλγόριθμος Ζικ-Ζακ, έχει

εντελώς συνδυαστική μορφή, δε φαίνεται να είναι αποτελεσματικός και δε

σχετίζεται με τους αλγορίθμους εξωτερικών σημείων.

Τελευταία, παρουσιάστηκε στη βιβλιογραφία ένας νέος τύπος

χαρακτηριστικών αλγορίθμου τύπου Simplex, οι οποίοι αποκαλούμενοι

σήμερα αλγόριθμοι εξωτερικών σημείων. Οι νέοι αλγόριθμοι

κατασκευάζουν μια ακολουθία από μη εφικτά σημεία και για αυτό το λόγο

ονομάζονται αλγόριθμοι εξωτερικών σημείων. Η πρώτη εργασία στην

οποία εμφανίζεται ο όρος αλγόριθμος εξωτερικών σημείων, είναι απ’ ότι

γνωρίζουμε, η εργασία paparizos (1991), στην οποία περιγράφεται μια

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

μεταφοράς, Paparizos (1988). Οι αλγόριθμοι αυτοί βελτιώθηκαν και

τροποποιήθηκαν, Achataz (1991), Paparizos(1994) και γενικεύτηκαν στο

Page 9: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

6

γενικό γραμμικό πρόβλημα. Άλλα αποτελέσματα για αλγόριθμους

εξωτερικών σημείων μπορεί κάποιος να βρει στις εργασίες των Paparizos,

Samaras, Stephanides.

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

Το Γραμμικό Πρόβλημα είναι ένα πρόβλημα ελαχιστοποίησης ή

μεγιστοποίησης μιας γραμμικής συνάρτησης, οι άγνωστες μεταβλητές της

οποίας υπόκεινται σε γραμμικούς περιορισμούς.

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

παρακάτω:

Min (ή max) z= C1X1 + C2X2+ …+CnXn

Με περιορισμούς:

11 1 12 2 1 1... n na X a X a X b

21 1 22 2 2 2... n na X a X a X b

………………………………….

1 1 2 2 ...m m mn n ma X a X a X b

0, 1,...jX j n

Όπου Cj, Aij, (Bi € R) (i=1,2 ….,n) αποτελούν τα δεδομένα του

προβλήματος, * συμβολίζει τα σύμβολα <=,=,>= και Xj είναι οι άγνωστες

μεταβλητές του προβλήματος ,που πρέπει να υπολογιστούν ώστε η

συνάρτηση z να λάβει την ελάχιστη ή μέγιστη τιμή της αντίστοιχα και να

ικανοποιούνται οι περιορισμοί του προβλήματος. Οι μεταβλητές Xj

ονομάζονται μεταβλητές απόφασης και η μεταβλητή z ονομάζεται

αντικειμενική συνάρτηση. Οι μεταβλητές Χj>=0 ονομάζονται φυσικοί

περιορισμοί ή περιορισμοί μη αρνητικότητας αφού οι μεταβλητές

απόφασης εκφράζουν στην πράξη φυσικές ποσότητες. Οι υπόλοιποι

περιορισμοί ονομάζονται τεχνολογικοί επειδή προκύπτουν από το ίδιο το

πρόβλημα.

Page 10: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

7 από 72

Οι πιο γνωστές μορφές του γραμμικού προβλήματος είναι:

Κανονική ή ανισοτική μορφή, όπου όλοι οι τεχνολογικοί περιορισμοί

είναι ανισοτικοί, δηλαδή <= ή >=.

Τυποποιημένη ή ισοτική μορφή, όπου όλοι οι τεχνολογικοί περιορισμοί

είναι ισοτικοί.

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

Στη συνέχεια δίνονται μερικές βασικές έννοιες που αφορούν την επίλυση

των γραμμικών προβλημάτων. Θα χρησιμοποιηθούν και στις περιγραφές

των νέων αλγόριθμων που θα παρουσιάσουμε σε επόμενα κεφάλαια.

1. Εφικτά σημεία ή εφικτές ονομάζονται τα σημεία που ικανοποιούν

όλους τους περιορισμούς του γραμμικού προβλήματος.

2. Εφικτή περιοχή είναι το σύνολο (F) των εφικτών σημείων (ή λύσεων)

3. Βέλτιστο σημείο ή βέλτιστη λύση είναι το εφικτό σημείο (λύση) του

γραμμικού προβλήματος(Χ Ε F) για το οποίο ισχύει:

,

,

T T

T T

c x c y y F

c x c y y F

για min γ.π

4. Βέλτιστη τιμή είναι η τιμή της αντικειμενικής συνάρτησης που

αντιστοιχεί στη βέλτιστη λύση του γ.π

5. Απεριόριστο είναι ένα εφικτό πρόβλημα για τα οποίο υπάρχει

ακολουθία εφικτών σημείων για τα οποία οι αντίστοιχες τιμές τείνουν

στο άπειρο για προβλήματα min(max)

Σύμφωνα με το θεμελιώδες Θεώρημα του γραμμικού προγραμματισμού

ένα γραμμικό πρόβλημα είναι δυνατό ή εφικτό. Αν είναι εφικτό, τότε είναι

βέλτιστο ή απεριόριστο.

Page 11: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

8

Επομένως για κάθε γ.π μπορούμε να προσδιορίσουμε την κατηγορία του

με το κριτήριο «τη δυνατότητα επίλυσης του» σε μορφή ψευδοκώδικα

όπως φαίνεται παρακάτω

Αν (F=0) τότε

Το γ.π είναι αδύνατο(infeasible)

Αλλιώς

Το γ.π είναι εφικτό(feasible)

Αν(βέλτιστη λύση) τότε

Το γ.π είναι βέλτιστο(optimal )

Αλλιώς

Το γ.π είναι απεριόριστο(unbounded)

Τέλος_αν

Τέλος_αν

Λύση ενός γραμμικού προβλήματος είναι ο προσδιορισμός της

κατηγορίας του δηλ, αν είναι αδύνατο, βέλτιστο ή απεριόριστο.

Επιπλέον αν είναι βέλτιστο πρέπει να προσδιοριστεί τουλάχιστον

ένα βέλτιστο σημείο του.

Επομένως ο γραμμικός προγραμματισμός κατασκευάζει μεθόδους

επίλυσης

(αλγορίθμους) που υπολογίζουν τουλάχιστον ένα βέλτιστο σημείο.

Ένα γ.π μπορεί να σχηματιστεί σε κατάλληλη μορφή (ισοδύναμη με

την αρχική μορφή) έτσι ώστε να λυθεί από τον αλγόριθμο που θα

χρησιμοποιηθεί. Όσον αφορά την αντικειμενική συνάρτηση μπορεί

εύκολα να αποδειχθεί ότι ισχύει ο παρακάτω ισχυρισμός

max : min :T Tc x x F c x x F

Page 12: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

9 από 72

Οι δύο μορφές του γ.π που αναφέρθηκαν παραπάνω πήραν το όνομά

τους από το είδος των τεχνολογικών περιορισμών που

περιλαμβάνουν. Ο μετασχηματισμός αυτών των περιορισμών σε

κατάλληλη μορφή γίνεται χρησιμοποιώντας απλές μεθόδους που

παρουσιάζονται με τη βοήθεια παραδειγμάτων στη συνέχεια.

Ι) Κανονική –Τυποποιημένη μορφή

Ο μετασχηματισμός των τεχνολογικών περιορισμών από ανισότητες

σε ισότητες γίνεται με την πρόσθεση ή αφαίρεση μεταβλητών που

ονομάζονται χαλαρές μεταβλητές στο αριστερό μέλος των

ανισοτήτων. Σε περίπτωση που ένας περιορισμός είναι ανισότητα

της μορφής ≤ (μικρότερο ή ίσο), τότε προστίθεται στο αριστερό

μέλος του περιορισμού μια μη αρνητική μεταβλητή, η οποία

ονομάζεται ελλειμματική χαλαρή μεταβλητή. Για παράδειγμα αν

δίνεται ο παρακάτω ανισοτικός περιορισμός

1 2 3 42 3 8x x x x

τότε μετά την προσθήκη της χαλαρής μεταβλητής Χ5>=0 προκύπτει

αντίστοιχος ισοτικός περιορισμός.

1 2 3 4 52 3 8x x x x x

Σε περίπτωση που ένας περιορισμός είναι ανισότητα της μορφής

>=(μεγαλύτερο ή ίσο), τότε αφαιρείται από το αριστερό του

περιο0ρισμού μια μη αρνητική μεταβλητή. Για παράδειγμα αν

δίνεται ο παρακάτω ανισοτικός περιορισμός

1 2 3 4 5 4x x x x x

Page 13: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

10

Τότε με την αφαίρεση της χαλαρής μεταβλητής χ6>=0προκύπτει ο

αντίστοιχος ισοτικός περιορισμός

2 1 2 3 4 6 4x x x x x

Και τις πλεονάζουσες αλλά και τις ελλειμματικές χαλαρές μεταβλητές θα τι

καλούμε από δω και στο εξής χαλαρές μεταβλητές.

ιι) Τυποποιημένη-Κανονική μορφή

Ο μετασχηματισμός των τεχνολογικών περιορισμών από ισότητες σε

ανισότητες γίνεται με τη μετατροπή κάθε ισοτικού περιορισμού με

δυο ανισοτικούς περιορισμούς, δηλαδή αν δίνεται ο παρακάτω

περιορισμός

2 1 2 3 4 6 4x x x x x

Τότε προκύπτουν οι επόμενοι δυο ανισοτικοί περιοριορισμοί

1 2 3 2 4 5 4

1 2 3 2 4 5 4

x x x x x

x x x x x

Ο παραπάνω μετασχηματισμός όμως έχει ως αποτέλεσμα την αύξηση του

πλήθους των περιορισμών του προβλήματος με συνέπεια να

προκύπτει ένα σημαντικό υπολογιστικό μειονέκτημα από αυτή τη

μετατροπή. Γι’αυτό καταφεύγουμε στην εξής λύση. Επειδή χ1>=0

λύνουμε ένα ισοτικό περιορισμό ως προς χ1 και αφαιρούμε τη

μεταβλητή χ1 από την αντικειμενική συνάρτηση και από όλους τους

περιορισμούς του προβλήματος. Η ενέργεια αυτή πραγματοποιείται

για κάθε ισοτικό περιορισμό του γραμμικού προβλήματος. Για

παράδειγμα ο παρακάτω ισοτικός περιορισμός

1 2 3 2 4 5x x x x

Αν λυθεί ως προς χ1 γίνεται

Page 14: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

11 από 72

1 2 3 2 4 5x x x x

Και επειδή χ1>=0 έχουμε

2 3 2 4 5x x x

Έτσι προκύπτει ένα γραμμικό πρόβλημα με περιορισμούς σε ανισοτική

μορφή και με λιγότερες μεταβλητές απόφασης.

Επίσης πρέπει να τονισθεί και είναι γνωστό από τα μαθηματικά ότι

οποιοσδήποτε ανισοτικός περιορισμός (ή ) μπορεί να

μετασχηματισθεί (ή ) αντίστοιχα αν πολλαπλασιάσουμε με -1 και

τα δυο μέλη του περιορισμού.

Συμπερασματικά είναι απαραίτητο να αναφερθεί ότι οι παραπάνω

μετασχηματισμοί είναι γνωστοί ως μετασχηματισμοί ισοδυναμίας

και ως εκ τούτου αν το αρχικό γ.π είναι αδύνατο ή βέλτιστο ή

απεριόριστο τότε και το αντίστοιχο γραμμικό πρόβλημα που

προκύπτει από το μετασχηματισμό θα είναι αντίστοιχα αδύνατο ή

βέλτιστο ή απεριόριστο.

1.4 ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΩΝ

Οι αλγόριθμοι που χρησιμοποιούνται στην επίλυση γραμμικών

προβλημάτων κατασκευάζουν μια ακολουθία σημείων

(λύσεων).Ένα εφικτό σημείο χ λέγεται εσωτερικό αν ικανοποιεί

όλους τους ανισοτικούς περιορισμούς αυστηρά ως ανισότητες και

συνοριακό αν ικανοποιεί τουλάχιστο ένα ανισοτικό περιορισμό σαν

ισότητα. Τα μη εφικτά σημεία ονομάζονται και εξωτερικά σημεία.

Ανάλογα με το είδος των σημείων που κατασκευάζουν οι

Page 15: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

12

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

φαίνεται παρακάτω

1. Εσωτερικών σημείων(interior point)

2. Συνοριακών σημείων(boundary point)

3. Εξωτερικών σημείων(exterior point)

Αν ο αλγόριθμος επιλύει το πρωτεύον πρόβλημα κατασκευάζοντας

εφικτά σημεία τότε ονομάζεται πρωτεύον (primal) αλγόριθμος. Αν επιλύει

το δυϊκό πρόβλημα κατασκευάζοντας εφικτά σημεία για το δυϊκό

πρόβλημα ονομάζεται δυϊκός αλγόριθμος. Επίσης αν τα σημεία που

κατασκευάζει ο αλγόριθμος είναι τα βασικά σημεία, δηλαδή ικανοποιούν

τουλάχιστον n-mανισοτικούς περιορισμούς σαν ισότητες, τότε ο

αλγόριθμος ονομάζεται αλγόριθμος τύπου Simplex ή περιστροφικός

αλγόριθμος (pivoting algorithm).

Τέλος υπάρχουν και αλγόριθμοι οι οποίοι κατασκευάζουν δυο ακολουθίες

σημείων .Η πρώτη ακολουθία αποτελείται από σημεία εφικτά στο

πρωτεύων πρόβλημα και η δεύτερη αποτελείται από σημεία εφικτά στο

δυϊκό πρόβλημα. Οι αλγόριθμοι αυτοί ονομάζονται πρωτεύοντες-δυϊκοί

(primal-dual).Αν χ είναι εφικτό σημείο του πρωτεύοντος προβλήματος και

w ένα εφικτό σημείο του αντίστοιχου δυϊκού προβλήματος τότε η διαφορά

στις τιμές των αντικειμενικών συναρτήσεων των δυο προβλημάτων

ονομάζεται δυϊκό χάσμα(duality gap). Σε κάθε επανάληψη οι πρωτεύοντες

δυϊκοί αλγόριθμοι μειώνουν το δυϊκό χάσμα μέχρι να γίνει ίσο με μηδέν

όποτε επιταχύνουν τη βελτιστοποίηση του προβλήματος.

ΚΕΦΑΛΑΙΟ 2ο

ΑΛΓΟΡΙΘΜΟΙ ΤΥΠΟΥ-SIMPLEX

Page 16: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

13 από 72

2.1 Εισαγωγή

Σ’αυτό το κεφάλαιο απαντάμε στην ερώτηση “ποια είναι η γεωμετρική

ερμηνεία της μεθόδου Simplex” ; Κατόπιν περιγράφουμε διάφορους

τύπους αλγορίθμων Simplex π.χ τον πρωτεύοντα αλγόριθμο Simplex, τον

δυϊκό αλγόριθμο Simplex , τον αλγόριθμο Simplex εξωτερικών σημείων,

τον πρωτεύοντα αλγόριθμο Simplex εξωτερικών σημείων και τον δυϊκό

αλγόριθμο Simplex εξωτερικών σημείων.

Ο πρώτος αλγόριθμος Simplex εξωτερικών σημείων (EPSA)

αναπτύχθηκε από τον Παπαρίζο για το πρόβλημα της αντιστοίχισης .

Αργότερα ο Παπαρίζος γενίκευσε τον EPSA για την επίλυση του

γενικευμένου γραμμικού προβλήματος LP. Πρωτεύουσες και δυικές

εκδόσεις του αλγορίθμου περιγράφονται στις εργασίες (Παπαρίζος 1996,

Παπαρίζος 1997). Από τη γεωμετρία του EPSA ,είχε προβλεφθεί ότι οι

νέοι αλγόριθμοι θα ήταν πιο γρήγοροι από τον αλγόριθμο Simplex. Αυτή η

πρόβλεψη επιβεβαιώθηκε από υπολογιστικές μελέτες σε τυχαία αραιά και

πυκνά γραμμικά προβλήματα. Πιο συγκεκριμένα αποδείχθηκε ότι ο EPSA

είναι μέχρι δέκα φορές πιο γρήγορος από τον αλγόριθμο Simplex για

τυχαία βέλτιστα γραμμικά προβλήματα μεσαίου μεγέθους.

Οι Anstreicher and Terlaky 1994,Chen et al.1974 και οι Murty and Fathi

1984 ανέπτυξαν άλλους αλγόριθμους τύπου Simplex, οι οποίοι με τον

έναν ή τον άλλο τρόπο αποφεύγουν την εφικτή περιοχή. Μια πλήρης

επισκόπηση των κανόνων περιστροφής του γραμμικού προγραμματισμού

μπορούν να βρεθούν στην αναφορά (Terlaky and Zhang 1993) .

2.2 Πως δουλεύει γεωμετρικά η μέθοδος Simplex

Ας θεωρήσουμε το παρακάτω πρόβλημα γραμμικού προγραμματισμού:

Μεγιστοποίησε:

Page 17: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

14

Με περιορισμούς

1 2

1 2

1 2

1 2

1 2

14

8

2 10

0,

2

2

0

x x

x x

x x

x x

x x

Η μέθοδος Simplex αποτελείται από δυο βασικά βήματα που καλούνται

«φάσεις». Στην πρώτη φάση προσπαθούμε να βρούμε μια εφικτή λύση

του προβλήματος. Για προβλήματα μικρού μεγέθους ή ακόμα και για τα

μεγαλύτερα προβλήματα κάποιων μορφών η παραπάνω λύση δεν είναι

δύσκολη. Συχνά μια τετριμμένη λύση, όπως η χ1=0, είναι μια εφικτή λύση.

Αφού βρεθεί μια εφικτή λύση στο πρόβλημα, η μέθοδος Simplex

προσπαθεί να βελτιώσει σε κάθε επανάληψη την τιμή της συνάρτησης

κόστους (αντικειμενική συνάρτηση). Αυτό επιτυγχάνεται βρίσκοντας μια

μεταβλητή του προβλήματος η τιμή της οποίας μπορεί να αυξηθεί,

μειώνοντας ταυτόχρονα κάποια άλλη μεταβλητή έτσι ώστε να προκύπτει

βελτίωση της τιμής της συνάρτησης κόστους. Αυτό μπορεί να

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

(πολυγώνιου) από κορυφή σε κορυφή.

Το εφικτό σύνολο του προβλήματος 2.2.1 μπορεί να προστεθεί σε δυο

διαστάσεις όπως φαίνεται στο σχήμα 2.2.1. Οι μη αρνητικοί περιορισμοί

χ1>=0 και χ2>=0 περιορίζουν το εφικτό σύνολο στο πρώτο τεταρτημόριο.

Οι υπόλοιποι 3 περιορισμοί είναι εξισώσεις ευθείας στο χ1-χ2 όπως

φαίνεται στο σχήμα. Η συνάρτηση κόστους χ1+χ2, μπορεί να

αναπαρασταθεί με μια ευθεία γραμμή που έχει συντελεστή διεύθυνσης ίσο

με -1. Η τεταγμένη της γραμμής της συνάρτησης κόστους ισούται με την

τιμή της συνάρτησης κόστους για οποιαδήποτε λύση που βρίσκεται επάνω

στη γραμμή. Η έντονη γραμμή του σχήματος 2.2.1 αναπαριστά τη

βέλτιστη λύση του προβλήματος, διότι μια γραμμή που έχει συντελεστή

διεύθυνσης ίσο με -1 και μέγιστη τεταγμένη ίση με 10 που τέμνει το εφικτό

σύνολο. Η τιμή της συνάρτησης κόστους για την εφικτή λύση ισούται με 10

Page 18: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

15 από 72

και η ευθεία χ1+χ2=10 της συνάρτησης κόστους έχει ακριβώς ένα σημείο

με συντεταγμένες χ1=4 και χ2=6 μέσα στο εφικτό σύνολο.

Η μέθοδος Simplex προσπαθεί να βρει μια εφικτή λύση (ένα σημείο), και

μετά μετακινεί αυτό το σημείο προς οποιαδήποτε κορυφή του εφικτού

συνόλου, με στόχο τη βελτίωση της συνάρτησης κόστους. Τελικά

φθάνουμε σε μια κορυφή από την οποία αν μετακινηθούμε δεν βελτιώνεται

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

τιμή χ1=0 και χ2=0 είναι μια τετριμμένη εφικτή λύση, που δίνει στη

συνάρτηση κόστους την τιμή μηδέν(0). Αυτή είναι η κορυφή Α του

σχήματος 2.2.1. Από το σημείο αυτό μπορούμε να μετακινηθούμε είτε

προς το σημείο Β είτε προς το Ε. Το σημείο Ε(0,4) αυξάνει την τιμή της

συνάρτησης κόστους σε 4 ενώ το σημείο Ν(5,0) την αυξάνει στην τιμή 5.

Επειδή το σημείο Β μας δίνει μεγαλύτερη βελτίωση, το επιλέγουμε στην

πρώτη επανάληψη(θα μπορούσαμε επίσης να είχαμε επιλέξει το σημείο Ε,

κάτι που θα μας οδηγούσε πιο γρήγορα στη βέλτιστη λύση). Η τιμή της

μεταβλητής χ1 αυξάνει από 0 σε 5 ,ενώ η τιμή της χ2 παραμένει 0.

Page 19: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

16

Σχήμα 2.2.1 Γραφική επίλυση ενός γραμμικού προβλήματος

Από το σημείο Β, ελέγχουμε αν μια ενδεχόμενη μετακίνηση προς το

σημείο C είναι επωφελής (γνωρίζουμε ότι μια ενδεχόμενη μετακίνηση

προς το σημείο Α δεν είναι επωφελής. Το σημείο C (6,2) δίνει την τιμή 8

στη συνάρτηση κόστους, γεγονός που αποτελεί βελτίωση. Συνεπώς

αυξάνουμε την τιμή της μεταβλητής χ1 από 5 σε 6 και επειδή ισχύουν οι

περιορισμοί 2χ1-χ2<=10 και –χ1+2χ2<=8, πρέπει να αυξήσουμε και την

τιμή της χ2 από 0 σε 2. Από το σημείο C,ελέγχουμε αν μια μετακίνηση

προς το σημείο Dβελτιώνει την κατάσταση. Για το σημείο D(4,6) η τιμή της

συνάρτησης κόστους ισούται με 10 και έτσι αποδεχόμαστε την μετακίνηση,

αυξάνοντας την τιμή της χ2 από 32 σε 6. Αυτό σημαίνει ότι η τιμή της χ1

πρέπει να μειωθεί από το σημείο Ε(τιμή της συνάρτησης κόστους ίση με 4)

είτε προς το σημείο C(τιμή της συνάρτησης κόστους ίση με 8) μειώνει την

τρέχουσα τιμή της συνάρτησης κόστους, συμπεραίνουμε ότι το σημείο D

είναι η βέλτιστη λύση του προβλήματος .

2.3 Πρωτεύων Αλγόριθμος Simplex

Ας θεωρήσουμε το παρακάτω γραμμικό πρόβλημα:

Μεγιστοποίησε z=cx

Με περιορισμούς Ax=b

x0

Μια βασική εφικτή λύση στο παραπάνω πρόβλημα αντιστοιχεί σε ένα

ακραίο σημείο της εφικτής περιοχής και χαρακτηρίζεται μαθηματικά από

τον διαμερισμό του πίνακα Α σε έναν μη-μοναδιαίο πίνακα βάσης Β και

στον πίνακα Ν που αποτελείται από τις μη βασικές στήλες.

Δηλαδή

Α =(Β:Ν) 2.3.2

Βασιζόμενοι σε αυτό το διαμερισμό, το γραμμικό σύστημα Αx=b μπορεί να

ξαναγραφεί ως

B NBx Nx b 2.3.3

Αυτό απλοποιείται περαιτέρω στο σύστημα

Page 20: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

17 από 72

1 1NB B NX B bx

2.3.4

Και λύνοντας ως προς XB, άγνωστο το ΧΝ, παίρνουμε

1 1NB B b B NXx

2.3.5

Τώρα θέτοντας XN=,βλέπουμε ότι η εξίσωση 2.3.5 έχει ως αποτέλεσμα

την XB=B-1b. Η λύση

1

0

B

N

X B bX

X

Καλείται βασική λύση, το διάνυσμα XB καλείται διάνυσμα των βασικών

μεταβλητών , και το XN καλείται διάνυσμα των μη βασικών μεταβλητών.

Επιπροσθέτως αν XB=B-1 Β>=0, τότε η παρακάτω λύση

1

0

B bX

καλείται βασική εφικτή λύση.

Τώρα ας θεωρήσουμε την αντικειμενική συνάρτηση z=cx. Διαμερίζοντας

το διάνυσμα κόστους cσε βασικά και σε μη-βασικά μέρη π.χ c=(Cb,Cn), η

αντικειμενική συνάρτηση γράφεται ως

B B N Nz C X C X 2.3.6

Αντικαθιστώντας το Xb (εξίσωση 2.3.5) στην εξίσωση 2.3.6 παίρνουμε

1 1NB X N Nz C B b B N C X 2.3.7

Η παραπάνω εξίσωση μπορεί να γραφεί ως:

1 1B B N Nz C B b C B N C X 2.3.8

Page 21: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

18

Συνεπώς το ζ ισούται με τη σταθερά CbB-1b μείον τον όρο (CbB-1N-

Cn)Xn. Αν θέσουμε Χn=0, η εξίσωση 2.3.8 μετατρέπεται στην z=CbB-1b.

Η τελευταία είναι ο η αντικειμενική τιμή που αντιστοιχεί στην τρέχουσα

βασική εφικτή λύση. Έτσι η τρέχουσα λύση ακραίου σημείου μπορεί να

παρασταθεί σε κανονική μορφή όπως παρακάτω:

1 1B B N Nz C B b C B N C X 2.3.9

1 1B NX B B Nx 2.3.10

H τρέχουσα βασική εφικτή λύση δίνεται από τις παρακάτω εξισώσεις

1BZ C B b 2.3.11

1

00

B

N

X B bX

X

2.3.12

Αν τώρα αναδιατάξουμε τους όρους , έτσι ώστε όλες οι αναθεωρημένες

μεταβλητές να βρίσκονται στο αριστερό μέρος της εξίσωσης ενώ οι

σταθερές να βρίσκονται στο δεξιό μέρος παίρνουμε:

1 1B N N Bz C B N C X C B b

2.3.13

1 1B NXX B N B b

2.3.14

Το Simplex ταμπλό είναι απλά ένας πίνακας που χρησιμοποιείται για την

αποθήκευση των συντελεστών των εξισώσεων 2.3.13 και 2.3.14.Η επάνω

γραμμή (γραμμά0) του ταμπλό αποτελείται από τους συντελεστές της

αντικειμενικής εξίσωσης 2.3.13 και το σώμα του ταμπλό(γραμμές 1 έως n)

αποθηκεύει τους συντελεστές των εξισώσεων των περιορισμών (2.3.14).Η

Page 22: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

19 από 72

γενική μορφή του ταμπλό φαίνεται στον πίνακα 2.3.1 και αν ξαναγραφεί

πιο συμπυκνωμένα προκύπτει η μορφή που φαίνεται σον πίνακα 2.3.2.

z Xb Xn Δεξί Μέρος

1 0 1B NC B N C 1

BC B b

0 1 1B N 1B b

Πίνακας 2.3.1

Z x Δεξί Μέρος

1 1BC B A c 1

BC B b

0 1B A 1B b

Πίνακας 2.3.2

Τώρα είμαστε έτοιμοι να συνοψίσουμε τα βήματα του αλγόριθμου

Simplexόπως αυτά εφαρμόζονται στο Simplex ταμπλό.

Περιγραφή του πρωτεύοντος αλγορίθμου Simplex :

Βήμα 0:(Αρχικοποίηση)

Ξεκίνα με ένα εφικτό βασικό σημείο και κατασκεύασε το αντίστοιχο

Simplex ταμπλό.

Βήμα 1:(Επιλογή εισερχόμενης μεταβλητής)

Αν oja >=0 για j=1,2,…,n, STOP.Η λύση είναι βέλτιστη .Με κάποιον κανόνα

περιστροφής, επέλεξε την εισερχόμενη δείκτη s:

osa >0, πχ

2 3

3 23 02

18 10min , min , 10

1 1

r

r

b b b

a a a

Βήμα 2:( Επιλογή εξερχόμενης μεταβλητής)

Page 23: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

20

Θέσε Ι= {i: A is > 0}. Αν Ι=0, STOP. Το πρόβλημα είναι απεριόριστο. Με

κάποιον κανόνα περιστροφής, βρες το δείκτη της στήλης περιστροφής r:

min :r i

rs is

b bi I

b a

Βήμα3(Περιστροφή)

Σχημάτισε το επόμενο ταμπλό με τη μεταβλητή περιστροφής A rs πχ.

Θέσε rj

rj

rs

aa

a Όπου j=1,2,…. ,n,n+1

rj

ij ij is

rs

aa a a

a Όπου i=0,1,2,…m (i≠r) και j=1,2,…,n n=1

Και πήγαινε στο βήμα1.

Με τον πρωτεύοντα Αλγόριθμο Simplex επιλύουμε 2 προβλήματα. Το

πρώτο πρόβλημα είναι βέλτιστο και το δεύτερο απεριόριστο.

Παράδειγμα 2.3.1:

Να λυθεί το παρακάτω γραμμικό πρόβλημα με τον πρωτεύοντα

αλγόριθμο Simplex.

Max z= 2X1+3x2

S.t X1 -2x2 +x3 =4

2x1+x2 +x4 =18

X2 + x5 =10

X1, x2, x3, x4 και χ5>=0

Λύση:

Επανάληψη 1

Βήμα 0 (Αρχικοποίηση)

Page 24: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

21 από 72

Από το αρχικό πρόβλημα είναι φανερό ότι τα βασικά εφικτά σημεία

είναι τα χ1=0, χ2=0, χ3=4,χ4=18 και χ5=10. Έτσι προκύπτει το παρακάτω

αρχικό Simplex ταμπλό:

Z X1 X2 X3 X4 X5 Δεξί

μέρος

Ζ 1 -2 -3 0 0 0 0

Χ3 0 1 -2 1 0 0 4

Χ4 0 2 1 0 1 0 18

Χ5 0 0 1 0 0 1 10

Βήμα 1: (επιλογή εισερχόμενης μεταβλητής)

Προσδιορισμός της στήλης περιστροφής και επιλογή εισερχόμενης

μεταβλητής

01 01 02min , min 2, 3 3osa a a a

Επειδή s=2,η μεταβλητή χ2 μπαίνει στη βάση.

Βήμα2:(επιλογή εξερχόμενης μεταβλητής). Θέσε Ι={2,3} και βρες το r=3

διότι

2 3

3 23 33

18 10min , min , 10

1 1

r

r

b b b

a a a

Συνεπώς η μεταβλητή χ5 βγαίνει από τη βάση.

Βήμα 3 :(περιστροφή)

Σχημάτισε το επόμενο Simplex ταμπλό με το στοιχείο περιστροφής Α 32 πχ

Z X1 X2 X3 X4 X5 Δεξί

μέρος

z 1 -2 0 0 0 3 30

X3 0 1 0 1 0 2 4

X4 0 2 0 0 1 -1 8

X2 0 0 1 0 0 1 10

Page 25: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

22

Επειδή Α 01<0, στην αντικειμενική γραμμή , επαναλαμβάνουμε τον

πρωτεύοντα αλγόριθμο Simplex

Επανάληψη 2

Βήμα1 (επιλογή εισερχόμενης μεταβλητής)

Προσδιορισμός της στήλης περιστροφής, Επέλεξε Aos = min {A 01 ,A 02 }

=min{-2,0}=-2=A 01 . Το s=1, συνεπώς η μεταβλητή x1 μπαίνει στη βάση.

Βήμα 2: (επιλογή εξερχόμενης μεταβλητής). Θέσε Ι={1,2} και βρες το r =2

διότιrb

1 2

1 13 23

24 8min , min , 4

1 1

r

r

b b b

a a a

Συνεπώς η μεταβλητή χ4 βγαίνει από τη βάση.

Βήμα 3:(περιστροφή)

Σχημάτισε το επόμενο Simplex ταμπλό με το στοιχείο περιστροφής Α21

πχ.

z X1 X2 X3 X4 X5 Δεξί

Μέρος

Ζ 1 0 0 0 1 2 38

Χ3 0 0 0 1 -1/2 5/2 20

Χ1 0 1 0 0 1/2 -1/2 4

Χ2 0 0 1 0 0 1 10

Επειδή Α oj >=0 ; όπου j= 1,2,…,5 στην αντικειμενική γραμμή STOP .Η

λύση είναι βέλτιστη και είναι η χ1=4, χ2=10, χ3=20, χ4=0, χ5=0.Η

αντικειμενική συνάρτηση είναι z=2x1 + 3Χ2=38.

Παράδειγμα 2.3.2

Page 26: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

23 από 72

Να λυθεί το παρακάτω γραμμικό πρόβλημα με τον πρωτεύοντα

αλγόριθμο Simplex.

Max z = 5X1 + 3X2

s.t -x1 +x2 ≤4

x1 – 2x2 ≤6

x1 και χ2 ≥0

Λύση:

Προσθέτουμε τις χαλαρές μεταβλητές χ3 και χ4 έτσι ώστε το γραμμικό

πρόβλημα να μετατραπεί στο παρακάτω:

Max z =5x1 +3x2

s.t –x1 + x2 +x3 =4

X1 - 2x2 +x4=6

X1, x2, x3 και χ4≥0

Επανάληψη 1

Βήμα 0 (αρχικοποίηση)

Σχημάτισε το αρχικό πρόβλημα. Είναι φανερό ότι τα βασικά εφικτά

σημεία είναι τα χ1=0, χ2=0, χ3=4 και χ4=6. Έτσι κατασκευάζουμε το

αρχικό ταμπλό Simplex.

Z X1 X2 X3 X4 Δεξί

Μέρος

z 1 -5 -3 0 0 0

X3 0 -1 1 0 0 4

X4 0 1 -2 1 1 6

βήμα 1 : (επιλογή εισερχόμενης μεταβλητής)

Προσδιόρισε τη στήλη περιστροφής και επέλεξε

Aos= min {A01, A02} =MIN {-5,-3} = -5 =A 01

Tο s=1, συνεπώς η μεταβλητή χ1 μπαίνει στη βάση.

Page 27: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

24

Βήμα2: (επιλογή εξερχόμενης μεταβλητής ). Θέσε Ι={2} και βρες το r=2

διότι

2

1 21

6min min 6

1

r

r

bba a

Συνεπώς η μεταβλητή χ4 βγαίνει από τη βάση.

Βήμα3 :(Περιστροφή)

Σχημάτισε το επόμενο simplex ταμπλό με το στοιχείο

περιστροφής Α21 π.χ

z X1 X2 X3 X4 Δεξί

Μέρος

Z 1 0 -13 0 5 30

X3 0 0 -1 1 1 10

X1 0 1 -2 0 1 6

Επειδή υπάρχει το 02a <0, στην αντικειμενική γραμμή,

επαναλαμβάνουμε τον πρωτεύοντα αλγόριθμο simplex

Επανάληψη 2

Βήμα 1: (επιλογή εισερχόμενης μεταβλητής).

Προσδιόρισε τη στήλη περιστροφής και επέλεξε

2 2min min 13 13os o oa a a

To s=2, συνεπώς η μεταβλητή χ2 μπαίνει στη βάση.

Βήμα 2: (επιλογή εξερχόμενης μεταβλητής) Θέσε Ι=0 έτσι ώστε το

πρόβλημα να είναι απεριόριστο.

2.4 Δυϊκός αλγόριθμος Simplex

Σε αυτή την ενότητα παρουσιάζουμε ένα από τα πιο σημαντικά

ζητήματα του γραμμικού προγραμματισμού. Κατά την εκτέλεση του

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

προβλήματος αλλά βρίσκουμε επίσης και ένα συνοδευτικό πρόβλημα που

καλείται δυϊκό πρόβλημα. Η δυϊκή μέθοδος Simplex αναπτύχθηκε από τον

Page 28: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

25 από 72

Lemke 1954. Στον γραμμικό προγραμματισμό χρησιμοποιούμε τη

δυϊκότητα σε ένα μεγάλο πλήθος θεωρητικών και πρακτικών

περιπτώσεων. Μεταξύ άλλων αυτές είναι οι παρακάτω:

1- Σε μερικές περιπτώσεις είναι πιο εύκολο (π.χ λιγότερες

επαναλήψεις) να λύσουμε το δυϊκό πρόβλημα αντί του

πρωτεύοντος

2- Οι δυϊκές μεταβλητέ; Παρέχουν σημαντικές οικονομικές ερμηνείες

όταν επιλύουμε ένα πρόβλημα γραμμικού προγραμματισμού.

3- Η δυϊκότητα χρησιμοποιείται βοηθητικά όταν αλλάζουν οι τιμές των

συντελεστών ενός προβλήματος γραμμικού προγραμματισμού.

4- Η δυϊκότητα χρησιμοποιείται για να μας επιτρέψει να

χρησιμοποιήσουμε τη μέθοδο simplex για να επιλύσουμε

προβλήματα στα οποία η αρχική βάση δεν είναι εφικτή (αυτή η

τεχνική είναι γνωστή σαν δυϊκή simplex ).

5- Η δυϊκότητα χρησιμοποιείται για να αναπτύξουμε έναν αριθμό από

σημαντικά θεωρητικά αποτελέσματα στο γραμμικό

προγραμματισμό.

Περιγράφουμε τη δυϊκή μέθοδο Simplex η οποία λύνει το δυϊκό

πρόβλημα απευθείας πάνω στο Simplex ταμπλό του πρωτεύοντος

.Εξετάζουμε το σύνηθες πρόβλημα του γραμμικού προγραμματισμού:

Max z=cx

S.t Ax= 2.4.1

x≥0

Σε κάθε επανάληψη προχωράμε από μι βασική εφικτή λύση του δυϊκού

προβλήματος σε μια βελτιωμένη βασική εφικτή λύση μέχρι ότου είτε

φτάσουμε σε μια βέλτιστη λύση του δυϊκού (καθώς επίσης και του

πρωτεύοντος) είτε συμπεράνουμε ότι το δυϊκό πρόβλημα είναι

απεριόριστο και

το πρωτεύων είναι μη εφικτό.

Page 29: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

26

Περιγραφή του Δυϊκού Αλγόριθμου Simplex

Βήμα 3 : (Περιστροφή )

Από το επόμενο ταμπλό της μεταβλητής περιστροφής Αrσ π.χ

Θέσε rj

rjrs

aa

a όπου j=1.2,…,n,n+1

rj

ij ij isrs

aa a a

a όπου i=0,1,2…m(i≠ r) και j=1,2,…,n,n+1

Και πήγαινε στο βήμα 1.

Επιλύουμε 2 προβλήματα με τον Δυϊκό Πρωτεύοντα Αλγόριθμο Simplex.

Το πρώτο πρόβλημα είναι βέλτιστο και το δεύτερο απεριόριστο.

Παράδειγμα 2.4.1

Να λυθεί το παρακάτω γραμμικό πρόβλημα με τον δυϊκό

πρωτεύοντα αλγόριθμο Simplex.

Max z = -2x1 – x2 - 4x3

S.t -2x1 – 4x2 – 2x3 ≤-6

-X1 + 2x2 – 6x3 ≤-5

-x1 + 4x2 + 3x3 ≤ 8

Βήμα 0 :(Αρχικοποίηση) Ξεκίνα με ένα βασικό δυϊκό εφικτό σημείο και κατασκεύασε το αντίστοιχο simplex ταμπλό. Βήμα 1:(Επιλογή εξερχόμενης μεταβλητής) Αν Bi>=0 για i= 1,2, …,m, STOP. Η λύση είναι βέλτιστη. Διαφορετικά διάλεξε την εξερχόμενη μεταβλητή του δείκτη r έτσι ώστε: Br=min {Bi: Bi<0, για i=1, 2… m} Βήμα 2: (Επιλογή εισερχόμενης μεταβλητής)

Θέσε J= {j: rja <0}. Αν J=0, STOP. Το δυϊκό πρόβλημα είναι απεριόριστο.

Διαφορετικά βρες τον δείκτη της στήλης περιστροφής s:

min :rj

os oj

rs

a aj J

a a

Page 30: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

27 από 72

X1, x2, x3, και χ4 ≥ 0

Λύση:

Προσθέτουμε τις χαλαρές μεταβλητές χ4,χ5, και χ6, οπότε το γραμμικό

πρόβλημα μετατρέπεται στο παρακάτω:

Max z= -2x1 – x2 -4x3

S.t -2x1 – 4x2 -2x3 +x4 =-6

-X1 + 2x2 -6x3 +x5 =-5

-x1 + 4x2 + 3x3 +x6 =8

X1, x2, x3, x4, x5, και χ6 ≥0

Επανάληψη 1

Βήμα 0 (αρχικοποίηση)

Από το αρχικό πρόβλημα είναι φανερό ότι τα δυϊκά βασικά εφικτά

σημεία είναι τα χ1=0, χ2=0, χ3=0, χ4=-6, χ5=-5 και χ6=8. Κατασκευάζουμε

το αρχικό ταμπλό Simplex ταμπλό

Z X1 X2 X3 X4 X5 X6 Δεξί

Μέρος

z 1 2 1 4 0 0 0 0

X4 0 -2 -4 -2 1 0 0 -6

X5 0 -1 2 -6 0 1 0 -5

X6 0 -1 4 3 0 0 1 8

Βήμα 1: (επιλογή εξερχόμενης μεταβλητής)

Προσδιόρισε τη γραμμή περιστροφής και επέλεξε

1 2min , min 6, 5 6rb b b b

Το r=1, συνεπώς η μεταβλητή χ4 βγαίνει από τη βάση.

Βήμα2 : ( επιλογή εισερχόμενης μεταβλητής) Θέσε J={1,2,3} και βρες

s=2 διότι

01 02 03

11 12 13

2 1 4 1min : min , , min , ,

2 4 2 4

os oj

rs rj

a a a a aj J

a a a a a

Page 31: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

28

Συνεπώς η μεταβλητή χ2 μπαίνει στη βάση.

Βήμα 3: (Περιστροφή)

Σχημάτισε το επόμενο Simplex ταμπλό με το στοιχείο περιστροφής

Α32= Α12 = -4 π.χ

Z X1 X2 X3 X4 X5 X6 Δεξί

Μέρος

z 1 3/2 0 7/2 1/4 0 0 -3/2

X2 0 1/2 1 1/2 -1/4 0 0 3/2

X5 0 -4 0 -14 1 2 0 -16

X6 0 -3 0 1 1 0 1 2

Επειδή υπάρχει Β2<0, στο δεξί μέρος , επαναλαμβάνουμε τον δυϊκό

αλγόριθμο Simplex

Επανάληψη 2

Βήμα 1 : (επιλογή εξερχόμενης μεταβλητής)

Προσδιόρισε τη στήλη περιστροφής και επέλεξε

2 2min min 16 16rb b b

Το r=2 , συνεπώς η μεταβλητή χ5 βγαίνει από τη βάση .

Βήμα2 : (Επιλογή εισερχόμενης μεταβλητής) Θέσε J={1,3} και βρες s=3

διότι

01 03

21 23

6 14min : min , min , 1

4 14

os oj

rs rj

a a a aj J

a a a a

Συνεπώς η μεταβλητή χ3 μπαίνει στη βάση.

Βήμα3 : (Περιστροφή)

Page 32: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

29 από 72

Σχημάτισε το επόμενο Simplex ταμπλό με το στοιχείο περιστροφής

A32=23 =-14 π.χ

Z X1 X2 X3 X4 X5 X6 Δεξί

Μέρος

z 1 1/2 0 0 1/2 1/2 0 -11/2

X2 0 5/14 1 1/20 -3/14 - 1/14 0 13/14

X3 0 2/7 0 1 -1/14 -1/7 0 8/7

X6 0 -23/7 0 0 15/14 8/7 1 26/7

Βήμα1 : (επιλογή εξερχόμενης μεταβλητής)

Επειδή Bi>0 όπου i=1,2,3 STOP. Η λύση είναι η χ1=0, χ2=13/14,

χ3=8/7, χ4=0, χ5=0, και το z= -11/2.

Example 2.4.2:

Να λυθεί το παρακάτω γραμμικό πρόβλημα με τον δυϊκό πρωτεύοντα

αλγόριθμο Simplex.

Max z= -x1 + 2x2 + 4x3

S.t x1 + x2 - 2x3 ≤-4

2x1 – x2 - 2x3 ≤-2

X1 - x2 + 2x3 ≤-8

X1, x2 και χ3 ≥0

Λύση :

Προσθέτουμε τις χαλαρές μεταβλητές χ4,χ5, και χ6.Έτσι το γραμμικό

πρόβλημα μετατρέπεται στο παρακάτω:

Max z= -x1 + 2x2 +4x3

S.t x1 + x2 - 2x3 +x4 =-4

2x1 –x2 - 2x3 +x5 =-2

x1 – x2 + 2x3 +x6 =-8

Page 33: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

30

x1,x2,x3,x4,x5 και χ6 ≥ 0

Επανάληψη 1

Βήμα (αρχικοποίηση) Από το αρχικό πρόβλημα είναι φανερό ότι τα δυϊκά

Βασικά εφικτά Σημεία είναι τα χ1=0, χ2=0, χ3=0, χ4=-4, χ5=-2 και χ6=-8.

Κατασκευάζουμε το αρχικό simplex ταμπλό

z X1 X2 X3 X4 X5 X6

R.H.S

Z 1 1 -2 4 0 0 0 0

X4 0 1 1 -2 1 0 0 -4

X5 0 2 -1 -2 0 1 0 -2

X6 0 1 -1 2 0 0 1 -8

Βήμα 1 : (επιλογή εξερχόμενης μεταβλητής)

Προσδιόρισε τη γραμμή περιστροφής και επέλεξε

1 2 3 3min , , min 4, 2, 8 8rb b b b b

Το r=3, συνεπώς η μεταβλητή χ6 βγαίνει από τη βάση.

Βήμα 2 : (επιλογή εισερχόμενης μεταβλητής)

Θέσε J={2} και βρες s=2 διότι

02

32

2min : min min 2

1

os oj

rs rj

a a aj J

a a a

Συνεπώς η μεταβλητή χ2 μπαίνει στη βάση.

Βήμα 3 : (περιστροφή)

Σχημάτισε το επόμενο simplex ταμπλό με το στοιχείο περιστροφής

Ars= A12 =-1 π.χ

z X1 X2 X3 X4 X5 X6 Δεξί

Μέρος

z 1 -1 0 -5 0 0 -2 16

X4 0 2 0 0 1 0 0 -12

Page 34: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

31 από 72

X5 0 1 0 -4 0 1 0 6

X6 0 1 1 -2 0 0 1 8

Επειδή υπάρχει ib <0 στο δεξί μέρος επαναλαμβάνουμε τον δυϊκό

αλγόριθμο simplex

Επανάληψη 2

Βήμα 1 : (επιλογή εξερχόμενης μεταβλητής )

Προσδιόρισε τη γραμμή περιστροφής και επέλεξε

1 1min min 12 12rb b b

Το r=1 , συνεπώς η μεταβλητή χ4 βγαίνει από τη βάση.

Βήμα 2 : ( επιλογή εισερχόμενης μεταβλητής

Θέσε J=0, STOP .Το δυϊκό πρόβλημα είναι απεριόριστο.

2.5 Αλγόριθμος Simplex Εξωτερικών Σημείων

Ο κλασσικός αλγόριθμος simplex είναι ο πιο διαδεδομένος

αλγόριθμος του γραμμικού προγραμματισμού. Στην πράξη είναι αρκετά

αποτελεσματικός για γραμμικά προβλήματα μικρού ή μεσαίου μεγέθους. Ο

Borgwardt απέδειξε ότι ο αναμενόμενος αριθμός των επαναλήψεων για

την επίλυση ενός γραμμικού προβλήματος (LP) με τον αλγόριθμο Simplex

είναι πολυωνυμικός. ΟΙ Klee- Minty απέδειξαν ότι η πολυπλοκότητα

χειρότερης περίπτωσης είναι εκθετική . Από τότε έχουν γίνει πολλές

προσπάθειες για να βρεθούν καλύτεροι(πιο γρήγοροι) τρόποι ώστε να

επιλυθούν γραμμικά προβλήματα. Έρευνες οδήγησαν στην ανάπτυξη

αποτελεσματικών μεθόδων εσωτερικών σημείων. Οι τελευταίες είναι πιο

αποτελεσματικές από τον αλγόριθμο Simplex για μεγάλα γραμμικά

προβλήματα. Παρόλα αυτά η υπολογιστική βελτίωση των αλγορίθμων

περιστροφής παραμένει θέμα μεγάλης σπουδαιότητας. Ένας τρόπος για

να βελτιωθεί ο αλγόριθμος Simplex είναι να αποφευχθεί η μετακίνηση από

μια κορυφή σε μια γειτονική της. Αυτό μπορεί να επιτευχθεί αποφεύγοντας

τα όρια του πολυέδρου P= {x: Ax≤ b,x≥0} και κατασκευάζοντας βασικές

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

Page 35: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

32

αλγόριθμος Simplex εξωτερικών σημείων (EPSA).Ο πρώτος (EPSA)

αναπτύχθηκε από τον Παπαρρίζο για το πρόβλημα της αντιστοίχισης.

Αργότερα ο Παπαρρίζος γενίκευσε την (EPSA) για το γενικευμένο

γραμμικό πρόβλημα. Από τη γεωμετρία του (EPSA),ο Παπαρρίζος

προέβλεψε ότι ο νέος αλγόριθμος θα ήταν πιο γρήγορος από τον

αλγόριθμο Simplex. Αυτή η πρόβλεψη επαληθεύτηκε από υπολογιστικές

μελέτες σε τυχαία αραιά και πυκνά γραμμικά προβλήματα. Πιο

συγκεκριμένα ο EPSA αποδείχθηκε ότι είναι 10 φορές πιο γρήγορος από

τον αλγόριθμο Simplex για τυχαία βέλτιστα γραμμικά προβλήματα μεσαίου

μεγέθους. Οι Anstreicher and Terlaky 1994, CURET 1984,Chen et al 1974

και οι Murty and Fathi 1984 ανέπτυξαν άλλους αλγορίθμους τύπου

simplex ,που με τον έναν ή τον άλλο τρόπο αποφεύγουν την εφικτή

περιοχή. Μια πλήρης επισκόπηση των κανόνων περιστροφής του

γραμμικού προγραμματισμού μπορεί να βρεθεί στο άρθρο (Terlaky and

Zhang 1993).

Ο EPSA Κατασκευάζει 2 μονοπάτια (διαδρομές) προς τη βέλτιστη λύση.

Η πρώτη διαδρομή αποτελείται από βασικές αλλά όχι εφικτές λύσεις και

ονομάζεται εξωτερική διαδρομή. Η δεύτερη διαδρομή είναι εφικτή.

Αποτελείται από ευθύγραμμα τμήματα τα άκρα των οποίων βρίσκονται

μέσα στην εφικτή περιοχή. O EPSA στηρίζεται στην ιδέα ότι

ακολουθώντας βήματα προς κατευθύνσεις που είναι συνδυασμοί

δελεαστικών κατηφορικών διαδρομών, μπορεί να οδηγηθούμε σε

σύγκλιση πιο γρήγορα από ότι με τον κλασσικό αλγόριθμο simplex. Αν και

ο EPSA είναι σαφώς αποδοτικότερος από τον κλασσικό simplex (σε

τυχαία πυκνά και αραιά γραμμικά προβλήματα) παρουσιάζει 2

υπολογιστικά μειονεκτήματα. Πρώτον είναι δύσκολο να κατασκευάσουμε

καλές κατευθύνσεις μετακίνησης. Χρησιμοποιούμε τον όρο «καλές

κατευθύνσεις μετακίνησης» καταχρηστικά. Μια καλή κατεύθυνση

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

στην πράξη. Γεωμετρικά μια καλή κατεύθυνση που οδηγεί πολύ κοντά στη

βέλτιστη λύση. Στην πράξη οι 2 παραπάνω διαδρομές εξαρτώνται από το

αρχικό εφικτό τμήμα και από την αρχική εφικτή κορυφή. Δεύτερον δεν

Page 36: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

33 από 72

υπάρχει γνωστός τρόπος να μετακινηθούμε μέσα στο εσωτερικό της

εφικτής περιοχής. Αυτή η μετακίνηση θα παρέχει μεγαλύτερη ευελιξία κατά

την αναζήτηση υπολογιστικά αποδοτικών κατευθύνσεων.

2.6 Πρωτεύων Αλγόριθμος Simplex Εξωτερικών σημείων

Περιγράφουμε τον πρωτεύοντα αλγόριθμο simplex εξωτερικών

σημείων EPSA, που λύνει το πρόβλημα απευθείας πάνω στο (πρωτεύον)

simplex ταμπλό. Εξετάζουμε το κλασσικό πρόβλημα του γραμμικού

προγραμματισμού:

Max z=cx

S.t Ax=b 2.6.1

x≥0

Ο αλγόριθμος ξεκινά με ένα εφικτό σημείο .Βρίσκουμε το σύνολο των μη-

βασικών δεικτών J= {j: oja <0}. Αν J=0 ,τότε το πρώτο κύριο σημείο είναι το

πιο βέλτιστο και ο αλγόριθμος σταματάει. Διαφορετικά υπολογίζουμε το

άθροισμα όπου i=0,1,2, … ,m και βρίσκουμε το σύνολο των δεικτών I=

{i:Aio>0}. Αν Ι=0, τότε το πρόβλημα είναι απεριόριστο. Διαφορετικά

υπολογίζουμε το άθροισμα όπου i= 0,1,2,…,m και βρίσκουμε το σύνολο

των δεικτών I={i: ioa >0}. Αν Ι=0, τότε το πρόβλημα είναι απεριόριστο.

Διαφορετικά βρίσκουμε το δείκτη της εισερχόμενης μεταβλητής r από το

κλάσμα 0

min :r i

r io

b bi I

a a

Για να βρούμε το δείκτη της

εξερχόμενης

μεταβλητής s, πρέπει να βρούμε το σύνολο

των δεικτών J= {j: oja >0} και μετά να υπολογίσουμε τα θ1 και θ2. Αν

θ1≤θ2 θέσε s = k αλλιώς s=1. Το τελευταίο βήμα είναι η περιστροφή με το

στοιχείο περιστροφής Αrs.

O EPSA κατασκευάζει 2 διαδρομές προς τη βέλτιστη λύση. Η πρώτη

διαδρομή αποτελείται από βασικές αλλά μη εφικτές λύσεις και είναι στην

ουσία μια εξωτερική διαδρομή. Η δεύτερη διαδρομή είναι εφικτή.

Page 37: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

34

Αποτελείται από ευθύγραμμα τμήματα τα άκρα των οποίων βρίσκονται

μέσα στα στενά όρια της εφικτής περιοχής.

Περιγραφή του αλγόριθμου simplex Εξωτερικών Σημείων

Βήμα 0 : (Αρχικοποίηση)

Ξεκίνα με ένα εφικτό βασικό σημείο και κατασκεύασε το αντίστοιχο

ταμπλό του εξωτερικού simplex.

Βήμα 1:(Έλεγχος τερματισμού)

Βρες το σύνολο J={j: oja <0}. Αν J=0, STOP. Το πρόβλημα είναι βέλτιστο.

Διαφορετικά υπολόγισε το ioa =n

i

j J

ja

όπου i=0,1,2…,m.

Βήμα 2: (Επιλογή εισερχόμενης μεταβλητής)

Βρες το σύνολο Ι= { 0ioa }. Aν Ι=0 STOP. Το πρόβλημα είναι

απεριόριστο. Διαφορετικά υπολόγισε το δείκτη της εισερχόμενης

μεταβλητής r από τη σχέση:

0

min :r i

r io

b bi I

a a

Βήμα 3 :(Επιλογή εξερχόμενης μεταβλητής)

Θέσε J={j: Aoj >0} και υπολόγισε

1 0min : ,ok oj

rj

rk rj

j J aa a

01

2 0

1

min : ,oj

rj

r rj

j J aa a

Βρες το δείκτη της εξερχόμενης μεταβλητής s , αν θ1≤θ2 θέσε s=k αλλιώς

s=1.

Βήμα 4: (Περιστροφή)

Κατασκεύασε το επόμενο ταμπλό με το στοιχείο περιστροφής Αrs π.χ

Θέσε

Page 38: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

35 από 72

rjarj

arsa όπου j=1,2,…,n,n+1

ij ij isarj

arsa a a όπου i=0,1,2,…m(i≠r)και j=1,2,…,n,n+1

Αν s=k θέσε 1or ora a

Και πήγαινε στο βήμα 1

Παράδειγμα 2.6.1

Να λυθεί το παρακάτω γραμμικό πρόβλημα με τον αλγόριθμο simplex

εξωτερικών σημείων .

Max z= -x1 –x2 + 4x3

S.t x1 + x2 + x3 ≤9

X1 + x2 + x3 ≤2

-x1 + x2 + x3 ≤4

X1, x2 και χ3 ≥0

Λύση:

Προσθέτουμε τις χαλαρές μεταβλητές χ4,χ5 και χ6 , οπότε το γραμμικό

πρόβλημα μετατρέπεται στο παρακάτω:

Max z= -x1 – x2 + 4x3

S.t x1+ x2 +x3 +x4 =9

X1 + x2 –x3 +x5 =2

-x1 + x2 + x3 +x6 =4

x1, x2 x3, x4, x5 και χ6 ≥ 0

Βήμα 0 : (Αρχικοποίηση )

Από το αρχικό πρόβλημα κατασκευάζουμε το αρχικό εξωτερικό simplex

ταμπλό

Χ1 Χ2 Χ3 Χ4 Χ5 Χ6 Δεξί

Μέρος

z -4 1 1 -4 0 0 0 0

Page 39: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

36

X4

2 1 1 2 1 0 0 9

X5

-1 1 1 -1 0 1 0 2

X6

1 -1 1 1 0 0 1 4

Βήμα 1:

Βρες το σύνολο J={ j: Aoj <0}={3}, επειδή J≠0, ο αλγόριθμος δε σταματάει.

Βήμα 2:

Βρες το σύνολο I {I =Ai0>0} = {1,3}, επειδή I≠0 το πρόβλημα δεν είναι

απεριόριστο. Βρες το δείκτη της εισερχόμενης μεταβλητής r=3 διότι

1 2

0 10 30

min : min , min 9 / 2,4 /1 4r i

r io

b b b bi I

a a a a

Βήμα 3 :

Θέσε J = {j : Aoj>0} {1,2} και υπολόγισε

0 03

1 0

33

min : , min min 4 /1 4k oj

rj

rk rj

aj J a

a a a

01 01

2 0

1 31

min : , min min 1 / 1 1oj

rj

r rj

aj J a

a a a

Επειδή θ1<θ2 το s=1 και η εξερχόμενη μεταβλητή είναι η χ4

Βήμα 4 :

Σχημάτισε το επόμενο ταμπλό με στοιχείο περιστροφής το Α31

Χ1 Χ2 Χ3 Χ4 Χ5 Χ6 Δεξί

Page 40: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

37 από 72

Μέρος

z -3 0 2 -3 0 0 1 4

X3 3 0 2 3 1 0 1 13

X4 0 0 2 0 0 1 1 6

X5 -1 1 -1 -1 0 0 -1 -4

Βήμα 1:

Βρες το σύνολο J= { j: Aoj <0} ={3}, επειδή J≠0 , ο αλγόριθμος δε

σταματάει.

Βήμα 2:

Βρες το σύνολο I ={i: Ai0>0} = {1}, επειδή Ι≠0 το πρόβλημα δεν είναι

απεριόριστο.

Βρες το δείκτη της εισερχόμενης μεταβλητής r=1 διότι

1 032 0

33

3

1, 1 3

1 1

min : , min min 3 / 2 1.5

min : min min 12 /1 12

i

i I

iis

ls is

os oj

m s m j

m n m j

b b ai I a

a a a

a a bj J

a a a

b b na

0 0

min : min 13/ 3 4.3r i

r i

b bi I

a a

Βήμα 3 :

Θέσε J = {j : Aoj >0} = {2,6} και υπολόγισε

03

1 0

13

min : , min min 3 / 3 1oj

rj

r rj

a aj J a

a a a

1

2 0min : , min 0oj

rj

rl rj

aj J a

a a

Επειδή θ1<θ2 το s=1 και εξερχόμενη μεταβλητή είναι η χ6

Βήμα 4 :

Page 41: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

38

Σχημάτισε το επόμενο ταμπλό με στοιχείο περιστροφής το Α13

X1 X2 X3 X4 X5 X6 Δεξί

Μέρος

z 0 4 0 1 0 2 17

X3 0 2/3 1 1/3 0 1/3 13/3

X5 0 2 0 0 1 1 6

X1 1 -1/3 0 1/3 0 -2/3 1/3

Επειδή J={ j: Aoj <0} =0, η τρέχουσα λύση είναι η βέλτιστη και ισούται με

χ1=1/3, χ2=0, χ3=13/3, χ4=0, χ5=6, χ6=0. Η αντικειμενική συνάρτηση

ισούται με z=17

Παράδειγμα 2.6.2

Να λυθεί το παρακάτω γραμμικό πρόβλημα με τον αλγόριθμο simplex

εξωτερικών σημείων.

Max z= -2x1 + 2x2 - 3x3 – 4x4

s.t -x1 - 2x2 + 2x3 – x4 ≤ 18

-2x1 – 12x2 – x3 – x4 ≤ 4

3x1 + x2 – 2x3 + 10x4≤ 12

X1, x2, x3 και χ4 ≥0

Λύση :

Προσθέτουμε τις χαλαρές μεταβλητές χ5 , χ6 και χ7 οπότε το γραμμικό

πρόβλημα μετατρέπεται στο παρακάτω:

Μεγ. Z = -2x1 + 2x2 - 3x3 - 4x4

μ.π : -χ1 – 2χ2 + 2χ3 – χ4 + χ5 =18

-2χ1 – 12χ2 – χ3 –χ4 + χ6 =4

3χ1 + χ2 – 2χ3 + 10χ4 +χ7 =12

χ1, χ2, χ3, χ4, χ5, χ6 και χ7 ≥0

Page 42: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

39 από 72

Βήμα 0 (αρχικοποίηση)

Από το αρχικό πρόβλημα κατασκευάζουμε το αρχικό ταμπλό του

εξωτερικού simplex

X1 X2 X3 X4 X5 X6 X7 Δεξί

Μέρος

z -2 2 -2 3 4 0 0 0 0

-2 -1 -2 2 4 1 0 0 18

X5 -12 -2 -12 -1 -1 0 1 0 4

X1 1 3 1 -2 10 0 0 1 12

Βήμα 1 :

Βρες το σύνολο J={j : Aoj <0} = {2}, επειδή J≠0, ο αλγόριθμος δε σταματά.

Βήμα 2 :

Βρες το σύνολο Ι= {Ι : Αio >0} ={3}, επειδή I≠0 το πρόβλημα δεν είναι

απεριόριστο. Βρες το δείκτη τα εισερχόμενης μεταβλητής r=3 διότι

3

0 0 30

min : min min 12 /1 12r i

r i

b b bi I

a a a

Βήμα 3 :

Θέσε J = {j : Aoj >0} = {1,3,4} και υπολόγισε

02

1 0

32

min : , min min 2 /1 2k oj

rj

rk rj

a aj J a

a a a

01 03

2 0

33

min : , min min 3 / 2 1.5oj

rj

rl rj

a aj J a

a a a

Επειδή Θ2<θ1 το s=3 και η εξερχόμενη μεταβλητή είναι η χ6

Βήμα4 :

Κατασκεύασε το επόμενο simplex ταμπλό με το στοιχείο περιστροφής Α33

Page 43: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

40

Χ1 Χ2 Χ3 Χ4 Χ5 Χ6 Χ7 Δεξί

Μέρος

z -1 13/2 -1/2 0 19 0 0 3/2 18

X3 -

25/2

2 -1 0 11 1 0 1 30

X5 -12 -7/2 -

25/2

0 -6 0 1 -1/2 -2

X1 -1/2 -3/2 -1/2 1 -5 0 0 -1/2 -6

Βήμα 1:

Βρες το σύνολο J= {j:A0j<0} ={2}, επειδή J≠0, ο αλγόριθμος δε σταματάει

Βήμα 2:

Βρες το σύνολο I = {I : Ai0 >0} =0 επειδή Ι=0 το πρόβλημα είναι

απεριόριστο.

2.7 Δυϊκός αλγόριθμος simplex εξωτερικού σημείου

Θα περιγράψουμε τη δυϊκή μέθοδο simplex εξωτερικού σημείου, η

οποία επιλύει το δυϊκό πρόβλημα απευθείας στον πρωτεύοντα πίνακα

simplex. Έστω το τυπικό πρόβλημα γραμμικού προγραμματισμού:

Maximize z=cx

Subject to Ax=b 2.7.1

x≥0

Ξεκινάμε με ένα δυϊκό βασικό εφικτό σημείο και δημιουργούμε τον

αντίστοιχο δυϊκό εξωτερικό πίνακα simplex. Η επάνω γραμμή του πίνακα

περιέχει την αντικειμενική συνάρτηση. Η τελευταία στήλη περιέχει τα

στοιχεία της δεξιάς πλευράς. Στις υπόλοιπες θέσεις έχουμε τους

συντελεστές του πίνακα Α. Ο αλγόριθμος ξεκινά με μια δυϊκή εφικτή

βασική λύση. Εάν τα στοιχεία της δεξιάς πλευράς είναι μη αρνητικά, τότε ο

αλγόριθμος σταματά. Σε αυτή τη περίπτωση η τρέχουσα BFS είναι

βέλτιστη για το πρόβλημα 2.7.1. Αλλιώς, προσδιορίζουμε ένα σύνολο

Page 44: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

41 από 72

δεικτών Ι= {I≤ I ≤ m:Bi<0) και δημιουργούμε μια νέα γραμμή, η οποία

προστίθεται στο κάτω μέρος του πίνακα. Τα στοιχεία της (m+1) γραμμής

δίνονται από τον τύπο 1 ji

i I

m ja a

and 1 i

i I

m nb b

Περιγραφή του δυϊκού αλγορίθμου simplex εξωτερικού σημείου

Βήμα 0 : (Ξεκίνημα)

Ξεκινάμε με ένα δυϊκό εφικτό βασικό σημείο και δημιουργούμε τον

αντίστοιχο πίνακα του δυϊκού εξωτερικού αλγορίθμου simplex.

Βήμα 1: (έλεγχος βελτιστότητας)

Προσδιορίζουμε το σύνολο των δεικτών I={I≤ I ≤ m: b <0} . Αν Ι=0,

ΤΕΛΟΣ. Η τρέχουσα βασική λύση είναι η βέλτιστη.

Βήμα 2: (επιλογή της οδηγού στήλης)

Προσδιορίζουμε το σύνολο των δεικτών J= {I ≤ i ≤ n : 1m ja <0}. Aν J=0,

ΤΕΛΟΣ. Το πρόβλημα δεν είναι εφικτό.

Αλλιώς προσδιορίζουμε τη θέση της εισαγομένης μεταβλητής εισόδου

sαπό τη σχέση

1, 1

min :os oj

m s m j

a aj J

a a

Εισάγουμε τη βασική μεταβλητή xs

Βήμα 3 : (επιλογή της οδηγού γραμμής)

Προσδιορίζουμε το σύνολο των δεικτών Ι= { Ι ≤ I ≤ m :i E I } και

υπολογίζουμε τα :

1 0min : ,k i

is

ks is

b bi I a

a a

1

2 0min : ,i

is

ls is

b bi I a

a a

Page 45: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

42

Βρίσκουμε τη θέση της μεταβλητής r που θα βγάλουμε , αν θ1≤θ2 θέσε

r=k αλλιώς s=1 και εξάγουμε τη βασική μεταβλητή Χb( r) .

Βήμα 4 : Περιστροφή

Σχηματίζουμε τον επόμενο πίνακα με τη βοήθεια της οδηγού μεταβλητής

Αrs δηλ

Θέτουμε rj

rjrs

aa

a j όπου Ξ=1,2,…,n,n+1

rj

ij ij isrs

aa a a

a όπου i= 0, 1, 2… m (i≠r) και j=1, 2… n, n+1

Και πηγαίνουμε στο Βήμα 1

Παράδειγμα 2.7.1

Να λυθεί το επόμενο γραμμικό πρόβλημα με τον αλγόριθμο simplex

εξωτερικού σημείου.

Max z= -x1 – 2x2 – x3 - x4

s.t -2x1 + x2 – 3x3 – x4 ≤ -4

X1 + 2x3 – x4 ≤ -2

-X1 + 2x2 – 2x3 – x4≤ 15

2x1 – x2 + 2x3 + x4 ≤ 1

X1, x2, x3 και χ4≥ 0

Λύση :

Προσθέτουμε τις χαλαρές μεταβλητές χ5,χ6,χ7 και χ8 έτσι ώστε το

γραμμικό πρόβλημα να πάρει την πιο κάτω μορφή:

Max z= -x1 – 2x2 – x3 – x4

s.t -2x1 + x2 - 3x3 – x4 + x5 =-4

x1 +2x3 – x4 +x6 =-2

-x1 + 2x2 - 2x3 – x4 +x7 =15

Page 46: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

43 από 72

2x1 – x2 + 2x3 + x4 +x8 =1

x1,x2,x3,x4,x5,x6,x7 και χ8 ≥ 0

Βήμα 0 : (Ξεκίνημα)

Από το αρχικό πρόβλημα, δημιουργούμε τον δυϊκό εξωτερικό πίνακα

simplex

X1 X2 X3 X4 X5 X6 X7 X8

R.H.S

Z 1 2 1 1 0 0 0 0 0

X5 -2 1 -3 -1 1 0 0 0 -4

X6 1 0 2 -1 0 1 0 0 -2

X7 -1 2 -2 -1 0 0 1 0 15

X8 2 -1 2 1 0 0 0 1 1

Βήμα 1 : ( Έλεγχος Βελτιστοποίησης)

Προσδιορίζουμε τους δείκτες Ι= {Ι ≤ i ≤ m:b i <0} = {1,2}, αφού Ι ≠0,

δημιουργούμε τη διακεκριμένη γραμμή

Χ1 Χ2 Χ3 Χ4 Χ5 Χ6 Χ7 Χ8 R.H.S

Z 1 2 1 1 0 0 0 0 0

X5 -2 1 -3 -1 1 0 0 0 -4

X6 1 0 2 -1 0 1 0 0 -2

X7 -1 2 -2 -1 0 0 1 0 15

X8 2 -1 2 1 0 0 0 1 1

-1 1 -1 -2 1 1 0 0 -6

Βήμα 2 : ( Επιλογή της οδηγού στήλης)

Προσδιορίζουμε τους δείκτες J= {I ≤ i ≤ n : 1m ja <0 } = {1,2,4}. Επιλέγουμε

την οδηγό στήλη s

Page 47: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

44

01 02 04

1, 1 5.1 5.2 5.4

min : min , , min 1/ 1, 1/ 1, 1/ 2 1/ 2os oj

m s m j

a a a a aj J

a a a a a

Άρα s=4. Εισάγουμε το στοιχείο χ4.

Βήμα 3: (Επιλογή της οδηγού γραμμής)

Προσδιορίζουμε το σύνολο δεικτών I= {I ≤ i ≤ m : i € I } = {3,4}.

Υπολογίζουμε τα Θ1 και θ2

1 21

14 24,min : , 0 min min 4 / 1, 1/ 2 2

k iis

ks is

b b b bi I a

a a a a

1 4

224

min : , 0 min min 1/1 1i

isis is

b b bi I a

a a a

Αφού θ2<θ1 είναι r=4,έτσι εξάγουμε την χ8.

Βήμα 4 : (Λειτουργία Περιστροφής)

Στον πιο κάτω πίνακα με οδηγό το στοιχείο το Α44 έχουμε

Χ1 Χ2 Χ3 Χ4 Χ5 Χ6 Χ7 Χ8 R.H.S

Z -1 3 -1 0 0 0 0 -1 -1

X5 0 0 -1 0 1 0 0 1 -3

X6 3 -1 4 0 0 1 0 1 -1

X7 1 1 0 0 0 0 1 1 16

X4 2 -1 2 1 0 0 0 1 1

Επανάληψη 2

Βήμα 1 : (Έλεγχος Βελτιστότητας)

Προσδιορίζουμε το σύνολο των δεικτών I = {I ≤ i ≤ m : Bi <0}= {1,2} αφού

Ι≠0 και στη συνέχεια δημιουργούμε τη διακεκριμένη γραμμή

Χ1 Χ2 Χ3 Χ4 Χ5 Χ6 Χ7 Χ8 R.H.S

Z -1 3 -1 0 0 0 0 -1 -1

X5 0 0 -1 0 1 0 0 1 -3

X6 3 -1 4 0 0 1 0 1 -1

X7 1 1 0 0 0 0 1 1 16

X4 2 -1 2 1 0 0 0 1 1

Page 48: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

45 από 72

3 -1 3 0 1 1 0 2 -4

Βήμα 2 : (επιλογή της οδηγού στήλης)

Προσδιορίζουμε το σύνολο των δεικτών J= {Ι ≤ I ≤ n : 1m ja <0} = {2}.

Επιλέγουμε την οδηγό στήλη s

02

1, 1, 5.2

min : min min 3/ 1 3os oj

m s m s

a a aj J

a a a

δείχνει

Άρα s=2. Εισάγουμε την χ2.

Βήμα 3 : (επιλογή της οδηγού γραμμής )

Προσδιορίζουμε το σύνολο των δεικτών Ι= {1 ≤ ι ≤ m : i E I}

={3,4}.Υπολογίζουμε τα θ1 και θ2

2

1

24

min , 0 min min 1/ 1 1ik

isks is

b bbi I a

a a a

1 3

232

min : , 0 min min 16 / 1 1i

isis is

b b bi I a

a a a

Αφού θ1<θ2 τότε r=2 και έτσι εξάγουμε την χ6.

Βήμα 4 : (Λειτουργία της περιστροφής)

Στον πιο κάτω πίνακα με οδηγό στοιχείο το Α22 έχουμε

Χ1 Χ2 Χ3 Χ4 Χ5 Χ6 Χ7 Χ8

R.H.S

Z 8 0 11 0 0 3 0 2 -4

X5 0 0 -1 0 1 0 0 1 -3

X2 -3 1 -4 0 0 -1 0 -1 1

X7 4 0 4 0 0 1 1 22 15

X4 -1 0 -2 1 0 -1 0 0 2

Επανάληψη 3

Βήμα 1: (Έλεγχος Βελτιστότητας)

Page 49: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

46

Προσδιορίζουμε το σύνολο των δεικτών Ι= { Ι ≤ i ≤ m: Bi <0} = {1}. Επομέν

ως , δεν υπάρχει ανάγκη να δημιουργήσουμε τον εκτεταμένο πίνακα. Το

ρόλο της διακεκριμένης γραμμής αναλαμβάνει η γραμμή Ι.

Βήμα 2 : (Επιλογή της οδηγού στήλης)

Προσδιορίζουμε το σύνολο των δεικτών J= {I ≤ i ≤n:A 1m ja <0}={3}.

Επιλέγουμε την οδηγό στήλη s

03

1 1 1.3

min : min min 11/ 1 11os oj

m j m j

a a aj J

a a a

Άρα s=3. Εισάγουμε την x3.

Βήμα 3: (Επιλογή της οδηγού γραμμής)

Προσδιορίζουμε το σύνολο των δεικτών Ι= { Ι ≤ ι ≤ m : i E I }= {2,3,4}.

Υπολογίζουμε τα θ1 και θ2

11

13min : , 0 min min 3/ 1 3

k iis

ks is

b b bi I a

a a a

1 3

21 33

min : , 0 min min 15/ 4 3.75i

iss is

b b bi I a

a a a

Αφού θ1<θ2 τότε r=1 και έτσι εξάγουμε την χ5.

Βήμα 4 : (Λειτουργία της περιστροφής)

Στον πιο κάτω πίνακα με οδηγό στοιχείο το Α13 έχουμε

Χ1 Χ2 Χ3 Χ4 Χ5 Χ6 Χ7 Χ8 R.H.S

Z 8 0 0 0 -11 3 0 13 -37

X3 0 0 1 0 -1 0 0 -1 3

X2 -3 1 0 0 -4 -1 0 -5 13

X7 4 0 0 0 4 1 1 6 3

X4 -17 0 0 1 -2 -1 0 -2 8

Επανάληψη 4

Βήμα 1 : (Έλεγχος βελτιστότητας)

Page 50: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

47 από 72

Προσδιορίζουμε το σύνολο των δεικτών Ι= {Ι ≤ i ≤ m:Bi <0}= 0 αφού Ι=0

τότε το πρόβλημα είναι βέλτιστο για χ1=0, χ2=13, χ3=3,χ4=8,

χ5=χ6=χ7=χ8=0 και z= -37

2.8 Αρχική λύση με τη μέθοδο των δύο φάσεων.

Με τη μέθοδο των δυο φάσεων συμπληρώνουμε αρχικά το πρόβλημα

με τεχνητές μεταβλητές οι οποίες παίρνουν μη αρνητικές τιμές και τα

αντίστοιχα διανύσματα τους είναι μοναδιαία. Πιο συγκεκριμένα έστω ότι

χρειαζόμαστε mτεχνητές μεταβλητές.

Τότε το αρχικό σύστημα των περιορισμών

1

, 1,......,n

i

j

j j ia x b i m

(3)

xj≥0, i=1,……,n

Με την προσθήκη των mτεχνητών μεταβλητών Xn+1, i= 1 γράφεται ως

1

1 , 1, .......,

n

ji

j

n i i ma x x b

(4)

Xj ≥ 0, I = 1… n + m

Το σύστημα εξισώσεων (4) που ονομάζονται και περιορισμοί της φάσης 1

δεν είναι προφανώς ισοδύναμο με το (3). Με την πρώτη φάση

εφαρμόζουμε τη μέθοδο simplex για να ελαχιστοποιήσουμε τη συνάρτηση

1 2 ...n n n mw x x x (5)

Με τους περιορισμούς (4).

Η w ονομάζεται και αντικειμενική συνάρτηση φάσης 1 . Από τις (3),

(4) και (5) προκύπτουν τα εξής συμπεράσματα:

1) Αν ( 1X

1 1

1, 1 2

1 ,..., 1,

n m

j i

n n mn

ij j i iM m i i ni i

X Xn

w w a x t b t t b d x

, ……, Xn )

ικανοποιεί το (3) ( 1X , ……, Xn , X 1n =0, ……, X n m =0)

ικανοποιεί το (4) και αντίστροφα.

Page 51: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

48

2) Επειδή οι τεχνητές μεταβλητές είναι μη αρνητικές και από το

γεγονός ότι το άθροισμα μη αρνητικών αριθμών είναι μη αρνητικός

αριθμός, έπεται ότι η τιμή της αντικειμενικής συνάρτησης κατά την

διάρκεια της φάσης 1 είναι μεγαλύτερη από ή ίση με το μηδέν.

3) Από το γεγονός ότι η w παίρνει μη αρνητικές τιμές στο σύνολο των

εφικτών λύσεων της φάσης 1,προκύπτει ότι κάθε εφικτή λύση της

φάσης 1 που έχει τιμή αντικειμενικής συνάρτησης ίση με μηδέν

πρέπει να είναι άριστη. Επομένως αν το αρχικό πρόβλημα έχει μια

εφικτή λύση η ελάχιστη τιμή της w στη φάση 1 είναι ίση με μηδέν.

4) Αντίστροφα αν η ελάχιστη τιμή της w στη φάση 1 είναι μηδέν, τότε

υπάρχει μια εφικτή λύση η οποία μηδενίζει της w . Από τον

περιορισμό Χ 1n ≥ 0, i=1, … ,m προκύπτει ότι το άθροισμα Χ 1n

+X 2n +…+X n m =0 ικανοποιείται μόνο όταν Χ 1n =0, i=1,…,m.

Από τα (1), (2), (3), (4) συμπεραίνουμε ότι το αρχικό πρόβλημα

έχει λύση αν και μόνο αν η ελάχιστη τιμή w στην φάση 1 είναι μηδέν.

Αυτό σημαίνει ότι αν η ελάχιστη τιμή του w στο τέλος της φάσης 1

είναι μεγαλύτερη από το μηδέν τότε το αρχικό πρόβλημα δεν έχει

λύση.

Μετάβαση στη φάση 2

Στη περίπτωση όπου w=0 στο τέλος της φάσης 1 μια βασική εφικτή λύση

του αρχικού προβλήματος προκύπτει από τον τελικό πίνακα αν

αφαιρέσουμε τις τεχνητές μεταβλητές. Από το γεγονός ότι σε επόμενες

επαναλήψεις η τιμή της w θα πρέπει να είναι μηδέν έπεται ότι καμιά μη

βασική κατά τη διάρκεια της φάσης 2. Αυτό σημαίνει ότι στο τέλος της

φάσης 1 κάθε μη βασική τεχνητή μεταβλητή δεν θα πρέπει να γίνει βασική

κατά τη διάρκεια της φάσης 2. Προκύπτει λοιπόν, ότι στο τέλος της φάσης

1 κάθε μη βασική μεταβλητή καθώς και το αντίστοιχο διάνυσμα

απαλείφονται από τον πίνακα simplex. Στην πραγματικότητα τεχνητές

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

βάση. Από την τελευταία σειρά του πίνακα της φάσης 1 παίρνουμε:

1 1

1

n m

j i

j j i nw w d x d x

(6)

Page 52: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

49 από 72

Όπου w=0αν το πρόβλημα έχει λύση.

Από το γεγονός ότι η τιμή της w θα πρέπει να διατηρείται μηδέν σε κάθε

επόμενη επανάληψη , έπεται ότι η τιμή κάθε τεχνητής μεταβλητής που

βρίσκεται στον πίνακα θα πρέπει να είναι ίση με μηδέν. Τεχνητές

μεταβλητές που ήταν στη βάση με τιμή μηδέν στο τέλος της φάσης 1

παραμένουν με τιμή μηδέν κατά τη διάρκεια της φάσης 2 έως ότου

αντικατασταθούν από μη τεχνητές μεταβλητές στη βάση οπότε

εγκαταλείπουν τον πίνακα.

Από την (6) προκύπτει ακόμη ότι μια μη τεχνητή μεταβλητή έστω Xj έχει

στο τέλος της φάσης 1, Dj>0 τότε η μεταβλητή αυτή θα πρέπει να ισούται

με μηδέν σε κάθε επόμενη επανάληψη για να διατηρείται η τιμή της w ίση

με μηδέν. Επομένως μια τέτοια μεταβλητή δεν μπορεί να γίνει βασική κατά

τη διάρκεια της φάσης 2 που σημαίνει ότι η τιμή της ισούται πάντα με

μηδέν και η αντίστοιχη στήλη απαλείφεται από τον πίνακα. Έτσι κατά τη

διάρκεια της φάσης 2 οι μεταβλητές Χjπου εισέρχονται στη βάση θα

πρέπει να έχουν Dj=0.

Ανακεφαλαιώνοντας τη διαδικασία μετάβασης από τη φάση 1 στην φάση

2 έχουμε:

Κάθε τεχνητή μεταβλητή που εγκαταλείπει τη βάση κατά τη

διάρκεια της φάσης 1 απαλείφεται από τον πίνακα simplex.

Κάθε μη τεχνητή μεταβλητή Xj που έχει d>0 στο τέλος της

φάσης 1 τίθεται ίση με μηδέν και το αντίστοιχο διάνυσμα

στήλη απαλείφεται από τον πίνακα simplex.

Η σειρά n+2 δηλαδή η τελευταία σειρά του πίνακα

simplex,απομακρύνεται.

Κάθε τεχνητή μεταβλητή που είναι στη βάση με τιμή ίση μς

μηδέν, στο τέλος της φάσης 1 παραμένει ίση με μηδέν έως

ότου αντικατασταθεί από μια μη τεχνητή μεταβλητή κατά τη

διάρκεια της φάσης 2.

Θα εφαρμόσουμε τη μέθοδο των δυο φάσεων στο πρόβλημα του

παραδείγματος 1. Αναφερόμενοι στην τυπική μορφή(2) παρατηρούμε ότι

με την προσθήκη των τεχνητών μεταβλητών x7 στην πρώτη εξίσωση x8

Page 53: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

50

στη δεύτερη και χ9 στην τέταρτη, σχηματίζεται μια βάση. Έχουμε λοιπόν

να επιλύσουμε το πιο κάτω πρόβλημα ελαχιστοποίησης στη φάση 1.

Ελάχιστο της w= x7 +x8+x9

Με περιορισμούς: χ1 + χ2 – χ3 +χ7 =5

-χ1 + 2χ2 -χ4 +χ8 =2

χ2 +χ5 =5

χ1 -χ6 +χ9 =1

2χ1 + χ2 =z

x1, x2, x3, x4, x5, x6, x7, x8 ≥ 0

Με αντικατάσταση της χ7 = 5-χ1-χ2+χ3, χ8=2+χ1-2χ2+χ4 και χ9=1-χ1+χ6

στην w παίρνουμε:

W= -x1-3x2+x3+x4+x6+x8

Κατασκευάζουμε τον εξής πρώτο πίνακα simplex

Βασικές

Μεταβλ.

Χ1 Χ2 Χ3 Χ4 Χ5 Χ6 Χ7 Χ8 Χ9 B

X7 1 1 -1 0 0 0 1 0 0 5

X8 -1 2 0 -1 0 0 0 1 0 2

X5 0 1 0 0 1 0 0 0 0 5

X9 1 0 0 0 0 -1 0 0 1 1

Cj -2 -1 0 0 0 0 0 0 0 0

Dj 1 3 -1 -1 0 -1 0 0 0 8

Επειδή έχουμε πρόβλημα ελαχιστοποίησης και η τελευταία σειρά περιέχει

θετικά στοιχεία η λύση χ7=5,χ8=2,χ5=5,χ9=1 και οι λοιπές μεταβλητές ίσες

με μηδέν δεν είναι άριστη. Εισερχόμενη μεταβλητή μπορεί μα είναι μια από

τις μη βασικές μεταβλητές χ1 ή χ2. Επιλέγουμε την χ1 και επειδή το

ελάχιστο των πηλίκων των στοιχείων της στήλης Β με τα αντίστοιχα θετικά

στοιχεία της στήλης χ1 βρίσκεται στην τέταρτη σειρά, εξερχόμενη

μεταβλητή είναι η χ9.

Page 54: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

51 από 72

Με την τέταρτη σειρά και την πρώτη στήλη ως αξονικές και με το γεγονός

ότι ο νέος πίνακας δεν περιλαμβάνει την εξερχόμενη μεταβλητή επειδή

είναι τεχνητή, τα στοιχεία του επόμενου πίνακα υπολογίζονται ως εξής:

Τέταρτη σειρά=1(1,0,0,0,0,-1,0,0,1)=(1,0,0,0,0,-1,0,0,1)

Πρώτη σειρά = (1,1,-1,0,0,0,1,0,5)-1(1,0,0,0,0-1,0,0,1)

Δεύτερη σειρά =(-1,2,0,-1,0,0,0,1,2)-(-1)(1,0,0,0,0,-1,0,0,1)

Τρίτη σειρά είναι ίδια με την Τρίτη σειρά του προηγούμενου πίνακα

Πέμπτη σειρά =(-2,-1,0,0,0,0,0,0,0,) –(-2)(1,0,0,0,0,-1,0,01)

Έκτη σειρά = (1,3,-1,-1,0,-1,0,0,8)-1(1,0,0,0,0,-1,0,0,1)

Προκύπτει έτσι ο πίνακας (ΒΜ= Βασικές Μεταβλητές)

ΒΜ Χ1 Χ2 Χ3 Χ4 Χ5 Χ6 Χ7 Χ8 b

X7 0 1 -1 0 0 1 1 0 4

X8 0 2 0 -1 0 -1 0 1 3

X5 0 1 0 0 1 0 0 0 5

X1 1 0 0 0 0 -1 0 0 1

Cj 0 -1 0 0 0 -2 0 0 2

Dj 0 3 -1 -1 0 0 0 0 7

Επειδή d2 = 3 >0 η λύση του πίνακα δεν είναι άριστη. Έτσι εισερχόμενη

μεταβλητή είναι η χ2 και η εξερχόμενη σύμφωνα με τον κανόνα του

ελάχιστου πηλίκου η χ8. Επειδή η εξερχόμενη μεταβλητή χ8 είναι τεχνητή

δεν περιλαμβάνει στους υπολογισμούς με επόμενους πίνακες.

Με τη δεύτερη σειρά και δεύτερη στήλη ως αξονικές τα στοιχεία του νέου

πίνακα υπολογίζονται ως εξής:

Δεύτερη σειρά =1/2(0,2,0,-1,0,-1,0,3) = (0,1,0,-1/2,0,-1/2,0,3/2)

Πρώτη σειρά = (0,1,-1,0,0,1,0,4)-1(0,1,0,-1/2,0,-1/2,0,3/2)

Τρίτη σειρά = (0,1,0,0,1,0,0,5) -1 (0,1,0,-1/2,0-1/2,0,3/2)

Τέταρτη σειρά παραμένει αμετάβλητη επειδή το τέταρτο στοιχείο της

αξονικής στήλης είναι ίσο με το μηδέν.

Πέμπτη σειρά =(0,-1,0,0,0,-2,0,2)-(-1)(0,1,0,-1/2,0,-1/2,0,3/2)

Page 55: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

52

Έκτη σειρά = (0,3,-1,-1,0,0,0,7)-3(0,1,0,-1/2,0,-1/2,0,3/2)

Προκύπτει έτσι ο πίνακας:

ΒΜ Χ1 Χ2 Χ3 Χ4 Χ5 Χ6 Χ7 Β

Χ7 0 0 -1 1/2 0 (3/2) 1 3/2

Χ2 0 1 0 -1/2 0 -1/2 0 3/2

Χ5 0 0 0 ½ 1 1/2 0 7/2

Χ1 1 0 0 0 0 -1 0 1

Cj 0 0 0 -1/2 0 -5/2 0 7/2

Dj 0 0 -1 1/2 0 3/2 0 5/2

Επειδή D4=1/2>0 και D6=3/2>0 η λύση του πίνακα αυτού δεν είναι άριστη

και ως εισερχόμενη μεταβλητή μπορεί να είναι μια από τις μη βασικές

μεταβλητές χ4 ή χ6. Επιλέγοντας την χ6 ως εισερχόμενη μεταβλητή,

εξερχόμενη μεταβλητή σύμφωνα με τον κανόνα του ελάχιστου πηλίκου

είναι η χ7. Ακόμα επειδή η χ7 είναι τεχνητή μεταβλητή η αντίστοιχη στήλη

δεν περιλαμβάνεται σε υπολογισμούς με επόμενους πίνακες.

Με την πρώτη σειρά και έκτη στήλη ως αξονικές τα στοιχεία του νέου

πίνακα υπολογίζονται ως εξής:

Πρώτη σειρά=2/3(0,0,-1,1/2,0,3/2,5/2)=(0,0,-2/3,1/3,0,1,5/3)

Δεύτερη σειρά =(0,1,0-1/2,0,-1/2,3/2) – (-1/2)(0,0,-2/3,),1/3,0,1,5/3)

Τρίτη σειρά =(0,0,0,1/2,1,1/2,7/2)-1/2(0,0,-2/3,1/3,0,1,5/3)

Τέταρτη σειρά =(1,0,0,0,0,-1,1)-(-1)(0,0,-2/3,1/3,0,1,5/3)

Πέμπτη σειρά = (0,0,0,-1/2,0,-5/2,7/2)-(-5/2)(0,0,-2/3,1/3,0,1,5/3)

Έκτη σειρά =(0,0,-1,1/2,0,3/2,5/2)-3/2(0,0,-2/3,1/3,0,1,5/3)

Προκύπτει έτσι ο πίνακας:

ΒΜ Χ1 Χ2 Χ3 Χ4 Χ5 Χ6 b

X6 0 0 -2/3 1/3 0 1 5/3

X2 0 1 1/3 -1/3 0 0 7/3

X5 0 0 (1/3) 1/3 1 0 8/3

X1 1 0 -2/3 1/3 0 0 8/3

Cj 0 0 -5/3 1/3 0 0 23/3

Dj 0 0 0 0 0 0 0

Page 56: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

53 από 72

Στο σημείο αυτό η φάση 1 τερματίστηκε και επειδή w=0,το πρόβλημα του

παραδείγματος 1 είναι αδύνατο, έχει δηλαδή μη κενό σύνολο εφικτών

λύσεων. Συγκεκριμένα η λύση

Χ=5/3, χ2=7/3, χ5=8/3 και χ3=χ4=0 του τελευταίου πίνακα είναι εφικτή. Η

λύση όμως αυτή δεν αυτή δεν είναι εφικτή αφού C3=-5/3<0. Έτσι

εισερχόμενη μεταβλητή είναι η χ3 και εξερχόμενη ηχ5 σύμφωνα με τον

κανόνα του ελάχιστου πηλίκου.

Με την Τρίτη σειρά και την Τρίτη στήλη ως αξονικές τα στοιχεία του νέου

πίνακα υπολογίζονται ως εξής:

Τρίτη σειρά =3(0,0,1-3,1/3,1,0,8/3) =(0,0,1,1,3,0,8)

Πρώτη σειρά = (0,0,-2/3,1/3,0,01,5/3)-(-2/3)(0,0,1,1,3,0,8)

Δεύτερη σειρά= (0,0,-1/3,-1/3,0,0,7/3)- (-1/3)(0,0,1,1,3,0,8)

Τέταρτη σειρά = (1,0,-2/3,1/3,0,0,8/3)-(-2/3)(0,0,1,1,3,0,8)

Πέμπτη σειρά = (0,0,-5/3,1/3,0,0,23/3)-(-5/3)(0,0,1,1,3,0,8)

Προκύπτει έτσι ο πίνακας :

BM X1 X2 X3 X4 X5 X6 b

X6 0 0 0 1 2 1 7

X2 0 1 0 0 1 0 5

X3 0 0 1 1 3 0 8

X1 1 0 0 1 2 0 8

Cj 0 0 0 2 5 0 21

Επειδή κάθε στοιχείο της τελευταίας σειράς είναι μη αρνητικό η λύση

Χ6=7, χ2=5, χ3=8,χ1=8,χ4=χ5=0

είναι άριστη με τιμή αντικειμενικής συνάρτησης ίση με 21.

2.9 Αρχική λύση με τη μέθοδο του μεγάλου M

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

φάσεων η μέθοδος simplexεφαρμόζεται δυο φορές. Συγκεκριμένα μια κατά

τη φάση 1 όπου βρίσκουμε μια βασική εφικτή λύση και στη συνέχεια κατά

τη φάση 2 όπου επιλύεται το αρχικό πρόβλημα ξεκινώντας από την βασική

εφικτή λύση της φάσης 1. Διάφορες προσπάθειες έχουν γίνει για να

Page 57: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

54

συνδυαστούν οι δυο φάσεις σε μια και η μέθοδος του μεγάλου Μ είναι μια

από αυτές. Το σύμβολο Μ παριστάνει ένα αυθαίρετα μεγάλο θετικό

αριθμό.

Έστω το πρόβλημα γ.π σε τυπική μορφή:

Μέγιστο της z(x) = 1

n

j

j jc x

Με περιορισμούς : 1

n

j

ij j ia x b

i=1,……,m (7)

Xj ≥ 0, i=1,… ,n

Θα υποθέσουμε τη γενική περίπτωση οπότε χρειαζόμαστε m τεχνητές

μεταβλητές. Αν t=(t1,…1tm) το διάνυσμα των m τεχνητών μεταβλητών τότε

το βοηθητικό πρόγραμμα του (7) γράφεται ως

Μέγιστο της Ζ(x,t) = 1

1 ,...,

n

j

j j M mc x t t

Με περιορισμούς : 1

n

j

ij j i ia x t b

(8)

Xj, t1 ≥ 0, ,i i

Το (8) είναι ένα πρόγραμμα γ.π με t= (t1=Bi :i=1,…,m) ως αρχική βασική

εφικτή λύση και επομένως η μέθοδος simplex μπορεί να χρησιμοποιηθεί

για την επίλυσή του.

Κατά τη διάρκειά της εφαρμογής της μεθόδου simplex οι συντελεστές Cj

έχουν τη μορφή Cj+CJ*M όπου Cj είναι ο σταθερός όρος της αρχικής

αντικειμενικής συνάρτησης z(x) και Cj είναι ο συντελεστής της παραμέτρου

Μ. Ας σημειωθεί ότι δεν είναι απαραίτητο να δίνουμε μια συγκεκριμένη

τιμή στην Μ απλώς θεωρείται ως μια παράμετρος η τιμή της οποίας είναι

πολύ μεγαλύτερη από οποιονδήποτε αριθμό με τον οποίο συγκρίνεται.

Από το γεγονός αυτό έπεται ότι ο συντελεστής Cj + CJ*M είναι αρνητικός ή

θετικός ανάλογα με το αν Cj είναι αρνητικός ή θετικός αντίστοιχα. Τέλος αν

Cj=0 τότε Cj+Cj *M = Cj.

Page 58: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

55 από 72

Έστω τώρα με το τέλος της μεθόδου simplex στο πρόγραμμα(8) έχουμε

την άριστη λύση (Χ*,t*). Τότε μπορεί να προκύψει μια από τις εξής

περιπτώσεις:

1) Αν t*=0 τότε η άριστη λύση x*του προγράμματος (8) είναι και άριστη

λύση του αρχικού προγράμματος (7)

2) Αν t*≠0 τότε το αρχικό πρόγραμμα (7) δεν έχει εφικτή λύση, είναι

δηλαδή αδύνατο.

3) Το κριτήριο της μη φραγμένης συνάρτησης ικανοποιείται. Στην

περίπτωση αυτή η αντικειμενική συνάρτηση z(x,t) του (8) δεν έχει

πεπερασμένη τιμή δηλαδή δεν φράσσεται από πάνω. Το ίδιο

συμβαίνει και με την αντικειμενική συνάρτηση z(x) του (7) αν η χ είναι

εφικτή. Για να διατυπώσουμε όμως αν είναι εφικτή θα πρέπει να

συνεχίσουμε τη μέθοδο simplex με αντικειμενική συνάρτηση την Z(x,t)

= -M(t1,…,tm)

Παράδειγμα 2.9.1

Εισάγουμε την τεχνική μεταβλητή t1 και παίρνουμε το βοηθητικό

πρόγραμμα

Μέγιστο της Z(x,t) = -x + 3x2 –Mt1

Με περιορισμούς : χ1 + 2χ2 – χ3+ t1 =4

2x1 – x2 +x4 =2 (11)

X2 +x5 =3

x1,x2,x3,x4,x5,t1 ≥ 0

Από την πρώτη εξίσωση των περιορισμών έχουμε t1= 4-x1-2x2 +x3 οπότε

με αντικατάσταση στην αντικειμενική συνάρτηση έχουμε:

Z(x,t) = -x1 + 3x2 –M (4-x1-2x2 +x3) = (-1+M)X1 + (3+2M) X2 – MX3-4M

Όπου Ci= -1, C*1=1, C*2=2, C3=0,C*3=-1

Κατασκευάζουμε έτσι τον εξής πρώτο πίνακα simplex.

BM X1 X2 X3 X4 X5 X6 b

t1 1 2 -1 0 0 1 4

X4 2 -1 0 1 0 0 2

X5 0 1 0 0 1 0 3

Page 59: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

56

Cj+Cj*M 1-M -3-2M M 0 0 0 4M

Επειδή C2-C2*M= 3-2M<0 η λύση του πίνακα δεν είναι άριστη. Έτσι

εισερχόμενη μεταβλητή είναι η χ2 και σύμφωνα με τον κανόνα του

ελάχιστου πηλίκου εξερχόμενη η μεταβλητή t1.

Με την πρώτη σειρά και τη δεύτερη στήλη ως αξονικές τα στοιχεία του

νέου πίνακα υπολογίζονται ως εξής:

Πρώτη σειρά = 1/2(1,2,-10,0,1,4) =(1/2,1,-1/2,0,0,1/2,2)

Δεύτερη σειρά = (2,-1,0,1,0,0,2)- (-1)(1/2,1,-1/2,0,0,1/2,2)

Τρίτη σειρά =(0,1,0,0,1,0,3)-1(1/2,1,-1/2,0,0,1/2,2)

Τέταρτη σειρά =(1-Μ,-3-2Μ,Μ,0,0,0,4Μ) –(-3-2Μ)(1/2,1,-1/2,0,0,1/2,2)

Προκύπτει έτσι ο πίνακας :

BM X1 X2 X3 X4 X5 X6 b

X2 1/2 1 -1/2 0 0 1/2 2

X4 5/2 0 -1/2 1 0 1/2 4

X5 -1/2 0 1/2 0 1 -1/2 1

Cj+Cj*M 5/2 0 -3/2 0 0 3/2M 6

Η λύση του πίνακα αυτού δεν είναι άριστη, επειδή C3+C3*M=-3/2<0. Έτσι

εισερχόμενη μεταβλητή είναι η χ3 και εξερχόμενη σύμφωνα με τον κανόνα

του ελάχιστου πηλίκου η χ5. Με την Τρίτη σειρά και Τρίτη στήλη ξς άξονες

τα στοιχεία του νέου πίνακα υπολογίζονται ως εξής:

Τρίτη σειρά =2(-1/2,0,1/2,0,1,-1/2,1) = (-1,0,1,0,2,-1,2)

Πρώτη σειρά = (1/2,1,-1/2,0,0,1/2,2)- (-1/2)(-1,0,1,0,2,-1/2)

Δεύτερη σειρά =(5/2,0,-1/2,1,0,1/2,4)-(-1/2)(-1,0,1,0,2,-1,2)

Τέταρτη σειρά =(5/2,0,-3/2,0,0,3/2Μ,6)- (-3/2)(-1,0,1,0,2,-1,2)

Προκύπτει έτσι ο εξής πίνακας :

ΒΜ Χ1 Χ2 Χ3 Χ4 Χ5 t1 b

X2 0 1 0 0 1 0 3

X4 2 0 0 1 1 0 5

X3 -1 0 1 0 2 -1 2

Cj+Cj*M 1 0 0 0 3 3+M 9

Page 60: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

57 από 72

Επειδή Cj+CJ*M ≥ 0 για κάθε μη βασική μεταβλητή Χj η λύση του πίνακα

αυτού που αντιστοιχεί είναι άριστη. Ακόμα επειδή καμία βασική μεταβλητή

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

Παράδειγμα

Ως ένα ακόμη παράδειγμα θα λύσουμε το πρόβλημα (9) του

προηγούμενου παραδείγματος ως πρόβλημα ελαχιστοποίησης.

Στην περίπτωση αυτή εισάγουμε την τεχνητή μεταβλητή t1 όπου όμως; Ο

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

Έχουμε έτσι να επιλύσουμε το εξής πρόβλημα:

Ελάχιστο της Z(x,t)= -x1+3x2+Mt1

Με περιορισμούς : χ1+2χ2-χ3+t1 =4

2x1-x2 +x4 =2 (12)

x2 +x5 =3

x1,x2,x3,x4,x5,t1 ≥ 0

Από την πρώτη εξίσωση των περιορισμών έχουμε t1= 4-χ1-2χ2+χ3 οπότε

με αντικατάσταση στην αντικειμενική συνάρτηση παίρνουμε:

Z(x, t) = -x1+3x2+M (4-x1-2x2+x3) = (-1-M) x1+ (3-2M) X2+Mx3+4M

Όπου C1=-1, C1*=-1,C2=3,C2*=-2,C3=0,C3*=1.

Κατασκευάζουμε έτσι τον εξής πρώτο πίνακα simplex.

BM X1 X2 X3 X4 X5 t b

t1 1 2 -1 0 0 1 4

X4 2 -1 0 1 0 0 2

X5 0 1 0 0 1 0 3

Cj+Cj*M 1+M -3+2M -M 0 0 0 4M

Η λύση του πίνακα ατού δεν είναι άριστη Ci+Ci*M=1+M >0. Έτσι

εισερχόμενη είναι η μεταβλητή χ1 και εξερχόμενη σύμφωνα με τον κανόνα

του ελάχιστου πηλίκου η χ4.

Page 61: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

58

Με τη δεύτερη σειρά και την πρώτη στήλη ως αξονικές τα στοιχεία του

νέου πίνακα υπολογίζονται ως εξής:

Δεύτερη σειρά =1/2(2,-1,0,1,0,0,2) = (1,-1/2,0,1/2,0,0,1)

Πρώτη σειρά = (1,2,-1,0,0,1,4)-1 (1,-1/2,0,1/2,0,0,1)

Τρίτη σειρά = (0,1,0,0,1,0,3)-0(1,-1/2,0,1/2,0,01)

Τέταρτη σειρά = (1+Μ,-3+2Μ,-Μ,0,0,0,4Μ)-(1+Μ)(1,-1/2,0,1/2,0,0,1)

Προκύπτει έτσι ο εξής πίνακας:

ΒΜ Χ1 Χ2 Χ3 Χ4 Χ5 T1 b

T1 0 5/2 -1 -1/2 0 1 1

X1 1 -1/2 0 1/2 0 0 1

X5 0 1 0 0 1 0 3

Cj+Cj*M 0 -

5/2+5/2M

-M -1/2-

1/2M

0 0 -1+3M

Επειδή C2+C2*M=-5/2+5/2M>0 η λύση του πίνακα αυτού δεν είναι άριστη.

Έτσι εισερχόμενη είναι η μεταβλητή χ2 και εξερχόμενη σύμφωνα με τον

κανόνα του ελάχιστου πηλίκου η μεταβλητή t1.

Με την πρώτη σειρά και δεύτερη στήλη ως αξονικές τα στοιχεία του νέου

πίνακα υπολογίζονται ως εξής:

Πρώτη σειρά = 2/5(0,5/2,-1,-1/2,0,1,3) =(0,1,-2/5,-1/5,0,2/5,6/5)

Δεύτερη σειρά = (1,-1/2,0,1/2,0,0,1) – (-1/2,)(0,1,-2/5,-1/5,0,2/5,6/5)

Τρίτη σειρά = (0,1,0,0,1,0,3) – 1 (0,1,-2/5,-1/5,0,2/5,6/5)

Τέταρτη σειρά = (0,-5/2+5/2Μ,-Μ,-1/2,-1/2Μ,0,0,-1+3Μ) – (5/2+5/2Μ)(0,1,-

2/5,-1/5,0,2/5,6/5)

Προκύπτει έτσι ο εξής πίνακας simplex:

BM X1 X2 X3 X4 X5 T1 b

X2 0 1 -2/5 -1/5 0 2/5 6/5

X1 1 0 -1/5 2/5 0 1/5 8/5

X5 0 0 2/5 1/5 1 -2/5 9/5

Cj+Cj*M 0 0 -1 -1 0 1-M 2

Page 62: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

59 από 72

Επειδή Cj+Cj*M ≤ 0 για κάθε μη βασική μεταβλητή Χj η λύση του πίνακα

αυτού, είναι άριστη για το βοηθητικό πρόβλημα (12). Επειδή όμως η λύση

δεν περιέχει καμιά τεχνητή μεταβλητή, είναι άριστη και στο αρχικό

πρόβλημα ελαχιστοποίησης.

Παρατήρηση

Υπάρχουν πολλοί συγγραφείς μεταξύ των οποίων και οι Μ.Bazara και

J.Javris, οι οποίοι υποστηρίζουν ότι η μέθοδος του μεγάλου Μ έχει δυο

βασικά μειονεκτήματα συγκρινόμενη με τη μέθοδο των δυο φάσεων. Τα

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

ανάγκη καθορισμού μιας συγκεκριμένης τιμής στην παράμετρο Μ.

Αναφέρουν μάλιστα ότι χωρίς να λύσουμε το πρόβλημα του Γ.Π δεν

μπορούμε να προσδιορίσουμε πόσο μεγάλη θα πρέπει να είναι η τιμή της

Μ, γεγονός που κατά τη γνώμη τους καθιστά αδύνατη την χρησιμοποίηση

της μεθόδου αυτής για την επίλυση πρακτικών προβλημάτων.

Η εντύπωση όμως αυτή είναι δυστυχώς εσφαλμένη αφού όπως

αναφέραμε η τιμή του συντελεστή Cj+Cj*M προσδιορίζεται αποκλειστικά

από το πρόσημο του συντελεστή Cj*. Έτσι αν οι συντελεστές Cj και Cj*

διατηρούνται σε χωριστές σειρές στον πίνακα simplex τότε δεν είναι

αναγκαίος ο προσδιορισμός της τιμής Μ. Τέλος ως προς την

αποτελεσματικότητα των δυο μεθόδων είναι θεωρητικά αδύνατο να

καταλήξουμε ποια από τις δυο μεθόδους επιλύει γρηγορότερα ένα

πρόβλημα Γ.Π. Πρακτική εμπειρία φαίνεται να καταλήγει στο συμπέρασμα

ότι οι δυο μέθοδοι απαιτούν τον ίδιο σχεδόν υπολογιστικό χρόνο.

Κεφάλαιο3

Προγραμματισμός Στόχων

3.1Εισαγωγή

Υπάρχουν περιπτώσεις που αυτός που παίρνει αποφάσεις μπορεί να

αντιμετωπίσει πολλαπλούς στόχους και μπορεί να μην υπάρχει

πραγματοποιήσιμη λύση που να εξυπηρετεί όλους τους στόχους. Σε αυτή

Page 63: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

60

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

απόφαση

; Ο προγραμματισμός στόχων που μπορεί να χρησιμοποιηθεί σε τέτοιες

περιπτώσεις. Τα ακόλουθο παράδειγμα αποδεικνύει τις βασικές ιδέες

αυτού του προγράμματος.

Παράδειγμα 1.

Το πρακτορείο Leon Burnit Advertising προσπαθεί να ορίσει μια

διαφημιστική καμπάνια για την Priceler Auto Company. Η Priceler έχει

τρεις στόχους :

1. Οι διαφημίσεις θα παρακολουθούνται από τουλάχιστον 40

εκατομμύρια υψηλού-εισοδήματος άνδρες.(HIM)

2. Οι διαφημίσεις θα παρακολουθούνται από τουλάχιστον 60

εκατομμύρια χαμηλού-εισοδήματος ανθρώπους.(LIP)

3. Οι διαφημίσεις θα παρακολουθούνται από τουλάχιστον 35

εκατομμύρια υψηλού-εισοδήματος γυναίκες. (HIW)

Το πρακτορείο Leon Burnit μπορεί να αγοράσει δυο ειδών διαφημίσεις:

Αυτές που μπορούν να προβληθούν κατά τη διάρκεια ποδοσφαιρικών

αγώνων και αυτές που μπορούν να προβληθούν κατά τη διάρκεια

σαπουνόπερας. Κατά κόρον $600,000 μπορούν να ξοδευτούν στις

διαφημίσεις. Τα διαφημιστικά έξοδα και το πιθανό κοινό της ενός λεπτού

διαφήμισης κάθε τύπου διαφήμιση προβάλλεται στον πίνακα 52. Η εταιρία

Leon Burnit πρέπει να εξακριβώσει λύσεις ποδοσφαιρικών διαφημίσεων

και διαφημίσεις σαπουνόπερας για την Priceler.

Λύση :

Έστω χ1= αριθμός των λεπτών της διαφήμισης που προβάλλεται κατά τη

διάρκεια ποδοσφαιρικών αγώνων.

Χ2= αριθμός των λεπτών της διαφήμισης που προβάλλεται κατά τη

Page 64: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

61 από 72

σαπουνόπερας.

Τότε κάθε πιθανή λύση στο ακόλουθο πρόγραμμα γραμμικού

προγραμματισμού θα αντεπεξέλθει στους στόχους της Priceler

Min (or max) z =0x1 +0x2

S.t 7x1 + 3x2 ≥ 40 (Περιορισμός HIM )

10x1+ 5x2 ≥ 60 (Περιορισμός LIP)

5x1 + 4x2 ≥ 35 (HIW budget)

100x1+60x2 ≤600 (Περιορισμός Budget)

X1, x2 ≥ 0

Από το σχήμα 14 αντιλαμβανόμαστε ότι δεν προκύπτει κάποιο

ενδεχόμενο που να ικανοποιεί τις ανάγκες των στόχων της Priceler.

Σαν αποτέλεσμα, δεν υπάρχει εφικτή λύση. Είναι αδύνατο να

ικανοποιηθούν όλοι οι στόχοι της Priceler να εξακριβώσει, για κάθε

στόχο της, ένα κόστος (ανά μονάδα) που προκύπτει από την αποτυχία

να επιτευχθεί ο στόχος. Ας υποθέσουμε ότι η Priceler εξακριβώνει ότι:

Table 52 Million of Viewers

Ad HIM LIP HIW COST ($)

Football 7 10 5 100.000

Soap Operas 3 5 4 60.000

Κάθε εκατομμύριο που θα προβάλλει η Priceler και δεν θα έχει

αντίκτυπο στην HIM θα ζημιώνει την Priceler 200.000$

Κάθε εκατομμύριο που θα προβάλλει ηPriceler και δεν θα έχει

αντίκτυπο στην LIP θα ζημιώνει την Priceler 100.000$

Page 65: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

62

Κάθε εκατομμύριο που θα προβάλλει η Priceler και δεν θα έχει

αντίκτυπο στην HIW θα ζημιώνει την Priceler 50.000$

Πλέον η Burnit μπορεί να διαμορφώσει ένα γραμμικό πρόβλημα που

να μειώνει το κόστος που προκύπτει δια των 3 στόχων της Priceler. Το

κόλπο είναι να μεταμορφώσεις κάθε ανισόποσο περιορισμό στο (21)

που αντιπροσωπεύει έναν από τους της Priceler σε ισόποσο

περιορισμό. Επειδή δεν ξέρουμε αν αυτή «μείωση κόστους» θα μας

ικανοποιήσει λίγο ή πολύ, οφείλουμε να ορίσουμε τους εξής

περιορισμούς :

S1+=Ποσό το οποίο ξεπερνά τον Ith στόχο.

Si = ποσό το οποίο αριθμητικά είναι κάτω από I th στόχο.

Το si+ και το si- αναφέρονται ως μεταβλητές που παρεκκλίνουν. Για το

πρόβλημα της Priceler, υποθέτουμε ότι κάθε si+ και το si- μετριέται σε

εκατομμύρια μέτρα. Χρησιμοποιώντας μεταβλητές που παρεκκλίνουν

,μπορούμε να ξαναγράψουμε τους πρώτους περιορισμούς του (21) ως:

7x1 + 3x2 + (si+) – (si-) =40 (HIM περιορισμός)

10x1 + 5x2 + (s2-) – (s2-)=60 (LIP περιορισμός)

5χ1 + 4χ2 + (s3-) – (s3+)=35 (HIW περιορισμός)

Page 66: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

63 από 72

Για παράδειγμα, ας υποθέσουμε ότι χ1=5 και χ2=2. Αυτό το

διαφημιστικό πρόγραμμα αποδίδει 7(5) + 3(2)= 41 million HIM

εκθέματα. Αυτό ξεπερνά τον στόχο HIM με τον εξής τρόπο : 41-40=1

εκθέματα, έτσι ώστε s1=0, και s2=1. Επίσης αυτό το σχέδιο αποδίδει

10(5) +5(2)=60 million LIP εκθέματα. Αυτό πληρεί τις προϋποθέσεις

του LIP και s2-=s2+=0. Τελικά, αυτό το σχέδιο αποφέρει 5(5) + 4(2) =

33 million HIW εκθέματα. Βρισκόμαστε αριθμητικά κάτω από τον στόχο

κατά 35-33=2 million εκθέματα, οπότε s3-=2 και s3+=0.

Ας υποθέσουμε ότι η Priceler θέλει να μειώσει το συνολική ζημιά από

τις χαμένες πωλήσεις. Ως προς τις μεταβλητές που παρεκκλίνουν, η

συνολική ζημιά από τις χαμένες πωλήσεις (σε χιλιάδες $) προκλήθηκε

από την παρέκκλιση των τριών στόχων (200s1-) + (100s2-) + (50s3-).

Ο αποτελεσματικός στόχος λειτουργίας για την μεταβλητή που

σχετίζεται με τον στόχο i, ονομάζεται βάρος για τον στόχο i .Ο πιο

σημαντικός στόχος έχει και το μεγαλύτερο βάρος, και ούτω καθ’ εξής

.Παρόλο που, στο παράδειγμα της Priceler, ο στόχος 1 (HIM) είναι πιο

σημαντικός, ο στόχος 2 της LIP δεύτερος πιο σημαντικός και ο στόχος

3 της HIW είναι ο λιγότερος σημαντικός. Η Burnit μπορεί να μειώσει τη

Page 67: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

64

ζημία από τα χαμένα κέρδη της Priceler λύνοντας το ακόλουθο

γραμμικό πρόβλημα :

Min z= 200s1- + 100s2- + 50s3-

S.t 7x1 + 3x2 + s1- - s2+ =40(περιορισμός HIM)

Η πιθανή λύση στο πιθανό πρόβλημα είναι Ζ=250, χ1=6, χ2=0,

(s1+=2), (s2+=0), (s3+=0), (s1-=0), (s2-=0), (s3-=5). Αυτό πληρεί τις

προϋποθέσεις του στόχου 1 και 2.[Οι στόχοι με τα περισσότερα κέρδη

ή ζημίες για κάθε τμήμα της παρέκκλισης του στόχου] που δεν μπορεί

να καλύψει το λιγότερο σημαντικό στόχο μας.(στόχος 3)

3.2 ΕΝΑΛΛΑΚΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΟΧΩΝ

Κατά τη διαμόρφωση ενός γραμμικού προβλήματος του

παραδείγματος Burnit,υποθέσαμε ότι η Priceler μπορούσε να

προσδιορίσει με ακρίβεια την σημασία των τριών στόχων. Για

παράδειγμα η Priceler προσδιόρισε ότι ο στόχος HIM ήταν 200/100=2

φορές σημαντικός όσο και η LIP στόχος, και ο LIP στόχος ήταν

100/50=2 φορές σημαντικός όσο ο HIM στόχος. Σε πολλές

περιπτώσεις αυτός που παίρνει τις αποφάσεις μπορεί να μην είναι σε

θέση να προσδιορίσει την αναγκαιότητα των στόχων. Όταν λοιπόν τα

πράγματα είναι έτσι ο εναλλακτικός προγραμματισμός στόχων μπορεί

να αποδειχθεί χρήσιμο εργαλείο. Για να χρησιμοποιήσει αυτόν τον

προγραμματισμό πρέπει να τοποθετήσει τους στόχους του από τον πιο

σημαντικό στον λιγότερο σημαντικό. Η μεταβλητή που θα

αντιπροσωπεύει τον στόχο i θα είναι pi. Υποθέτουμε ότι :

P1>>>P2>>>P3>>>……>>>Pn

Μολονότι το βάρος του στόχου 1 είναι μεγαλύτερο από το βάρος του 2,

ο στόχος 2 μεγαλύτερος του 3 κ.ο.κ. Ο ορισμός του p1,p2,……

εξασφαλίζει ότι αυτός που θα πάρει την απόφαση πρώτος θα

Page 68: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

65 από 72

προσπαθήσει να ικανοποιήσει τον πιο σημαντικό στόχο 1. Μετά από

αυτό μεταξύ των στόχων που ικανοποιούν τον στόχο 1, θα

προσπαθήσει να πλησιάσει το δυνατόν πιο κοντά στο στόχο 2 κ.ο.κ.

Συνεχίζουμε με αυτή την σκέψη μέχρι να βρεθεί ο μοναδικός που θα

αυξήσει τη παρέκκλιση του υψηλότερου σε προτεραιότητα στόχο.

Από το Priceler πρόβλημα ο εναλλακτικός προγραμματισμός στόχων

που διαμορφώνεται όπως φαίνεται στο (22) αντικαθιστά το (22) με τη

λειτουργία του (P1S1-) + P2S2 +(P3S3-). Ο εναλλακτικός

προγραμματισμός διαμορφώνεται για το Priceler πρόβλημα είναι το

εξής:

Min Z= P1S1- + P2S2- P3S3-

s.t = 7x1 +3x2 + (s1-) – s2+ =40 (HIM)

10X1 + 5X2 + (S2-) S2+ =60 (LIP)

5X1 + 4X2 +(S3-) – (S3+) = 35 (HIW)

100X1 + 60X2 ≤600 (Budget Constraint)

Όλες οι μεταβλητές > 0

Υποθέτουμε ότι αυτός που θα πάρει την απόφαση έχει n στόχους. Για

να θέσουμε σε λειτουργία τον εναλλακτικό προγραμματισμό στόχων,

πρέπει να διαχωρίσουμε τον στόχο σε n βοηθητικά στοιχεία, όπου

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

συμπεριλαμβανομένου του στόχου i . Προσδιορίζουμε ότι :

Zi = ο στόχος λειτουργίας που συμπεριλαμβάνει τον στόχο i.

Για το παράδειγμα του Priceler, ισχύει ότι z1=p1s1-, z2=p2s2-, και

z3=p3s3-. Ο εναλλακτικός προγραμματισμός στόχων μπορεί να λυθεί

με την επέκταση του περίπλοκου προγραμματισμού Simplex. Για να

υφίσταται ένα πρόβλημα για την λύση του προγραμματισμού simplex,

πρέπει να υπολογίσουμε το n που ακολουθεί τα 0’s, me to i th να

ακολουθεί το 0 ώστε να ανταποκρίνεται στον στόχο i .Ωστόσο για το

πρόβλημα Priceler έχουμε:

Σειρά 0 (goal1) : z1 – (p1s1-)=0

Σειρά 0 (goal2) : z2 – (p2s2-)=0

Page 69: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

66

Σειρά 0 (goal3) : z3 – (p3s3-)=0

Από το (23) βρίσκουμε ότι BV={S1-,S2-,S3-,S4-} είναι η βασική λύση

της εφικτής λύσης που θα μπορούσε να χρησιμοποιηθεί για να

λύσουμε το (23) μέσω του αλγόριθμου simplex. Όπως και με τα ομαλό

simplex πρέπει να αποκλείσουμε όλες τις μεταβλητές στην βάση της

σειράς 0.

Προσθέτοντας P1 (HIM περιορισμός) για την σειρά 0 (στόχος1) θα

αποφέρει το εξής αποτέλεσμα:

Σειρά 0 (στόχος 1): z1 + p1x1 + 3P1X2 –P1S1+ =40P1 (HIM).

Προσθέτοντας p2 (LIP περιορισμός) στην σειρά 0 (στόχος 2) θα

αποφέρει

Σειρά 0(στόχος2): Z2 + 10P2X1 + 5P2X2 – P2S2+=60P2 (LIP)

Προσθέτοντας p3 (HIW περιορισμός) στην σειρά 0 (στόχος 3)

Θα αποφέρει :

Σειρά 0 (στόχος 3 ) : z3 + 5p3x1 + 4p3x2 –(p3s3+)=35p3 (HIW)

Το πρόβλημα της Priceler μπορεί πλέον να λυθεί με το προγραμματισμό

simplex.

Οι διαφορές μεταξύ του προγραμματισμού στόχων simplex και του απλού

simplex είναι οι εξής:

1. Η απλή – ομαλή simplex έχει μια σειρά 0 ενώ ο προγραμματισμός

στόχων simplex απαιτεί η σειρά 0’s (για κάθε στόχο)

2. Στο προγραμματισμό στόχων simplex η ακόλουθη μέθοδος

χρησιμοποιείται για να προσδιορίσει την μεταβλητή. Πρέπει πρώτα

να βρεις τον υψηλότερο σε προτεραιότητα στόχο (στόχος i) που δεν

έχει βρεθεί. Μετά πρέπει να βρεις την πιο θετική μεταβλητή στη

σειρά 0 και να εισάγεις αυτή τη μεταβλητή στη βάση. Αυτό θα

μειώσει zi’ και θα εξασφαλίσει το ενδεχόμενο να πλησιάσουμε τον

στόχο i .Αν ωστόσο κάποια μεταβλητή είναι αρνητική στη σειρά 0

που έχει υψηλότερη προτεραιότητα από το I τότε η μεταβλητή δε

μπορεί να εισαχθεί στη βάση. Εισάγοντας μια τέτοια μεταβλητή στη

Page 70: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

67 από 72

βάση θα αυξήσει την παρέκκλιση του από κάποιους άλλους

υψηλούς σε προτεραιότητα στόχους. Αν η πιο θετική μεταβλητή στη

σειρά 0 (στόχος i ) δεν μπορεί να εισαχθεί στη βάση τότε πρέπει να

βρούμε κάποια άλλη θετική μεταβλητή στη σειρά 0 (στόχος i). Αν

καμιά μεταβλητή στη σειρά 0 (στίχος i) δεν μπορέσει να εισαχθεί

στη βάση τότε δεν μπορούμε να πλησιάσουμε στον επιθυμητό

στόχο i χωρίς να αυξήσουμε την παρέκκλιση του από κάποιον

υψηλότερο σε προτεραιότητα στόχο. Σε αυτή τη περίπτωση

μεταβαίνουμε στη σειρά 0 (goal i+1) στη προσπάθειά μας να

συναντήσουμε τον στόχο i+1.

3. Όταν παρουσιαστεί μιαν αλλαγή η σειρά 0 του κάθε στόχου πρέπει

να ανανεωθεί.

4. Η αναπαράσταση που θα αποδώσει την πιθανή λύση αν όλοι οι

στόχοι πραγματοποιηθούν (αυτό σημαίνει ότι Ζ1=Ζ2,…,…,Ζm=0) ή

κάθε μεταβλητή θα εισαχθεί στη βάση και θα μειώσει την αξία του

Zi’ για κάθε αποτυχημένο στόχο i, θα αυξήσει την παρέκκλιση από

κάποιον στόχο i μεγαλύτερης προτεραιότητας από τον στόχο i.

Πλέον μπορούμε να χρησιμοποιήσουμε τον προγραμματισμό

στόχων simplex για να λύσουμε το Priceler παράδειγμα. Σε κάθε

αναπαράσταση της σειράς 0 έχουν στοιχηθεί με την σειρά της

προτεραιότητας των στόχων (από τον υψηλότερο στον

χαμηλότερο)

Η αρχική αναπαράσταση βρίσκεται στον πίνακα 53. Το τωρινό BFs

είναι s1- =40,s2-=60,s3=35,s4=600. Επειδή Ζ1=40P1, ο στόχος 1 δεν

ικανοποιείται. Για να μειώσουμε τη ζημία που έχει να κάνει με το ότι δε

θα αντεπεξέλθουμε στον στόχο 1.Εισάγουμε την πιο θετική μεταβλητή

(χi) στην σειρά 0 (HIM). Το τεστ αναλογίας δείχνει ότι χ1 πρέπει να

εισαχθεί στη βάση του περιορισμού 0 (HIM).

Αφού εισάγουμε το χ1 στη βάση μας παραπέμπει στον πίνακα 54. Η

τωρινή βασική λύση είναι η χ1=40/7,s2=20/7,s3=45/7,s4=200/7 επειδή

η s1=0 και z1=0 ο στόχος 1 ικανοποιήθηκε. Τώρα προσπαθούμε να

ικανοποιήσουμε το στόχο 2 (καθώς εξασφαλίζουμε το ότι ο

Page 71: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

68

υψηλότερος σε προτεραιότητα στόχος 1 ικανοποιείται ακόμα. Η πιο

μεταβλητή στη σειρά 0 (LIP) είναι si +.Παρατηρείται ότι εισάγοντας si+

στη βάση δεν θα αυξήσει το Ζ1. Ωστόσο αφού εισάγουμε το s1+ στην

βάση ο στόχος 1 θα έχει επιτευχθεί το αναλογικό τεστ δείχνει ότι si+

μπορεί να εισαχθεί στη βάση ή στο περιορισμό του Budget.Εμείς

επιλέγουμε να εισάγουμε το si+ στον περιορισμό του Budget.

Αφού αναλογίσουμε το σι+ στη βάση πρέπει να παραπεμφθούμε στον

πίνακα 55. Επειδή Ζ1=Ζ2=0 στόχοι 1 και 2 συναντιόνται. Επειδή

Ζ3=5P3 ωστόσο ο στόχος 3 δεν ικανοποιείται. Το τωρινό BF’s είναι

χ1=6, s2=0,s3=5,s1=2. Προσπαθούμε να πλησιάσουμε τον στόχο 3

χωρίς να πειράξουμε τον στόχο 1 και 2 επειδή χ2 είναι η μοναδική

θετική μεταβλητή στη σειρά 0 (HIW).Ο μόνος τρόπος να πλησιάσουμε

τον στόχο 3 (HIW) είναι με το να εισάγουμε χ2 στη βάση. Παρατηρούμε

ωστόσο ότι χ2 είναι αρνητικό στη σειρά 0 ως προς τον στόχο 2.

Μολονότι

TABLE 53

X1 X2 S1+ S2+ S3+ S1- S2- S3- S4 rhs

Row0

(HIM)

7P1 3P1 -P1 0 0 0 0 0 0 Z1=40P1

Row0

(LIP)

10P2 5P2 0 -P2 0 0 0 0 0 Z2=60P2

Row0

(HIW)

5P3 4P3

0 0 -P3 0 0 0 0 Z3=35P3

HIM 7 3 -1 0 0 1 0 0 0 40

LIP 10 5 0 -1 0 0 1 0 0 60

HIW 5 4 0 0 -1 0 0 1 0 35

Budget 100 60 0 0 0 0 0 0 0 600

TABLE 54

X1 X2 S1+ S2+ S3+ S1- S2- S3- S4 RHS

Page 72: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

69 από 72

Row0

(HIM)

0 0 0 0 0 -P1 0 0 0 Z1=0

ROW0

(LIP)

0 5P2/7 10P2/7 -P2 0 -

10P3/7

0 0 0 Z2=200P2/7

Row0

(HIW)

0 13P3/7 5P3/7 0 0 -5P2/7 0 0 0 Z3=45P3/7

HIM 1 3/7 -1/7 0 0 1/7 0 0 0 40/7

LIP 0 3/7 10/7 -1 0 -10/7 1 0 0 20/7

HIW 0 13/7 5/7 0 -1 -5/7 0 1 0 45/7

Budget 0 120/7 100/7 0 0 -100/7 0 0 1 200/7

TABLE 55

X1 X2 S1+ S2+ S3+ S1- S2- S3- S4 Rhs

Row0

(HIM)

0 0 0 0 0 -P1 0 0 0 Z1=0

Row0

(LIP)

0 -P2 0 -P2 0 0 0 0 -

P2/10

Z2=0

Row0

(HIW)

0 P3 0 0 -P3 0 0 0 -

P3/10

Z3=5P3

HIM 1 3/5 0 0 0 0 0 0 1/100 6

LIP 0 -1 0 -1 0 0 1 0 -1/10 0

HIW 0 1 0 0 -1 0 0 1 -1/20 5

Budget 0 6/5 1 0 0 -1 0 0 7/100 2

Ο μοναδικός τρόπος που μπορούμε να πλησιάσουμε τον στόχο 3 είναι να

«προσπεράσουμε» τον υψηλότερο σε προτεραιότητα στόχο, τον στόχο

2(LIP). Αυτός είναι πιθανόν ένας πίνακας 0. Η λύση το εναλλακτικού

προγραμματισμού στόχων είναι να αγοράσουμε 6 λεπτά από διαφημίσεις

σαπουνόπερας. Κατ’αυτόν τον τρόπο οι στόχοι 1 και 2 (HIM) και (LIP)

συναντιόνται και η priceler παρεκκλίνει 5 εκατομμύρια εκθέματα και

συναντά το στόχο 3 (HIW). Αν ο αναλυτής έχει πρόσβαση σε ηλεκτρονικά

υπολογιστικό προγραμματισμό στόχων τότε το να ανασυντάξουμε τις

Page 73: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

70

προτεραιότητες σύμφωνα με τους στόχους μας παρέχει περισσότερες

λύσεις . Απ’αυτές τις λύσεις μπορούμε να διαλέξουμε αυτή που αρμόζει

περισσότερο στις προτιμήσεις μας(πίνακας 56),καταχωρεί τις λύσεις που

απορρέουν από τον εναλλακτικό προγραμματισμό στόχων. Ωστόσο

βλέπουμε ότι η διαφορετική σειρά προτεραιοτήτων μπορεί να οδηγήσει σε

διαφορετικές διαφημιστικές στρατηγικές.

Όταν ένα πρόβλημα εναλλακτικού προγραμματισμού στόχων εμπεριέχει 2

μεταβλητές η πιθανή λύση μπορεί να βρεθεί γραφικά. Ας υποθέσουμε ότι

η (HIW) είναι η υψηλότερη προτεραιότητα στόχου η LIP είναι η δεύτερη

υψηλότερη και η HIM η χαμηλότερη. Από τον πίνακα γράφημα 14

βλέπουμε ότι σημεία που ικανοποιούν τον υψηλότερο στόχο(HIW) και ο

περιορισμός του Budget δίνεται ABC. Ανάμεσα σε αυτά τα σημεία πλέον

να δοκιμάσουμε να έρθουμε όσο πιο κοντά γίνεται στο στόχο LIP .

Βλέπουμε από τον πίνακα ωστόσο ότι ανάμεσα από όλα τα σημεία που

εξυπηρετούν τον στόχο το σημείο C είναι το μοναδικό που πλησιάζει τον

στόχο LIP. Λύνοντας τις εξισώσεις :

5χ1 + 4χ2 =35 (HIW goal exactly met)

100x1 + 60x2=600 (Budget Constraint binding)

Λύνοντας τις εξισώσεις βρίσκουμε ότι αυτό το σημείο C=(3,5) ωστόσο

γι’αυτές τις προτεραιότητες η λύση για τον εναλλακτικό προγραμματισμό

στόχων είναι να αγοράσουμε 3 διαφημίσεις ποδοσφαιρικών αγώνων και 5

διαφημίσεις σαπουνόπερας. Ο προγραμματισμός στόχων είναι η μόνη

προσέγγιση που χρησιμοποιείται για να αναλύσει πολλαπλούς στόχους

για αποφάσεις προβλημάτων με βεβαιότητα.

3.3 Χρησιμοποιώντας LINDO ή LINGO για να λύσουμε

προβλήματα προγραμματισμού εναλλακτικών στόχων.

Οι αναγνώστες που δεν έχουν πρόσβαση σε υπολογιστή έτσι ώστε να

λύσουν προβλήματα εναλλακτικού προγραμματισμού στόχων μπορούν να

χρησιμοποιούν LINDO για να τα λύσουν. Για να παρουσιάσουμε πως

Page 74: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Πτυχιακή εργασία του Νικόλαου Βαρδαλή

71 από 72

μπορεί να λυθεί του LINDO ένα πρόβλημα εναλλακτικού

προγραμματισμού στόχων ας κοιτάξουμε το παράδειγμα του priceler με τις

αρχικές μας προτεραιότητες (HIM που ακολουθείται από τη LIP που

ακολουθείται από τη HIW).

Ξεκινούμε ζητώντας το LINDO να μειώσει τη διαφορά από τον

υψηλότερο σε προτεραιότητα στόχο λύνοντας το ακόλουθο LP:

Min z= s1-

s.t 7x1 + 3x2 +(s1-) – (s1+) = 40 (HIM constraint)

10x1 + 5x2 + (s2-) – (s2+)= 60 (LIP constraint)

5x1 + 4x2 +(s3-) – (s3+) =35 (HIW constraint)

100x1 + 60x2 ≤ 600(Budget constraint)

All variables non-negative

Στόχος 1 (HIM)μπορεί να εκπληρωθεί οπότε το LINDO αναφέρει μια αξία z

από το 0. Τώρα θέλουμε να πλησιάσουμε τον στόχο 2 καθώς

εξασφαλίζουμε την διαφορά που απομένει από τον στόχο 1, στο

προσωρινό επίπεδο 0. Χρησιμοποιώντας τη λειτουργία (s2-) προσθέτουμε

τον περιορισμό s1=0 και αναζητάμε τη λύση μέσω του LINDO.

Min z=s2-

s.t 7x1 + 3x2 + (s1-) – (s1+) =40 (HIM)

10X1 + 5X2 + (S2-) – (S2+) =60 (LIP)

5X1 + 4X2 + (S3-) – (S3+) =35 (HIW)

100X1 + 60X2 ≤ 600

All variables non-negative

Επειδή στόχος 1 και 2 μπορούν να εκπληρωθούν αυτό το LP μπορεί να

αποφέρει αξία Ζ από το 0. Τώρα πλησιάζουμε το δυνατόν πιο κοντά στο

στόχο 3 (HIW) καθώς διατηρούμε τις εξισώσεις από τους στόχους 1 και 2

στα προσωρινά τους επίπεδα. Αυτό απαιτεί το LINDO να λύσει το

ακόλουθο LP:

Min z=s3-

Page 75: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Η μέθοδος simplex και ο προγραμματισμός στόχων

72

s.t 7x1 + 3x2 + (s1-) –(s1+) =40 (HIM)

10x1 + 5x2 + (s2-) – (s2+)= 60(LIP)

5x1 + 4x2 + (s3-) –(s3+)= 35(HIW)

100x1 + 60x2 +(s3-) – (s3+) ≤ 600(Budget Constraint)

S1-=0

S2-=0

All variables non-negative

Φυσικά το LINDO ή το LINGO κατορθώνει για έναν εκδότη να κάνει τη

διαδικασία από το ένα βήμα στο άλλο πιο εύκολη. Για να πας από βήμα i

στο βήμα i+1 τροποποιείς τον στόχο για να μειώσεις τη διαφορά από το

i+1 υψηλότερου στόχου και να προσθέσεις περιορισμό ο οποίος

εξασφαλίζει τη διαφορά από το i υψηλότερου στόχου που διατηρείται στο

προσωρινό επίπεδο.

Page 76: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

ΒΙΒΛΙΟΓΡΑΦΙΑ ΕΛΛΗΝΙΚΗ [1] Badr B-said M, Παράλληλος προγραμματισμός αλγορίθμων για προβλήματα γραμμικού προγραμματισμού, (2003) [2] Δόσιος Κωνσταντίνος ,Ένας διακριτικός αλγόριθμος για το γραμμικό πρόβλημα ,(2005) [3] Σφαλέρας Άγγελος , Ανάπτυξη και υλοποίηση αλγορίθμων εξωτερικών σημείων τύπου simplex για προβλήματα δικτυακής βελτιστοποίησης ,(2006) [4] Λαζαρίδης π. Βασίλειος , Ασύγχρονη εξ’αποστάσεως εκπαίδευση αλγορίθμων γραμμικής βελτιστοποίησης.( 2005) [5] Υψηλάντη Γ. Παντελή, Επιχειρησιακή Έρευνα- Λήψη επιχειρηματικών αποφάσεων, Εκδόσεις «ΈΛΛΗΝ», (Αθήνα 2002) ΞΕΝΟΓΛΩΣΣΗ [6] Dr Maios Istvan 2003Computational techniques of the simplex method.(2003) [7] Bland R. “New finite pivoting rules for the simplex method” Mathematics of operations research .(1977) [8] Karmankar, N “A new polynomial time algorithm for linear programming” Karmankar’s method for solving LP’S. (1984) [9] Dantzing, G. “Linear programming and extensions. Princeton .N.J: Princeton University Press. (1963)

Page 77: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

ΑΝΑΦΟΡΕΣ

Achataz, H., Kleinschmidt, P. and Paparizos (1991).“ A dual forest algorithm fort he assignement Problem“ Adler, I and N.Meggido (1985).”A Simplex Algorithm Whose Average Number of Steps is Bounded Two Guadratic Functions of the Smaller Dimension”. Agmon, S. (1954). “The relaxation Method for Linear Inegualities”. Akgul M. (1987). “A Genuinely polynomial Primal Simplex Algorithm for the Assignment problem”. Allen G. (1954). “Relaxation Methods in Engineering and Science”. Anstreicher , K., Terlaky , T (1994). “A monotonic build-up simplex algorithm for linear programming“. Avis , D. and V Chvatal, (1978).”Notes on Bland’s Pivoting Rule”. Bland, R. (1977).”New finite pivoting rules for the simplex method”. Borgwardt K. H (1987). “The simplex method :A probabilistic analysis”. Clausen J. (1987) “A note on Edmonds-Fukuda Pivoting Rule for the Simplex Method”. Chen, D., Pardalos, P., Saunders, M. (1984). “The simplex algorithm with a new primal and dual pivot rule”. Dantzing, G. B.(1949). “Programming in a Linear Structure” Dantzing, G. B. (1963). “Linear programming and extensions”. Dijkstra, W.E. (1959).”A note on two problems in connexion with graphs”. Dosios, K.,Paparizos, K. (1995). “A generalization of an exterior point simplex algorithm for linear programs”. Edmonds, I. and Karp, R. M (1972). “Theoretical improvements in algorithm efficiency for network flow problems”. Gass,S and T. Saaty. (1955). “The computational algorithm for the parametric objective function”. Goldfarb,d. and J Reid (1977). “A practicable steepest-edge simplex algorithm”.

Page 78: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Goldfarb D, and W Sit. (1979).”The worst case behaviour for the steepest-edge simplex method”. Hung M S, and Rom W O (1980). “Solving the assignment problem by relaxation”. Jeroslow R G.(1973). “The simplex algorithm with the pivot rule of maximizing improvement criterion”. Kantorovich L V(1939). “Mathematical methods in the organization and planning of production”. Karmarkar N. (1984). “A new polynomial –time algorithm for linear programming”. Khachian L, G (1979).”A polynomial algorithm for linear programming”.

Klee, V,L. and G.J Minty.(1972).”How good is the simplex algorithm”.

Koopmans T,C(1951) “Acticity analysis of production and allocation”. Lemke, C.E (1965).”Bimatrix eguiilibrium points and mathematical programming” Lustig I. (1987).”The eguivalence of Dantizig’s self-dual parametric algorithm for linear programs to Lemke’s algorithm for linear complementarity problems applied to linear programming”. Motzkin, T. and I. J Schoenberg (1954). ”The relaxation method for linear inequalities. Murty K.G.(1980). “Computational complexity of parametric linear programming”. Murty K.G.(1984)” A feasible direction method for linear programming”. Orlin J B (1984).”Genuinely polynomial simplex and non-simplex algorithm for the minimum cost flow problem”. Orlin J B (1989).”A faster strongly polynomial minimum cost flow algorithm”. Paparizos K (1988).” A non-dual signature method for assignment problems and a generalization of the dual simplex method for transportation problems”. Paparizos K (1989).”Pivoting rules directing the simplex method through all feasible vertices of klee-Minty examples”.

Page 79: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη

Paparizos K (1996).”A non improving simplex algorithm for transportation problems”. Paparizos, Samaras , Stephenides “(2003a)”A new efficient primal dual simplex algorithm”. Roos C. (1990). “An exponential example for Terlaky’s pivoting rule for the criss-cross simplex method”. Shor N Z(1970).”Convegence rate of the gradient descent method with dilatation of the space”. Southwell R V (1940). “Relaxation methods in engineering science”. Terlaky T (1985). “A convergent criss-cross method”. Todd M (1986). “Polynomial expected behaviour of a pivoting algorithm for linear complementarily and linear programming programs. Zhang S.(1989).”On anti-cycling pivoting rules of the simplex method”. Zionts S (1969). “The criss-cross method for solving linear programming problems”.

Page 80: Η ΜΕΘΟΔΟΣ SIMPLEX ΚΑΙ Ο …digilib.teiemt.gr/jspui/bitstream/123456789/2521/1/...θεωρείται ο Β’ παγκόσμιος πόλεμος, όπου για πρώτη