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

Γραμμικός Προγραμματισμός: Κεφάλαιο 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\)
Για την λύση αρκεί να ξέρουμε να ζωγραφίζουμε και τα μαθηματικά του Γυμνασίου, αυτό είναι ένα από τα χαρακτηριστικά που καθιστούν τον Γραμμικό Προγραμματισμό τόσο όμορφο, το ότι είναι εξαιρετικά minimal. Θα πιάσουμε και θα σχεδιάσουμε τις ευθείες που αντιστοιχούν στους περιορισμούς. Ορίζουμε τις εξής ευθείες:
ε1: \(x_1 = 200\)
ε2: \(x_2 = 300\)
ε3: \(x_1 + x_2 = 400\)
και φυσικά έχουμε και τους άξονες \(x_1 = 0\), \(x_2 = 0\).

Σχήμα 1: Οι περιορισμοί του ΓΠ σχεδιασμένοι στο επίπεδο.
Σχήμα 1: Οι περιορισμοί του ΓΠ σχεδιασμένοι στο επίπεδο.



Στο Σχήμα 1 έχουμε σχεδιάσει την ε1 με μπλε, την ε2 με πράσινο και την ε3 με πορτοκαλί, ενώ τους άξονες α1, α2 με μαύρο. Όμως στο ΓΠ δεν έχουμε ισότητες αλλά ανισότητες και ξέρουμε ότι μια ανισότητα στον δισδιάστατο χώρο, ορίζει ένα ημιεπίπεδο. Οι ευθείες που σχεδιάσαμε χωρίζουν (η κάθε μία) τον δισδιάστατο χώρο σε 2 ημιεπίπεδα, ποιο ημιεπίπεδο θέλουμε όπως για το κάθε περιορισμό; Ας ελέγξουμε για τον πρώτο, \(x_1 \leq 200\) θέλουμε όλα τα σημεία του επιπέδου (\(x_1, y_1)\) για τα οποία \(x_1 \leq 200\). Σε ποια μεριά της ε1 βρίσκονται αυτά τα σημεία; Έχουμε ότι η αρχή των αξόνων \((0,0)\) τηρεί τον περιορισμό, άρα θέλουμε το ημιεπίπεδο που ορίζεται από την ε1 και το \((0,0)\) (αν δεν ίσχυε αυτό, θα παίρναμε το άλλο ημιεπίπεδο).

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

Σχήμα 3: τα ημιεπίπεδα των περιορισμών
Σχήμα 3: Τα ημιεπίπεδα των περιορισμών

Η τομή όλων των ημιεπιδέδων των περιορισμών ορίζει την Εφικτή Περιοχή ενός ΓΠ, δηλαδή το σύνολο όλων των εφικτών λύσεων.

Σχήμα 4: εφικτή περιοχή
Σχήμα 4: Εφικτή Περιοχή ΓΠ
Έχουμε τελειώσει με τους περιορισμούς! Το κυρτό πολύγωνο ΟΠΡΤΓ περιέχει όλες τις εφικτές λύσεις του ΓΠ. Μας μένει μόνο να βρούμε την καλύτερη! Μέχρι τώρα έχουμε παραλείψει την συνάρτηση στόχο \(f(x_1, x_2) = x_1 + 6x_2\). Από την συνάρτηση στόχο, μπορούμε να πάρουμε μια οικογένεια ευθειών, η μία παράλληλη στην άλλη, π.χ. για \(f(x_1, x_2) = 100\) έχουμε \(x_1 + 6x_2 = 100\), ενώ για \(f(x_1, x_2) = 400\), έχουμε \(x_1 + 6x_2 = 400\). Γενικά \(f(x_1, x_2) = c \Leftrightarrow x_1 + 6x_2 = c\). Μπορούμε, λοιπόν, να φανταστούμε την συνάρτηση στόχο σαν μια ευθεία που σαρώνει την εφικτή περιοχή.

Σχήμα 5: Η συνάρτηση στόχος, σαρώνει την Εφικτή Περιοχή
Σχήμα 5: Η συνάρτηση στόχος, σαρώνει την Εφικτή Περιοχή
Που θα σταματήσει; Μπορούμε να φανταστούμε, και φαίνεται και από το σχήμα, ότι θα σταματήσει σε κάποια από τις κορυφές του πολυγώνου, συγκεκριμένα στην Π. Οπότε τελικά θα έχουμε:
\(x^* = (100, 300)\) = Π
\(f(100, 300) = 100 + 6\cdot300 = 1900\)
To \(x^*\) είναι η Βέλτιστη Λύση, ενώ το \(f(x^*) = 1900\) η τιμή της.

Η επίλυση ΓΠ στον δισδιάστατο χώρο αποδείχθηκε σχετικά απλή υπόθεση. Η γραφική μέθοδος θα λειτουργούσε και στον τριδιάστατο χώρο, αν και θα απαιτούσε πολύ μεγαλύτερη δεξιοτεχνία στην σχεδίαση. Η διάσταση του χώρου προκύπτει από το πόσες μεταβλητές έχει το ΓΠ μας και φυσικά δεν μπορούμε να σχεδιάσουμε πάνω από τρεις διαστάσεις. Στο επόμενο κεφάλαιο θα θυμηθούμε κάποια θεωρήματα της Αναλυτικής Γεωμετρίας από το σχολείο και θα τα γενικεύσουμε στις n διαστάσεις, ώστε να μπορούμε να δουλέψουμε πιο περίπλοκα ΓΠ. Τα εργαλεία αυτά θα μας χρησιμεύσουν στη μέθοδο Simplex, με την βοήθεια της οποίας μπορούμε να λύσουμε οποιοδήποτε ΓΠ.

To Κεφάλαιο 2 θα είναι προαπαιτούμενο του Κεφαλαίου 3, αλλά εκείνος/η που νιώθει σίγουρος με τις στοιχειώδεις γνώσεις στην Αναλυτική Γεωμετρία μπορεί να το παραλείψει.

Σημειώσεις:
Αν δεν εμφανίζονται σωστά τα μαθηματικά σύμβολα, παρακαλώ πατήστε Ctrl+F5.
Τα σχήματα έγιναν με το GeoGebra6, ενώ το gif με το GeoGebra4. Το πρόγραμμα διατίθεται για 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\) πάνω στο υπερεπίπεδο, τότε παρατηρού...