Μετάβαση στο κύριο περιεχόμενο

Γραμμικός Προγραμματισμός: Κεφάλαιο 3.2 - Η Μέθοδος Simplex - γεωμετρική ερμηνεία

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

Κεντρική Ιδέα Μεθόδου Simplex
  1. Έστω v μία κορυφή της εφικτής περιοχής
  2. Όσο υπάρχει ένας γείτονας της v, v' με καλύτερη τιμή της συνάρτησης στόχου:
  3.         θέσε v' := v
Αυτή ακριβώς την κεντρική ιδέα υλοποιήσαμε και στο Κεφάλαιο 3.1. Έστω ότι έχουμε ένα ΓΠ με n μεταβλητές (άρα θα "ζούμε" στον n-διάστατο χώρο), ουσιαστικά κινούμαστε κάθε φορά πάνω σε μία ακμή του πολυτόπου των λύσεων (η μία ακμή ορίζεται από n-1 υπερεπίπεδα, οι n-1 μεταβλητές που παραμένουν σταθερές) και θα σταματήσουμε στην άλλη άκρη της ακμής. Η γειτονιά συνεπώς που αναφέρουμε στην Κεντρική Ιδέα δεν είναι άλλη από το σύνολο των των κορυφών v' του πολυτόπου που απέχουν από την v ακριβώς μία ακμή. Ας το δούμε και πιο αναλυτικά.


3Δ πολύτοπο
Σχήμα 1: 3-διάστατο πολύτοπο


Το σχήμα θα μας βοηθήσει να το δούμε καλύτερα. (Όσες έχετε τα 4έδρα ζάρια του D&D, μπορείτε να δείτε εκεί το επιχείρημα πειραματιζόμενες με αυτά). Θυμόμαστε ότι μια ανισότητα αντιστοιχεί σε ένα ημιχώρο, δηλαδή τον χώρο που ορίζεται την μία πλευρά ενός υπερεπιπέδπου. Στο Κεφάλαιο 3.1 όταν αυξάναμε μία μεταβλητή, αυτό είχε ως συνέπεια μία ανισότητα να γίνει ισότητα, την ονομάσαμε σφιχτή. Αυτό που δεν επισημάναμε τότε είναι ότι, κάθε φορά θα έχουμε n σφιχτές ανισότητες, όπου n = # μεταβλητών = διάσταση του χώρου που βρισκόμαστε. Γιατί; Μα επειδή μία κορυφή στον n-διάστατο χώρο ορίζεται σαν τομή n υπερεπιπέδων.

Παρατηρήστε το Σχήμα 1, η κορυφή Α είναι η τομή των υπερεπιπέδων \(H_{ADC}, H_{ADB}, H_{ACB}\). Όταν μια ανισότητα γίνεται σφιχτή σταματάει να περιγράφει έναν ολόκληρο ημιχώρο και περιγράφει μόνο έναν υπερεπίπεδο. Έτσι ξέρουμε κάθε φορά σε ποια κορυφή του πολυτόπου βρισκόμαστε· σε εκείνη που ορίζεται από τις σφιχτές ανισότητες.

Ας πούμε το σύνολο των σφιχτών ανισοτήτων T (από το tight). Τι θα κάνουμε σε ένα βήμα της Simplex; Μία ανισότητα θα σταματήσει να είναι σφιχτή, ενώ κάποια άλλη θα γίνει. Έτσι ο πλυθάριθμος του Τ θα διατηρείται πάντα, \(|T| = n\). Τι σημαίνει όμως αυτό; Αν έχουμε n-1 ανισότητες σφιχτές έχουμε μια ευθεία στον n-διάστατο χώρο, συνεπώς κινούμαστε πάνω σε αυτή ακριβώς την ευθεία.

Έστω ότι θέλουμε να πάμε από το Α στο Β στο Σχήμα 1, θα χαλαρώσουμε την ανισότητα που αντιστοιχεί στο υπερεπίπεδο \(H_{ADC}\), έτσι μπορούμε να κινηθούμε σε όλο τον χώρο πάνω από το \(H_{ADC}\), μένοντας πάνω στην ευθεία \(\epsilon_{AB}\) αφού έχουμε κρατήσει σφιχτές τις ανισότητες των υπερεπιπέδων \(H_{ADB}, H_{ACB}\). Μέχρι που; Μέχρι να συναντήσουμε κάποια άλλη κορυφή του πολυτόπου (ξέρουμε ότι θα γίνει αφού το πολύτοπο είναι φραγμένο). Όταν συναντήσουμε κάποια άλλη κορυφή, τότε κάποια άλλη ανισότητα θα έχει γίνει σφιχτή. Έτσι πάλι το Τ θα έχει n στοιχεία. Στο συγκεκριμένο παράδειγμα θα είναι η ανισότητα που αντιστοιχεί στο υπερεπίπεδο \(Η_{BDC}\).

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

