Επίλυση συστημάτων γραμμικών εξισώσεων με τη μέθοδο Jordan-Gauss. Μετασχηματισμός Jordan-Gauss και μέθοδος simplex στο Excel

Για να ξεκινήσει η εργασία, απαιτείται το δεδομένο σύστημα περιορισμών να εκφράζεται με ισότητες και σε αυτό το σύστημα περιορισμών πρέπει να εντοπιστούν οι βασικοί άγνωστοι. Η επίλυση ενός προβλήματος χρησιμοποιώντας τη μέθοδο simplex χωρίζεται σε διάφορα βήματα. Σε κάθε βήμα, από αυτή τη βάση Β περνούν σε μια άλλη, νέα βάση Β 1 με τέτοιο υπολογισμό ώστε η τιμή της συνάρτησης Ζ να μειώνεται, δηλ. . Για να μεταβείτε σε μια νέα βάση, μια από τις μεταβλητές αφαιρείται από την παλιά βάση και εισάγεται μια άλλη από τις δωρεάν. Μετά από έναν πεπερασμένο αριθμό βημάτων, βρίσκεται μια ορισμένη βάση B (k), για την οποία υπάρχει το επιθυμητό ελάχιστο για τη γραμμική συνάρτηση Z και η αντίστοιχη βασική λύσηείναι βέλτιστη ή αποδεικνύεται ότι το πρόβλημα δεν έχει λύση.

4.1 Αλγόριθμος της μεθόδου simplex.

Επιτρέψτε μου να εξετάσω ένα σύστημα περιορισμών και μια γραμμική μορφή της μορφής:

(4.1)

Χρησιμοποιώντας τη μέθοδο Jordan-Gauss, ανάγουμε το γραπτό σύστημα σε μια μορφή όπου επισημαίνονται οι βασικές μεταβλητές.

Ας παρουσιάσουμε μερικές συμβάσεις:

– βασικές μεταβλητές.

– δωρεάν μεταβλητές.

(4.4)

Χρησιμοποιώντας το τελευταίο σύστημα περιορισμών, θα κατασκευάσουμε έναν πίνακα. 4.1.

Πίνακας 4.1

Simplex τραπέζι

Διαθέσιμος

Βασικός

άγνωστος

Ελεύθερος

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

Ο αλγόριθμος της μεθόδου simplex έχει ως εξής.

1. Η τελευταία σειρά του πίνακα simplex περιέχει το μικρότερο θετικό στοιχείο, χωρίς να υπολογίζεται ο ελεύθερος όρος. Η στήλη που αντιστοιχεί σε αυτό το στοιχείο θεωρείται επιτρεπτή.

2. Υπολογίστε την αναλογία των ελεύθερων όρων προς τα θετικά στοιχεία της στήλης ανάλυσης (λόγος απλού). Βρείτε τη μικρότερη από αυτές τις απλές σχέσεις που αντιστοιχεί στη συμβολοσειρά ανάλυσης.

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

4. Εάν υπάρχουν πολλές σχέσεις απλού ίσου μεγέθους, τότε επιλέξτε οποιαδήποτε από αυτές και μετά επιλέξτε οποιαδήποτε από αυτές. Το ίδιο ισχύει και για τα θετικά στοιχεία της τελευταίας σειράς του πίνακα simplex.

5. Αφού βρείτε το στοιχείο επίλυσης, προχωρήστε στον επόμενο πίνακα. Οι άγνωστες μεταβλητές που αντιστοιχούν στην ενεργοποίηση της αποστράγγισης και της στήλης ανταλλάσσονται. Σε αυτή την περίπτωση, η βασική μεταβλητή γίνεται ελεύθερη μεταβλητή και το αντίστροφο. Ο πίνακας simplex μετατρέπεται ως εξής

Πίνακας 4.2

Simplex τραπέζι

Διαθέσιμος

Βασικός

άγνωστος

Ελεύθερος

