CLONES: CLOsed queueing Networks Exact Sampling

  • CLONES is a Matlab toolbox to realize CLosed queueing Networks Exact Sampling. Clones refers to an eponymous paper presented at the conference ValueTools2014.
  • Developer : C. Rovetta
  • Last version : 2015-05-11
  • Download : V2.0
  • Paper : Clones.pdf
Main functions We consider the following prameters: The following parameters are deduced from the previous:
States - S matrix
S=Clones_StateSpace(C,M) Returns the state space, using psi(D)
S=Clones_t(S,C,[i j]) Transition i->j on the set of states S
S=Clones_tm(S,C,[i j m]) Transition Tijm on the set of states S
Diagram - D matrix
D=Clones_CompleteD(C,M) Computes the complete diagram D with the diagram representation
D=Clones_T(D,C,[i j]) Transition i->j on the diagram D
D=Clones_Tm(D,C,[i j m]) Transition Tijm on the diagram D
SD=Clones_Psi(D) Computes psi(D), i.e. transforms a diagram into its corresponding set of states SD
Clones_CardPsi(D) Returns the cardinality of psi(D)
Clones_OnePath(D) Returns 1 if the diagram contains only one path, 0 else
Clones_plotD(D,C,-1) Plots the diagram D
Gap-free diagram - F matrix
F=Clones_CompleteF(C,M) Returns the complete diagram F with the gap-free representation
F=Clones_gfT(F,C,[i j]) Gap-free transition i->j on the gap-free diagram F
F=Clones_gfTm(F,C,[i j m]) Gap-free transition gfTijm on the gap-free diagram F
D=Clones_FtoD(F,C,M) Transforms a gap-free diagram F in a diagram D
Clones_OnePathF(F,C) Returns 1 if the gap-free diagram contains one path, 0 else
Simulation
r=Clones_rand_ij(PP,Nuu) Produce a random couple r=[i j] according to PP and Nuu
r=Clones_rand_ijm(PP,Nuu,E) Produce a random couple r=[i j m] according to PP, Nuu and E
P=Clones_randP_ring(K) Produce a routing matrix P of a ring network with K queues randomly
Detailed Description In the following example we take:
>> S=Clones_StateSpace(C,M) % Return the state space matrix S
S =
0 0 0 1 2
0 0 1 0 2
0 1 0 0 2
1 0 0 0 2
0 0 1 1 1
0 1 0 1 1
1 0 0 1 1
0 0 2 0 1
0 1 1 0 1
1 0 1 0 1
1 1 0 0 1
2 0 0 0 1
0 0 2 1 0
0 1 1 1 0
1 0 1 1 0
1 1 0 1 0
2 0 0 1 0
0 0 3 0 0
0 1 2 0 0
1 0 2 0 0
1 1 1 0 0
2 0 1 0 0
2 1 0 0 0
>> S2=Clones_StateSpace2(K,M,C); % Return the state space matrix S2 (=S)
>> S=Clones_t(S,C,[1 2]) % Return the states matrix S=tij(S) where i=1, j=2
S =
0 0 0 1 2
0 0 1 0 2
0 0 1 1 1
0 0 2 0 1
0 0 2 1 0
0 0 3 0 0
0 1 0 0 2
0 1 0 1 1
0 1 1 0 1
0 1 1 1 0
0 1 2 0 0
1 1 0 0 1
1 1 0 1 0
1 1 1 0 0
2 1 0 0 0
>> D=Clones_CompleteD(C,M) % Return the complete diagram matrix D
D =
1 1 1 0 1 1 0 0 1 1 1 1 0 1 0 0 0 0 0 0
0 0 0 0 0 1 1 0 0 1 1 1 0 1 1 0 0 0 0 1
0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1
>> D=Clones_T(D,C,[1 2]) % Return the diagram matrix D=Tij(D) where i=1, j=2
D =
1 1 1 0 1 1 0 0 1 1 1 1 0 1 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 1 1 1 0 1 1 0 0 0 0 1
0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1
>> SD=Clones_Psi(D) % Return the states matrix SD=psi(D)
SD =
0 0 0 1 2
0 0 1 0 2
0 1 0 0 2
0 0 1 1 1
0 1 0 1 1
0 0 2 0 1
0 1 1 0 1
1 1 0 0 1
0 0 2 1 0
0 1 1 1 0
1 1 0 1 0
0 0 3 0 0
0 1 2 0 0
1 1 1 0 0
2 1 0 0 0
>> Clones_CardPsi(D) % Return the cardinality of psi(D)
ans = 15
>> Clones_OnePath(D) % Return 1 if D contains only one path, 0 else
>> Clones_plotD(D,C,-1); % Plot D
>> F=Clones_CompleteF(C,M) % Return the complete gap-free diagram with matrix F
F =
0 0
0 0
0 0
0 2
0 2
0 3
0 2
0 1
0 0
1 3
0 2
3 3
2 2
1 1
>> F=Clones_gfT(F,C,M,[1 2]) % Return the gap-free diagram matrix F=[Tij(F)]gf where i=1, j=2
F =
0 0
0 0
0 0
0 0
0 2
0 3
0 2
0 1
0 0
1 3
0 2
3 3
2 2
1 1
>> D=Clones_FtoD(F,C,M); % Transform a gap-free diagram F into a diagram D
>> Clones_OnePath(F,K) % Return 1 if F contains only one path, 0 else
>> r=Clones_rand_ij(PP,Nuu) ; % Produce a random couple r=[i j] according to PP and Nuu
>> r=Clones_rand_ijm(PP,Nuu,E) % Produce a random couple r=[i j m] according to PP, Nuu and E
>> P=Clones_randP_ring(K) % Produce a routing matrix P of a ring network with K queues randomly