Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεΧλόη Αρβανίτης Τροποποιήθηκε πριν 8 χρόνια
1
1 ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Διαδικασίες Γεννήσεων - Θανάτων Εξισώσεις Ισορροπίας - Ουρές Μ/Μ/1, M/M/1/N Προσομοίωση Ουράς Μ/Μ/1/Ν Βασίλης Μάγκλαρης maglaris@netmode.ntua.gr 23/3/2016
2
ΔΙΑΔΙΚΑΣΙΑ ΓΕΝΝΗΣΕΩΝ - ΘΑΝΑΤΩΝ (Επανάληψη: Birth-Death Process,1/2) Παραδοχές: –Ανεξαρτησία γεννήσεων-θανάτων –Εξέλιξη του πληθυσμού n(t) βασισμένη μόνο στο παρόν (Markov) Σύστημα Διαφορικών εξισώσεων Διαφορών –Κατάσταση ισορροπίας (steady state) –Την χρονική στιγμή t το σύστημα καταλήγει σε πληθυσμό n(t) = n –Μπορεί να έχουν προηγηθεί οι ακόλουθες μεταβάσεις από την χρονική στιγμή t-Δt, Δt 0: Μία άφιξη στο διάστημα Δt, με πιθανότητα λ n-1 Δt αν n>0 Μια αναχώρηση, με πιθανότητα μ n+1 Δt αν υπάρχει η n+1 (σε περίπτωση περιορισμού μέγιστου πληθυσμού K μπορούμε να θεωρήσουμε μ Κ+1 = 0) Τίποτα από τα δύο, με πιθανότητα 1 - (λ n +μ n )Δt αν n>0 ή 1 – λ 0 Δt αν n=0 Η εξίσωση μετάβασης (Chapman - Kolmogorov) προκύπτει από τον τύπο συνολικής πιθανότητας: P n (t) = λ n-1 Δt P n-1 (t-Δt) + μ n+1 Δt P n+1 (t-Δt) + [1- (λ n +μ n )Δt] P n (t-Δt) P 0 (t) = μ 1 Δt P 1 (t-Δt) + (1- λ 0 Δt) P 0 (t-Δt)
3
ΔΙΑΔΙΑΚΑΣΙΑ ΓΕΝΝΗΣΕΩΝ – ΘΑΝΑΤΩΝ (Επανάληψη: Birth-Death Process, 2/2) Στο όριο, Δt dt και για n >1: [P n (t) - P n (t-dt)]/dt = λ n-1 P n-1 (t) + μ n+1 P n+1 (t) – (λ n +μ n )P n (t) ή dP n (t)/dt = λ n-1 P n-1 (t) + μ n+1 P n+1 (t) – (λ n +μ n )P n (t) Σε σταθερή κατάσταση t ∞ (αν υπάρχει) : dP n (t)/dt = 0, P n (t) P n > 0 : Εργοδικές Πιθανότητες που προκύπτουν από τις γραμμικά ανεξάρτητες Εξισώσεις Ισορροπίας (λ n +μ n )P n = λ n-1 P n-1 + μ n+1 P n+1, n>1 λ 0 P 0 = μ 1 P 1 P 0 + P 1 +… + P n +… = 1
6
ΕΞΙΣΩΣΕΙΣ ΙΣΟΡΡΟΠΙΑΣ (Balance Equations) Απείρως επισκέψιμες καταστάσεις n(t) - positive recurrent states: Με μη μηδενικές εργοδικές πιθανότητες P n (t) = P n > 0, n = 0,1, … Ερμηνεία Εξισώσεων Ισορροπίας: #{μεταβάσεων προς την κατάσταση s} = #{μεταβάσεων εκτός της s} (σφαιρική ισορροπία – global balance equations) #{μεταβάσεων s 1 s 2 } = #{μεταβάσεων s 2 s 1 } (τοπική ισορροπία – local balance equations) Λόγω εργοδικότητας : σε μεγάλο χρονικό διάστημα παρατήρησης Τ, με Τ 1 και Τ 2 τους συνολικούς χρόνους παραμονής στις s 1, s 2 : (1)#{μεταβάσεων s 1 s 2 } = T 1 x r 1,2 (2) #{μεταβάσεων s 2 s 1 } = T 2 x r 2,1 Όπου r 1,2 και r 2,1 οι μέσοι ρυθμοί μετάβασης από 1 2 και 2 1 Λόγω ισορροπίας: (1) = (2), r 1,2 x {T 1 /Τ} = r 2,1 x {T 2 /Τ}, ή r 1,2 x P 1 = r 2,1 x P 2
7
ΟΥΡΑ Μ/Μ1/Ν Εξισώσεις Ισορροπίας Συστήματα Μ/Μ/1/Ν με ρυθμούς άφιξης και ρυθμούς εξυπηρέτησης εξαρτώμενους από τον αριθμό των πελατών στο σύστημα (από την παρούσα κατάσταση του συστήματος) (State Dependent M/M/1/Ν Queues) λnλn μnμn Local Balance Equation λ 0 P 0 = μ 1 P 1 λ i-1 P i-1 = μ i P i, i = 1, 2, …N Global Balance Equation (λ i +μ i )P i = λ i-1 P i-1 + μ i+1 P i+1, i = 0, 1,…, N Κανονικοποίηση Εργοδικών Πιθανοτήτων P 0 +…+ P Ν = 1
8
ΟΥΡΑ Μ/Μ/1 (Αφίξεις Poisson, Εκθετικές Εξυπηρετήσεις, Άπειρο Μέγεθος) Σταθεροί μέσοι ρυθμοί αφίξεων (γεννήσεων) λ n = λ, Poisson Σταθεροί μέσοι ρυθμοί εξυπηρέτησης (θανάτων) μ n = μ Εκθετικοί ανεξάρτητοι χρόνοι εξυπηρέτησης s, E(s) = 1/μ Εργοδικές πιθανότητες καταστάσεων P n = (1-ρ)ρ n, n = 0,1,2,… όπου ρ = U = λ/μ < 1 Erlang για ευστάθεια, P 0 = (1-ρ) <1 Στάσιμος & Εργοδικός μέσος όρος πληθυσμού - κατάστασης n(t) E[n(t)] E(n) = ρ/(1-ρ) Νόμος του Little: E(T) = E(n)/γ = E(n)/λ (Εργοδικό σύστημα χωρίς απώλειες, λ = γ) E(T) = (1/μ) / (1-ρ)
9
ΟΥΡΑ Μ/Μ/1/N (Αφίξεις Poisson, Εκθετικές Εξυπηρετήσεις, Μέγεθος N)
10
ΠΡΟΣΟΜΟΙΩΣΗ ΟΥΡΑΣ Μ/Μ/1/10 P n = lim (T n /T) = lim { ([# αφίξεων στη n) / λ]) / ([συνολικού # αφίξεων / λ]) } = lim { [# αφίξεων στη n] / [συνολικού # αφίξεων] } RANDOM : Ομοιόμορφος τυχαίος αριθμός (0,1) ARRIVALS : Συνολικός αριθμός αφίξεων ARRIVAL[STATE] : Αριθμός αφίξεων στην κατάσταση STATE = 0, 1, …,10 COUNT : Αριθμός μεταβάσεων STATE : Κατάσταση ουράς (πληθυσμός συστήματος Μ/Μ/1/10), STATE = 0, 1, …, 10 P[STATE] : Εργοδική πιθανότητα κατάστασης STATE = 0, 1, …, 10 AVERAGE: Μέσος πληθυσμός συστήματος Μ/Μ/1/10 INITIALIZE :COUNT = 0, STATE = 0, ARRIVALS = 0, ARRIVAL[0…10] = 0, P[0…10] =0 ARRIVAL :ARRIVALS = ARRIVALS + 1 ARRIVAL[STATE] = ARRIVAL[STATE] + 1 COUNT = COUNT +1 IF STATE = 10 : GO TO TO LOOP ELSE : STATE = STATE + 1 GO TO LOOP LOOP :IF STATE = 0 : GO TO ARRIVAL ELSE : IF RANDOM < λ / (λ+μ) : GO TO ARRIVAL ELSE : GO TO DEPARTURE DEPARTURE :COUNT = COUNT +1 ; STATE = STATE – 1 IF COUNT < MAXIMUM : GO TO LOOP ELSE : P[STATE=1…10] = ARRIVAL[STATE= 1…10] / ARRIVALS AVERAGE = SUM { STATE ^ P[STATE] }, STATE = [1…10]
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.