Upload
others
View
14
Download
0
Embed Size (px)
Citation preview
1
Γραμμικός Προγραμματισμός
Γραφική λύσηΜέθοδος SIMPLEX
Γραμμικές ΣυναρτήσειςΓραμμική Συνάρτηση:
( ) ( ) ( )( ) ( )
f x y f x f y
f ax af x
+ = +
=Παράδειγμα 1: ( )f x bx=
Παράδειγμα 2: ( )f x bx c= +
2
Γραμμικός Προγραμματισμός (ΓΠ)
Ένα πρόβλημα μπορεί να μοντελοποιηθεί σαν πρόβλημαΓραμμικού Προγραμματισμού (ΓΠ) εάν το πρόβλημαικανοποιεί τις πιο κάτω συνθήκες:Μη τυχαίες μεταβλητές (deterministic): Όλες οιπαράμετροι είναι γνωστές με βεβαιότητα.ΣΧΕΤΙΚΑ ΓΡΑΜΜΙΚΟ (Affine Linear)
Αναλογικό (proportional): Δεν υπάρχουν οικονομίες κλίμακας(Το 1 μήλο στοιχίζει $1, τα 2 μήλα στοιχίζουν $2).Προσθετικά (additive): Το συνολικό κόστος είναι το άθροισματου κόστους κάθε στοιχείου.
Διαιρετέο (Divisible): Όλες οι μεταβλητές μπορούν ναπάρουν πραγματικές τιμές.
Παράδειγμα
1823Μηχανή 3
1220Μηχανή 2
401Μηχανή 1
Διαθέσιμηπαραγ.
Προϊόν 2Προϊόν 1
$5,000$3,000Κέρδος
Ερώτηση: Πόσα προϊόντα τύπου 1 και 2 πρέπει ναπαραχθούν για να μεγιστοποιηθεί το κέρδος
3
Διατύπωση του προβλήματος
x1: αριθμός προϊόντων τύπου 1
x2: Αριθμός προϊόντων τύπου 2
Γραφική Λύση
x1
x2
4
Εφικτές/Μη Εφικτές Λύσεις(Feasible/Infeasible solutions)
x1
x2
ΕφικτήΠεριοχή Μη Εφικτή Λύση: μια λύση
στη οποία δεν ικανοποιείταιτουλάχιστον ένας περιορισμός
Εφικτή Λύση: μια λύση στηοποία ικανοποιούνται ΟΛΟΙ οιπεριορισμοί.
Πλεονάζων Περιορισμοί(Redundant Constraints)
x1
x2
1823122 4
21
2
1
≤+≤≤
xxx
x
4053 21 ≤+ xx
5
Άδεια Εφικτή Περιοχή
x1
x2
1823122 4
21
2
1
≤+≤≤
xxx
x
4053 21 ≥+ xx
ΕφικτήΠεριοχή
Μη Πεπερασμένη Λύση
x1
x2
0,0 and122
subject to53 Maximize
21
2
21
≥≥≤
+=
xxx
xxZ
6
Πολλαπλές Βέλτιστες Λύσεις
x1
x2
ΕφικτήΠεριοχή
21 23 xxZ +=
Zxx21
23
12 +−=⇒
Γωνιακές ΛύσειςCorner-Point Solutions
Εφικτήπεριοχή
x1
x2 41 =x
62 =x
1823 21 =+ xx
Γωνιακές εφικτέςλύσεις (ΓΕΛ ή CPF)
Γωνιακές μη εφικτέςλύσεις
7
Γειτονικές Γωνιακές Λύσεις(Adjacent Corner-Point Solutions)
Εφικτήπεριοχή
x1
x2 41 =x
62 =x
1823 21 =+ xx
Εάν n είναι ο αριθμός τωνμεταβλητών, τότε δύο ΓΕΛλύσεις είναι γειτονικές(adjacent) εάν έχουν κοινούςn-1 περιορισμούς.
Επιτρεπτήπεριοχή
Γωνιακές Εφικτές Λύσεις(ΓΕΛ)
x1
x2Θεώρημα: Εάν το πρόβλημα ΓΠ έχειβέλτιστη λύση, τότε τουλάχιστον μία ΓΕΛ είναιβέλτιστη λύση.
1. Στην βέλτιστη λύση κάποιοιπεριορισμοί ικανοποιούνται σανισότητες και κάποιοι σανανισότητες.
2. Δεσμευτικοί περιορισμοί (binding constraints) είναι όλοι οιπεριορισμοί πάνω στους οποίουςβρίσκεται η βέλτιστη λύση.
8
Συνθήκη βέλτιστης τιμής(Optimality test)
Υποθέτουμε ότι το πρόβλημα ΓΠ έχει τουλάχιστονμία βέλτιστη λύση.
Εάν μία ΓΕΛ δεν έχει γειτονική ΓΕΛ όπου ηαντικειμενική συνάρτηση να παίρνει καλύτερητιμή, τότε αύτη η λύση είναι βέλτιστη λύση.
Η Μέθοδος Simplex
nnxcxcxcZ +++= ...Maximize 2211
mnmnmm
nn
nn
bxaxaxa
bxaxaxabxaxaxa
≤+++
≤+++≤+++
...
......
2211
22222121
11212111
Subject to the constraints
0,,0,0 21 ≥≥≥ nxxxand
mjbj ,...,1,0 =≥
Η μέθοδος υποθέτει ότι το πρόβλημα είναι διατυπωμένοστην τυπική του μορφή (standard form).
9
H μέθοδος Simplex
Επικεντρώνεται μόνο σε Γωνιακές Εφικτές Λύσεις (ΓΕΛ)Για κάθε πρόβλημα με τουλάχιστον μία βέλτιστη λύση, ανεύρεσημιας τέτοιας λύσης ισοδυναμεί με την ανεύρεση της καλύτερης ΓΕΛ.
Ξεκινά από το σημείο (0,...,0) (origin) Βολική λύση διότι ικανοποιεί τους μη αρνητικούς περιορισμούς καιδεν χρειάζεται καμία διαδικασία για την ανεύρεση εφικτής.
Η μέθοδος είναι ένας επαναληπτικός αλγόριθμος. Πάει απόμία ΓΕΛ σε μία γειτονική που βελτιώνει την αντικειμενικήσυνάρτηση.
Σε κάθε βήμα ελέγχει μόνο γειτονικές ΓΕΛ.Η πορεία της μεθόδου είναι κατά μήκος των συνόρων της εφικτής(επιτρεπτής) περιοχής.
H μέθοδος Simplex
Για όλες τις ακμές (edges) που περνούν από την τρέχωνΓΕΛ, ελέγχει το ρυθμό καλυτέρευσης της αντικειμενικήςσυνάρτησης (Ζ).
Κινείται κατά μήκος της ακμής με το μεγαλύτερο ρυθμόκαλυτέρευση.Εάν δεν υπάρχει ακμή με θετικό ρυθμό καλυτέρευσης, τότε οαλγόριθμος σταματά
10
Τι κάνει η Simplex
x1
x2
ΕφικτήΠεριοχή
21 53 Maximize xxZ +=
Initialize/find CPF
Test Optimality
Μεταβλητές Χαλαρότητας(Slack Variables)
41 ≤xΠεριορισμός:
Πως μπορεί να γραφτεί ο πιο πάνω περιορισμόςανισότητας σαν περιορισμός ισότητας;
11
Αρχικοποίηση της Μεθόδου SIMPLEX
0,0 and1823 122 4
subject to53 Maximize
21
21
2
1
21
≥≥≤+≤≤
+=
xxxxx
x
xxZ
Original form
subject to53 Maximize 21 xxZ +=
1812 4
232
521
42
31
=+==
++
+
xxxxx
xx
5,...,1,0 and =≥ jx j
Augmented form
Augmented solution: solution for the original variables and the slack variables
Βασικές Λύσεις (Basic Solutions)
Βασική Λύση: augmented corner-point solutionΙδιότητες Βασικής ΛύσηςΚάθε μεταβλητή μπορεί να είναι είτε βασική είτε μη βασικήΟ αριθμός των βασικών μεταβλητών ισούται με τοναριθμό των περιορισμών.Μη βασικές μεταβλητές έχουν την τιμή 0.Οι τιμές των βασικών μεταβλητών είναι η λύση τουσυστήματος εξισώσεων με όλους τους περιορισμούς(functional constraints)
Βασική Επιτρεπτή Λύση (ΒΕΛ): augmented Corner Point Feasible solutionΒασική λύση που ικανοποιεί τους μη αρνητικούςπεριορισμούς
12
Επίλυση Συστήματος Εξισώσεων
Υποθέστε το σύστημα εξισώσεων11 1 12 2 1 1
1 1 2 2
n n
n n nn n n
a x a x a x b
a x a x a x b
+ + + =
+ + + =
Το οποίο γράφεται και ως
11 1 1 1
1
n
n nn n n
a a x bAx b
a a x b
⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥= ⇔ =⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦
…
Βρείτε το διάνυσμα x για το οποίο ισχύει η πιο πάνωεξίσωση.
Gauss Elimination
Χρησιμοποιώντας elementary operations μετασχηματίζουμετον αρχικό πίνακα [Ab] μέχρι να γίνει «σχεδόν» τριγωνικός.
11 12 1 1
1 2
[ ]n
n n nn n
a a a bAb
a a a b
⎡ ⎤⎢ ⎥= ⎢ ⎥⎢ ⎥⎣ ⎦
Elementary operationsΕναλλαγή της σειράς δύο εξισώσεωνΠολλαπλασιασμός μιας εξίσωσης με μία σταθεράΑντικατάστασης μιας εξίσωσης με το άθροισμα της εξίσωσης μεκάποιο πολλαπλάσιο μιας άλλης εξίσωσης
Από τον «σχεδόν» τριγωνικό πίνακα είναι εύκολο ναβρούμε τη ζητούμενη λύση στο σύστημα.
13
Gauss Elimination
1 0 0/ 1 0 0 / / /
0 0 1
a b c d a b c de a e f g h f be a g ce a h de a
k l m n k l m n
⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥− = − − −⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦
Αντικατάσταση της εξίσωσης j με το άθροισμα της εξίσωσηςj συν ένα πολλαπλάσιο (ας πούμε α) της εξίσωσης i.Είναι ισοδύναμο με τον πολλαπλασιασμό του πίνακα επί τον«σχεδόν» μοναδιαίο πίνακα με εξαίρεση το bij=α.
Ολόκληρος ο μετασχηματισμός GE μπορεί ναγραφτεί σαν ένα τέτοιο γινόμενο. Ο πίνακας Β θαέχει όλους τους συντελεστές που χρησιμοποιήθηκαν.
Αντίστροφος Πίνακας
Οπόταν η λύση στο σύστημα εξισώσεων
Υπάρχει πάντα λύση;
Υποθέστε ότι ο τετράγωνος πίνακας Α μπορεί νααντιστραφεί, τότε ισχύει
14
Παράδειγμα Βασικής Λύσης
1812 4
232
521
42
31
=+==
++
+
xxxxx
xx
Βασικές Μεταβλητές:
Αριθμός βασικών μεταλητών=
Αριθμός μη βασικών μεταβλητών=
Αρχικοποιούνται οι x1 και x2 σαν μη βασικές
Βολική Διατύπωση και ΑρχικήΜορφή της μεθόδου Simplex
Objective
Αρχικά οι μεταβλητές x1 και x2 είναι μη βασικές, δηλαδή:
subject to Maximize Z
5,...,1,0 and =≥ ixi
18231224053
521
42
31
21
=++=+=+=−−
xxxxx
xxxxZ
15
Ο Αλγόριθμος της μεθόδου Simplex
Initialize
Find exiting basic variable
Find incoming basic variable
Find new CPF solution
Start from the origin
Are there any negative coefficients in the objective equation?
Is Optimal?
No
YesEnd
Non-basic variable with most negative coefficient
Basic variable with smallest ratio
Gauss elimination
18231224053
521
42
31
21
=++=+=+=−−
xxxxx
xxxxZ
Πρώτο Βήμα
96
on bound no0
2
2
22
≤≤⇒
xx
xx
2. Determine which nonbasic variable will become basic:
1. Optimality test
4. Find new solution.
3. Determine which basic variable will become nonbasic. (How much can we increase x2?)
16
Πρώτο Βήμα - συνέχεια
664
5
2
3
=⇒=⇒=⇒
xxx
18231224053
521
42
31
21
=++=+=+=−−
xxxxx
xxxxZ
6364
303
541
421
2
31
425
1
=+−=+=+=+−
xxxxx
xxxxZ
Επόμενο Βήμα
2on bound no6
4
1
12
1
≤⇒≤
≤
xxx
x
2. Determine which nonbasic variable will become basic:
1. Optimality test
4. Find new solution.
3. Determine which basic variable will become nonbasic. (How much can we increase x1?)
6364
303
541
421
2
31
425
1
=+−=+=+=+−
xxxxx
xxxxZ
17
Επόμενο Βήμα - συνέχεια
262
36
531
431
1
421
2
531
431
3
5423
=+−=+=−+=++
xxxxx
xxxxxZ
6364
303
541
421
2
31
425
1
=+−=+=+=+−
xxxxx
xxxxZ
Αρχικός Πίνακας Simplex
04
1218
0001
0010
0100
-5022
-3103
1000
Zx3
x4
x5
x5x4x3x2x1ZRatioRight
sideCoefficients of:Basic
variables
18231224053
521
42
31
21
=++=+=+=−−
xxxxx
xxxxZ
18
Πίνακας SIMPLEX
12/2=618/2=9
04
1218
0001
0010
0100
-5022
-3103
1000
Zx3
x4
x5
x5x4x3x2x1ZRatioRight
sideCoefficients of:Basic
variables
601/20100
Zx3
x2
x5
x5x4x3x2x1ZRatioRight
sideCoefficients of:Basic
variables
30
6
0
0
5/2
1/2
0
0
0
1
-3
0
1
0
Zx3
x2
x5
x5x4x3x2x1ZRatioRight
sideCoefficients of:Basic
variables
3046
000
5/20
1/2
010
001
-310
100
Zx3
x2
x5
x5x4x3x2x1ZRatioRight
sideCoefficients of:Basic
variables
30466
0001
5/20
1/2-1
0100
0010
-3103
1000
Zx3
x2
x5
x5x4x3x2x1ZRatioRight
sideCoefficients of:Basic
variables
Πίνακας SIMPLEX
4/1=4
6/3=2
30466
0001
5/20
1/2-1
0100
0010
-3103
1000
Zx3
x2
x5
x5x4x3x2x1ZRatioRight
sideCoefficients of:Basic
variables
21/3-1/30010
Zx3
x2
x1
x5x4x3x2x1ZRatioRight
sideCoefficients of:Basic
variables
36
2
1
1/3
3/2
-1/3
0
0
0
0
0
1
1
0
Zx3
x2
x1
x5x4x3x2x1ZRatioRight
sideCoefficients of:Basic
variables
36262
1-1/3
01/3
3/21/31/2-1/3
0100
0010
0001
1000
Zx3
x2
x1
x5x4x3x2x1ZRatioRight
sideCoefficients of:Basic
variables
362
2
1-1/3
1/3
3/21/3
-1/3
01
0
00
0
00
1
10
0
Zx3
x2
x1
x5x4x3x2x1ZRatioRight
sideCoefficients of:Basic
variables
19
Tie-breakers –Εισερχόμενες Βασικές Μεταβλητές
04
1218
0001
0010
0100
-3022
-3103
1000
Zx3
x4
x5
x5x4x3x2x1ZRatioRight
sideCoefficients of:Basic
variables
Tie-breakers –Εξερχόμενες Βασικές Μεταβλητές
12/2=624/4=6
04
1224
0001
0010
0100
-5024
-3103
1000
Zx3
x4
x5
x5x4x3x2x1ZRatioRight
sideCoefficients of:Basic
variables
20
Δεν υπάρχουν εξερχόμενεςμεταβλητές – Μη φραγμένο Z
04
01
-50
-31
10
Zx3
x3x2x1ZRatioRight
sideCoefficients of:Basic
variables
No ratio (4/0)! Δεν υπάρχει μεταβλητή που να γίνεται μη βασικήΑυτό συνήθως είναι πρόβλημα στη διατύπωση τουπροβλήματος!
Πολλαπλές Βέλτιστες Λύσεις
18463
10-11/2
0010
013
-3/2
0001
0100
1000
Zx1
x4
x2
x5x4x3x2x1ZRatioRight
sideCoefficients of:Basic
variables
1. Optimal?
2. Optimal solution=
3. More Optimal solutions?
21
Πολλαπλές Βέλτιστες Λύσεις.
x1=4x4=6x2=3
18463
10-11/2
0010
013
-3/2
0001
0100
1000
Zx1
x4
x2
x5x4x3x2x1ZSolutionRight
sideCoefficients of:Basic
variables
Zx1
x3
x2
x5x4x3x2x1ZSolutionRight
sideCoefficients of:Basic
variables
18226
11/3-1/3
0
0-1/31/31/2
0010
0001
0100
1000
Zx1
x3
x2
x5x4x3x2x1ZSolutionRight
sideCoefficients of:Basic
variables
x1=2x3=2x2=6
18226
11/3-1/3
0
0-1/31/31/2
0010
0001
0100
1000
Zx1
x3
x2
x5x4x3x2x1ZSolutionRight
sideCoefficients of:Basic
variables
⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡34
2
1
xx
Λύση 1:
Πολλαπλές Βέλτιστες Λύσεις.
Λύση 2: ⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡62
2
1
xx
Άλλες λύσεις: Οποιοσδήποτε κυρτός (convex) συνδυασμός των λύσεων 1 και 2.