6. Στοιχείο πίνακα 4.2 που αντιστοιχεί στο στοιχείο αδειοδότησης του πίνακα. 4.1, ισούται με την αμοιβαία τιμή του στοιχείου επίλυσης.

7. Στοιχεία σειράς πίνακα. 4.2, που αντιστοιχεί στα στοιχεία των επιτρεπόμενων ροών του πίνακα. 4.1 προκύπτουν με διαίρεση των αντίστοιχων στοιχείων του πίνακα. 4.1 στο στοιχείο επίλυσης.

8. Στοιχεία στήλης πίνακα. 4.2, που αντιστοιχεί στα στοιχεία της στήλης ανάλυσης του πίνακα. 4.1 προκύπτουν με διαίρεση των αντίστοιχων στοιχείων του πίνακα. 4.1 στο στοιχείο επίλυσης και λαμβάνονται με το αντίθετο πρόσημο.

9. Τα υπόλοιπα στοιχεία υπολογίζονται σύμφωνα με τον κανόνα του ορθογωνίου: σχεδιάζουμε νοερά ένα ορθογώνιο στον Πίνακα 4.2, η μία κορυφή του οποίου συμπίπτει με το στοιχείο επίλυσης και η άλλη με το στοιχείο του οποίου η εικόνα αναζητούμε. οι υπόλοιπες δύο κορυφές καθορίζονται μοναδικά. Στη συνέχεια, το απαιτούμενο στοιχείο του πίνακα. Το 4.2 θα είναι ίσο με το αντίστοιχο στοιχείο του πίνακα. 4.1 μείον το κλάσμα στον παρονομαστή που περιέχει το στοιχείο ανάλυσης και στον αριθμητή το γινόμενο των στοιχείων από τις δύο αχρησιμοποίητες κορυφές του ορθογωνίου.

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

11. Εάν όλα τα στοιχεία στη στήλη ανάλυσης είναι αρνητικά, τότε το πρόβλημα δεν έχει λύσεις (δεν επιτυγχάνεται το ελάχιστο).

5. Μέθοδοι εύρεσης λύσης αναφοράς σε πρόβλημα γραμμικού προγραμματισμού.

5.1. Μέθοδος τεχνητής βάσης.

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

Ταυτόχρονα, λοιπόν, μηδενίζοντας τους ελεύθερους αγνώστους, παίρνουμε μια λύση αναφοράς.

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

(5.1)

Ας ξαναγράψουμε το σύστημα (5.1) με διαφορετική μορφή. Για να γίνει αυτό, εισάγουμε τεχνητές μεταβλητές έτσι ώστε να προσδιορίζεται μια βάση. Τότε το σύστημα θα πάρει τη μορφή

(5.2)

Τα συστήματα (5.1) και (5.2) θα είναι ισοδύναμα εάν όλα για είναι ίσα με 0. Επιπλέον, πιστεύω ότι όλα για. Διαφορετικά, πολλαπλασιάζουμε τους αντίστοιχους περιορισμούς από το σύστημα (5.1) επί – 1. Για να είναι ίσοι με 0, πρέπει να μετασχηματίσουμε το πρόβλημα με τέτοιο τρόπο ώστε όλες οι τεχνητές μεταβλητές να γίνουν ελεύθερες άγνωστες.

Σε αυτήν την περίπτωση, το σύστημα (5.2) μετά τον μετασχηματισμό θα έχει τη μορφή:

(5.3)

Μπορείτε πάντα να μεταβείτε από το σύστημα (5.2) στο σύστημα (5.3) χρησιμοποιώντας τα βήματα της μεθόδου simplex. Με μια τέτοια μετάβαση όπως γραμμικό σχήμαεξετάστε τη συνάρτηση

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

Ανάλυση επιλογών λύσης

1. Εάν τα , και όλα μετατραπούν σε ελεύθερες μεταβλητές, τότε το πρόβλημα δεν έχει θετική λύση.

