Documente Academic
Documente Profesional
Documente Cultură
cu S staţii paralele
Modelele de aşteptare mai complicate nu au soluţii analitice. De exemplu,
sistemele de servire cu un num¼ ar mare de staţii cu o topologie complex¼a, cu
repartiţiile timpilor de sosire şi/sau de servire de un tip complicat (gamma,
Weibull, 2 ; amestecuri de repartiţii) sau sisteme cu priorit¼ aţi. Pentru astfel
de situaţii se recomand¼ a simularea digital¼a. În informatic¼ a, termenul a fost
introdus de John von Neumann.
1
ms = 0;
sds(j) = ttf (j) = ttl(j) = 0; 1 j S:
Programul în MATLAB
S=input(’Introduceţi num¼arul de staţii S:’);
tetam=input(’Introduceţi durata medie dintre dou¼a sosiri consecutive =’);
for j=1:S
t=input(’Introduceţi durata medie de servire a staţiei j =’);
taum(j)=t
sds(j)=0;
ttf(j)=0;
ttl(j)=0;
end
ms=0;
I=S;
for j=1:S
tau(j)=exprnd(taum(j));
mp(j)=tau(j);
sds(j)=sds(j)+tau(j);
ncs(j)=1;
end
while (I<N)
[mpmin,l]=min(mp);
I=I+1;
teta=exprnd(tetam);
ms=ms+teta;
dif=ms-mpmin;
2
Start
(1)
Citşte parametrii de intrare:
ms=0, mp(j)=0, 1 ≤ j ≤ S
sds(j)=ttf(j)=ttl(j)=0
(2)
I=S
(3)
Do j=1, S
(4)
Generează τ(j)
mp(j) = τ(j)
sds(j) = sds(j)+τ(j)
A
(5)
mpmin=min{mp(j)}
1≤ j ≤ S
mpmin=mp(l)
(6)
I=I+1
(7)
Calculează
I>N Da şi listează
rezultatele
Nu (8)
Generează θ
ms=ms+ θ Stop
dif=ms-mpmin
(9)
<0 >0
dif
(10) (11)
tf=-dif tl=dif
ttf(l)=ttf(l)+tf ttl(l)=ttl(l)+tl
Generează τ(l)
sds(l) = sds(l)+τ(l)
3
mp(l)=mpmin+ τ(l)
Figura 1
if (dif>0)
tl=dif;
ttl(l)=ttl(l)+tl;
tf=0;
else
tf=-dif;
tl=0;
ttf(l)=ttf(l)+tf;
end
tau(l)=exprnd(taum(l));
sds(l)=sds(l)+tau(l);
mp(l)=mpmin+tau(l)+tl;
ncs(j)=ncs(j)+1;
end
disp(’*****************************************************’)
disp(’Num¼arul clienţilor serviţi de …ecare staţie este’)
ncs
disp(’*****************************************************’)
disp(’Suma duratelor de servire pentru …ecare staţie este’)
sds
disp(’****************************************************’)
disp(’Timpul total de aşteptare la …ecare staţie este’)
ttf
disp(’***************************************************’)
disp(’Timpul total de lenevire a …ec¼arei staţii este’)
ttl
disp(’****************************************’)
disp(’Durata medie de aşteptare a unui client este’)
tbarf=sum(ttf )/N
Consider¼am c¼a durata dintre dou¼a sosiri consecutive şi duratele serviciilor
în cele S staţii sunt variabile aleatoare exponenţiale negative.
1. Date de intrare:
S= 2 staţii
tetam =10 min
taum(j)= 15 min, j=1:S
N = 100000
Date de ieşire:
tbarf ~tbarfcalc=19min 17sec
2. Date de intrare:
4
S= 3 staţii
tetam =10 min
taum(j)= 15 min, j=1:S
N = 100000
Date de iesire:
tbarf ~tbarfcalc= 2 min 22sec
Apelarea programului
>> clear
>> Sstatii
Introduceţi num¼arul de sosiri simulate N:100000
Introduceţi num¼arul de staţii S:2
Introduceţi durata medie dintre dou¼a sosiri consecutive =10
tetam =
10
Introduceţi durata medie de servire a staţiei =15
taum =
15
taum =
15 15
*****************************************************
Suma duratelor de servire pentru …ecare staţie este
sds =
1.0e+005 *
7.5339 7.5203
****************************************************
Timpul total de aşteptare pentru …ecare staţie este
ttf =
1.0e+005 *
9.7736 9.6691
***************************************************
Timpul total de lenevire pentru …ecare staţie este
ttl =
1.0e+005 *
2.4229 2.4365
****************************************
Durata medie de aşteptare a unui client este
tbarf =
19.4427
5
Modelele în care disciplina de servire se stabileşte dup¼ a criterii care nu iau
în considerare ordinea intr¼ arii clienţilor în sistem, se numesc modele cu priori-
tate.Clienţii sunt împ¼arţiţi în clase de priorit¼ aţi. În cadrul aceleiaşi clase clienţii
sunt serviţi în ordinea FIFO ("primul sosit-primul servit"). Clienţii pot sosi
în sistem dup¼ a aceeaşi repartiţie sau dup¼ a repartiţii ale timpului între sosiri
diferite.
Presupunem c¼ a avem dou¼ a clase: prioritatea 1 este mai puternic¼ a decât
prioritatea 2. Se cunosc probabilit¼ aţile p1 şi p2 cu care sosesc cele dou¼ a tipuri
de clienţi. Presupunem c¼ a timpul de intersosire i al clienţilor de prioritate i are
repartiţia Fi (x); i = 1; 2:Atunci timpul de intersosire al clienţilor (amestecaţi)
este o compunere discret¼ a a celor dou¼ a variabile 1 şi 2 adic¼ a funcţia sa de
repartiţie este de forma:
F (x) = p1 F1 (x)+p2 F2 (x); unde p1 + p2 = 1:
Amestecarea discret¼ a poate … interpretat¼ a astfel:
= i cu probabilitatea pi ; i = 1; 2:
Simularea timpului de intersosire se face astfel:
Generaz¼a un indice i cu repartiţia discret¼a:
1 2
I: ; p1 + p2 = 1:
p1 p2
Genereaz¼a i având funcţia de repartiţie Fi (x);
:= i .
Presupunem c¼ a dispunem de metode de generare a variabilelor i .
La generarea lui clientul se aşeaz¼ a în coada Q1 sau Q2 corespunz¼ atoare
priorit¼
aţii. Se simuleaz¼a timpul de servire conform priorit¼ aţii celei mai mari
dac¼a Q1 este nevid¼a sau priorit¼aţii mai mici dac¼
a Q1 este vid¼a. Se pot calcula
timpii de aşteptare în funcţie de priorit¼
aţi.