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

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

Είδαμε στα προηγούμενα κεφάλαια την σημασία της γεωμετρίας των ευθειών και των υπερεπιπέδων για τον Γραμμικό Προγραμματισμό. Σε αυτό το κεφάλαιο θα πάμε πιο βαθιά σε αυτή την έννοια και θα δείξουμε πως να την "κωδικοποιούμε" στην γλώσσα της άλγεβρας.

Ευθείες, Επίπεδα και Υπερεπίπεδα
Τι ακριβώς είναι μια ευθεία ή ένα υπερεπίπεδο; Πως γράφουμε μια ευθεία σε αλγεβρική μορφή; Θα πρέπει να σκεφτόμαστε την αναλυτική γεωμετρία σαν ένα υπολογιστικό σύστημα, σαν μια γλώσσα προγραμματισμού. Στην ευκλείδια γεωμετρία που κάναμε στο σχολείο η ευθεία και το επίπεδο είναι κάτι τελείως χειροπιαστό, στην άλγεβρα όμως έχουμε μόνο πράξεις, μεταβλητές και εξισώσεις, τι άλλο θα μπορούσε να είναι λοιπόν μια ευθεία από μια εξίσωση, η εξίσωση θα ισχύει μόνο για τα σημεία εκείνα τα οποία ανήκουν στην ευθεία. Στο σχολείο γράφαμε το εξής: \(y = \frac{-a}{b}x + \frac{-c}{b}\) ή \(y = \lambda x+\beta\) θα δούμε πως η πρώτη μορφή είναι πολύ πιο χρήσιμη από την δεύτερη:
$$  y = \frac{-a}{b}x + \frac{-c}{b} \\ ax + by = -c \\ \vec{x} \cdot \vec{a} = -c \hspace{5mm} (1)$$
όπου \(\vec{x} = (x, y)\), \(\vec{a} = (a, b)\) και \(\vec{a} \perp\) ε, ε η ευθεία. Έτσι ορίζουμε και το υπερεπίπεδο στον n-διάστατο χώρο. Δεδομένουνου ενός \(\vec{a} \in \mathbb{R}^n\), \(c \in \mathbb{R}\) ορίζουμε το υπερεπίπεδο \(Η_{\vec{a}, c}\), που είναι κάθετο στο \(\vec{a}\) και \(\forall \vec{x} \in \mathbb{R}^n\) αν \(\vec{a} \cdot \vec{x} = -c\), τότε το \(\vec{x}\)  ανήκει στο υπερεπίπεδο \(Η_{\vec{a}, c}\).
$$ H_{\vec{a}, c} = \{ \vec{x} \in \mathbb{R}^n | \vec{a} \cdot  \vec{x} = - c\} \hspace{5mm}(2) $$
Χ.β.γ. θεωρούμε ότι \(\vec{a}\) είναι μοναδιαίο, δηλαδή \(\|\vec{a}\| = 1\). Τότε η (1) λέγεται Εσσιανή Κανονική Μορφή (Hessian Normal Form). Αν \(\|\vec{a}\| \neq 1 \) τότε απλά διαιρούμε την (1) με το \( \|\vec{a}\|\). Το c είναι η απόσταση του υπερεπιπέδου από την αρχή των αξόνων. Aν \( c > 0 \), τότε η αρχή των αξόνων βρίσκεται από την πλευρά που δείχνει το \(\vec{a}\), ενώ αν \(c < 0\) από την αντίθετη.

Σχήμα 1(α): Σχετική θέση αρχής των αξόνων ευθείας, c < 0
Σχήμα 1(α): Σχετική θέση αρχής των αξόνων - ευθείας, c < 0

Σχήμα 1(β): Σχετική θέση αρχής των αξόνων ευθείας, c > 0
Σχήμα 1(β): Σχετική θέση αρχής των αξόνων - ευθείας, c > 0

