(DP) Ιστορικά To ( ¾ ={ 1953 Θ 7,...

10
http://users.uom.gr/~acg 1 Στοιχεία από τον ∆υναμικό Προγραμματισμό (DP) Μεθοδολογία λήψης αποφάσεων σε σύνθετα πολυσταδιακά προβλήματα (αλληλο-εξαρτώμενα υποπροβλήματα) Προσδιορίζει το βέλτιστο συνδυασμό διαδοχικών αποφάσεων με βάση την αριστοποίηση ενός κριτηρίου ∆εν υπάρχει τυποποιημένη μαθηματική διαμόρφωση των προβλημάτων, είναι ένα γενικό πλαίσιο μοντελοποίησης Το πολυσταδιακό πρόβλημα διασπάται σε πιο στοιχειώδη αλληλοσυνδεόμενα προβλήματα Εντοπίζονται βέλτιστες λύσεις για τα επιμέρους και ανασυνθέτονται σε μία συνολική βέλτιστη λύση http://users.uom.gr/~acg 2 Ιστορικά στοιχεία ¾ Richard Bellman (1920-1984), θεμελιωτής του ∆υναμικού Προγραμματισμού το 1953 ¾ Ο όρος χρησιμοποιήθηκε για να χαρακτηριστεί μία ¾ διαδικασία επίλυσης που διασπά ένα πρόβλημα, σε μία αλληλουχία διαδοχικών αποφάσεων ¾ Αρχή της βελτιστοποίησης: «An optimal policy has the property that whatever the initial state and initial decision are, the remaining decisions must constitute an optimal policy with regard to the state resulting from the first decision». (R. Bellman, Dynamic Programming 1957) ¾ Αναδρομικές συναρτήσεις (recursive functions) ¾ H εξίσωση Bellman: http://users.uom.gr/~acg 3 Παραδείγματα εφαρμογής ¾ Προβλήματα πολλαπλών χρονικών περιόδων όπως: επενδύσεις, χρηματοοικονομικός προγραμματισμός απόκτηση και αντικατάσταση παγίων, χρηματικές ροές υπό διάφορες συνθήκες, αξιοπιστία εξοπλισμού, διαχείριση αποθεμάτων κ.λπ ¾ Προβλήματα δικτύων (π.χ. συντομότερη διαδρομή) ¾ Προβλήματα κατανομής πόρων σε ανταγωνιστικές δραστηριότητες όπως: χρηματικές μονάδες, ανθρώπινο δυναμικό, πρώτες ύλες κλπ (στα οποία συνήθως δεν ισχύει η αρχή της αναλογικότητας ή υπάρχουν οικονομίες κλίμακας) http://users.uom.gr/~acg 4 To (γνωστό μας) παράδειγμα της συντομότερης διαδρομής Λ={Α, Β, Δ, Γ, Ζ, Ε, Ι, Η, Θ, Κ} ή Ζ Δ Ι Ε Θ Η A Κ Ι Θ Γ B 4 0, Αρχή, 1ος 2, A, 2ος Δ 3 7 4 6 3 2 4 4 5 1 1 4 6 3 3 3 3 4 Ε Ζ Η 2 4, A, 4ος 3, A, 3ος 4, Δ, 5ος 7, Δ ή 7, Γ 9, Β 6ος 8, Β, ή 8, Δ ή 8, Γ, 8ος 8, Ε, 9ος 7, Ζ, 7ος 11, Ι ή 11, Θ 10ος http://users.uom.gr/~acg 5 Οι συντομότερες διαδρομές από A προς K (κόστος = 11) Α Κ Ι Θ Γ Β 4 Δ 3 7 4 6 3 2 4 4 5 1 1 4 6 3 3 3 3 4 Ε Ζ Η 2 http://users.uom.gr/~acg 6 Το παράδειγμα της συντομότερης διαδρομής (revisited) (using DP – the stagecoach problem) Α Κ Ι Θ Γ Β 4 Δ 3 7 4 6 3 2 4 4 5 1 1 4 6 3 3 3 3 4 Ε Ζ Η 2 Στάδιο n=1 s1=Α Στάδιο n=2 s2 = Β,Γ,Δ Στάδιο n=3 s3 = Ε,Ζ,Η Στάδιο n=4 s4=Θ,Ι Στάδιο n=5 s5=Κ sn : οι καταστάσεις σε κάθε στάδιο http://users.uom.gr/~acg 7 Εσφαλμένες Προσεγγίσεις (1) 9 Πλήρης απαρίθμηση όλων των περιπτώσεων (total enumeration) και εντοπισμός της βέλτιστης διαδρομής Î απαράδεκτη 9 Υπάρχουν 1×3×3×2×1=18 περιπτώσεις μόνο (μονοπάτια) αλλά: 9 Αν υπήρχε ακόμα ένα στάδιο με τρεις καταστάσεις τότε θα είχαμε 54 μονοπάτια 9 Aν υποθέσουμε ότι σε ένα πρόβλημα έχουμε n στάδια με k καταστάσεις το καθένα, τότε έχουμε k n διαφορετικά μονοπάτια 9 ∆ηλαδή αν, εκτός από την αφετηρία και τον προορισμό, είχαμε n=10 ενδιάμεσα στάδια με k=5 πιθανές καταστάσεις στο καθένα, θα είχαμε συνολικά 5 10 = 9.765.625 εναλλακτικές διαδρομές για να ελέγξουμε! http://users.uom.gr/~acg 8 Εσφαλμένες Προσεγγίσεις (2) 9 Επιλογή του τόξου (ακμής) με το μικρότερο κόστος από κάθε κόμβο σε κάθε επόμενο (greedy approach) δεν δίνει κατ' ανάγκη τη βέλτιστη λύση 9 Στο παράδειγμα η προσέγγιση αυτή δίνει το μονοπάτι ΑÎΒÎΖÎΙÎΚ με συνολικό κόστος 13 μονάδες (δεν είναι το βέλτιστο) 9 Γιατί? Ποιο είναι το πρόβλημα στην προσέγγιση αυτή? http://users.uom.gr/~acg 9 Παραδείγματα αναδρομικών συναρτήσεων (ακολουθίες) ¾ Το σύνολο των (μη αρνητικών) ακεραίων αριθμών o Fn = Fn-1 + 1 με F0 = 0 o F1 = F0 + 1=?, F2 = F1 +1 = ?, F2 = ?, F3,…? ¾ To παραγοντικό o Fn = Fn-1*n με F0 = 1 (δηλαδή, 0! =1) o F1 = F0*1=?, F2 = F1*2 = ?, F2 = ?, F3,…? ¾ Οι αριθμοί Fibonacci o Fn = Fn-1 + Fn-2 με F1 = 0 και F2 = 1 o F3=F2 + F1 =?, F4 = F3 + F2 =?, F5,…? http://users.uom.gr/~acg 10 Οι αριθμοί Fibonacci (συνέχεια, Leonardo of Pisa (1170 – 1250)) Leonardo Fibonacci (Liber Abaci Æ Book of calculations: Introduction of Arabic numerals, the use of zero, and the decimal place system to the Latin world. The numeral system came to be called "Arabic" by the Europeans. It was used in European mathematics from the 12th century, and entered common use from the 15th century to replace Roman numerals. Fibonacci numbers are connected with the golden ratio, for example the closest rational approximations to the ratio are 2/1, 3/2, 5/3, 8/5, .... Applications include computer algorithms such as the Fibonacci search technique and the Fibonacci heap data structure, and graphs called Fibonacci cubes used for interconnecting parallel and distributed systems. They also appear in biological settings, such as branching in trees, phyllotaxis (the arrangement of leaves on a stem), the fruit spouts of a pineapple, the flowering of artichoke, an uncurling fern and the arrangement of a pine cone). Source: Wikipedia http://users.uom.gr/~acg 11 Οι αριθμοί Fibonacci (συνέχεια -1) o Fn = Fn-1 + Fn-2 με F1 = 0 και F2 = 1 o F3=F2 + F1 =1, o F4=F3+F2 =2, o F5=3, F6=5, F7=8, F8=13, F9=21, κ.ο.κ. http://users.uom.gr/~acg 12 Οι αριθμοί Fibonacci (συνέχεια -2) http://users.uom.gr/~acg 13 Οι αριθμοί Fibonacci (συνέχεια -3) http://users.uom.gr/~acg 14 Οι αριθμοί Fibonacci (συνέχεια -4) ¾ Τελικά πόσοι αριθμοί χρειάζονται για να υπολογιστεί ο Fn ?? 0 1 1 2 3 5 8 13 21 ? F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 ¾ Πρακτικά, το πρόβλημα υπολογισμού του Fn διασπάται σε δύο επιμέρους προβλήματα (Fn-1 και Fn-2) που με τη σειρά τους διασπώνται σε άλλα δύο, μέχρι να φτάσουμε πίσω στις αρχικές συνθήκες ¾ ∆ηλαδή: Σε κάθε βήμα χρειάζομαι μόνο τους δύο προηγούμενους αριθμούς (partial solutions storing Æ μερική απαρίθμηση) http://users.uom.gr/~acg 15 φ = 1,6180334 (?) http://users.uom.gr/~acg 16 Fibonacci spiral

Transcript of (DP) Ιστορικά To ( ¾ ={ 1953 Θ 7,...

Page 1: (DP) Ιστορικά To ( ¾ ={ 1953 Θ 7, Δήusers.uom.gr/~acg/Courses/QA2/material/Ch10slides-miniatures.pdf · Ιστορικά στοιχεία ... ÆΑπό τον κόμβο

http://users.uom.gr/~acg 1

Στοιχεία από τον ∆υναμικό Προγραμματισμό (DP)

• Μεθοδολογία λήψης αποφάσεων σε σύνθετα πολυσταδιακά προβλήματα (αλληλο-εξαρτώμενα υποπροβλήματα)

• Προσδιορίζει το βέλτιστο συνδυασμό διαδοχικών αποφάσεων με βάση την αριστοποίηση ενός κριτηρίου

• ∆εν υπάρχει τυποποιημένη μαθηματική διαμόρφωση των προβλημάτων, είναι ένα γενικό πλαίσιο μοντελοποίησης

• Το πολυσταδιακό πρόβλημα διασπάται σε πιο στοιχειώδη αλληλοσυνδεόμενα προβλήματα

• Εντοπίζονται βέλτιστες λύσεις για τα επιμέρους και ανασυνθέτονται σε μία συνολική βέλτιστη λύση

http://users.uom.gr/~acg 2

Ιστορικά στοιχεία

Richard Bellman (1920-1984), θεμελιωτής του ∆υναμικού Προγραμματισμού το 1953

Ο όρος χρησιμοποιήθηκε για να χαρακτηριστεί μία διαδικασία επίλυσης που διασπά ένα πρόβλημα, σε μία αλληλουχία διαδοχικών αποφάσεων

Αρχή της βελτιστοποίησης: «An optimal policy has the property that whatever the initial state and initial decision are, the remaining decisions must constitute an optimal policy with regard to the state resulting from the first decision». (R. Bellman, Dynamic Programming 1957)

Αναδρομικές συναρτήσεις (recursive functions) H εξίσωση Bellman:

http://users.uom.gr/~acg 3

Παραδείγματα εφαρμογής

Προβλήματα πολλαπλών χρονικών περιόδων όπως:

επενδύσεις, χρηματοοικονομικός προγραμματισμός απόκτηση

και αντικατάσταση παγίων, χρηματικές ροές υπό διάφορες

συνθήκες, αξιοπιστία εξοπλισμού, διαχείριση αποθεμάτων κ.λπ

Προβλήματα δικτύων (π.χ. συντομότερη διαδρομή)

Προβλήματα κατανομής πόρων σε ανταγωνιστικές

δραστηριότητες όπως: χρηματικές μονάδες, ανθρώπινο

δυναμικό, πρώτες ύλες κλπ (στα οποία συνήθως δεν ισχύει η

αρχή της αναλογικότητας ή υπάρχουν οικονομίες κλίμακας)

http://users.uom.gr/~acg 4

To (γνωστό μας) παράδειγμα της συντομότερης διαδρομής

Λ={Α, Β, Δ, Γ, Ζ, Ε, Ι, Η, Θ, Κ} ή Ζ Δ Ι Ε Θ Η

A Κ

Ι

Θ

Γ

B

4

0, Αρχή, 1ος

2, A, 2ος

Δ

3

74

6

3 24

4

51

1

4

6

3

3

3

3

4

Ε

Ζ

Η

2 4, A, 4ος

3, A, 3ος

6, Β 4, Δ, 5ος

7, Δ ή 7, Γ 9, Β 6ος

8, Β, ή 8, Δ ή 8, Γ, 8ος

10, Ζ 8, Ε, 9ος

7, Ζ, 7ος

11, Ι ή 11, Θ 10ος

http://users.uom.gr/~acg 5

Οι συντομότερες διαδρομές από A προς K (κόστος = 11)

Α Κ

Ι

Θ

Γ

Β

4

Δ

3

7 4

6

3 2 4

4

5 1

1

4

6

3

3

3

3

4

Ε

Ζ

Η

2

http://users.uom.gr/~acg 6

Το παράδειγμα της συντομότερης διαδρομής (revisited) (using DP – the stagecoach problem)

Α Κ

Ι

Θ

Γ

Β

4

Δ

3

7 4

6

3 2 4

4

5 1

1

4

6

3

3

3

3

4

Ε

Ζ

Η

2

Στάδιο n=1 s1=Α

Στάδιο n=1 Στάδιο

n=2 s2 = Β,Γ,Δ

Στάδιο n=3

s3 = Ε,Ζ,Η

Στάδιο n=4

s4=Θ,Ι

Στάδιο n=5 s5=Κ

sn : οι καταστάσεις σε κάθε στάδιο

http://users.uom.gr/~acg 7

Εσφαλμένες Προσεγγίσεις (1)

Πλήρης απαρίθμηση όλων των περιπτώσεων (total enumeration) και εντοπισμός της βέλτιστης διαδρομής απαράδεκτη

Υπάρχουν 1×3×3×2×1=18 περιπτώσεις μόνο (μονοπάτια) αλλά: Αν υπήρχε ακόμα ένα στάδιο με τρεις καταστάσεις τότε θα είχαμε 54 μονοπάτια

Aν υποθέσουμε ότι σε ένα πρόβλημα έχουμε n στάδια με k καταστάσεις το καθένα, τότε έχουμε kn διαφορετικά μονοπάτια

∆ηλαδή αν, εκτός από την αφετηρία και τον προορισμό, είχαμε n=10 ενδιάμεσα στάδια με k=5 πιθανές καταστάσεις στο καθένα, θα είχαμε συνολικά 510 = 9.765.625 εναλλακτικές διαδρομές για να ελέγξουμε!

http://users.uom.gr/~acg 8

Εσφαλμένες Προσεγγίσεις (2)

Επιλογή του τόξου (ακμής) με το μικρότερο κόστος από κάθε κόμβο σε κάθε επόμενο (greedy approach) δεν δίνει κατ' ανάγκη τη βέλτιστη λύση

Στο παράδειγμα η προσέγγιση αυτή δίνει το μονοπάτι Α Β Ζ Ι Κ με συνολικό κόστος 13 μονάδες (δεν είναι το βέλτιστο)

Γιατί? Ποιο είναι το πρόβλημα στην προσέγγιση αυτή?

http://users.uom.gr/~acg 9

Παραδείγματα αναδρομικών συναρτήσεων (ακολουθίες)

Το σύνολο των (μη αρνητικών) ακεραίων αριθμών

o Fn = Fn-1 + 1 με F0 = 0

o F1 = F0 + 1=?, F2 = F1 +1 = ?, F2 = ?, F3,…?

To παραγοντικό

o Fn = Fn-1*n με F0 = 1 (δηλαδή, 0! =1)

o F1 = F0*1=?, F2 = F1*2 = ?, F2 = ?, F3,…?

Οι αριθμοί Fibonacci

o Fn = Fn-1 + Fn-2 με F1 = 0 και F2 = 1

o F3=F2 + F1 =?, F4 = F3 + F2 =?, F5,…?

http://users.uom.gr/~acg 10

Οι αριθμοί Fibonacci (συνέχεια, Leonardo of Pisa (1170 – 1250))

Leonardo Fibonacci (Liber Abaci Book of calculations: Introduction

of Arabic numerals, the use of zero, and the decimal place system to

the Latin world. The numeral system came to be called "Arabic" by

the Europeans. It was used in European mathematics from the 12th century, and

entered common use from the 15th century to replace Roman numerals.

Fibonacci numbers are connected with the golden ratio, for example the closest rational

approximations to the ratio are 2/1, 3/2, 5/3, 8/5, .... Applications include computer

algorithms such as the Fibonacci search technique and the Fibonacci heap data structure,

and graphs called Fibonacci cubes used for interconnecting parallel and distributed

systems. They also appear in biological settings, such as branching in trees, phyllotaxis

(the arrangement of leaves on a stem), the fruit spouts of a pineapple, the flowering of

artichoke, an uncurling fern and the arrangement of a pine cone).

Source: Wikipedia

http://users.uom.gr/~acg 11

Οι αριθμοί Fibonacci (συνέχεια -1)

o Fn = Fn-1 + Fn-2 με F1 = 0 και F2 = 1

o F3=F2 + F1 =1,

o F4=F3+F2 =2,

o F5=3, F6=5, F7=8, F8=13, F9=21, κ.ο.κ.

http://users.uom.gr/~acg 12

Οι αριθμοί Fibonacci (συνέχεια -2)

http://users.uom.gr/~acg 13

Οι αριθμοί Fibonacci (συνέχεια -3)

http://users.uom.gr/~acg 14

Οι αριθμοί Fibonacci (συνέχεια -4)

Τελικά πόσοι αριθμοί χρειάζονται για να υπολογιστεί ο Fn ??

0 1 1 2 3 5 8 13 21 ?F1 F2 F3 F4 F5 F6 F7 F8 F9 F10

Πρακτικά, το πρόβλημα υπολογισμού του Fn διασπάται σε δύο επιμέρους προβλήματα (Fn-1 και Fn-2) που με τη σειρά τους διασπώνται σε άλλα δύο, μέχρι να φτάσουμε πίσω στις αρχικές συνθήκες

∆ηλαδή: Σε κάθε βήμα χρειάζομαι μόνο τους δύο προηγούμενους αριθμούς (partial solutions storing μερική απαρίθμηση)

http://users.uom.gr/~acg 15

φ = 1,6180334 (?)

http://users.uom.gr/~acg 16

Fibonacci spiral

Πηγή: http://www.mathsisfun.com/numbers/fibonacci-sequence.html

Page 2: (DP) Ιστορικά To ( ¾ ={ 1953 Θ 7, Δήusers.uom.gr/~acg/Courses/QA2/material/Ch10slides-miniatures.pdf · Ιστορικά στοιχεία ... ÆΑπό τον κόμβο

http://users.uom.gr/~acg 17

Fibonacci spiral in nature

Πηγή: Google search

http://users.uom.gr/~acg 18

Η οπισθοδρομική προσέγγιση του δυναμικού προγραμματισμού

Εκκίνηση από το τελευταίο στάδιο (οπισθοδρομική προσέγγιση)

Επίλυση του στοιχειώδους υπο-προβλήματος στο στάδιο n

Χρήση των αποτελεσμάτων του σταδίου n ως στοιχεία εισόδου (input)

για το υπο-πρόβλημα του επόμενου σταδίου (n-1)

Ολοκλήρωση όταν φτάσουμε στην αρχή

Η συνολική άριστη λύση προκύπτει από τη σύνθεση των άριστων

λύσεων των υπο-προβλημάτων

Είναι μέθοδος μερικής απαρίθμησης (δεν εξετάζονται –

αποθηκεύονται όλες οι πιθανές περιπτώσεις αλλά όσες χρειάζεται σε

κάθε βήμα)

http://users.uom.gr/~acg 19

Συμβολισμοί (οπισθοδρομική προσέγγιση) (με βάση το πρόβλημα της συντομότερης διαδρομής)

n = τα στάδια του προβλήματος, n=1,2,3,4,5 xn = μεταβλητές απόφασης του σταδίου n, δηλαδή πιθανοί

άμεσοι προορισμοί (επόμενοι κόμβοι) του σταδίου n sn = οι μεταβλητές κατάστασης του σταδίου n. Εκφράζουν

την κατάσταση (πόλη - κόμβο) στην οποία μπορεί ο ταξιδιώτης να βρίσκεται στο στάδιο n

dsnxn = η άμεση απόσταση (κόστος ακμής) μεταξύ τρέχουσας κατάστασης sn (κόμβος προέλευσης) και της μεταβλητής απόφασης xn (κόμβος μετάβασης)

fn(sn, xn) = συνάρτηση (απόδοσης), στην οπισθοδρομική μέθοδο εκφράζει τη συνολική απόσταση από την κατάσταση sn του σταδίου n, μέχρι το τέλος (κόμβος 10), όταν επιλέγεται η πόλη xn ως επόμενος προορισμός (που είναι κόμβος του σταδίου n+1). Είναι αναδρομική συνάρτηση.

Κ

http://users.uom.gr/~acg 20

Μερικά ακόμη στοιχεία συμβολισμών (οπισθοδρομική-1)

⇒ Όταν βρισκόμαστε στο στάδιο n στην κατάσταση sn, τότε επιλέγουμε εκείνη την απόφαση xn (σε ποιο κόμβο να πάω?) που θα βελτιστοποιήσει την τιμή της συνάρτησης απόδοσης fn(sn, xn)

⇒ Με x*n συμβολίζουμε την (βέλτιστη) τιμή της μεταβλητής

απόφασης, δηλαδή εκείνη που ελαχιστοποιεί την fn(sn, xn) ⇒ Την άριστη (ελάχιστη) τιμή της fn(sn, xn) την παριστάνουμε με

f*n(sn). ∆ηλαδή: f*

n(sn) = min { fn(sn, xn)} (μεταξύ των xn) ⇒ Ισοδύναμα είναι f*

n(sn) = fn(sn, x*n)

⇒ ∆ηλαδή: f*n(sn) είναι η ελάχιστη απόσταση από τον κόμβο sn

του σταδίου n, μέχρι το τέλος. ⇒ Με f*

n+1(xn) παριστάνεται η βέλτιστη τιμή από το στάδιο n+1 μέχρι το τέλος, εφόσον πάρουμε την απόφαση xn στο στάδιο n

http://users.uom.gr/~acg 21

Μερικά ακόμη στοιχεία συμβολισμών (οπισθοδρομική-2)

⇒ Μία άριστη πολιτική έχει τη μορφή: *4

*3

*2

*1 xxxx →→→

⇒ Μαθηματική διατύπωση της συνάρτησης fn(sn, xn)

)(),( *1 nnxsnnn xfdxsf

nn ++=

⇒ Μαθηματική διατύπωση της συνάρτησης f*n(sn)

{ } { }),(min)(min)( *1

*nnnxnnxsxnn xsfxfdsf

nnn

n

=+= +

??

μεταβλητή κατάστασης

ελάχιστο κόστος από το στάδιο n+1 μέχρι το τέλος

για την απόφαση xn

τιμή για την απόφαση xn

άμεσο κόστος

http://users.uom.gr/~acg 22

Μερικά ακόμη στοιχεία συμβολισμών (οπισθοδρομική-3)

Υπενθυμίζεται, ότι xn είναι όλοι οι πιθανοί κόμβοι (αποφάσεις) που μπορούν να επιλεγούν στο στάδιο sn

δηλαδή, ευρισκόμενος στην κατάσταση sn, που μπορώ να μεταβώ?

Ο κόμβος xn που δίνει την ελάχιστη τιμή, f*n(sn), παριστάνεται με x*

n και είναι μια απόφαση που λαμβάνεται στο «τέλος» του σταδίου n

http://users.uom.gr/~acg 23

Επίλυση του παραδείγματος (επιτέλους!):

Ξεκινάμε από το τελευταίο στάδιο απόφασης (n=5) και κινούμενοι οπισθοδρομικά στοχεύουμε:

Στον υπολογισμό της τιμής

*1 ( )f Α

Υπομονή ! Έχουμε δρόμο μέχρι να φτάσουμε στο *

1 ( )f Α

??

http://users.uom.gr/~acg 24

http://users.uom.gr/~acg 25

Επίλυση του παραδείγματος οπισθοδρομικά: Στάδιο n=5 (Οριακή συνθήκη=προορισμός) • Η μόνη πιθανή κατάσταση είναι s5=Κ γιατί «είμαστε» στον

προορισμό που είναι ένας και μοναδικός • Η μεταβλητή απόφασης δεν μπορεί να πάρει καμία τιμή (x5 =

null αφού είσαι στον κόμβο Κ και δεν έχει νόημα το «που θα πας»)

• Η βέλτιστη διαδρομή από τον κόμβο Κ προς τον κόμβο Κ είναι (τετριμμένο υποπρόβλημα)

*5 ,( ) 0 f dΚ ΚΚ = =

Το ελάχιστο κόστος από τον κόμβο K μέχρι τον προορισμό (που είναι ο κόμβος K) είναι μηδέν (προφανώς) και η απόφαση είναι «μην πας πουθενά» (αν απλά ήθελες να πας στον κόμβο K ☺)

http://users.uom.gr/~acg 26

Οπισθοδρομικά: Επίλυση του παραδείγματος (συνέχεια) Στάδιο n=4 (δηλαδή, δύο στάδια από τον προορισμό) • Οι πιθανές καταστάσεις είναι s4 = Θ, Ι • Η μεταβλητή απόφασης μπορεί να πάρει μόνο μία τιμή, x4 = Κ • Ποια είναι η βέλτιστη διαδρομή από τον κόμβο Θ προς τον κόμβο Κ (προορισμό)? (αν τυχόν βρεθείς στον κόμβο Θ)

* * *4 , 5 4( ) ( ) 3 0 3 με f d f xΘ ΚΘ = + Κ = + = =Κ

• Ποια είναι η βέλτιστη διαδρομή από τον κόμβο Ι προς τον κόμβο Κ (προορισμό)? (αν τυχόν βρεθείς στον κόμβο Ι)

* * *4 , 5 4( ) ( ) 4 0 4 με f d f xΙ ΚΙ = + Κ = + = =Κ

http://users.uom.gr/~acg 27

Οπισθοδρομικά: Στάδιο n=3 (δηλαδή, τρία στάδια από τον προορισμό) • Οι πιθανές καταστάσεις είναι s3 = Ε, Ζ, Η • Π.χ. Για s3 = Ε: Ποια είναι η βέλτιστη διαδρομή από τον κόμβο

Ε μέχρι τον κόμβο Κ (προορισμό)? (αν τυχόν βρεθείς στον κόμβο Ε) • Πιθανές αποφάσεις για s3 = Ε είναι x3 = Θ, Ι. Υπολογίζουμε τις

τιμές της συνάρτησης απόδοσης και επιλέγουμε την άριστη

από αυτές δηλαδή, βρίσκουμε το *3x .

∆ηλαδή: Από τον κόμβο Ε στον Θ και μετά στον Κ με τον καλύτερο τρόπο ή Από τον κόμβο Ε στον Ι και μετά στον Κ με τον καλύτερο τρόπο

Από τα δύο μονοπάτια επέλεξε το άριστο!

http://users.uom.gr/~acg 28

Οπισθοδρομικά: Στάδιο n=3 (συνέχεια) Για τον κόμβο Ε:

{ }* * *3 3 4 4( ) min ( ), ( )f s d f d fΕΘ ΕΙ= Ε = + Θ + Ι =

=min{1+3, 4+4} = 4, άρα όταν s3=Ε τότε x*3 = Θ

Ομοίως για τον κόμβο Ζ (αν τυχόν βρεθείς στον κόμβο Ζ):

{ }* * *3 3 4 4( ) min ( ), ( )f s d f d fΖΘ ΖΙ= Ζ = + Θ + Ι =

=min{6+3, 3+4} = 7, άρα όταν s3=Ζ τότε x*3 = Ι

Ομοίως για τον κόμβο Η (αν τυχόν βρεθείς στον κόμβο Η;):

{ }* * *3 3 4 4( ) min ( ), ( )f s d f d fΗΘ ΗΙ= Η = + Θ + Ι =

=min{3+3, 3+4} = 6, άρα όταν s3=Η τότε x*3 = Θ

http://users.uom.gr/~acg 29

Οπισθοδρομικά: Στάδιο n=2 (δηλαδή τέσσερα στάδια από τον προορισμό) • Οι πιθανές καταστάσεις είναι s2 = Β, Γ, ∆ • Για s2 = Β: ποια είναι η βέλτιστη διαδρομή από τον κόμβο Β

μέχρι τον προορισμό (κόμβο Κ)? (αν τυχόν βρεθείς στον κόμβο Β) • Πιθανές αποφάσεις για s2 = Β είναι x2 = Ε, Ζ και Η οπότε

υπολογίζουμε τις τιμές της συνάρτησης απόδοσης και

επιλέγουμε την άριστη εντοπίζοντας την *2x .

∆ηλαδή: Από τον κόμβο Β στον Ε και μετά στον Κ με τον καλύτερο τρόπο Από τον κόμβο Β στον Ζ και μετά στον Κ με τον καλύτερο τρόπο Από τον κόμβο Β στον Η και μετά στον Κ με τον καλύτερο τρόπο

Από τις τρεις επιλογές επέλεξε την άριστη!

http://users.uom.gr/~acg 30

Οπισθοδρομικά: Στάδιο n=2 (συνέχεια) Για τον κόμβο Β:

{ }* * * *2 3 3 3( ) min ( ), ( ), ( )f d f d f d fΒΕ ΒΖ ΒΗΒ = + Ε + Ζ + Η =

=min{7+4, 4+7, 6+6} = 11, άρα για s2=Β τότε x*2 = Ε ή Ζ

Ομοίως για τον κόμβο Γ (αν τυχόν βρεθείς στον κόμβο Γ):

{ }* * * *2 3 3 3( ) min ( ), ( ), (f d f d f d fΓΕ ΓΖ ΓΗΓ = + Ε + Ζ + Η =

=min{3+4, 2+7, 4+6} = 7, άρα για s2=Γ τότε x*2 = Ε

Ομοίως για τον κόμβο ∆ (αν τυχόν βρεθείς στον κόμβο ∆): * *

3 3*2 *

3

( ), ( ),( ) min

( )

d f d ff

d fΔΕ ΔΖ

ΔΗ

⎧ ⎫+ Ε + Ζ⎪ ⎪Δ = =⎨ ⎬+ Η⎪ ⎪⎩ ⎭

=min{4+4, 1+7, 5+6} = 8, άρα για s2=∆ τότε x*2 = Ε ή Ζ

http://users.uom.gr/~acg 31

Οπισθοδρομικά: Στάδιο n=1 (δηλαδή, πέντε στάδια από τον προορισμό) • Η μόνη πιθανή κατάσταση είναι s1 = Α • Για s1 = Α: ποια είναι η βέλτιστη διαδρομή από τον κόμβο Α

μέχρι τον προορισμό (κόμβο Κ); το αρχικό ερώτημα (επιτέλους!) • Πιθανές αποφάσεις για s1 = Α είναι x1 = Β, Γ και ∆ οπότε

υπολογίζουμε τις τιμές της συνάρτησης απόδοσης και

επιλέγουμε την άριστη δηλαδή βρίσκουμε την *1x .

∆ηλαδή: Από τον κόμβο Α στον Β και μετά στον Κ με τον καλύτερο τρόπο Από τον κόμβο Α στον Γ και μετά στον Κ με τον καλύτερο τρόπο Από τον κόμβο Α στον ∆ και μετά στον Κ με τον καλύτερο τρόπο

Από τις τρεις επιλογές επέλεξε την άριστη!

http://users.uom.gr/~acg 32

Οπισθοδρομικά: Στάδιο n=1 (συνέχεια) Για τον κόμβο Α:

{ }* * * *1 2 2 2( ) min ( ), ( ), ( )f d f d f d fΑΒ ΑΓ ΑΔΑ = + Β + Γ + Δ =

=min{2+11, 4+7, 3+8} =11

άρα: για s1=Α τότε x*1 = Γ ή ∆ .

Το κόστος της άριστης διαδρομής

είναι 11 μονάδες

Page 3: (DP) Ιστορικά To ( ¾ ={ 1953 Θ 7, Δήusers.uom.gr/~acg/Courses/QA2/material/Ch10slides-miniatures.pdf · Ιστορικά στοιχεία ... ÆΑπό τον κόμβο

http://users.uom.gr/~acg 33

Οπισθοδρομικά: Πώς εντοπίζουμε την άριστη διαδρομή?

⇒ Ξεκινώντας από τον κόμβο Α με βάση την πρώτη βέλτιστη

απόφαση, δηλαδή την τιμή της μεταβλητής x*1 = Γ ή ∆ ,

μετακινούμαστε στη συνάρτηση που υποδεικνύεται, δηλαδή την * *

2 2( ) ή την ( )f fΓ Δ (δηλαδή, υπάρχουν εναλλακτικές άριστες λύσεις – διαδρομές) ⇒ Ελέγχουμε την τιμή της *

2 ( )f Γ και την τιμή της *2 ( )f Δ . Οι τιμές

αυτές υποδεικνύουν το επόμενο βήμα στον εντοπισμό του άριστου μονοπατιού, με βάση την απόφαση στο στάδιο 2

⇒ Συνεχίζουμε με το στάδιο n=3 και η διαδικασία ολοκληρώνεται όταν φτάσουμε στον προορισμό ιχνηλατώντας το δίκτυο προδρομικά ώστε να βρούμε το μονοπάτι.

http://users.uom.gr/~acg 34

Οπισθοδρομικά: Πώς εντοπίζουμε την άριστη διαδρομή?

• Το ελάχιστο κόστος 11, υποδεικνύει τα f*2(Γ) και f*2(∆). Επομένως, από τον κόμβο Α πηγαίνουμε στον Γ ή στον ∆ στο στάδιο n=2.

• Αν εξετάσουμε την f*2(Γ), αυτή μας στέλνει στον κόμβο Ε • Στη συνέχεια η f*3(Ε) με τη σειρά της, μας στέλνει στην f*4(Θ),

δηλαδή στον κόμβο Θ. • Μετά τον κόμβο Θ καταλήγουμε στον κόμβο Κ. • Οι εναλλακτικές διαδρομές προκύπτουν με όμοιο τρόπο. Όλα τα άριστα μονοπάτια που προκύπτουν με κόστος ίσο με 11:

Α Γ Ε Θ Κ Α Δ Ε Θ Κ Α Δ Ζ Ι Κ

και είναι αυτά που βρέθηκαν με τον αλγόριθμο του Dijkstra

http://users.uom.gr/~acg 35

Οπισθοδρομικά: Αναπαριστώντας τη διαδικασία επίλυσης με πίνακα (1) n=5

nullsdxsf ,555 5

)null,( == ),(min)( 5555

*5

5

xsfsfx

=

*5x s5 null

K 0 0 null

Πρακτικά: Η οριακή κατάσταση για n=5, *

5 ( ) 0f Κ = Στο «στάδιο» αυτό ουσιαστικά βρίσκουμε τις οριακές συνθήκες για την εκκίνηση της οπισθοδρομικής διαδικασίας επίλυσης

x5

http://users.uom.gr/~acg 36

Οπισθοδρομικά: Παράσταση της διαδικασίας επίλυσης με πίνακα (2) n=4

)(),( 4*

5444 44xfdxsf xs += ),(min)( 4444

*4

4

xsfsfx

=

*4x s4 Κ

Θ 3+0 3 Κ Ι 4+0 4 Κ

x4

πιθανές τιμές μεταβλητής κατάστασης sn

άριστη τιμή, από το στάδιο n μέχρι το τέλος, με βάση την τιμή τρέχουσας κατάστασης sn και τις πιθανές αποφάσεις xn

τιμές της συνάρτησης για την

απόφαση xn

άριστη απόφαση δηλαδή, η βέλτιστη τιμή της xn για την κάθε πιθανή τιμή της κατάστασης sn πιθανές τιμές

μεταβλητής απόφασης xn

http://users.uom.gr/~acg 37

Οπισθοδρομικά: Παράσταση της διαδικασίας επίλυσης με πίνακα (3) n=3

)(),( 3*

4333 33xfdxsf xs +=

),(min)( 3333*

33

xsfsfx

= *3x s3 Θ Ι

Ε 1+3=4 4+4=8 4 Θ Ζ 6+3=9 3+4=7 7 Ι Η 3+3=6 3+4=7 6 Θ

x3

πιθανές τιμές μεταβλητής κατάστασης sn

άριστη τιμή, από το στάδιο n μέχρι το τέλος, με βάση την τιμή τρέχουσας κατάστασης sn και τις πιθανές αποφάσεις xn

τιμές της συνάρτησης για την

απόφαση xn

άριστη απόφαση δηλαδή, η βέλτιστη τιμή της xn για την κάθε πιθανή τιμή της κατάστασης sn πιθανές τιμές

μεταβλητής απόφασης xn

http://users.uom.gr/~acg 38

Οπισθοδρομικά: Παράσταση της διαδικασίας επίλυσης με πίνακα (4) n=2

)(),( 2*

3222 22xfdxsf xs +=

),(min)( 2222*

22

xsfsfx

= *2x s2 Ε Ζ Η

Β 7+4=11 4+7=11 6+6=12 11 Ε ή ΖΓ 3+4= 7 2+7= 9 4+6=10 7 Ε∆ 4+4= 8 1+7= 8 5+6=11 8 Ε ή Ζ

x2

http://users.uom.gr/~acg 39

Οπισθοδρομικά: Παράσταση της διαδικασίας επίλυσης με πίνακα (5) n=1=τέλος=αφετηρία

)(),( 1*

2111 11xfdxsf xs +=

),(min)( 1111

*1

1

xsfsfx

=

*1x s1 Β Γ ∆

Α 2+11=13 4+7=11 3+8=11 11 Γ ή ∆ Το βέλτιστο κόστος είναι 11 και επιτυγχάνεται με τα εξής μονοπάτια:

Αποφάσεις*1x *

2x *3x *

4x *5x

Α Γ Ε Θ

Κ ∆ Ζ Ι

x1

http://users.uom.gr/~acg 40

Η προδρομική προσέγγιση του δυναμικού προγραμματισμού

Εκκίνηση από το πρώτο στάδιο (προδρομική προσέγγιση επίλυσης) Επίλυση του στοιχειώδους υπο-προβλήματος στο στάδιο n

Χρήση των αποτελεσμάτων του σταδίου n ως στοιχεία εισόδου (input)

για το υπο-πρόβλημα του επόμενου σταδίου (n+1) Ολοκλήρωση όταν φτάσουμε στο τέλος Η συνολική άριστη λύση προκύπτει από τη σύνθεση των άριστων λύσεων των υπο-προβλημάτων

Είναι μέθοδος μερικής απαρίθμησης

http://users.uom.gr/~acg 41

Συμβολισμοί (προδρομική προσέγγιση) (με βάση το πρόβλημα της συντομότερης διαδρομής)

n = τα στάδια του προβλήματος, n=1,2,3,4,5 xn = μεταβλητές απόφασης του σταδίου n, δηλαδή πιθανοί

προηγούμενοι κόμβοι από τους οποίους μπορεί ο ταξιδιώτης να μεταβεί στον κόμβο sn του σταδίου n

sn = μεταβλητές κατάστασης του σταδίου n. Εκφράζουν την κατάσταση (πόλη - κόμβο) στην οποία μεταβαίνει ο ταξιδιώτης στο στάδιο n (ερχόμενος από κάποιο κόμβο xn)

dxnsn = η άμεση απόσταση (κόστος ακμής) μεταξύ της μεταβλητής απόφασης xn (κόμβος προέλευσης) και της κατάστασης sn (κόμβος μετάβασης)

fn(sn, xn) = συνάρτηση (απόδοσης), στην προδρομική μέθοδο εκφράζει τη συνολική απόσταση από την αφετηρία (κόμβος 1) μέχρι την κατάσταση sn του σταδίου n, όταν επιλέγεται η πόλη xn (που είναι κόμβος του σταδίου n-1) ως ο κόμβος από τον οποίο μεταβαίνω στον κόμβο sn. Είναι αναδρομική συνάρτηση.

Α

http://users.uom.gr/~acg 42

Κ

http://users.uom.gr/~acg 43

Μερικά ακόμη στοιχεία συμβολισμών (προδρομική -1)

⇒ Όταν στο στάδιο n μεταβαίνουμε στην κατάσταση sn, τότε επιλέγουμε εκείνη την απόφαση xn (από ποιο κόμβο να έρθω?) που θα βελτιστοποιήσει την τιμή της συνάρτησης απόδοσης fn(sn, xn)

⇒ Με x*n συμβολίζουμε την (βέλτιστη) τιμή της μεταβλητής

απόφασης, δηλαδή εκείνη που ελαχιστοποιεί την fn(sn, xn) ⇒ Την άριστη (ελάχιστη) τιμή της fn(sn, xn) την παριστάνουμε με

f*n(sn). ∆ηλαδή: f*

n(sn) = min { fn(sn, xn)} (μεταξύ των xn) ⇒ Ισοδύναμα είναι f*

n(sn) = fn(sn, x*n)

⇒ ∆ηλαδή: f*n(sn) είναι η ελάχιστη απόσταση από την αφετηρία

μέχρι τον κόμβο sn του σταδίου n. ⇒ Με f*

n-1(xn) παριστάνεται η βέλτιστη τιμή από την αφετηρία μέχρι τον κόμβο xn του σταδίου n-1 (από τον οποίο ήρθαμε).

http://users.uom.gr/~acg 44

Μερικά ακόμη στοιχεία συμβολισμών (προδρομική -2)

⇒ Μία άριστη πολιτική έχει τη μορφή: *4

*3

*2

*1 xxxx →→→

⇒ Μαθηματική διατύπωση της συνάρτησης fn(sn, xn)

)(),( *1 nnsxnnn xfdxsf

nn −+=

⇒ Μαθηματική διατύπωση της συνάρτησης f*n(sn)

{ } { }),(min)(min)( *1

*nnnxnnsxxnn xsfxfdsf

nnn

n

=+= −

??

μεταβλητή κατάστασης

ελάχιστο κόστος από την αφετηρία μέχρι το στάδιο

n-1

τιμή για την απόφαση xn

άμεσο κόστος

http://users.uom.gr/~acg 45

http://users.uom.gr/~acg 46

Μερικά ακόμη στοιχεία συμβολισμών (προδρομική -3)

Υπενθυμίζεται, ότι xn είναι όλοι οι πιθανοί κόμβοι (αποφάσεις) που μπορούν να επιλεγούν στο στάδιο n για μετάβαση στην sn

δηλαδή, από ποια πόλη xn θα μπορούσα να μεταβώ στην sn ?

Ο κόμβος xn που δίνει την ελάχιστη τιμή, f*n(sn), παριστάνεται με x*

n και είναι μια απόφαση που λαμβάνεται στην «αρχή» του σταδίου n.

http://users.uom.gr/~acg 47

Επίλυση του παραδείγματος (προδρομικά !):

Προδρομικά: Ξεκινάμε από το πρώτο στάδιο απόφασης (n=1) και κινούμενοι προδρομικά στοχεύουμε:

Στον υπολογισμό της τιμής

*5 ( )f Κ

??

http://users.uom.gr/~acg 48

Υπενθύμιση (Οπισθοδρομική)

Page 4: (DP) Ιστορικά To ( ¾ ={ 1953 Θ 7, Δήusers.uom.gr/~acg/Courses/QA2/material/Ch10slides-miniatures.pdf · Ιστορικά στοιχεία ... ÆΑπό τον κόμβο

http://users.uom.gr/~acg 49

Το σχήμα ξανά (stagecoach problem) Α Κ

Ι

Θ

Γ

Β

4

Δ

3

7 4

6

3 2 4

4

5 1

1

4

6

3

3

3

3

4

Ε

Ζ

Η

2

Στάδιο n=1 s1=Α

Στάδιο n=1

Στάδιο n=2 s2 = Β,Γ,Δ

Στάδιο n=3 s3 = Ε,Ζ,Η

Στάδιο n=4 s4=Θ,Ι

Στάδιο n=5 s5=Κ

sn : οι καταστάσεις σε κάθε στάδιο

http://users.uom.gr/~acg 50

Επίλυση του παραδείγματος προδρομικά: Στάδιο n=1 (Οριακή συνθήκη=αφετηρία) • Η μόνη πιθανή κατάσταση είναι s1 = Α γιατί είμαστε στην

αφετηρία • Η μεταβλητή απόφασης δεν μπορεί να πάρει καμία τιμή (x1 =

null αφού δεν έχει νόημα το «από πού ήρθα») • Η βέλτιστη απόσταση από την αφετηρία μέχρι τον κόμβο Α

(τετριμμένο) είναι *

1 ,( ) 0 f dΑ ΑΑ = = Το ελάχιστο κόστος από την αφετηρία (που είναι ο κόμβος Α) μέχρι τον κόμβο Α είναι μηδέν (προφανώς) και η απόφαση είναι «μην πας πουθενά» (αν ήθελες να πας στον κόμβο Α ☺)

http://users.uom.gr/~acg 51

Επίλυση του παραδείγματος προδρομικά (συνέχεια)

Στάδιο n=2 (δηλαδή, δύο στάδια από την αφετηρία) • Οι πιθανές καταστάσεις (που μπορώ να βρεθώ;) είναι s2 = Β, Γ, ∆ • Η μεταβλητή απόφασης (από πού να έλθω;) μπορεί να πάρει μόνο μία τιμή, x2 = Α, για όλες τις καταστάσεις

• Ποια είναι η βέλτιστη διαδρομή (και απόσταση) από την αφετηρία μέχρι τον κόμβο Β? * * *

2 , 1 2( ) ( ) 2 0 2 με f d f xΑ ΒΒ = + Α = + = = Α • Ποια είναι η βέλτιστη διαδρομή (και απόσταση) από την αφετηρία μέχρι τον κόμβο Γ?

* * *2 , 1 2( ) ( ) 4 0 4 με f d f xΑ ΓΓ = + Α = + = = Α

• Ποια είναι η βέλτιστη διαδρομή (και απόσταση) από την αφετηρία μέχρι τον κόμβο ∆? * * *

2 , 1 2( ) ( ) 3 0 3 με f d f xΑ ΔΔ = + Α = + = = Α

http://users.uom.gr/~acg 52

Προδρομικά: Στάδιο n=3 (δηλαδή, τρία στάδια από την αφετηρία) • Οι πιθανές καταστάσεις είναι s3 = Ε, Ζ, Η • π.χ. Για s3 = Ε: Ποια είναι η βέλτιστη διαδρομή από την αφετηρία

μέχρι τον κόμβο Ε? • Πιθανές αποφάσεις για s3 = Ε είναι x3 = Β, Γ, ∆ (από πού μπορώ να έλθω;).

Υπολογίζουμε τις τιμές της συνάρτησης απόδοσης και επιλέγουμε

την άριστη από αυτές, δηλαδή βρίσκουμε το *3x για το s3 = Ε.

∆ηλαδή: Μετάβαση στον κόμβο Ε μέσω του Β (και στον Β να έχω πάει με βέλτιστο τρόπο από την αφετηρία) Μετάβαση στον κόμβο Ε μέσω του Γ (ομοίως για τον Γ) Μετάβαση στον κόμβο Ε μέσω του ∆ (ομοίως για τον ∆)

Από τα τρία μονοπάτια επέλεξε το άριστο!

http://users.uom.gr/~acg 53

Προδρομικά: Στάδιο n=3 (συνέχεια) Για τον κόμβο Ε:

{ }* * * *3 3 2 2 2( ) min ( ), ( ), ( )f s d f d f d fΒΕ ΓΕ ΔΕ= Ε = + Β + Γ + Δ =

=min{7+2, 3+4, 4+3} = 7, άρα όταν s3=Ε τότε x*3 = Γ ή ∆

Ομοίως για τον κόμβο Ζ:

{ }* * * *3 3 2 2 2( ) min ( ), ( ), ( )f s d f d f d fΒΖ ΓΖ ΔΖ= Ζ = + Β + Γ + Δ =

=min{4+2, 2+4, 1+3} = 4, άρα όταν s3=Ζ τότε x*3 = ∆

Ομοίως για τον κόμβο Η:

{ }* * * *3 3 2 2 2( ) min ( ), ( ), ( )f s d f d f d fΒΗ ΓΗ ΔΗ= Η = + Β + Γ + Δ =

=min{6+2, 4+4, 5+3} = 8, άρα όταν s3=Η τότε x*3 = Β ή Γ ή ∆

http://users.uom.gr/~acg 54

Προδρομικά: Στάδιο n=4 (τέσσερα στάδια από την αφετηρία) • Οι πιθανές καταστάσεις είναι s4 = Θ, Ι • π.χ. Για s4 = Θ: Ποια είναι η βέλτιστη διαδρομή από την αφετηρία

μέχρι τον κόμβο Θ? • Πιθανές αποφάσεις για s4 = Θ είναι x4 = Ε, Ζ, Η. Υπολογίζουμε τις

τιμές της συνάρτησης απόδοσης και επιλέγουμε την άριστη από

αυτές, δηλαδή βρίσκουμε το *4x για το s4 = Θ.

∆ηλαδή: Μετάβαση στον κόμβο Θ μέσω του Ε (και στον Ε να έχω πάει με βέλτιστο τρόπο από την αφετηρία) Μετάβαση στον κόμβο Θ μέσω του Ζ (ομοίως για τον Ζ) Μετάβαση στον κόμβο Θ μέσω του Η (ομοίως για τον Η)

Από τα τρία μονοπάτια επέλεξε το άριστο!

http://users.uom.gr/~acg 55

Προδρομικά: Στάδιο n=4 (συνέχεια) Για τον κόμβο Θ:

{ }* * * *4 3 3 3( ) min ( ), ( ), ( )f d f d f d fΕΘ ΖΘ ΗΘΘ = + Ε + Ζ + Η =

=min{1+7, 6+4, 3+8} = 8, άρα για s4=Θ τότε x*4 = Ε

Για τον κόμβο Ι:

{ }* * * *4 3 3 3( ) min ( ), ( ), ( )f d f d f d fΕΙ ΖΙ ΗΙΙ = + Ε + Ζ + Η =

=min{4+7, 3+4, 3+8} = 7, άρα για s4=Ι τότε x*4 = Ζ

http://users.uom.gr/~acg 56

Προδρομικά: Στάδιο n=5 (πέντε στάδια από την αφετηρία = τέλος) • Οι πιθανές καταστάσεις είναι μόνο μία: s5 = Κ • Για s5 = Κ: Ποια είναι η βέλτιστη διαδρομή από την αφετηρία Α, μέχρι

τον κόμβο Κ? (επιτέλους, έχουμε το αρχικό μας ερώτημα) • Πιθανές αποφάσεις για s5 = Κ είναι x5 = Ε, Ι. Υπολογίζουμε τις τιμές

της συνάρτησης απόδοσης και επιλέγουμε την άριστη από αυτές,

δηλαδή βρίσκουμε το *5x για το s5 = Κ.

∆ηλαδή: Μετάβαση στον κόμβο Κ μέσω του Θ (και στον Θ να έχω πάει με βέλτιστο τρόπο από την αφετηρία) Μετάβαση στον κόμβο Κ μέσω του Ι (ομοίως για τον Ι)

Από τα δύο μονοπάτια επέλεξε το άριστο!

http://users.uom.gr/~acg 57

Προδρομικά: Στάδιο n=5 (συνέχεια) Για τον κόμβο Κ:

{ }* * *5 4 4( ) min ( ), ( )f d f d fΘΚ ΙΚΚ = + Θ + Ι =

=min{3+8, 4+7} =11 (άριστο κόστος)

άρα: για s5=Κ τότε x*5 = Θ ή Ι .

Επομένως, το κόστος της άριστης

διαδρομής είναι 11 μονάδες

http://users.uom.gr/~acg 58

Προδρομικά: Πώς εντοπίζουμε την άριστη διαδρομή ?

⇒ Ξεκινώντας από τον κόμβο Κ με βάση την τελευταία βέλτιστη

απόφαση, δηλαδή την τιμή της μεταβλητής x*5 = Θ ή Ι

μετακινούμαστε στη συνάρτηση που υποδεικνύεται, δηλαδή την *

4 ( ) f Θ ή την *

4 ( )f Ι

⇒ Ελέγχουμε την τιμή της *4 ( )f Θ και την τιμή της *

4 ( )f Ι . Οι τιμές αυτές υποδεικνύουν το επόμενο βήμα στον εντοπισμό του μονοπατιού με βάση την άριστη απόφαση στο στάδιο 4 (δηλαδή ανάλογα από το που ήρθαμε)

⇒ Συνεχίζουμε με το στάδιο n=3 και η διαδικασία ολοκληρώνεται όταν φτάσουμε στην αφετηρία, ιχνηλατώντας το δίκτυο οπισθοδρομικά ώστε να βρούμε το μονοπάτι.

http://users.uom.gr/~acg 59

Προδρομικά: Πώς εντοπίζουμε την άριστη διαδρομή?

• Το ελάχιστο κόστος 11, υποδεικνύει τα f*4(Θ) και f*4(Ι). Επομένως, στον κόμβο Κ ήρθαμε, στο στάδιο n=4, ή από τον Θ ή από τον Ι.

• Αν εξετάσουμε περαιτέρω την f*4(θ), μας στέλνει στον κόμβο Ε ενώ η συνάρτηση f*4(Ι) μας στέλνει στον κόμβο Ζ.

• Στη συνέχεια η f*3(Ε) με τη σειρά της, μας στέλνει στην f*2(Γ) ή στην f*2(∆), δηλαδή ήρθαμε στον Ε από τον Γ ή τον ∆. Ενώ, η f*3(Ζ) μας στέλνει στην f*2(∆), δηλαδή ήρθαμε από τον κόμβο ∆.

• Οι συναρτήσεις f*2(Γ) ή f*2(∆) μας στέλνουν στην f*1(Α), όπως είναι λογικό. Έτσι, προκύπτουν όλες οι εναλλακτικές διαδρομές από την αφετηρία προς τον προορισμό.

Όλα τα άριστα μονοπάτια που προκύπτουν με κόστος ίσο με 11: Α Γ Ε Θ Κ Α Δ Ε Θ Κ Α Δ Ζ Ι Κ

και είναι αυτά που βρέθηκαν με τον αλγόριθμο του Dijkstra

http://users.uom.gr/~acg 60

Προδρομικά: Αναπαριστώντας τη διαδικασία επίλυσης με πίνακα (1) Οριακή κατάσταση (n=1)

1,111 )null,( snulldxsf ==

),(min)( 1111*

11

xsfsfx

=

*1x s1 null

Α 0 0 null

Πρακτικά: Η οριακή κατάσταση για n=1, *

1 ( ) 0f Α = Στο «στάδιο» αυτό ουσιαστικά βρίσκουμε τις οριακές συνθήκες

για την εκκίνηση της προδρομικής διαδικασίας επίλυσης

x1

http://users.uom.gr/~acg 61

Προδρομικά: ∆ιαδικασία επίλυσης με πίνακα (2) n=2

)(),( 2*

1222 22xfdxsf sx += ),(min)( 2222

*2

2

xsfsfx

=

*2x s2 Α

Β 2+0 2 Α Γ 4+0 4 Α ∆ 3+0 3 Α

x2

πιθανές τιμές μεταβλητής κατάστασης sn

άριστη τιμή, από την αφετηρία μέχρι το στάδιο n με βάση την τιμή τρέχουσας

κατάστασης sn και τις πιθανές αποφάσεις xn

τιμές της συνάρτησης για την

απόφαση xn

άριστη απόφαση δηλαδή, η βέλτιστη τιμή της xn για την κάθε πιθανή τιμή της κατάστασης sn πιθανές τιμές

μεταβλητής απόφασης xn

http://users.uom.gr/~acg 62

Προδρομικά: ∆ιαδικασία επίλυσης με πίνακα (3) n=3

)(),( 3*

2333 33xfdxsf sx +=

),(min)( 3333*

33

xsfsfx

= *3x s3 Β Γ ∆

Ε 7+2=9 3+4=7 4+3=7 7 Γ ή ∆Ζ 4+2=6 2+4=6 1+3=4 4 ∆Η 6+2=8 4+4=8 5+3=8 8 Β ή Γ

ή ∆

x3

πιθανές τιμές μεταβλητής κατάστασης sn

άριστη τιμή, από την αφετηρία μέχρι το στάδιο n, με βάση την τιμή τρέχουσας

κατάστασης sn και τις πιθανές αποφάσεις xn

τιμές της συνάρτησης για την

απόφαση xn

άριστη απόφαση δηλαδή, η βέλτιστη τιμή της xn για την κάθε πιθανή τιμή της κατάστασης sn πιθανές τιμές

μεταβλητής απόφασης xn

http://users.uom.gr/~acg 63

Προδρομικά: ∆ιαδικασία επίλυσης με πίνακα (4) n=4

)(),( 4*

3444 44xfdxsf sx += ),(min)( 4444

*4

4

xsfsfx

= *4x s4 Ε Ζ Η

Θ 1+7= 8 6+4=10 3+8=11 8 Ε Ι 4+7=11 3+4= 7 3+8=11 7 Ζ

x4

http://users.uom.gr/~acg 64

Προδρομικά: ∆ιαδικασία επίλυσης με πίνακα (5) n=5 = τέλος=προορισμός

)(),( 5*

4555 55xfdxsf sx +=

),(min)( 5555*

55

xsfsfx

= *5x s5 Θ Ι

Κ 3+8=11 4+7=11 11 Θ ή Ι Το βέλτιστο κόστος είναι 11 και επιτυγχάνεται με τα εξής μονοπάτια:

Αποφάσεις*1x

*2x *

3x *4x *

5xΑ Γ Ε Θ

Κ ∆ Ζ Ι

x5

Page 5: (DP) Ιστορικά To ( ¾ ={ 1953 Θ 7, Δήusers.uom.gr/~acg/Courses/QA2/material/Ch10slides-miniatures.pdf · Ιστορικά στοιχεία ... ÆΑπό τον κόμβο

http://users.uom.gr/~acg 65

Παραλλαγή 1η :

Έστω ότι το συνολικό κόστος μίας διαδρομής προκύπτει από το γινόμενο των ακμών της

{ })(min)( *1

*nnxsxnn xfdsf

nnn

+×=

Οριακή κατάσταση (n=5, το λύνουμε οπισθοδρομικά)

nullsdxsf ,555 5

)null,( == ),(min)( 5555

*5

5

xsfsfx

=

*5x s5 null

Κ 1 1 null

Πρακτικά: Η οριακή κατάσταση για n=5, *

5 ( ) 1f Κ =

x5

http://users.uom.gr/~acg 66

Παραλλαγή 1η (συνέχεια-1): n=4

)(),( 4*

5444 44xfdxsf xs=

),(min)( 4444

*4

4

xsfsfx

= *4x s4 Κ

Θ 3×1 3 Κ Ι 4×1 4 Κ

x4

http://users.uom.gr/~acg 67

Παραλλαγή 1η (συνέχεια-2): n=3

)(),( 3*

4333 33xfdxsf xs ×=

),(min)( 3333

*3

3

xsfsfx

= *3x s3 Θ Ι

Ε 1×3= 3 4×4=16 3 Θ Ζ 6×3=18 3×4=12 12 Ι Η 3×3= 9 3×4=12 9 Θ

x3

http://users.uom.gr/~acg 68

Παραλλαγή 1η (συνέχεια-3): n=2

)(),( 2*

3222 22xfdxsf xs ×=

),(min)( 2222

*2

2

xsfsfx

=

*2x s2 Ε Ζ Η

Β 7×3=21 4×12=48 6×9=54 21 ΕΓ 3×3= 9 2×12=24 4×9=36 9 Ε∆ 4×3=12 1×12=12 5×9=45 12 Ε ή Ζ

x2

http://users.uom.gr/~acg 69

Παραλλαγή 1η (συνέχεια-4): n=1

)(),( 1*

2111 11xfdxsf xs ×=

),(min)( 1111

*1

1

xsfsfx

=

*1x s1 Β Γ ∆

Α 2×21=42 4×9=36 3×12=36 36 Γ ή ∆

Το βέλτιστο κόστος είναι 36 και επιτυγχάνεται με τα εξής μονοπάτια:

Αποφάσεις *1x

*2x

*3x

*4x

*5x

Α Γ Ε Θ Κ ∆ Ζ Ι

x1

http://users.uom.gr/~acg 70

Παραλλαγή 1η : Οι βέλτιστες διαδρομές στο δίκτυο

Α Κ

Ι

Θ

Γ

Β

4

Δ

3

7 4

6

3 2 4

4

5 1

1

4

6

3

3

3

3

4

Ε

Ζ

Η

2

http://users.uom.gr/~acg 71

Παραλλαγή 2η : Το συνολικό κέρδος μιας διαδρομής είναι το γινόμενο των ακμών της (Υποθέτουμε επιπλέον ότι το δίκτυο είναι προσανατολισμένο, με γενική κατεύθυνση όλων των ακμών προς τα «δεξιά»)

{ })(max)( *1

*nnxsxnn xfdsf

nnn

+×=

Οριακή κατάσταση (n=5, οπισθοδρομική επίλυση)

nullsdxsf ,555 5)null,( ==

),(max)( 5555*

55

xsfsfx

=

*5x s5 null

Κ 1 1 null

Πρακτικά: Η οριακή κατάσταση για n=5, *

5 ( ) 1f Κ =

x5

http://users.uom.gr/~acg 72

Παραλλαγή 2η (συνέχεια-1): n=4

)(),( 4*

5444 44xfdxsf xs=

),(max)( 4444

*4

4

xsfsfx

= *4x s4 Κ

Θ 3×1 3 Κ Ι 4×1 4 Κ

x4

http://users.uom.gr/~acg 73

Παραλλαγή 2η (συνέχεια-2): n=3

)(),( 3*

4333 33xfdxsf xs ×=

),(max)( 3333

*3

3

xsfsfx

=

*3x s3 Θ Ι

Ε 1×3= 3 4×4=16 16 Ι Ζ 6×3=18 3×4=12 18 Θ Η 3×3= 9 3×4=12 12 Ι

x3

http://users.uom.gr/~acg 74

Παραλλαγή 2η (συνέχεια-3): n=2

)(),( 2*

3222 22xfdxsf xs ×=

),(max)( 2222

*2

2

xsfsfx

=

*2x s2 Ε Ζ Η

Β 7×16=112 4×18=72 6×12=72 112 Ε Γ 3×16= 48 2×18=36 4×12=48 48 Ε ή Η ∆ 4×16=64 1×18=18 5×12=60 64 Ε

x2

http://users.uom.gr/~acg 75

Παραλλαγή 2η (συνέχεια-4):

n=1

)(),( 1*

2111 11xfdxsf xs ×=

),(max)( 1111

*1

1

xsfsfx

=

*1x s1 Β Γ ∆

Α 2×112=224 4×48=192 3×64=192 224 Β Το βέλτιστο κέρδος είναι 224 και επιτυγχάνεται με το εξής μονοπάτι:

Αποφάσεις *1x *

2x *3x *

4x *5x

Α Β Ε Ι Κ

x1

http://users.uom.gr/~acg 76

Παραλλαγή 2η : Η βέλτιστη διαδρομή στο δίκτυο

Α Κ

Ι

Θ

Γ

Β

4

Δ

3

74

6

3 24

4

51

1

4

6

3

3

3

3

4

Ε

Ζ

Η

2

http://users.uom.gr/~acg 77

Ανακεφαλαίωση: Κύρια Χαρακτηριστικά Π.∆.Π. (1) 1. Το πρόβλημα διαιρείται σε στάδια, σε καθένα από τα οποία

ακολουθείται μια πολιτική (στρατηγική, δηλαδή λαμβάνουμε

μία απόφαση).

2. Συνολικά λαμβάνουμε μία ακολουθία αλληλοσυνδεόμενων αποφάσεων.

Στάδιο 1 Στάδιο 2 Στάδιο 3 Στάδιο 4

http://users.uom.gr/~acg 78

Κύρια Χαρακτηριστικά Π.∆.Π. (2) 3. Σε κάθε στάδιο του προβλήματος αντιστοιχεί ένα πλήθος

καταστάσεων, που αντιπροσωπεύουν τις διάφορες συνθήκες, στις οποίες είναι δυνατό να βρεθεί το σύστημα.

4. Οι καταστάσεις παρέχουν την πληροφόρηση εκείνη, με την οποία περιγράφεται το σύστημα σε κάθε στάδιο. Ο αριθμός των καταστάσεων μπορεί να είναι πεπερασμένος ή άπειρος σε κάθε

στάδιο της πολυσταδιακής διαδικασίας.

http://users.uom.gr/~acg 79

Κύρια Χαρακτηριστικά Π.∆.Π. (3) 5. Σε κάθε στάδιο, η τρέχουσα κατάσταση sn «μετασχηματίζεται» σε μια

κατάσταση sn+1 συνδεδεμένη με το επόμενο στάδιο της διαδικασίας και αντίστοιχα η μεταβλητή κατάστασης sn συνδέει το τρέχον στάδιο

με το προηγούμενο στάδιο.

6. Για δεδομένη τιμή της κατάστασης sn αναζητούμε την άριστη τιμή της μεταβλητής απόφασης xn, δηλαδή εκείνη που βελτιστοποιεί τη

συνολική απόδοση του συστήματος μέχρι το τέλος όλων των

επόμενων σταδίων. 7. Η τιμή της μεταβλητής απόφασης xn δημιουργεί στο τρέχον στάδιο του

προβλήματος δύο εκροές, που είναι η τιμή της συνάρτησης απόδοσης: fn(sn,xn) και η κατάσταση που θα βρεθεί με βάση την

απόφαση αυτή: sn+1.

http://users.uom.gr/~acg 80

Κύρια Χαρακτηριστικά Π.∆.Π. (4)

Page 6: (DP) Ιστορικά To ( ¾ ={ 1953 Θ 7, Δήusers.uom.gr/~acg/Courses/QA2/material/Ch10slides-miniatures.pdf · Ιστορικά στοιχεία ... ÆΑπό τον κόμβο

http://users.uom.gr/~acg 81

Κύρια Χαρακτηριστικά Π.∆.Π. (5)

8. Η επίλυση ενός προβλήματος δυναμικού προγραμματισμού, βασίζεται

στην αρχή της αριστότητας του Bellman, σύμφωνα με την

οποία: «Μια άριστη πολιτική έχει την ιδιότητα πως οποιαδήποτε και αν είναι η αρχική απόφαση που πήραμε για να φτάσουμε σε μια κατάσταση, οι υπόλοιπες αποφάσεις πρέπει να αποτελούν μιαν άριστη πολιτική για να φύγουμε από την κατάσταση αυτή»

«An optimal policy has the property that whatever the initial state and initial decision are, the

remaining decisions must constitute an optimal policy with regard to the state resulting from the first

decision».

(Bellman, R.E. 1957. Dynamic Programming. Princeton University Press, Princeton, NJ. Republished

2003: Dover, ISBN 0486428095.)

http://users.uom.gr/~acg 82

Κύρια Χαρακτηριστικά Π.∆.Π. (6)

9. Με δεδομένη την τρέχουσα κατάσταση σε ένα στάδιο της διαδικασίας, μια άριστη πολιτική για τα υπόλοιπα στάδια της διαδικασίας είναι

ανεξάρτητη της πολιτικής που υιοθετήθηκε στα προηγούμενα στάδια της διαδικασίας (Μαρκοβιανή ιδιότητα).

10. Η διαδικασία επίλυσης μπορεί να προχωρήσει είτε οπισθοδρομικά (από το τελευταίο στάδιο προς το πρώτο) είτε προδρομικά (από το πρώτο στάδιο προς το τελευταίο). Η διαδικασία επίλυσης αρχίζει με

την εύρεση της οριακής κατάστασης, δηλαδή της άριστης πολιτικής για κάθε κατάσταση του οριακού σταδίου (του πρώτου ή του

τελευταίου, ανάλογα αν ακολουθούμε προδρομική ή οπισθοδρομική

προσέγγιση).

http://users.uom.gr/~acg 83

Κύρια Χαρακτηριστικά Π.∆.Π. (7)

11. Στη διαδικασία της επίλυσης χρησιμοποιείται μια αναδρομική σχέση (recursive relationship), που προσδιορίζει την άριστη πολιτική για κάθε κατάσταση του σταδίου n, με

δεδομένη την άριστη πολιτική για κάθε κατάσταση του

σταδίου n-1 (ή n+1 στην προδρομική).

όπου )(),( *1 nnxsnnn xfdxsf

nn +⊗= οπισθοδρομική

)(),( *1 nnsxnnn xfdxsf

nn −⊗= προδρομική

τελεστής

{ }),(/)(*nnnxxnn xsfMinMaxsf

nn

=

http://users.uom.gr/~acg 84

∆οκιμάστε αυτό τώρα: Για έναν τυχαίο θετικό ακέραιο, έστω n, μπορείτε να εκτελέσετε σε κάθε βήμα μία από τις ακόλουθες πράξεις:

(a) να αφαιρέσετε τo 1 (n:=n-1), (b) αν είναι άρτιος να διαιρέσετε διά του 2 (n:=n/2) (c) αν είναι πολλαπλάσιο του 3 να διαιρέσετε διά του 3 (n:=n/3).

To πρόβλημα είναι το εξής: ∆οθέντος ενός τυχαίου φυσικού αριθμού n, πόσο είναι το ελάχιστο πλήθος επαναλήψεων που απαιτούνται, ώστε εκτελώντας σε κάθε επανάληψη μία από τις παραπάνω πράξεις, να φτάσετε στην μονάδα;

http://users.uom.gr/~acg 85

∆είτε πώς γίνεται:

Για n=1, έχουμε: 0 επαναλήψεις. Για n=2, έχουμε: 2/2=1 ή 2-1=1, άρα μία επανάληψη. Για n=3, έχουμε: 3-1=2 και 2/2 = 1 (2 επαναλήψεις) αλλά μπορούμε καλύτερα: 3/3=1 (μία επανάληψη). Γενικά:

Έστω )(nf x = το πλήθος των επαναλήψεων όταν στον n-οστό αριθμό εκτελώ τον υπολογισμό τύπου x ( x = a, b, c). Σημειώστε, ότι για οικονομία, ο αριθμός παριστάνει και το στάδιο

Τότε: )(nf x = (.)1 *xf+ όπου (.)*f είναι το βέλτιστο πλήθος μέχρι το

τέλος, εφόσον πάρω την απόφαση να εφαρμόσω την πράξη τύπου x στον αριθμό n.

Οπότε: (.)][min1)( **xx

fnf += , όπου )(* nf είναι το βέλτιστο πλήθος επαναλήψεων (ελάχιστο) ώστε ο αριθμός n (του σταδίου n) να εκφυλιστεί σε μονάδα.

http://users.uom.gr/~acg 86

∆είτε εφαρμογή για n=10 Εξ, ορισμού : 0)1(* =f

101)]2/2(),12(min[1)2( *** =+=−+= ba fff 1]0,1min[1)]1(),2(min[1)]3/3(),13(min[1)3( ***** =+=+=−+= fffff ca 2]1,1min[1)]2(),3(min[1)]2/4(),14(min[1)4( ***** =+=+=−+= fffff ba

321)]4([1)]15(min[1)5( *** =+=+=−+= fff a 2]1,1,3min[1)]2(),3(),5(min[1)]3/6(),2/6(),16(min[1)6( ******* =+=+=−+= fffffff cba

321)]6([1)]17(min[1)7( *** =+=+=−+= fff a 3]2,3min[1)]4(),7(min[1)]2/8(),18(min[1)8( ***** =+=+=−+= fffff ba 2]1,3min[1)]3(),8(min[1)]3/9(),19(min[1)9( ***** =+=+=−+= fffff ca

3]3,2min[1)]5(),9(min[1)]2/10(),110(min[1)10( ***** =+=+=−+= fffff ba

http://users.uom.gr/~acg 87

Εφαρμογή για n=10 (συνέχεια)

∆ηλαδή: για να εκφυλιστεί το 10 σε μονάδα χρειάζομαι 3 επαναλήψεις:

1) Αφαιρώ πρώτα την μονάδα και πάω στο )9(*f 3]3,2min[1)]5(),9(min[1)]2/10(),110(min[1)10( ***** =+=+=−+= fffff ba

2) Στη συνέχεια, διαιρώ δια του 3 και πάω στο )3(*f 2]1,3min[1)]3(),8(min[1)]3/9(),19(min[1)9( ***** =+=+=−+= fffff ca

3) Τέλος, διαιρώ πάλι με το 3 και πάω στο )1(*f 1]0,1min[1)]1(),2(min[1)]3/3(),13(min[1)3( ***** =+=+=−+= fffff ca

Τέλος διαδικασίας.

http://users.uom.gr/~acg 88

Παράδειγμα 1 (resource allocation):

Μια επιχείρηση διατηρεί τρία υποκαταστήματα σε διαφορετικές

πόλεις. Έχει παραλάβει και θέλει να διανείμει εμπορεύματα από πέντε εμπορευματοκιβώτια. Η διοίκηση ενδιαφέρεται να

προσδιορίσει τον άριστο τρόπο με τον οποίο θα κατανείμει τα πέντε

εμπορευματοκιβώτια στα τρία υποκαταστήματα, ώστε να

μεγιστοποιήσει το συνολικό προσδοκώμενο κέρδος της. Το

περιεχόμενο ενός κιβωτίου δεν μπορεί να διαμοιραστεί μεταξύ των

υποκαταστημάτων. Στον παρακάτω πίνακα δίνεται το

προσδοκώμενο κέρδος (χ.μ.) κάθε υποκαταστήματος με βάση το

πλήθος κιβωτίων που εκχωρούνται σ’ αυτό.

http://users.uom.gr/~acg 89

∆εδομένα σχετικά με την απόδοση των καταστημάτων Προσδοκώμενο κέρδος (χ.μ)

Υποκατάστημα

Κιβώτια 1ο 2ο 3ο

0 0 0 0

1 6 10 8

2 14 20 12

3 18 22 22

4 24 22 24

5 26 22 24

Ποιο είναι το πρόβλημα??

http://users.uom.gr/~acg 90

∆εδομένα σχετικά με την απόδοση των καταστημάτων Προσοχή: Ο πίνακας δεδομένων μπορεί να δίνεται και ανάστροφα αλλά

αυτό δεν επηρεάζει τη διαδικασία επίλυσης

Προσδοκώμενο κέρδος (χ.μ.) Κιβώτια

Υποκατάστημα 0 1 2 3 4 5

1o 0 6 14 18 24 26

2o 0 10 20 22 22 22

3o 0 8 12 22 24 24

http://users.uom.gr/~acg 91

Συμβολισμοί και στοιχεία του παραδείγματος 1

Οπισθοδρομική επίλυση

Στάδια: τα καταστήματα (n=1, 2, 3)

Μεταβλητή κατάστασης: sn, το πλήθος των κιβωτίων που είναι

διαθέσιμα στο στάδιο n, μέχρι το τέλος (οπισθοδρομική).

Μεταβλητή απόφασης: xn ο αριθμός των κιβωτίων που

παραδίδονται στο κατάστημα n, n=1,2,3.

Προσδοκώμενο κέρδος: pn(xn), από την εκχώρηση xn κιβωτίων στο

υποκατάστημα n.

Στόχος: να εντοπίσουμε το άριστο πλήθος κιβωτίων για κάθε

κατάστημα (xn*) ώστε να μεγιστοποιείται το συνολικό κέρδος.

http://users.uom.gr/~acg 92

Επίλυση παραδείγματος 1, οπισθοδρομικά (1)

Αναλυτικά, ο στόχος είναι:

Να προσδιοριστούν οι άριστες τιμές των x1, x2, x3 ώστε:

∑=

=3

1)( P

nnn xpMax

με περιορισμούς:

∑=

≤3

1

5n

nx

και xn ≥ 0 , ακέραιοι

Η (οπισθοδρομική) αναδρομική σχέση του προβλήματος είναι:

{ })()(max)( *1,...,1,0

*nnnnnsxnn xsfxpsf

nn

−+= +=

∆ηλαδή: το μέγιστο κέρδος που προκύπτει, όταν από το n-οστό κατάστημα μέχρι το τελευταίο, διαθέτω προς κατανομή sn κιβώτια.

http://users.uom.gr/~acg 93

Επίλυση παραδείγματος 1, οπισθοδρομικά (2) Στάδιο n=3 - Οριακή συνθήκη

s3 (κατάσταση)

)( 3*

3 sf (βέλτιστη τιμή)

*3x

(βέλτιστη απόφαση) 0 0 0

1 8 1

2 12 2

3 22 3

4 24 4

5 24 4 ή 5

http://users.uom.gr/~acg 94

Επίλυση παραδείγματος 1,οπισθοδρομικά (3) Στάδιο n=2

http://users.uom.gr/~acg 95

Επίλυση παραδείγματος 1, οπισθοδρομικά (4), Στάδιο n=1

Προσοχή: s1 = 5 (μόνο ??)

Μέγιστο προσδοκώμενο κέρδος

Άριστη απόφαση για n=1

http://users.uom.gr/~acg 96

Εύρεση της άριστης λύσης (οπισθοδρομικά)

Μέγιστο αναμενόμενο κέρδος = 42)5(*1 =f

Εναλλακτική άριστη λύση 1η :

n=1 για s1 = 5 0*1 =x

n=2 για s2 = 5 - 0 = 5 2*2 =x

n=3 για s3 = 5 - 2 = 3 3*3 =x

Εναλλακτική άριστη λύση 2η :

n=1 για s1 = 5 2*1 =x

n=2 για s2 = 5 - 2 = 3 2*2 =x

n=3 για s3 = 3 - 2 = 1 1*3 =x

Page 7: (DP) Ιστορικά To ( ¾ ={ 1953 Θ 7, Δήusers.uom.gr/~acg/Courses/QA2/material/Ch10slides-miniatures.pdf · Ιστορικά στοιχεία ... ÆΑπό τον κόμβο

http://users.uom.gr/~acg 97

Συμβολισμοί και στοιχεία του παραδείγματος 1

Προδρομική επίλυση

Στάδια: τα καταστήματα (n=1, 2, 3)

Μεταβλητή κατάστασης: sn, Το πλήθος των κιβωτίων που έχουν

τοποθετηθεί από την αρχή μέχρι το στάδιο n (προδρομική).

Μεταβλητή απόφασης: xn ο αριθμός των κιβωτίων που

παραδίδονται στο κατάστημα n, n=1,2,3.

Προσδοκώμενο κέρδος: pn(xn), από την εκχώρηση xn κιβωτίων στο

υποκατάστημα n.

Στόχος: να εντοπίσουμε το άριστο πλήθος κιβωτίων για κάθε

κατάστημα (xn*) ώστε να μεγιστοποιείται το συνολικό κέρδος.

http://users.uom.gr/~acg 98

Επίλυση παραδείγματος 1, προδρομικά (1)

Αναλυτικά, ο στόχος είναι: Να προσδιοριστούν οι άριστες τιμές των x1, x2, x3 ώστε:

∑=

=3

1

)( Pn

nn xpMax

με περιορισμούς:

∑=

≤3

1

5n

nx και xn ≥ 0 , ακέραιοι

Η (προδρομική) αναδρομική σχέση του προβλήματος είναι:

{ })()(max)( *1,...,1,0

*nnnnnsxnn xsfxpsf

nn

−+= −=

∆ηλαδή: το μέγιστο κέρδος που προκύπτει, όταν από το πρώτο κατάστημα μέχρι το n-οστό, έχω διαθέσει sn κιβώτια

http://users.uom.gr/~acg 99

Επίλυση παραδείγματος 1, προδρομικά (2) Στάδιο n=1 - Οριακή συνθήκη

s1

(κατάσταση) )( 1

*1 sf

(βέλτιστη τιμή)

*1x

(βέλτιστη απόφαση) 0 0 0

1 6 1

2 14 2

3 18 3

4 24 4

5 26 5

http://users.uom.gr/~acg 100

Επίλυση παραδείγματος 1, προδρομικά (3) Στάδιο n=2

f2(s2,x2) = p2(x2) + f1*(s2-x2)

f2*(s2)

x2*

s2 x2 0 1 2 3 4 5 0 0 - - - - - 0 0 1 0+6=6 10+0=10 - - - - 10 1 2 0+14=14 10+6=16 20+0=20 - - - 20 2 3 0+18=18 10+14=24 20+6=26 22+0=22 - - 26 2 4 0+24=24 10+18=28 20+14=34 22+6=28 22+0=22 - 34 2 5 0+26=26 10+24=34 20+18=38 22+14=36 22+6=28 22+0=22 38 2

http://users.uom.gr/~acg 101

Επίλυση παραδείγματος 1,προδρομικά (4) Στάδιο n=3

f3(s3,x3) = p3(x3) + f2*(s3-x3)

f3*(s3)

x3*

s3 x3 0 1 2 3 4 5 5 0+38=38 8+34=42 12+26=38 22+20=42 24+10=34 24+0=24 42 1 ή 3

Άριστη απόφαση για n=3

Προσοχή: s3 = 5 (μόνο ??) Άριστη τιμή

http://users.uom.gr/~acg 102

Εύρεση της άριστης λύσης (προδρομικά)

Μέγιστο αναμενόμενο κέρδος = 42)5(*3 =f

Άριστη λύση 1η :

n=3 για s3 = 5 3*3 =x

n=2 για s2 = 5 - 3 = 2 2*2 =x

n=1 για s1 = 2 - 2 = 0 0*1 =x

Άριστη λύση 2η :

n=3 για s3 = 5 1*3 =x

n=2 για s2 = 5 - 1 = 4 2*2 =x

n=1 για s1 = 4 - 2 = 2 2*1 =x

http://users.uom.gr/~acg 103

Παράδειγμα 2 (reliability):

Tο σύστημα ελέγχου της τροχιάς ενός δορυφόρου ρυθμίζεται από μία

συστοιχία τριών κυκλωμάτων συλλογής και επεξεργασίας δεδομένων.

Όταν ένα από τα τρία παρουσιάσει βλάβη, τα υπόλοιπα είναι ικανά

(ακόμα και αν παραμείνει μόνο ένα σε λειτουργία) να διατηρήσουν το

δορυφόρο σε τροχιά.

Αν όμως και τα τρία πάψουν να λειτουργούν, τότε το σύστημα

υφίσταται ολική πτώση με καταστροφικές συνέπειες για το δορυφόρο.

Η ενέργεια που είναι απαραίτητη για τη απρόσκοπτη λειτουργία των

τριών κυκλωμάτων συλλέγεται από φωτοβολταϊκά στοιχεία (φ.σ) τα

οποία μπορούν να είναι συνολικά το πολύ πέντε.

http://users.uom.gr/~acg 104

∆εδομένα σχετικά με την αξιοπιστία των κυκλωμάτων Πιθανότητα βλάβης

Κύκλωμα

Πλήθος φ.σ. A B Γ 0 1.00 1.00 1.001 0.50 0.60 0.402 0.15 0.20 0.253 0.04 0.10 0.104 0.02 0.05 0.055 0.01 0.02 0.01

Ποιο είναι το πρόβλημα??

http://users.uom.gr/~acg 105

∆εδομένα σχετικά με την αξιοπιστία των κυκλωμάτων Ανάστροφη μορφή των δεδομένων

Πιθανότητα βλάβης Πλήθος φ.σ. Κύκλωμα 0 1 2 3 4 5

A 1.00 0.50 0.15 0.04 0.02 0.01 B 1.00 0.60 0.20 0.10 0.05 0.02 Γ 1.00 0.40 0.25 0.10 0.05 0.01

Ποιο είναι το πρόβλημα??

http://users.uom.gr/~acg 106

Συμβολισμοί και στοιχεία του παραδείγματος 2

Στάδια: τα κυκλώματα (n=Α, Β, Γ)

Καταστάσεις: sn το πλήθος των φωτοβολταϊκών στοιχείων

που είναι διαθέσιμα για εγκατάσταση, από το στάδιο n μέχρι το

τέλος (οπισθοδρομική επίλυση).

Μεταβλητές απόφασης: xn ο αριθμός φ.σ. που εγκαθίστανται

στο κύκλωμα n, n=Α,Β,Γ.

Πιθανότητα βλάβης: pn(xn), η πιθανότητα ολικής βλάβης του

κυκλώματος n όταν εκχωρούνται xn φ.σ. σ' αυτό.

Στόχος: Να ελαχιστοποιήσουμε τη συνολική πιθανότητα βλάβης

εντοπίζοντας το άριστο πλήθος φ.σ. (xn*) για κάθε κύκλωμα

http://users.uom.gr/~acg 107

Ο στόχος είναι: Να προσδιοριστούν οι άριστες τιμές των xΑ, xΒ, xΓ ώστε:

, ,

P ( )n nn

Min p x=Α Β Γ

= ∏

με περιορισμούς:

, ,

5nn

x=Α Β Γ

≤∑ και xn ≥ 0, ακέραιοι

Η αναδρομική σχέση του προβλήματος είναι:

{ })()(min)( *1,...,1,0

*nnnnnsxnn xsfxpsf

nn

−×= +=

∆ηλαδή: η ελάχιστη πιθανότητα ολικής βλάβης που προκύπτει, όταν από το n-οστό μέχρι το τελευταίο κύκλωμα, διαθέτω προς κατανομή sn φωτοβολταϊκά στοιχεία.

http://users.uom.gr/~acg 108

Επίλυση παραδείγματος 2

Στάδιο n=Γ – Οριακή συνθήκη

sΓ (κατάσταση)

* ( )f sΓ Γ (βέλτιστη τιμή)

*xΓ (βέλτιστη απόφαση)

0 1.00 0

1 0.40 1

2 0.25 2

3 0.10 3

4 0.05 4

5 0.01 5

http://users.uom.gr/~acg 109

Στάδιο n=Β

fΒ(sΒ,xΒ) = pΒ(xΒ) × fΓ*(sΒ-xΒ)

fΒ*(sΒ) xΒ

*

sΒ xΒ 0 1 2 3 4 5 0 1.00 - - - - - 1 0

1 0.40 0.6*1=0.60 - - - - 0.4 0

2 0.25 0.6*0.4=0.24 0.2*1=0.2 - - - 0.2 2

3 0.10 0.6*0.25=0.15 0.2*0.4=0.08 0.1*1=0.1 - - 0.08 2

4 0.05 0.6*0.1=0.06 0.2*0.25=0.05 0.1*0.4=0.04 0.05*1=0.05 - 0.04 3

5 0.01 0.6*0.05= 0.03

0.2*0.1= 0.02

0.1*0.25= 0.025

0.05*0.4= 0.02

0.02*1= 0.02

0.01 0

http://users.uom.gr/~acg 110

Στάδιο n=Α

fΑ(sΑ,xΑ) = pΑ(xΑ) × fΒ*(sΑ-xΑ)

fΑ*(sΑ)

xΑ* sΑ xΑ 0 1 2 3 4 5

5 1*0.01

=0.01

0.5*0.04

=0.02

0.15*0.08

=0.012

0.04*0.2

=0.008

0.02*0.4

=0.008

0.01*1

=0.01

0.008 3ή 4

http://users.uom.gr/~acg 111

Ελάχιστη πιθανότητα συνολικής πτώσης = *(5) 0.008fΑ =

Άριστη λύση 1η :

n=Α για sΑ = 5 * 3xΑ = n=Β για sΒ = 5 - 3 = 2 * 2xΒ = n=Γ για sΓ = 2 - 2 = 0 * 0xΓ =

Άριστη λύση 2η :

n=Α για sΑ = 5 * 4xΑ = n=Β για sΒ = 5 - 4 = 1 * 0xΒ = n=Γ για sΓ = 1 - 0 = 1 * 1xΓ =

http://users.uom.gr/~acg 112

Παράδειγμα 3 (resource allocation – personnel, additional constraints)

Μία αλυσίδα καταστημάτων ήχου και εικόνας προτίθεται να

ενισχύσει με επιπλέον ανθρώπινο δυναμικό τα τρία υποκαταστήματά

της στην περιοχή της Θεσσαλονίκης.

Οι αναμενόμενες πωλήσεις παρουσιάζουν ισχυρή θετική συσχέτιση

με το πλήθος των διαθέσιμων πωλητών. Σε κάθε κατάστημα πρέπει

να εκχωρηθούν τουλάχιστον δύο νέοι πωλητές και η επιχείρηση έχει προσλάβει συνολικά εννέα νέα άτομα (πωλητές).

Στον επόμενο πίνακα παρουσιάζονται οι πωλήσεις (προσδοκώμενος

ετήσιος τζίρος σε χρηματικές μονάδες) ανάλογα με το πλήθος των νέων πωλητών που εκχωρούνται.

Page 8: (DP) Ιστορικά To ( ¾ ={ 1953 Θ 7, Δήusers.uom.gr/~acg/Courses/QA2/material/Ch10slides-miniatures.pdf · Ιστορικά στοιχεία ... ÆΑπό τον κόμβο

http://users.uom.gr/~acg 113

∆εδομένα σχετικά με την απόδοση των πωλητών Ετήσιος Τζίρος

Νέοι Πωλητές

Κατάστημα 2 3 4 5

1ο 60 85 90 100

2ο 105 120 130 150

3ο 120 145 160 175

Ποιο είναι το πρόβλημα??

http://users.uom.gr/~acg 114

Τα δεδομένα ανάστροφα (μην τρομάζετε !) Ετήσιος Τζίρος

Κατάστημα

Νέοι Πωλητές 1ο 2ο 3ο

2 60 105 120

3 85 120 145

4 90 130 160

5 100 150 175

Ποιο είναι το πρόβλημα??

http://users.uom.gr/~acg 115

Συμβολισμοί και στοιχεία του παραδείγματος 3

Στάδια: τα υποκαταστήματα (n=1, 2, 3)

Καταστάσεις: sn το πλήθος των πωλητών που είναι

διαθέσιμοι για εκχώρηση, από το στάδιο n μέχρι το τέλος.

Μεταβλητές απόφασης: xn ο αριθμός των πωλητών που

εκχωρούνται στο κατάστημα n, n=1,2,3.

Προβλεπόμενος τζίρος: pn(xn), ο προβλεπόμενος τζίρος από

την εκχώρηση xn πωλητών στο κατάστημα.

Στόχος : Να μεγιστοποιήσουμε το συνολικό τζίρο εντοπίζοντας

το άριστο πλήθος νέων πωλητών (xn*) για κάθε κατάστημα

http://users.uom.gr/~acg 116

Ο στόχος είναι: Να προσδιοριστούν οι άριστες τιμές των x1, x2, x3 ώστε:

∑=

=3

1

)( Pn

nn xpMax

με περιορισμούς:

∑=

≤3

1

9n

nx και xn ≥ 2 , ακέραιοι

Η αναδρομική σχέση του προβλήματος είναι:

{ })()(max)( *12

*nnnnnsxnn xsfxpsf

nn

−+= +≤≤

∆ηλαδή: ο μέγιστος προσδοκώμενος τζίρος που προκύπτει, όταν από το n-οστό μέχρι το τελευταίο κατάστημα, διαθέτω προς εκχώρηση sn

πωλητές.

http://users.uom.gr/~acg 117

Επίλυση παραδείγματος 3

Στάδιο n=3 – Οριακή συνθήκη

s3 (κατάσταση)

)( 3*

3 sf (βέλτιστη τιμή)

*3x

(βέλτιστη απόφαση) 2 120 2

3 145 3

4 160 4

5 175 5

Από 2 έως 5 (γιατί ??)

http://users.uom.gr/~acg 118

Στάδιο n=2

Από 4 έως 7 ??

http://users.uom.gr/~acg 119

Στάδιο n=1

Μέγιστος προσδοκώμενος τζίρος

http://users.uom.gr/~acg 120

Μέγιστος προσδοκώμενος τζίρος = 350)9(*1 =f

Άριστη λύση 1η :

n=1 για s1 = 9 3*1 =x

n=2 για s2 = 9 - 3 = 6 3*2 =x

n=3 για s3 = 6 - 3 = 3 3*3 =x

Άριστη λύση 2η :

n=1 για s1 = 9 3*1 =x

n=2 για s2 = 9 - 3 = 6 2*2 =x

n=3 για s3 = 6 - 2 = 4 4*3 =x

http://users.uom.gr/~acg 121

Παράδειγμα 4 (personnel allocation)

Μία διαφημιστική εταιρεία έχει αναλάβει τη διεξαγωγή μίας έρευνας

αγοράς με προσωπικές συνεντεύξεις. Η έρευνα πραγματοποιείται

ταυτοχρόνως σε τρεις κομβικές περιοχές της πόλης (Α, Β, Γ).

Επειδή οι προθεσμίες είναι πιεστικές, αποφασίστηκε η διάθεση

ακόμα πέντε (5) ομάδων λήψης συνεντεύξεων στις τρεις περιοχές, για να βοηθήσουν στη βελτίωση της κατάστασης.

Σε κάθε μία από τις περιοχές αυτές μπορούν να διατεθούν μέχρι τρεις το πολύ επιπλέον ομάδες. Έχει εκτιμηθεί ότι το αναμενόμενο

κόστος λήψης των απαιτούμενων συνεντεύξεων σε κάθε περιοχή, μετά την τοποθέτηση των επιπλέον ομάδων, διαμορφώνεται

σύμφωνα με τον επόμενο πίνακα (χρηματικές μονάδες).

http://users.uom.gr/~acg 122

∆εδομένα σχετικά με τις συνεντεύξεις Αναμενόμενο κόστος λήψης των συνεντεύξεων ανά τοποθεσία

Περιοχή Πλήθος επιπλέον ομάδων

Α

Β Γ

0 100 150 2001 100 140 1802 92 132 1753 85 127 172

Ποιο είναι το πρόβλημα??

http://users.uom.gr/~acg 123

Συμβολισμοί και στοιχεία του παραδείγματος 4

Στάδια: οι περιοχές λήψης συνεντεύξεων (n=Α, Β, Γ)

Καταστάσεις: sn το πλήθος των επιπλέον ομάδων που είναι

διαθέσιμες για εκχώρηση, από το στάδιο n (n=Α,Β,Γ) μέχρι το

τέλος.

Μεταβλητές απόφασης: xn ο αριθμός των ομάδων που

εκχωρούνται στην περιοχή n, n=Α,Β,Γ.

Αναμενόμενο κόστος: cn(xn), το αναμενόμενο κόστος από την

εκχώρηση xn ομάδων στην περιοχή n.

Στόχος: Να ελαχιστοποιήσουμε το συνολικό κόστος,

εντοπίζοντας το άριστο πλήθος ομάδων (xn*) για κάθε τοποθεσία

http://users.uom.gr/~acg 124

Ο στόχος είναι: Να προσδιοριστούν οι άριστες τιμές των xΑ, xΒ, xΓ ώστε:

, ,

C ( )n nn

Min c x=Α Β Γ

= ∑

με περιορισμούς:

, ,

5nn

x=Α Β Γ

≤∑ και 0 ≤ xn ≤ 3 , ακέραιοι

Η αναδρομική σχέση του προβλήματος είναι:

{ })()(min)( *1},3min{0

*nnnnnsxnn xsfxcsf

nn

−+= +≤≤

∆ηλαδή: το ελάχιστο κόστος που προκύπτει, όταν από τη n-οστή μέχρι την τελευταία περιοχή, διαθέτω προς εκχώρηση sn ομάδες.

http://users.uom.gr/~acg 125

Επίλυση παραδείγματος 4

Στάδιο n=Γ – Οριακή συνθήκη

SΓ (κατάσταση)

* ( )f sΓ Γ (βέλτιστη τιμή)

*xΓ (βέλτιστη απόφαση)

0 200 0

1 180 1

2 175 2

3 172 3 4 172 3 5 172 3

http://users.uom.gr/~acg 126

Στάδιο n=2

n=Β

FΒ(sΒ,xΒ) = cΒ(xΒ) + *fΓ (sΒ-xΒ)

sΒ 0

1

2

3

*( )f sΒ Β

*xΒ

2 150+175=325 140+180=320 132+200=332 ----- 320 1

3 150+172=322 140+175=315 132+180=312 127+200=327 312 2

4 150+172=322 140+172=312 132+175=307 127+180=307 307 2 ή 3

5 150+172=322 140+172=312 132+172=304 127+175=302 302 3

http://users.uom.gr/~acg 127

Στάδιο n=Α

n=Α fΑ(sΑ,xΑ) = cΑ(xΑ) +

*fΒ (sΑ-xΑ)

0

1

2

3

*( )f sΑ Α

*xΑ

5 100+302=402 100+307=407 92+312=404 85+320=405 402 0

Ελάχιστο προσδοκώμενο κόστος

http://users.uom.gr/~acg 128

Ελάχιστο αναμενόμενο κόστος = *(5) 402fΑ =

Άριστη λύση :

n=Α για sΑ = 5 * 0xΑ = n=Β για sΒ = 5- 0= 5 * 3xΒ = n=Γ για sΓ = 5 - 3 = 2 * 2xΓ =

Page 9: (DP) Ιστορικά To ( ¾ ={ 1953 Θ 7, Δήusers.uom.gr/~acg/Courses/QA2/material/Ch10slides-miniatures.pdf · Ιστορικά στοιχεία ... ÆΑπό τον κόμβο

http://users.uom.gr/~acg 129

Παράδειγμα 5 (inventory control)

Μία βιοτεχνία παράγει ένα προϊόν και θέλει να προγραμματίσει την

παραγωγή της για το επόμενο τρίμηνο (μήνες = n =1,2,3). Η

παράδοση των προϊόντων πρέπει να γίνεται έγκαιρα (μέχρι το τέλος

του μήνα ζήτησης). Η επιχείρηση, έχει τη δυνατότητα να διατηρεί

αποθέματα για την ικανοποίηση της ζήτησης. Τα δεδομένα (που

ακολουθούν) αφορούν μηνιαία ζήτηση (dn) του μηνός n, το μοναδιαίο κόστος κατασκευής ενός τεμαχίου (cn) τον μήνα n και το

κόστος διατήρησης ενός τεμαχίου σε απόθεμα κατά τον μήνα n

(hn). Σημειώνεται, ότι η μηνιαία παραγωγική δυναμικότητα δεν

ξεπερνά τα 7 τεμάχια και η χωρητικότητα της αποθήκης δεν

ξεπερνά τα 5 τεμάχια.

http://users.uom.gr/~acg 130

∆εδομένα σχετικά με τη παραγωγή και ζήτηση

Μήνας 1ος 2ος 3ος

Ζήτηση (τμχ, dn) 5 4 3Μοναδιαίο Κόστος (χ.μ., cn) 53 56 52

Κόστος διατήρησης τεμαχίου σε απόθεμα (χ.μ., hn)

2 3 2

Παραγωγική δυναμικότητα (τμχ) 7 7 7Χωρητικότητα αποθήκης (τμχ) 5 5 5

Ποιο είναι το πρόβλημα??

http://users.uom.gr/~acg 131

Το γραμμικό μοντέλο του παραδείγματος 5

Min z= 53x1+ 56x2 + 52x3 + 2I1 + 3I2 + 2I3

μ.π. 1) x1 = 5 + I1 δηλ. (x1 – I1= 5) 2) x2 + I1 = 4 + I2 δηλ. (x2 + I1 – Ι2 = 4) 3) x3 + I2 = 3 + I3 δηλ. (x3 + I2 – Ι3 = 3) 4) x1 ≤ 7 5) x2 ≤ 7 6) x3 ≤ 7 7) I1 ≤ 5 8) I2 ≤ 5 9) I3 ≤ 5 10) Ι3 ≥ ? xn και In ≥ 0, (τυπικά ακέραιοι)

Ακολουθεί η επίλυση για I3 = 0, 1, 2, 3, 4, 5 να γίνει ΕΠΑΛΗΘΕΥΣΗ !

http://users.uom.gr/~acg 132

Η επίλυση με το WinQSB για Ι3 αδιάφορο

http://users.uom.gr/~acg 133

Η επίλυση με το WinQSB για Ι3 ≥ 1

http://users.uom.gr/~acg 134

Η επίλυση με το WinQSB για Ι3 ≥ 2

http://users.uom.gr/~acg 135

Η επίλυση με το WinQSB για Ι3 ≥ 3

http://users.uom.gr/~acg 136

Η επίλυση με το WinQSB για Ι3 ≥ 4

http://users.uom.gr/~acg 137

Η επίλυση με το WinQSB για Ι3 ≥ 5

http://users.uom.gr/~acg 138

Επίλυση με ∆υναμικό προγραμματισμό

Συμβολισμοί και στοιχεία του παραδείγματος 5

Στάδια: οι μήνες (n=1, 2, 3) Καταστάσεις: Ιn , το πιθανό απόθεμα στο τέλος του σταδίου n Μεταβλητές απόφασης: xn ο αριθμός των προϊόντων που θα παραχθούν το μήνα n, n=1,2,3.

Αναμενόμενο κόστος: το κόστος προκύπτει από το cn×xn, και από το hn×In. ∆ηλαδή: από την παραγωγή xn τεμαχίων το μήνα n και από την παραμονή In τεμαχίων σε απόθεμα στο τέλος του μηνός.

Στόχος: Να ελαχιστοποιηθεί το συνολικό κόστος ικανοποίησης της ζήτησης, εντοπίζοντας το άριστο σχέδιο παραγωγής (xn

*) και διατήρησης αποθεμάτων (In)

http://users.uom.gr/~acg 139

Ο στόχος είναι (αναλυτικά):

Να προσδιοριστούν οι άριστες τιμές των x1, x2, x3 ώστε:

( )∑=

×+×=3

1

z n

nnnn IhxcMin

με περιορισμούς:

0 ≤ xn ≤ 7 , 0 ≤ In ≤ 5 , ακέραιοι

και Ιn-1 + xn = dn + In ??

Η βασική σχέση μετασχηματισμού της κάθε κατάστασης In είναι: Απόθεμα (n-1) + Παραγωγή (n) = Ζήτηση (n) + Απόθεμα (n) ∆ηλαδή: Ιn-1 + xn = dn + In

http://users.uom.gr/~acg 140

Η αναδρομική συνάρτηση (κόστους) Το κόστος για δεδομένη κατάσταση In και απόφαση xn είναι

fn(In, xn) = cn×xn + hn×In + fn-1(In-1)

και η άριστη τιμή θα δίνεται από την ακόλουθη:

fn(In) = min {fn(In, xn)}

με αναδρομική σχέση (προδρομική, για In≤5 και Ιn-1 + xn = dn + In):

{ })(min)( *17

*nnnnnnnnxnn dxIfIhxcIf

n

+−+×+×= −≤

∆ηλαδή: το ελάχιστο κόστος που προκύπτει, όταν στο n-οστό μήνα ολοκληρώνω την παραγωγή αφήνοντας απόθεμα Ιn τεμάχια.

*

*

http://users.uom.gr/~acg 141

Επίλυση παραδείγματος 5

Στάδιο n=1 – Οριακή συνθήκη

για Ι1≤5 και για Ι0 + x1 = d1 + I1 δηλαδή: x1 = 5 + I1

για x1<5 θα πρέπει I1 < 0, που δεν επιτρέπεται, οπότε εξετάζουμε τις περιπτώσεις όπου x1≥5 που έχουν νόημα (ώστε να είναι I1≥0)

f1(I1=0) = min {c1×x1 + h1×0 + 0} = 53×5 +2×0=265, 5*

1 =x

f1(I1=1) = min {c1×x1 + h1×1 + 0} = 53×6+2×1=320, 6*

1 =x

f1(I1=2) = min {c1×x1 + h1×2 + 0} = 53×7+2×2=375, 7*

1 =x

για I1 ≥ 3 θα πρέπει x1 > 7, που δεν επιτρέπεται, οπότε οι υπόλοιπες περιπτώσεις δεν έχουν νόημα (ώστε να είναι x1≤7)

*

*

*

http://users.uom.gr/~acg 142

Στάδιο n=2 για Ι2≤5 και για Ι1 + x2 = d2 + I2 δηλαδή: I1 + x2 = 4 + Ι2

n=2 f2(Ι2,x2) = c2×x2 + h2×I2 + *1f (I2 – x2 + 4)

x2

I2

0

1

2

3

4

5

6

7

)( 2*

2 If

*2x

0 - - 56*2+3*0+

375=487

56*3+3*0+

320=488

56*4+3*0+

265=489

- - - 487 2

1 - - - 56*3+3*1+

375=546

56*4+3*1+

320=547

56*5+3*1+

265=548

- - 546 3

2 - - - - 56*4+3*2+

375=605

56*5+3*2+

320=606

56*6+3*2+

265=607

- 605 4

3 - - - - - 56*5+3*3+

375=664

56*6+3*3+

320=665

56*7+3*3+

265=666 664 5

4 - - - - - - 56*6+3*4+

375=723

56*7+3*4+

320=724 723 6

5 - - - - - - 56*7+3*5+

375=782 782 7

http://users.uom.gr/~acg 143

Στάδιο n=3

για Ι3≤5 και για Ι2 + x3 = d3 + I3 δηλαδή: I2 + x3 = 3 + Ι3

n=3 f3(Ι3,x3) = c3×x3 + h3×I3 + *2f (I3 - x3 + 3)

x3

I3

0

1

2

3

4

5

6

7

)( 3*

3 If

*3x

0 52*0+2*0

+664=664

52*1+2*0

+605=657

52*2+2*0

+546=650

52*3+2*0+

487=643

- - - - 643 3

1 52*0+2*1

+723=725

52*1+2*1

+664=718

52*2+2*1

+605=711

52*3+2*1+

546=704

52*4+2*1+

487=697

- - - 697 4

2 52*0+2*2

+782=786

52*1+2*2

+723=779

52*2+2*2

+664=772

52*3+2*2+

605=765

52*4+2*2+

546=758

52*5+2*2+

487=751

- - 751 5

3 - 52*1+2*3

+782=840

52*2+2*3

+723=833

52*3+2*3+

664=826

52*4+2*3+

605=819

52*5+2*3+

546=812

52*6+2*3+

487=805

- 805 6

4 - - 52*2+2*4

+782=894

52*3+2*4+

723=887

52*4+2*4+

664=880

52*5+2*4+

605=873

52*6+2*4+

546=866

52*7+2*4+

487=859 859 7

5 - - - 52*3+2*5+

782=948

52*4+2*5+

723=941

52*5+2*5+

664=934

52*6+2*5+

605=937

52*7+2*5+

546=920 920 7

http://users.uom.gr/~acg 144

Ελάχιστο αναμενόμενο κόστος

Προκύπτει για Ι3 = 0 και 3*3 =x και είναι ίσο με: 643)0(*

3 =f

Άριστη λύση :

Στάδιο Απόθεμα σταδίου Παραγωγήn=3 προκύπτει για I3 = 0 3*

3 =x n=2 για I2 = I3 -

*3x + d3 = 0 – 3 + 3 = 0 2*

2 =x n=1 για I1 = I2 -

*3x + d2 = 0 – 2 + 4 = 2 7*

1 =x

Σχόλια:

Χρειάζονται όλες οι σειρές του σταδίου n=3 ;

Τελικά, υπάρχει περίπτωση να είναι το Ι3 διάφορο του μηδενός;

Αν θέλουμε να έχουμε τελικό απόθεμα > 0 τι πρέπει να κάνουμε;

Page 10: (DP) Ιστορικά To ( ¾ ={ 1953 Θ 7, Δήusers.uom.gr/~acg/Courses/QA2/material/Ch10slides-miniatures.pdf · Ιστορικά στοιχεία ... ÆΑπό τον κόμβο

http://users.uom.gr/~acg 145

Παράδειγμα 6 Το Enterprise ετοιμάζεται για να επιστρέψει στη Γη μετά από ένα μεγάλο και επικίνδυνο ταξίδι στην περιοχή των Klingons. Για να γυρίσει πίσω με ασφάλεια, πρέπει οπωσδήποτε να λειτουργούν ομαλά και τα τρία σημαντικότερα τμήματα του διαστημόπλοιου: (1) ο κινητήρας αντιβαρύτητας, (2) το σύστημα συλλογής ηλιακής ενέργειας και (3) η μηχανή του καφέ. Τρεις τεχνικοί θα ασχοληθούν με αυτά τα τρία τμήματα του σκάφους ώστε να γίνει η κατάλληλη συντήρηση πριν την αναχώρηση. Ο ακόλουθος πίνακας δίνει την πιθανότητα κάθε τμήμα να λειτουργήσει ομαλά, ανάλογα με το πλήθος των τεχνικών που θα ασχοληθεί με τη συντήρησή του.

Πλήθος Τεχνικών

Εκτίμηση πιθανότητας ομαλής λειτουργίας 1. Κινητήρας αντιβαρύτητας

2. Ηλιακή ενέργεια

3. Μηχανή του καφέ

0 0,30 0,40 0,45 1 0,55 0,50 0,55 2 0,65 0,70 0,80 3 0,95 0,90 0,98

http://users.uom.gr/~acg 146

Συμβολισμοί και στοιχεία του παραδείγματος 6

Στάδια: τα τρία σημαντικά συστήματα (n=1, 2, 3)

Καταστάσεις: sn το πλήθος των τεχνικών που είναι διαθέσιμοι, από το

στάδιο n μέχρι το τέλος (οπισθοδρομική επίλυση).

Μεταβλητές απόφασης: xn το πλήθος των τεχνικών που εκχωρούνται

στο σύστημα n, n=1,2,3.

Πιθανότητα λειτουργίας: pn(xn), η πιθανότητα να λειτουργήσει ομαλά το

σύστημα n όταν εκχωρούνται xn τεχνικοί σε αυτό.

Στόχος: Να μεγιστοποιήσουμε τη συνολική πιθανότητα ομαλής λειτουργίας εντοπίζοντας το άριστο πλήθος τεχνικών (xn

*) για κάθε σύστημα

http://users.uom.gr/~acg 147

Ο στόχος είναι: Να προσδιοριστούν οι άριστες τιμές των x1, x2, x3 ώστε:

∏=

=3

1

)( Pn

nn xpMax

με περιορισμούς:

∑=

≤3

1

3n

nx και xn ≥ 0, ακέραιοι

Η αναδρομική σχέση του προβλήματος είναι:

{ })()(max)( *1,...,1,0

*nnnnnsxnn xsfxpsf

nn

−×= +=

∆ηλαδή: η μέγιστη πιθανότητα ομαλής λειτουργίας που προκύπτει, όταν από το n-οστό μέχρι το τελευταίο σύστημα, διαθέτω προς κατανομή sn τεχνικούς.

http://users.uom.gr/~acg 148

Επίλυση παραδείγματος 6

Στάδιο n=3 – Οριακή συνθήκη

s3 (κατάσταση)

)( 3*

3 sf (βέλτιστη τιμή)

*3x

(βέλτιστη απόφαση) 0 0.45 0

1 0.55 1

2 0.80 2

3 0.98 3

http://users.uom.gr/~acg 149

Στάδιο n=2

f2(s2,x2) = p2(x2) × f3*(s2-x2)

f2*(s2)

x2*

s2 x2 0 1 2 3 0 0.4*0.45=0.18 - - - 0.18 0

1 0.4*0.55=0.22 0.5*0.45=0.225 - - 0.225 1

2 0.4*0.8=0.32 0.5*0.55=0.275 0.7*0.45=0.315 - 0.32 0

3 0.4*0.98=0.392 0.5*0.8=0.4 0.7*0.55=0.385 0.9*0.45=0.405 0.405 3

http://users.uom.gr/~acg 150

Στάδιο n=1

f1(s1,x1) = p1(x1) × f2*(s1-x1)

f1*(s1)

x1*

s1 x1 0 1 2 3 3 0.3*0.405=

0.1215

0.55*0.32=

0.176

0.65*0.225=

=0.14625

0.95*0.18=

0.171

0.176 1

http://users.uom.gr/~acg 151

Μέγιστη πιθανότητα ομαλής λειτουργίας = 176.0)3(*1 =f

Άριστη λύση :

n=1 για s1 = 3 1*1 =x

n=2 για s2 = 3 - 1 = 2 0*2 =x

n=3 για s3 = 2 - 0 = 2 2*3 =x

Συμπέρασμα: ∆εν πας πουθενά χωρίς καφέ !

http://users.uom.gr/~acg 152

Παράδειγμα 7 Ένα πολυκατάστημα σχεδιάζει μία διαφημιστική εκστρατεία με μηνύματα σε τέσσερα ΜΜΕ: Ημερήσια Εφημερίδα (ΗΕ), Κυριακάτικη Εφημερίδα (ΚΕ), Ραδιόφωνο (Ρ) και Τηλεόραση (Τ).

Το συνολικό ποσό που θα διατεθεί είναι 800.000 χ.μ. σε ακέραια πολλαπλάσια των 100.000. Ο στόχος είναι η μεγιστοποίηση της συνολικής (αθροιστικής) αποτελεσματικότητας (που εκφράζεται από τους επιμέρους δείκτες κάθε μέσου ενημέρωσης), με βάση το άριστο σχέδιο τοποθέτησης των χ.μ. στα ΜΜΕ.

Από σχετικές έρευνες, εκτιμήθηκαν οι δείκτες απόδοσης ανά 100.000 χ.μ. που διατίθενται σε κάποιο μέσο και τα στοιχεία παρουσιάζονται στον επόμενο πίνακα.

http://users.uom.gr/~acg 153

∆εδομένα σχετικά με την απόδοση των μηνυμάτων

Αναμενόμενος δείκτης απόδοσης Ποσό που διατίθεται (x100.000)

ΜΜΕ 0 1 2 3 4 5 6 7 8 ΗΕ 0 24 37 46 59 72 80 82 82 ΚΕ 0 15 55 70 75 90 95 95 95 Ρ 0 20 30 45 55 60 62 63 63 Τ 0 20 40 55 65 70 70 70 70

1) Ποιο είναι το άριστο σχέδιο της διαφημιστικής εκστρατείας; 2) Αν ο προϋπολογισμός μειωθεί στα 600.000 απαντήστε στο (1) 3) Αν δεν είναι διαθέσιμη η Ημ. Εφ., απαντήστε στα (1) και (2) 4) Αν υποτεθεί ότι σε κάθε διαφημιστικό μέσο πρέπει να διατεθούν

τουλάχιστον 100.000, απαντήστε στα ερωτήματα (1) και (2)