2. Εάν , και μέρος παραμένει στη βάση, τότε για να τα μετατρέψετε σε ελεύθερα είναι απαραίτητο να χρησιμοποιήσετε ειδικές τεχνικές.

Στον πίνακα simplex που αντιστοιχεί στο σύστημα (5.3), μετά το , και όλα είναι ελεύθερα, διαγράψτε τη γραμμή για και τις στήλες για και λύστε το πρόβλημα για την αρχική γραμμική μορφή.

5.2. Δεύτερος αλγόριθμος αναζήτησης σχέδιο αναφοράς.

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

(5.5)

Ας κατασκευάσουμε τον πρώτο πίνακα Jordan-Gauss για προβλήματα (5.5) και (5.6). Για να διασφαλίσουμε την ομοιομορφία της υπολογιστικής διαδικασίας, εκχωρούμε μια σειρά της συνάρτησης στόχου στον πίνακα προέλευσης:

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

Αλγόριθμος μεθόδου

1. Ας γράψουμε το πρόβλημα στη μορφή (5.7), και όλα τα στοιχεία της στήλης των ελεύθερων όρων πρέπει να είναι μη αρνητικά. Οι εξισώσεις του συστήματος (5.5), στις οποίες οι ελεύθεροι όροι είναι αρνητικοί, πρέπει πρώτα να πολλαπλασιαστούν με – 1.

2. Μετασχηματίζουμε τον πίνακα (5.7) χρησιμοποιώντας βήματα εξάλειψης Jordan-Gauss. Σε αυτήν την περίπτωση, σε κάθε βήμα, οποιαδήποτε στήλη που περιέχει τουλάχιστον ένα θετικό στοιχείο μπορεί να επιλεγεί ως επίλυση. Η σειρά της αντικειμενικής συνάρτησης δεν επηρεάζει την επιλογή των στηλών ανάλυσης.

3. Η σειρά επίλυσης καθορίζεται από τον μικρότερο από τους λόγους των ελεύθερων όρων προς τα στοιχεία της στήλης επίλυσης.

4. Κατά τη διαδικασία μετασχηματισμού, διαγράφουμε γραμμές που αποτελούνται μόνο από μηδενικά.

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

Εξήγηση.Στην παράγραφο 1.1 του αλγορίθμου, θεωρείται ότι όλα τα στοιχεία της στήλης των ελεύθερων όρων είναι μη αρνητικά. Αυτή η απαίτηση είναι προαιρετική. Στην περίπτωση που υπάρχουν αρνητικοί αριθμοί στη στήλη των ελεύθερων όρων, θα χρησιμοποιήσουμε το θεώρημα.

Θεώρημα.Εάν το στοιχείο επίλυσης επιλεγεί σύμφωνα με τον μικρότερο θετικό λόγο απλού, τότε μετά το βήμα Jordan-Gauss ο ελεύθερος όρος στη γραμμή επίλυσης γίνεται θετικός και οι υπόλοιποι όροι διατηρούν το πρόσημο τους.

Η επιλογή του στοιχείου επίλυσης γίνεται διαφορετικά, δηλαδή.

1. Κοιτάξτε τη γραμμή που αντιστοιχεί σε οποιονδήποτε αρνητικό ελεύθερο όρο. Επιλέξτε οποιοδήποτε αρνητικό στοιχείο σε αυτό - η στήλη που αντιστοιχεί σε αυτό το στοιχείο θα επιλυθεί.

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

Σε ορισμένες περιπτώσεις, η πρώτη εφικτή λύση που βρέθηκε με αυτόν τον τρόπο είναι και η βέλτιστη λύση.

Όπως είναι γνωστό, η μέθοδος Jordan-Gauss, γνωστή και ως μέθοδος διαδοχικής εξάλειψης αγνώστων, είναι μια τροποποίηση της μεθόδου Gauss για την επίλυση συστημάτων γραμμικής αλγεβρικές εξισώσεις(SLAU).