Σημειώσεις:
Αν δεν εμφανίζονται σωστά τα μαθηματικά σύμβολα, παρακαλώ πατήστε Ctrl+F5. 
Τα σχήματα έγιναν με τον GeoGebra5. Το πρόγραμμα διατίθεται για Windows, Mac και Linux.
Για μαθηματικά σύμβολα στο blogger ακολούθησα αυτές εδώ τις οδηγίες

Πλοήγηση




Σχόλια

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

Γραμμικός Προργαμματισμός: Κεφάλαιο 3.1 - Η Μέθοδος Simplex

Τώρα έχουμε επιτέλους τα κατάλληλα εργαλεία (συγκεκριμένα την εξίσωση (4) ), ώστε να λύσουμε ένα ΓΠ. Συγκεκριμένα ας θεωρήσουμε το ακόλουθο ΓΠ.:                 \(max\) \(z = 2x_1 + 5x_2\) υ.π.:                 (1)    \(2x_1 - x_2 \leq 4\)                 (2)    \(x_1 + 2x_2 \leq 9\)                 (3)    \(-x_1 + x_2 \leq 3\)                 (4)    \(x_1, \geq 0\)                 (5)    \(x_2, \geq 0\) Ας ονομάσουμε την παραπάνω γραφή του ΓΠ (Π1). Δεν θα κάνουμε κάτι άλλο από το να υλοποιήσου...

Γραμμικός Προγραμματισμός: Κεφάλαιο 2.2 - λίγη γραμμική άλγεβρα & αναλυτική γεωμετρία - απόσταση σημείου - υπερεπιπέδπου

Στο προηγούμενο μέρος του κεφαλαίου δείξαμε πως μπορούμε να γράφουμε τα υπερεπίπεδα και τις ευθείες σε άλγεβρα και αποδείξαμε τις εξισώσεις:   \(\vec{x} \cdot \vec{a} = -c \hspace{5mm} (1)\) \(H_{\vec{a}, c} = \{ \vec{x} \in \mathbb{R}^n | \vec{a} \cdot  \vec{x} = - c\} \hspace{5mm}(2)\)  Την (1) την ονομάσαμε Εσσιανή Κανονική Μορφή . Θα δούμε ότι είναι πολύ εύκολο να βρούμε την απόσταση ενός σημείου από ένα υπερεπίπεδο, αν μας δίνεται το υπερεπίπεδο στην μορφή της (2). Θυμόμαστε ότι το \(\vec{a} \perp Η_{\vec{a}, c}\) και \(\|a\| = 1\). Επίσης, ότι το υπερεπίπεδο απέχει \(|c|\) από την αρχή των αξόνων. Έστω Χ το σημείο του οποίου θέλουμε να βρούμε την απόσταση από το \(H_{\vec{a}, c}\), τότε, ξέρουμε  ήδη από το σχολείο, ότι όταν λέμε απόσταση σημείου από υπερεπίπεδο εννοούμε κάθετη απόσταση. Σχήμα 1: Κάθετη απόσταση σημείου από υπερεπίπεδο Ας προσπαθήσουμε να "πιάσουμε" το σημείο Χ. Θεωρούμε ένα σημείο \(X_0\) πάνω στο υπερεπίπεδο, τότε παρατηρού...

Γραμμικός Προγραμματισμός: Κεφάλαιο 1 - Γραφική Μέθοδος Επίλυσης ΓΠ

Στο προηγούμενο κεφάλαιο είχαμε δει πως περνάμε από το πρόβλημα σε φυσική γλώσσα σε μια αυστηρή μαθηματική διατύπωση. Είχαμε πει ότι από την στιγμή που γίνει αυτό μπορούμε ουσιαστικά να ξεχάσουμε το αρχικό πρόβλημα και να λύσουμε την μαθηματική μοντελοποίησή του, το ΓΠ. Μια λύση του ΓΠ θα είναι και μια λύση του αρχικού προβλήματος, αν έχουμε κάνει σωστά την μετάβαση. Το ΓΠ στο οποίο καταλήξαμε την προηγούμενη φορά είναι το εξής:                 \(max\) \(f(x_1, x_2) = x_1 + 6x_2\) υ.π.:                 \(x_1 \leq 200\)                 \(x_2 \leq 300\)                 \(x_1 + x_2 \leq 400\)                 \(x_1, x_2 \geq 0\) Για την λύση αρκε...