Γεωμετρική Ερμηνία
Καταφέραμε να συμμαζέψουμε την αφηρημένη έννοια του υπερεπιπέδου στις (1), (2)· αλλά αν σταματήσουμε εδώ θα έχουμε χάσει μια μεγάλη ευκαιρία να κατάνοήσουμε πραγματικά την (1). Τι σημαίνει γεωμετρικά; Αρχίζουμε με λίγο "μασάζ"..
$$(1) \hspace{5mm}\vec{x} \cdot \vec{a} = -c \\ \vec{x} \cdot \vec{a} + c = 0 \\ \vec{x} \cdot \vec{a} + (\vec{a} \cdot \vec{a}) c = 0 \\ \vec{a}\cdot(\vec{x} + c\vec{a}) = 0 \hspace{5mm} (3)$$
H (3) μας βολεύει πάρα πολύ γιατί μεταφράζεται άμεσα σε γεωμετρία, αφού για δύο διανύσματα \(\vec{x}, \vec{y}, \vec{x} \cdot \vec{y} = 0 \Leftrightarrow \vec{x} \perp \vec{y} \). Η (3), λοιπόν μας λέει ότι ένα σημείο \(\vec{x}\) ανήκει στο υπερεπίπεδο \(H_{\vec{a}, c}\) αν και μόνον εάν προσθέσουμε στο \(\vec{x}\) το \(c\vec{a}\) και το αποτέλεσμα είναι κάθετο στο \(\vec{a}\). (θυμίζουμε ότι \(\|\vec{a}\| = 1\))

Έστω, λοιπόν ένα σημείο P \(\in \mathbb{R}^n\) θέλουμε να ελέγξουμε αν το P ανήκει στο \(H_{\vec{a}, c}\), οπότε προσθέτουμε το \(c\vec{a}\) στο \(\vec{OP}\) και θα ελέγξουμε αν το \((\vec{OP} + c\vec{a}) \perp \vec{a}\)

Σχήμα 2(α): Έλεγχος αν το P ανήκει στην ευθεία
Σχήμα 2: Έλεγχος αν το P ανήκει στην ευθεία

Έχουμε εξαντλήσει το θέμα των υπερεπιπέδων στον \(\mathbb{R}^n\) στο επόμενο μέρος του Κεφαλαίου 2, θα ασχοληθούμε με το πρόβλημα της απόστασης σημείου από υπερεπίπεδο. Έτσι θα έχουμε τα απαραίτητα μαθηματικά εργαλεία, ώστε να μεταβαίνουμε σε κάθε κορυφή του πολυτόπου στην μέθοδο 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). Δεν θα κάνουμε κάτι άλλο από το να υλοποιήσου...

Γραμμικός Προγραμματισμός: Περιεχόμενα

Ο Γραμμικός Προγραμματισμός είναι εξαιρετικό μαθηματικό εργαλείο, με τεράστια εκφραστική ισχύ· πάρα πολλά προβλήματα μπορούμε να τα γράψουμε ως Γραμμικά Προγράμματα. Ακόμη προσφέρει γόνιμο έδαφος για να παρατηρηθεί η σχέση μεταξύ άλγεβρας και γεωμετρίας, η οποία αποτυπώνεται στην γλώσσα της αναλυτικής γεωμετρίας. Η γεωμετρία θα μας προσφέρει μια διαίσθηση του προβλήματος, ενώ η άλγεβρα θα επιταχύνει τους υπολογισμούς μας και θα επιτρέψει να γραφτεί κάποιο πρόγραμμα (σε υπολογιστή) για να επιλύει ΓΠ. Αυτή η μίνι σειρά μαθημάτων αποσκοπεί να εξοικειώσει τον αναγνώστη με τις βασικές έννοιες του γραμμικού προγραμματισμού. Δεν απαιτούνται προηγούμενες γνώσεις· μόνο κάποια εξοικείωση κυρίως με τα διανύσματα και τις πράξεις τους. Μία μαθήτρια λυκείου που έχει εμπεδώσει την ύλη της αναλυτικής γεωμετρίας που διδάσκεται στην Β' Λυκείου, δεν θα πρέπει να έχει πρόβλημα να διαβάσει τα κεφάλαια 0 - 3. Περιεχόμενα Κεφάλαιο 0: Εισαγωγή Κεφάλαιο 1: Γραφική Μέθοδος Επίλυσης Κεφάλαιο 2.0: Λί...