Η μέθοδος βασίζεται σε στοιχειώδεις μεταμορφώσεις(μεταφράζοντας το σύστημα σε ισοδύναμο), το οποίο περιλαμβάνει:

  • προσθέτοντας και στις δύο πλευρές της εξίσωσης ενός συστήματος μια άλλη εξίσωση του ίδιου συστήματος, πολλαπλασιαζόμενη με έναν αριθμό διαφορετικό από το μηδέν·
  • αναδιάταξη εξισώσεων στο σύστημα.
  • αφαίρεση από το σύστημα εξισώσεων της μορφής 0 = 0.

Σε αντίθεση με τη μέθοδο Gaussian, σε κάθε βήμα μια μεταβλητή εξαλείφεται από όλες εκτός από μία εξίσωση.

Το βήμα της μεθόδου είναι το εξής:

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

Μπορείτε να το αλγοριθμήσετε ως εξής:

Για SLAU σε μορφή μήτρας A*x=b (μήτρας Α με διάσταση m*n, όχι απαραίτητα τετράγωνο), συντάσσεται ο ακόλουθος πίνακας:

Το στοιχείο επίλυσης a r,s ≠0 επιλέγεται στον πίνακα, στη συνέχεια r είναι η γραμμή επίλυσης, s είναι η στήλη επίλυσης.

Η μετάβαση στον επόμενο πίνακα πραγματοποιείται σύμφωνα με τους κανόνες:

1. Τα στοιχεία της σειράς επίλυσης υπολογίζονται: a" r,j =a r,j /a r,s - δηλαδή, η r-γραμμή του πίνακα διαιρείται με το στοιχείο επίλυσης.

2. όλα τα στοιχεία της στήλης ανάλυσης, εκτός από ένα r,s, ίσο με ένα, γίνεται ίσο με μηδέν.

3. Τα στοιχεία εκτός της επιτρεπόμενης γραμμής και στήλης υπολογίζονται χρησιμοποιώντας τον παρακάτω τύπο:


Είναι εύκολο να αποφύγετε τη σύγχυση όταν βλέπετε ότι ο αριθμητής αυτού του τύπου είναι παρόμοιος με τον υπολογισμό της ορίζουσας ενός πίνακα 2 προς 2.

4. Στο χειροκίνητο υπολογισμό, η τιμή στην τελευταία στήλη ελέγχου συγκρίνεται με το άθροισμα των προηγούμενων στοιχείων της σειράς. Εάν οι τιμές δεν ταιριάζουν, θα πρέπει να αναζητηθούν σφάλματα σε αυτήν τη γραμμή. Για αυτοματοποιημένους υπολογισμούς, η στήλη ελέγχου μπορεί να παραλειφθεί.

Είναι δυνατές οι ακόλουθες περιπτώσεις:

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

2. Λαμβάνεται η ταυτότητα 0 = 0 - η εξίσωση είναι γραμμικός συνδυασμόςτο υπόλοιπο και η συμβολοσειρά των μηδενικών μπορούν να διαγραφούν από το σύστημα.

3. Αφού χρησιμοποιηθούν όλες οι εξισώσεις για την εξάλειψη των αγνώστων, ο πίνακας είτε περιέχει την επιθυμητή λύση είτε δείχνει την ασυνέπεια του συστήματος των περιορισμών.

Ας προγραμματίσουμε τη μέθοδο στο Excel χρησιμοποιώντας έναν τύπο, ο οποίος δεν θα πρέπει να είναι πολύ δύσκολο να αλλάξει. Για παράδειγμα, για την επίλυση SLAE


Ας συμπληρώσουμε τα κελιά του φύλλου από το A1 έως το D4 με τους συντελεστές του συστήματος, επιλέγουμε το στοιχείο επίλυσης a 1,1 =1 και κάνουμε το πρώτο βήμα της μεθόδου στο κελί A6, όπου θα εισαγάγουμε τον «καθολικό» τύπο για ο μετασχηματισμός Jordan-Gauss:

