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

Γραμμικός Προγραμματισμός: Κεφάλαιο 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). Δεν θα κάνουμε κάτι άλλο από το να υλοποιήσου...

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

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

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

Είδαμε στα προηγούμενα κεφάλαια την σημασία της γεωμετρίας των ευθειών και των υπερεπιπέδων για τον Γραμμικό Προγραμματισμό. Σε αυτό το κεφάλαιο θα πάμε πιο βαθιά σε αυτή την έννοια και θα δείξουμε πως να την "κωδικοποιούμε" στην γλώσσα της άλγεβρας. Ευθείες, Επίπεδα και Υπερεπίπεδα Τι ακριβώς είναι μια ευθεία ή ένα υπερεπίπεδο; Πως γράφουμε μια ευθεία σε αλγεβρική μορφή; Θα πρέπει να σκεφτόμαστε την αναλυτική γεωμετρία σαν ένα υπολογιστικό σύστημα, σαν μια γλώσσα προγραμματισμού. Στην ευκλείδια γεωμετρία που κάναμε στο σχολείο η ευθεία και το επίπεδο είναι κάτι τελείως χειροπιαστό, στην άλγεβρα όμως έχουμε μόνο πράξεις, μεταβλητές και εξισώσεις, τι άλλο θα μπορούσε να είναι λοιπόν μια ευθεία από μια εξίσωση, η εξίσωση θα ισχύει μόνο για τα σημεία εκείνα τα οποία ανήκουν στην ευθεία . Στο σχολείο γράφαμε το εξής: \(y = \frac{-a}{b}x + \frac{-c}{b}\) ή \(y = \lambda x+\beta\) θα δούμε πως η πρώτη μορφή είναι πολύ πιο χρήσιμη από την δεύτερη: $$  y = \frac{-a}{b}...