IF(ROW($A$1)=ROW(A1);A1/$A$1;
IF(COLUMN($A$1)=COLUMN(A1),0,(A1*$A$1-
INDIRECT(ADDRESS(ROW(A1),COLUMN($A$1)))*
INDIRECT(ADDRESS(ROW($A$1),COLUMN(A1)))/$A$1))


Στο επόμενο βήμα, το στοιχείο επίλυσης θα μπορούσε να είναι, για παράδειγμα, ένα 2,2 =1 (κελί B7). Το μόνο που έχουμε να κάνουμε είναι να αντιγράψουμε τον τύπο από Α6 σε Α11 (από κενή γραμμήαφήστε να διαχωρίσετε οπτικά τα βήματα της μεθόδου), εισαγάγετε τη λειτουργία επεξεργασίας τύπων ( διπλό κλικανά κελί ή επιλέξτε το και πατήστε το πλήκτρο F2) και διορθώστε (σύρετε προσεκτικά το ποντίκι έξω από το περίγραμμα) όλους τους καρφιτσωμένους συνδέσμους από το κελί A1 έως το B7.

Φυσικά, μπορείτε να αντικαταστήσετε την καρφιτσωμένη αναφορά $A$1 παντού στον τύπο με μια κατασκευή της μορφής INDIRECT(CELL) , σχηματίζοντας δυναμική διεύθυνσησυνδέσεις. Ας πούμε, INDIRECT(F8) και στο κελί F8 η διεύθυνση του κελιού του στοιχείου ανάλυσης θα δημιουργηθεί αυτόματα από καθορίζεται από τον χρήστηαριθμός σειράς και στήλης. Στη συνέχεια, για αυτούς τους αριθμούς σειρών και στηλών θα πρέπει να δώσετε μεμονωμένα κύτταρα, για παράδειγμα, όπως αυτό:


Δυστυχώς, όλα αυτά δεν θα δώσουν τίποτα - αντί για $A$1, θα πρέπει απλώς να διορθώσουμε το INDIRECT($F$8) στον τύπο και στη συνέχεια να σύρουμε και να αποθέσουμε τον ίδιο αριθμό συνδέσμων κατά την αντιγραφή του τύπου. Επιπλέον, οι αριθμοί σειρών και στηλών που εισάγονται με το χέρι θα πρέπει επίσης να ελεγχθούν ως προς την εγκυρότητά τους (τουλάχιστον όπως στο σχήμα), επομένως δεν θα πολλαπλασιάζουμε οντότητες.

Μπορείτε να δείτε τη μέθοδο σε δράση στα δύο πρώτα φύλλα του συνημμένου αρχείο Excel(2 διαφορετικά παραδείγματα).

Το παρακάτω βασίζεται επίσης στον μετασχηματισμό Jordan-Gauss καθολική μέθοδοςεπίλυση προβλημάτων γραμμικής βελτιστοποίησης, όπως π.χ μέθοδο simplex. Οι περιγραφές του είναι συνήθως τρομακτικές, μεγάλες και υπερφορτωμένες με θεωρήματα. Ας προσπαθήσουμε να κάνουμε μια απλή περιγραφή και να αναπτύξουμε έναν αλγόριθμο κατάλληλο για υπολογισμό στο Excel. Στην πραγματικότητα, η μέθοδος simplex είναι ήδη ενσωματωμένη στο τυπικό πρόσθετο του πακέτου ανάλυσης και δεν χρειάζεται να το προγραμματίσουμε "μη αυτόματα", επομένως ο κώδικάς μας έχει μάλλον εκπαιδευτική αξία.

Πρώτον, μια ελάχιστη θεωρία.

Εάν τα διανύσματα στηλών του SLAE είναι γραμμικά ανεξάρτητα, οι αντίστοιχες μεταβλητές είναι βασικός, και το υπόλοιπο - Ελεύθερος. Για παράδειγμα, στο SLAU


οι μεταβλητές x 2 και x 4 είναι βασικές και οι x 1 και x 3 είναι ελεύθερες. Οι βασικές μεταβλητές είναι ανεξάρτητες η μία από την άλλη και οι ελεύθερες μπορούν να γίνουν, για παράδειγμα, μηδενικά και να πάρουν ( x 2 =2, x 4 =1) – βασική λύσησυστήματα.

Επιλέγοντας διαφορετικά στοιχεία διαχωρισμού, είναι δυνατό να ληφθούν λύσεις SLAE με διαφορετικές βάσεις. Οποιαδήποτε μη αρνητική βασική λύση ενός SLAE ονομάζεται υποστηρίζοντας.

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

Ο αλγόριθμος της μεθόδου simplex έχει ως εξής:

1. Το πρόβλημα LP μετατρέπεται σε κανονική μορφή:


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


προστίθενται επιπλέον μεταβλητές ισολογισμού, ο αριθμός των οποίων αντιστοιχεί στον αριθμό των περιορισμών ανισότητας m (οι περιορισμοί στη μη αρνητικότητα των τιμών των αγνώστων δεν λαμβάνονται υπόψη). Μετά από αυτό, οι ανισότητες με το σύμβολο "≤" μετατρέπονται σε ισότητες, για παράδειγμα, ένα σύστημα περιορισμών της μορφής

2*x 1 +3*x 2 ≤20
3*x 1 +x 2 ≤15
4*x 1 ≤16
3*x 2 ≤12
x 1, x 2 ≥0

θα πάρει τη μορφή

2*x 1 +3*x 2 +x 3 =20
3*x 1 +x 2 +x 4 =15
4*x 1 +x 5 =16
3*x 2 +x 6 =12
x 1 , x 2 ,..., x 6 ≥0

Δηλαδή, η «οικονομική» έννοια των μεταβλητών του ισολογισμού είναι πολύ απλή - αυτά είναι τα «υπολείμματα» των αχρησιμοποίητων πόρων κάθε τύπου.

Εάν στο αρχικό πρόβλημα δεν αναζητήθηκε ελάχιστο, αλλά μέγιστο, η αντικειμενική συνάρτηση Z θα αντικατασταθεί από Z 1 = -Z. Οι λύσεις στα προβλήματα συμπίπτουν, με min Z = - max Z 1 . Για παράδειγμα, στόχος

Z(x 1 ,x 2)=2*x 1 +5*x 2 (μέγ.)

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

Z 1 (x 1 ,x 2)=-2*x 1 -5*x 2 (λεπτά)

Εάν στο αρχικό πρόβλημα υπήρχαν εξισώσεις ανισότητας με πρόσημα "≥" αντί για "≤", και οι δύο πλευρές κάθε τέτοιας ανισότητας πολλαπλασιάζονται με -1 και το πρόσημο της ανισότητας αντιστρέφεται, για παράδειγμα,

3*x 1 +x 2 +x 4 ≥15

μετατρέπεται σε

3*x 1 -x 2 -x 4 ≤15

Λαμβάνεται η κανονική μορφή του μοντέλου και γράφουμε για αυτήν πίνακας simplex:


Οι βασικές μεταβλητές (BP) είναι γραμμένες στην αριστερή στήλη, εάν δεν είναι ακόμη επιλεγμένες, είναι κενή.

2. Χρησιμοποιώντας τα βήματα Jordan–Gauss, αναζητείται το αρχικό σχέδιο αναφοράς, δηλ. Το SLAE ανάγεται στη βασική του μορφή με μη αρνητικούς ελεύθερους όρους b i >0. Σε αυτήν την περίπτωση, η αντικειμενική συνάρτηση Z θα πρέπει να εκφράζεται μόνο με όρους ελεύθερων αγνώστων (οι μηδενικοί συντελεστές στη σειρά Z είναι μόνο κάτω από τις μεταβλητές x i που βρίσκονται στη βάση). Όταν επιλέγουμε το στοιχείο επίλυσης a r,s, γράφουμε τη μεταβλητή xs στη σειρά r της στήλης BP, αν υπήρχε ήδη μια μεταβλητή εκεί, τη διαγράφουμε (την αφαιρούμε από τη βάση).

3. Καταγράφουμε το σχέδιο αναφοράς X * κάτω από τις στήλες x i: κάτω από τις ελεύθερες μεταβλητές - μηδενικά, κάτω από τις βασικές μεταβλητές - τους συντελεστές από τη στήλη β που αντιστοιχούν στη βασική μεταβλητή.

Παρακάτω γράφουμε το διάνυσμα R σύμφωνα με τον κανόνα: κάτω από τις βασικές μεταβλητές υπάρχουν μηδενικά, κάτω από τις ελεύθερες R i =Z i .

Αν όλα τα R i ≥0, βρέθηκαν βέλτιστη λύση X * και τιμή στόχου Z min = -q , διαφορετικά χρειάζεστε νέο σχέδιο, το έχεις, σύντροφε Ζιούκοφ; (ρήτρα 4).

4. Για να επιλέξετε τη στήλη ανάλυσης s, επιλέξτε τη μέγιστη απόλυτη αρνητική συνιστώσα του διανύσματος R, επιλέγεται η στήλη ανάλυσης s. Στη συνέχεια αναλύουμε τους συντελεστές της ης στήλης του πίνακα του συστήματος περιορισμών. Εάν όλα τα a i,s ≤0, δεν υπάρχει λύση και το Z min τείνει στο μείον το άπειρο, διαφορετικά πηγαίνετε στο βήμα 5.

5. Για να επιλέξουμε μια συμβολοσειρά επίλυσης r, συνθέτουμε μη αρνητικές σχέσεις b i /A i,s ≥0, i=1,2,...,m και επιλέγουμε τη μικρότερη από αυτές. Εάν επιτευχθεί το ελάχιστο για πολλές γραμμές, οποιαδήποτε από αυτές μπορεί να ληφθεί ως επίλυση και στο νέο σχέδιο αναφοράς οι τιμές ορισμένων βασικών μεταβλητών θα γίνουν ίσες με 0, δηλ. λαμβάνουμε ένα εκφυλισμένο σχέδιο αναφοράς.

6. Εκτελούμε τον μετασχηματισμό Jordan-Gauss με το στοιχείο επίλυσης a r,s και πηγαίνουμε στο βήμα 3

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


Εδώ έχουμε μετακινηθεί από το σχέδιο αναφοράς C, το οποίο είναι μία από τις κορυφές ενός πολυδιάστατου πολυγώνου, στο βέλτιστο σχέδιο E=X * .

Ο προγραμματισμός όλων αυτών στο Excel δεν είναι εύκολος, αλλά είναι δυνατός. Το συνημμένο έγγραφο παρέχει 3 παραδείγματα που υλοποιούν τη λύση προβλημάτων χρησιμοποιώντας τη μέθοδο simplex. Είναι αλήθεια ότι κατά την εκτέλεση του βήματος θα πρέπει ήδη να αλλάξετε 3 τύπους στο φύλλο του πρώτου παραδείγματος για τη μέθοδο simplex που επισημαίνονται κίτρινος: υπολογισμός σχέσεων για την επιλογή μιας σειράς επίλυσης στο κελί I2, πλήρωση της στήλης BP στο κελί A12, βήμα μετασχηματισμού Jordan-Gauss στο κελί B12. Όπως στο παράδειγμα του μετασχηματισμού Jordan-Gauss, η αλλαγή των τύπων συνδέεται μόνο με την ανάγκη αναφοράς νέα γραμμή, που περιέχει τη διεύθυνση του κελιού με το στοιχείο ενεργοποίησης (για το πρώτο βήμα - κελί C9).

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

Ο πίνακας simplex περιέχει τα ακόλουθα μπλοκ:

Ας γράψουμε τη λύση του παραδείγματος προβλήματος από την ενότητα 3.3 σε πίνακες simplex:

Όλα τα αρχικά δεδομένα που περιέχονται στη μαθηματική συνθήκη του προβλήματος μεταφέρονται στην πρώτη πίνακας simplex. Μηδενίζοντας τις ελεύθερες μεταβλητές, παίρνουμε το σχέδιο αναφοράς

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

Εξαιρούμε τη βασική μεταβλητή x 4 από αυτό το κριτήριο, φέρνοντας το κριτήριο στη φόρμα

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

Η λύση δεν είναι η βέλτιστη, γιατί υπάρχουν αρνητικές βαθμολογίες.

Οι βαθμολογίες μπορούν να υπολογιστούν χρησιμοποιώντας τύπους. Το γινόμενο είναι το τρέχον διάνυσμα του πίνακα συνθηκών, τότε η εκτίμηση της ελεύθερης μεταβλητής μπορεί να υπολογιστεί ως το κλιμακωτό γινόμενο του διανύσματος των συντελεστών για τις βασικές μεταβλητές από το τρέχον διάνυσμα του πίνακα συνθηκών μείον τον συντελεστή της αντικειμενικής συνάρτησης για αυτή η μεταβλητή. Έτσι, γιατί παίρνουμε την αξία

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

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

Η λύση δεν είναι η βέλτιστη, γιατί υπάρχει αρνητική βαθμολογία -2.

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


Κανόνες για την κατασκευή πινάκων simplex

Κατασκευάζεται ένας πίνακας simplex για οποιαδήποτε λύση αναφοράς.

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


Βασικός πίνακας B = (A 1 , A 2 , … A m)

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

  • · οποιαδήποτε στήλη.
  • · διάνυσμα των δεξιών πλευρών των περιορισμών.
  • · Οι εκτιμήσεις για τις ελεύθερες μεταβλητές δεν είναι μηδενικές

· στα δεξιά κάτω κλουβί- τιμή κριτηρίου

Στάδια της μεθόδου simplex

  • 1. Έλεγχος του σήματος βελτιστοποίησης ()
  • 2. Εάν υπάρχει, τότε η λύση δεν είναι η βέλτιστη. Στη συνέχεια, επιλέξτε τη στήλη με την ελάχιστη βαθμολογία. Ας το πούμε επιτρεπτικό.
  • 3. Η σειρά επίλυσης επιλέγεται με βάση την ελάχιστη αναλογία ελεύθερων όρων προς τους θετικούς συντελεστές της στήλης επίλυσης. Η βασική μεταβλητή που εκφράζεται από αυτήν τη γραμμή αφαιρείται από τη λίστα των βασικών μεταβλητών. Εκείνοι. Το x k σβήνει και το x s μπαίνει.
  • 4. Ο τρέχων πίνακας simplex μετατρέπεται σύμφωνα με τον ακόλουθο κανόνα:
    • · η επιτρεπόμενη γραμμή χωρίζεται στο επιτρεπόμενο στοιχείο:
  • · η στήλη ανάλυσης αντικαθίσταται από μία.
  • · Όλα τα άλλα στοιχεία του πίνακα simplex μπορούν να υπολογιστούν εκ νέου χρησιμοποιώντας τον κανόνα του τετράπλευρου:

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

Ή η τιμή του νέου στοιχείου είναι ίση με το γινόμενο των στοιχείων στην κύρια διαγώνιο μείον το γινόμενο των στοιχείων στην αντίθετη διαγώνιο, όλα διαιρούμενα με το στοιχείο ανάλυσης.

Σχόλιο : Εάν υπήρχε μηδενικό στοιχείο στη σειρά ανάλυσης, τότε αυτή η στήλη δεν αλλάζει. εάν υπάρχει μηδενικό στοιχείο στη στήλη επίλυσης, τότε αντίστοιχη γραμμήδεν αλλάζει.