changeset 9765:ece29b72bf92 octave-forge

improvements to the documentation
author mmarzolla
date Sun, 18 Mar 2012 21:03:48 +0000
parents 933407a87a4e
children 96969904dc6b
files main/queueing/doc/gettingstarted.txi main/queueing/doc/markovchains.txi main/queueing/doc/queueingnetworks.txi main/queueing/doc/references.txi main/queueing/inst/dtmc_taexps.m main/queueing/inst/qnmarkov.m
diffstat 6 files changed, 146 insertions(+), 114 deletions(-) [+]
line wrap: on
line diff
--- a/main/queueing/doc/gettingstarted.txi	Sun Mar 18 18:24:04 2012 +0000
+++ b/main/queueing/doc/gettingstarted.txi	Sun Mar 18 21:03:48 2012 +0000
@@ -51,7 +51,7 @@
 routing of jobs within the network is described with a @emph{routing
 probability matrix} @math{P}. Specifically, a request completing
 service at center @math{i} is enqueued at center @math{j} with
-probability @math{P_{ij}}.  Let us assume the following routing
+probability @math{P_{i, j}}.  Let us assume the following routing
 probability matrix:
 
 @iftex
@@ -106,7 +106,7 @@
 @iftex
 @tex
 $$
-V_j = \sum_{i=1}^K V_i P_{ij}
+V_j = \sum_{i=1}^K V_i P_{i, j}
 $$
 @end tex
 @end iftex
@@ -117,7 +117,7 @@
 @end ifnottex
 
 We can compute @math{V_k} from the routing probability matrix
-@math{P_{ij}} using the @command{qnvisits} function:
+@math{P_{i, j}} using the @command{qnvisits} function:
 
 @example
 @group
@@ -250,7 +250,7 @@
 @iftex
 @tex
 $$
-V_j = P_{0j} + \sum_{i=1}^K V_i P_{ij}
+V_j = P_{0, j} + \sum_{i=1}^K V_i P_{i, j}
 $$
 @end tex
 @end iftex
@@ -260,12 +260,12 @@
 @end example
 @end ifnottex
 
-where @math{P_{0j}} is the probability of an external arrival to
+where @math{P_{0, j}} is the probability of an external arrival to
 center @math{j}. This can be computed as:
 
 @tex
 $$
-P_{0j} = {\lambda_j  \over \sum_{i=1}^K \lambda_i }
+P_{0, j} = {\lambda_j  \over \sum_{i=1}^K \lambda_i }
 $$
 @end tex
 
--- a/main/queueing/doc/markovchains.txi	Sun Mar 18 18:24:04 2012 +0000
+++ b/main/queueing/doc/markovchains.txi	Sun Mar 18 21:03:48 2012 +0000
@@ -39,7 +39,7 @@
 
 @iftex
 @tex
-$$P(X_{n+1} = x_{n+1}\ |\ X_n = x_n, X_{n-1} = x_{n-1}, \ldots, X_0 = x_0) = P(X_{n+1} = x_{n+1}\ |\ X_n = x_n)$$
+$$P\left(X_{n+1} = x_{n+1}\ |\ X_n = x_n, X_{n-1} = x_{n-1}, \ldots, X_0 = x_0 \right) = P\left(X_{n+1} = x_{n+1}\ |\ X_n = x_n\right)$$
 @end tex
 @end iftex
 @ifnottex
@@ -56,7 +56,7 @@
 X_n = i )}.  If the Markov chain is homogeneous (that is, the
 transition probability matrix @math{{\bf P}(n)} is time-independent),
 we can simply write @math{{\bf P} = P_{i, j}}, where @math{P_{i, j} =
-P( X_{n+1} = j\ |\ X_n = i )} for all @math{n=0, 1, 2, @dots{}}.
+P( X_{n+1} = j\ |\ X_n = i )} for all @math{n=0, 1, @dots{}}.
 
 The transition probability matrix @math{\bf P} must satisfy the
 following two properties: (1) @math{P_{i, j} @geq{} 0} for all
@@ -80,14 +80,14 @@
 @node State occupancy probabilities (DTMC)
 @subsection State occupancy probabilities
 
-We denote with @math{{\bf \pi}(n) = (\pi_1(n), \pi_2(n), @dots{},
-\pi_N(n) )} the @emph{state occupancy probability vector} at step
+We denote with @math{{\bf \pi}(n) = \left(\pi_1(n), \pi_2(n), @dots{},
+\pi_N(n) \right)} the @emph{state occupancy probability vector} at step
 @math{n}. @math{\pi_i(n)} denotes the probability that the system is
 in state @math{i} at step @math{n}.
 
 Given the transition probability matrix @math{\bf P} and the initial
-state occupancy probability vector @math{{\bf \pi}(0) = (\pi_1(0),
-\pi_2(0), @dots{}, \pi_N(0))} at step 0, the state occupancy
+state occupancy probability vector @math{{\bf \pi}(0) = \left(\pi_1(0),
+\pi_2(0), @dots{}, \pi_N(0)\right)} at step 0, the state occupancy
 probability vector @math{{\bf \pi}(n)} at step @math{n} can be
 computed as:
 
@@ -136,7 +136,7 @@
 matrix @math{\bf P} and an integer @math{n @geq{} 0}, we let
 @math{L_i(n)} be the the expected number of visits to state @math{i}
 during the first @math{n} transitions. The vector @math{{\bf L}(n) =
-(L_1(n), L_2(n), @dots{}, L_N(n))} is defined as:
+( L_1(n), L_2(n), @dots{}, L_N(n) )} is defined as:
 
 @iftex
 @tex
@@ -239,7 +239,7 @@
 
 A stochastic process @math{@{X(t), t @geq{} 0@}} is a continuous-time
 Markov chain if, for all integers @math{n}, and for any sequence
-@math{t_0, t_1 , \ldots , t_n, t_{n+1}} such that @math{t_0 < t_1 <
+@math{t_0, t_1 , \ldots, t_n, t_{n+1}} such that @math{t_0 < t_1 <
 \ldots < t_n < t_{n+1}}, we have
 
 @iftex
@@ -333,7 +333,7 @@
 
 Given a @math{N} state continuous-time Markov Chain with infinitesimal
 generator matrix @math{\bf Q}, we define the vector @math{{\bf L}(t) =
-(L_1(t), L_2(t), \ldots L_N(t))} such that @math{L_i(t)} is the
+(L_1(t), L_2(t), \ldots, L_N(t))} such that @math{L_i(t)} is the
 expected sojourn time in state @math{i} during the interval
 @math{[0,t)}, assuming that the initial occupancy probability at time
 0 was @math{{\bf \pi}(0)}. @math{{\bf L}(t)} can be expressed as the
--- a/main/queueing/doc/queueingnetworks.txi	Sun Mar 18 18:24:04 2012 +0000
+++ b/main/queueing/doc/queueingnetworks.txi	Sun Mar 18 21:03:48 2012 +0000
@@ -110,12 +110,13 @@
 service, and the instant at which service finishes and the request moves
 to another queue (or exits the system).
 
-@item P_{ij}
-Routing probability matrix. @math{{\bf P} = P_{ij}} is a @math{K \times
-K} matrix such that @math{P_{ij}} is the probability that a request
-completing service at server @math{i} will move directly to server
-@math{j}, The probability that a request leaves the system after service
-at service center @math{i} is @math{1-\sum_{j=1}^K P_{ij}}.
+@item P_{i, j}
+Routing probability matrix. @math{{\bf P} = P_{i, j}} is a @math{K
+\times K} matrix such that @math{P_{i, j}} is the probability that a
+request completing service at server @math{i} will move directly to
+server @math{j}, The probability that a request leaves the system
+after service at service center @math{i} is @math{1-\sum_{j=1}^K P_{i,
+j}}.
 
 @item V_i
 Average number of visits. @math{V_i} is the average number of visits to
@@ -172,30 +173,48 @@
 
 @iftex
 @tex
-$V_j = P_{0 j} + \sum_{i=1}^K V_i P_{i j}$
+$$ V_j = P_{0, j} + \sum_{i=1}^K V_i P_{i, j} $$
 @end tex
 @end iftex
 @ifnottex
 @example
-V == P0 + V*P;
+@group
+                  K
+                 ___
+                \
+V_j = P_(0, j) + >   V_i P_(i, j)
+                /___
+                 i=1
+@end group
 @end example
 @end ifnottex
 
-@noindent where @math{P_{0 j}} is the probability that an external 
+@noindent where @math{P_{0, j}} is the probability that an external 
 arrival goes to service center @math{j}. If @math{\lambda_j} is the
 external arrival rate to service center @math{j}, and @math{\lambda =
 \sum_j \lambda_j} is the overall external arrival rate, then
-@math{P_{0 j} = \lambda_j / \lambda}.
+@math{P_{0, j} = \lambda_j / \lambda}.
 
 For closed models, the visit ratios satisfy the following equation:
 
 @iftex
 @tex
-$V_j = \sum_{i=1}^K V_i P_{i j}$
+$$\eqalign{V_1 & = 1 \cr
+           V_j & = \sum_{i=1}^K V_i P_{i, j}} $$
 @end tex
 @end iftex
 @ifnottex
 @example
+
+V_1 = 1
+
+        K
+       ___
+      \
+V_j =  >   V_i P_(i, j)
+      /___
+       i=1
+
 V(1) == 1 && V == V*P;
 @end example
 @end ifnottex
@@ -204,46 +223,46 @@
 
 In multiple class QN models, we assume that there exist @math{C}
 different classes of requests. Each request from class @math{c} spends
-on average time @math{S_{ck}} in service at service center @math{k}. For
-open models, we denote with @math{{\bf \lambda} = \lambda_{ck}} the
-arrival rates, where @math{\lambda_{ck}} is the external arrival rate of
-class @math{c} customers at service center @math{k}. For closed models,
-we denote with @math{{\bf N} = (N_1, N_2, \ldots N_C)} the population
-vector, where @math{N_c} is the number of class @math{c} requests in the
-system.
+on average time @math{S_{c, k}} in service at service center
+@math{k}. For open models, we denote with @math{{\bf \lambda} =
+\lambda_{ck}} the arrival rates, where @math{\lambda_{c, k}} is the
+external arrival rate of class @math{c} customers at service center
+@math{k}. For closed models, we denote with @math{{\bf N} = (N_1, N_2,
+\ldots, N_C)} the population vector, where @math{N_c} is the number of
+class @math{c} requests in the system.
 
 The transition probability matrix for these kind of networks will be a
-@math{C \times K \times C \times K} matrix @math{{\bf P} =
-P_{risj}} such that @math{P_{risj}} is the probability that a
-class @math{r} request which completes service at center @math{i} will
-join server @math{j} as a class @math{s} request.
+@math{C \times K \times C \times K} matrix @math{{\bf P} = P_{r, i, s, j}}
+such that @math{P_{r, i, s, j}} is the probability that a class
+@math{r} request which completes service at center @math{i} will join
+server @math{j} as a class @math{s} request.
 
-Model input and outputs can be adjusted by adding additional
-indexes for the customer classes.
+Model input and outputs can be adjusted by adding additional indexes
+for the customer classes.
 
 @noindent @strong{Model Inputs}
 
 @table @math
 
-@item \lambda_{ci}
+@item \lambda_{c, i}
 External arrival rate of class-@math{c} requests to service center @math{i}
 
 @item \lambda
-Overall external arrival rate to the whole system: @math{\lambda = \sum_c \sum_i \lambda_{ci}}
+Overall external arrival rate to the whole system: @math{\lambda = \sum_c \sum_i \lambda_{c, i}}
 
-@item S_{ci}
-Average service time. @math{S_{ci}} is the average service time on service
-center @math{i} for class @math{c} requests.
+@item S_{c, i}
+Average service time. @math{S_{c, i}} is the average service time on
+service center @math{i} for class @math{c} requests.
 
-@item P_{risj}
-Routing probability matrix. @math{{\bf P} = P_{risj}} is a @math{C
-\times K \times C \times K} matrix such that @math{P_{risj}} is the
-probability that a class @math{r} request which completes service at
-server @math{i} will move to server @math{j} as a class @math{s}
+@item P_{r, i, s, j}
+Routing probability matrix. @math{{\bf P} = P_{r, i, s, j}} is a @math{C
+\times K \times C \times K} matrix such that @math{P_{r, i, s, j}} is
+the probability that a class @math{r} request which completes service
+at server @math{i} will move to server @math{j} as a class @math{s}
 request.
 
-@item V_{ci}
-Average number of visits. @math{V_{ci}} is the average number of visits
+@item V_{c, i}
+Average number of visits. @math{V_{c, i}} is the average number of visits
 of class @math{c} requests to the service center @math{i}.
 
 @end table
@@ -252,23 +271,23 @@
 
 @table @math
 
-@item U_{ci}
+@item U_{c, i}
 Utilization of service center @math{i} by class @math{c} requests. The
 utilization is defined as the fraction of time in which the resource is
 busy (i.e., the server is processing requests).
 
-@item R_{ci}
+@item R_{c, i}
 Average response time experienced by class @math{c} requests on service
 center @math{i}. The average response time is defined as the average
 time between the arrival of a customer in the queue, and the completion
 of service.
 
-@item Q_{ci}
+@item Q_{c, i}
 Average number of class @math{c} requests on service center
 @math{i}. This includes both the requests in the queue, and the request
 being served.
 
-@item X_{ci}
+@item X_{c, i}
 Throughput of service center @math{i} for class @math{c} requests.  The
 throughput is defined as the rate of completion of class @math{c}
 requests.
@@ -283,7 +302,7 @@
 Utilization of service center @math{i}:
 @iftex
 @tex
-$U_i = \sum_{c=1}^C U_{ci}$
+$U_i = \sum_{c=1}^C U_{c, i}$
 @end tex
 @end iftex
 @ifnottex
@@ -294,7 +313,7 @@
 System response time for class @math{c} requests:
 @iftex
 @tex
-$R_c = \sum_{i=1}^K R_{ci} V_{ci}$
+$R_c = \sum_{i=1}^K R_{c, i} V_{c, i}$
 @end tex
 @end iftex
 @ifnottex
@@ -305,7 +324,7 @@
 Average number of class @math{c} requests in the system:
 @iftex
 @tex
-$Q_c = \sum_{i=1}^K Q_{ci}$
+$Q_c = \sum_{i=1}^K Q_{c, i}$
 @end tex
 @end iftex
 @ifnottex
@@ -316,7 +335,7 @@
 Class @math{c} throughput:
 @iftex
 @tex
-$X_c = X_{c1} / V_{c1}$
+$X_c = X_{c, 1} / V_{c, 1}$
 @end tex
 @end iftex
 @ifnottex
@@ -325,12 +344,13 @@
 
 @end table
 
-We can define the visit ratios @math{V_{sj}} for class @math{s}
+We can define the visit ratios @math{V_{s, j}} for class @math{s}
 customers at service center @math{j} as follows:
 
 @iftex
 @tex
-$V_{sj} = \sum_{r=1}^C \sum_{i=1}^K V_{ri} P_{risj},\ V_{s1} = 1$
+$$ \eqalign{ V_{s, j} & = \sum_{r=1}^C \sum_{i=1}^K V_{r, i} P_{r, i, s, j} \cr
+             V_{s, 1} & = 1} $$
 @end tex
 @end iftex
 @ifnottex
@@ -343,7 +363,7 @@
 
 @iftex
 @tex
-$V_{sj} = P_{0sj} + \sum_{r=1}^C \sum_{i=1}^K V_{ri} P_{risj}$
+$$V_{s, j} = P_{0, s, j} + \sum_{r=1}^C \sum_{i=1}^K V_{r, i} P_{r, i, s, j}$$
 @end tex
 @end iftex
 @ifnottex
@@ -352,12 +372,12 @@
 @end group
 @end ifnottex
 
-@noindent where @math{P_{0sj}} is the probability that an external 
+@noindent where @math{P_{0, s, j}} is the probability that an external 
 arrival goes to service center @math{j} as a class-@math{s} request.
-If @math{\lambda_{sj}} is the external arrival rate of class @math{s}
-requests to service center @math{j}, and @math{\lambda = \sum_s \sum_j
-\lambda_{sj}} is the overall external arrival rate to the whole system,
-then @math{P_{0sj} = \lambda_{sj} / \lambda}.
+If @math{\lambda_{s, j}} is the external arrival rate of class
+@math{s} requests to service center @math{j}, and @math{\lambda =
+\sum_s \sum_j \lambda_{s, j}} is the overall external arrival rate to
+the whole system, then @math{P_{0, s, j} = \lambda_{s, j} / \lambda}.
 
 @c
 @c
@@ -405,11 +425,11 @@
 requests in 0.2. Note that service times are class-independent;
 
 @item Node 2 is a @math{-/G/1}--PS node, with service times 
-@math{S_{12} = 0.4} for class 1, and @math{S_{22} = 0.6} for class 2
+@math{S_{1, 2} = 0.4} for class 1, and @math{S_{2, 2} = 0.6} for class 2
 requests;
 
 @item Node 3 is a @math{-/G/\infty} node (delay center), with service
-times @math{S_{13}=1} and @math{S_{23}=2} for class 1 and 2
+times @math{S_{1, 3}=1} and @math{S_{2, 3}=2} for class 1 and 2
 respectively.
 
 @end itemize
@@ -491,14 +511,14 @@
 @end itemize
 
 We define the @emph{joint probability vector} @math{\pi(k_1, k_2,
-\ldots k_N)} as the steady-state probability that there are @math{k_i}
-requests at service center @math{i}, for all @math{i=1,2, \ldots N}.
+\ldots, k_N)} as the steady-state probability that there are @math{k_i}
+requests at service center @math{i}, for all @math{i=1, 2, \ldots, N}.
 Jackson networks have the property that the joint probability is the
 product of the marginal probabilities @math{\pi_i}:
 
 @iftex
 @tex
-$$ \pi(k_1, k_2, \ldots k_N) = \prod_{i=1}^N \pi_i(k_i) $$
+$$ \pi(k_1, k_2, \ldots, k_N) = \prod_{i=1}^N \pi_i(k_i) $$
 @end tex
 @end iftex
 @ifnottex
@@ -532,7 +552,7 @@
 
 @iftex
 @tex
-$$ \pi(k_1, k_2, \ldots k_K) = {1 \over G(N)} \prod_{i=1}^N F_i(k_i) $$
+$$ \pi(k_1, k_2, \ldots, k_K) = {1 \over G(N)} \prod_{i=1}^N F_i(k_i) $$
 @end tex
 @end iftex
 @ifnottex
@@ -544,14 +564,14 @@
 @end example
 @end ifnottex
 
-Here @math{\pi(k_1, k_2, \ldots k_K)} is the joint probability of
-having @math{k_i} requests at node @math{i}, for all @math{i=1,2,
-\ldots K}.
+Here @math{\pi(k_1, k_2, \ldots, k_K)} is the joint probability of
+having @math{k_i} requests at node @math{i}, for all @math{i=1, 2,
+\ldots, K}.
 
 The @emph{convolution algorithms} computes the normalization constants
-@math{G = (G(0), G(1), \ldots G(N))} for single-class, closed networks
+@math{{\bf G} = \left(G(0), G(1), \ldots, G(N)\right)} for single-class, closed networks
 with @math{N} requests.  The normalization constants are returned as
-vector @code{@var{G}=[@var{G}(1), @var{G}(2), ... @var{G}(N+1)]} where
+vector @code{@var{G}=[@var{G}(1), @var{G}(2), @dots{} @var{G}(N+1)]} where
 @code{@var{G}(i+1)} is the value of @math{G(i)} (remember that Octave
 uses 1-base vectors). The normalization constant can be used to
 compute all performance measures of interest (utilization, average
@@ -574,14 +594,14 @@
 The normalization constant @math{G} can be used to compute the
 steady-state probabilities for a closed single class product-form
 Queueing Network with @math{K} nodes. Let @code{@var{k}=[@math{k_1,
-k_2, @dots{} k_K}]} be a valid population vector. Then, the
+k_2, @dots{}, k_K}]} be a valid population vector. Then, the
 steady-state probability @code{@var{p}(i)} to have @code{@var{k}(i)}
 requests at service center @math{i} can be computed as:
 
 @iftex
 @tex
 $$
-p_i(k_i) = {(V_i S_i)^{k_i} \over G(K)} \left(G(K-k_i) - V_i S_i G(K-k_i-1)\right), \quad i=1,2, \ldots K
+p_i(k_i) = {(V_i S_i)^{k_i} \over G(K)} \left(G(K-k_i) - V_i S_i G(K-k_i-1)\right), \quad i=1, 2, \ldots, K
 $$
 @end tex
 @end iftex
@@ -841,7 +861,7 @@
 @noindent @strong{NOTE}
 
 Given a network with @math{K} service centers, @math{C} job classes and
-population vector @math{{\bf N}=(N_1, N_2, \ldots N_C)}, the MVA
+population vector @math{{\bf N}=(N_1, N_2, \ldots, N_C)}, the MVA
 algorithm requires space @math{O(C \prod_i (N_i + 1))}. The time
 complexity is @math{O(CK\prod_i (N_i + 1))}. This implementation is
 slightly more space-efficient (see details in the code). While the space
@@ -1085,7 +1105,7 @@
 
 @iftex
 @tex
-$V_j = P_{0 j} + \sum_{i=1}^K V_i P_{i j}$
+$$V_j = P_{0, j} + \sum_{i=1}^K V_i P_{i, j}$$
 @end tex
 @end iftex
 @ifnottex
@@ -1094,17 +1114,18 @@
 @end example
 @end ifnottex
 
-@noindent where @math{P_{0 j}} is the probability that an external 
+@noindent where @math{P_{0, j}} is the probability that an external 
 arrival goes to service center @math{j}. If @math{\lambda_j} is the
 external arrival rate to service center @math{j}, and @math{\lambda =
 \sum_j \lambda_j} is the overall external arrival rate, then
-@math{P_{0 j} = \lambda_j / \lambda}. 
+@math{P_{0, j} = \lambda_j / \lambda}. 
 
 For closed networks, the visit ratios satisfy the following equation:
 
 @iftex
 @tex
-$V_j = \sum_{i=1}^K V_i P_{i j},\ V_1 = 1$
+$$\eqalign{ V_j & = \sum_{i=1}^K V_i P_{i, j} \cr
+            V_1 & = 1 }$$
 @end tex
 @end iftex
 @ifnottex
@@ -1114,12 +1135,13 @@
 @end ifnottex
 
 The definitions above can be extended to multiple class networks as
-follows. We define the visit ratios @math{V_{sj}} for class @math{s}
+follows. We define the visit ratios @math{V_{s, j}} for class @math{s}
 customers at service center @math{j} as follows:
 
 @iftex
 @tex
-$V_{sj} = \sum_{r=1}^C \sum_{i=1}^K V_{ri} P_{risj},\ V_{s1} = 1$
+$$\eqalign{ V_{s, j} & = \sum_{r=1}^C \sum_{i=1}^K V_{r, i} P_{r, i, s, j} \cr
+            V_{s, 1} & = 1 }$$
 @end tex
 @end iftex
 @ifnottex
@@ -1133,7 +1155,7 @@
 
 @iftex
 @tex
-$V_{sj} = P_{0sj} + \sum_{r=1}^C \sum_{i=1}^K V_{ri} P_{risj}$
+$$V_{s, j} = P_{0, s, j} + \sum_{r=1}^C \sum_{i=1}^K V_{r, i} P_{r, i, s, j}$$
 @end tex
 @end iftex
 @ifnottex
@@ -1142,12 +1164,12 @@
 @end group
 @end ifnottex
 
-@noindent where @math{P_{0sj}} is the probability that an external 
+@noindent where @math{P_{0, s, j}} is the probability that an external 
 arrival goes to service center @math{j} as a class-@math{s} request.
-If @math{\lambda_{sj}} is the external arrival rate of class @math{s}
+If @math{\lambda_{s, j}} is the external arrival rate of class @math{s}
 requests to service center @math{j}, and @math{\lambda = \sum_s \sum_j
-\lambda_{sj}} is the overall external arrival rate to the whole system,
-then @math{P_{0sj} = \lambda_{sj} / \lambda}.
+\lambda_{s, j}} is the overall external arrival rate to the whole system,
+then @math{P_{0, s, j} = \lambda_{s, j} / \lambda}.
 
 @DOCSTRING(qnvisits)
 
@@ -1172,7 +1194,7 @@
 80-355.pdf}
 
 Note that the slightly different problem of generating all tuples
-@math{k_1, k_2, \ldots k_N} such that @math{\sum_i k_i = k} and
+@math{k_1, k_2, \ldots, k_N} such that @math{\sum_i k_i = k} and
 @math{k_i} are nonnegative integers, for some fixed integer @math{k
 @geq{} 0} has been described in S. Santini, @cite{Computing the
 Indices for a Complex Summation}, unpublished report, available at
--- a/main/queueing/doc/references.txi	Sun Mar 18 18:24:04 2012 +0000
+++ b/main/queueing/doc/references.txi	Sun Mar 18 21:03:48 2012 +0000
@@ -27,14 +27,17 @@
 @item [Aky88]
 Ian F. Akyildiz, @cite{Mean Value Analysis for Blocking Queueing
 Networks}, IEEE Transactions on Software Engineering, vol. 14, n. 2,
-april 1988, pp. 418--428.  @url{http://dx.doi.org/10.1109/32.4663}
+april 1988, pp. 418--428.  DOI @uref{http://dx.doi.org/10.1109/32.4663, 10.1109/32.4663}
 
 @item [Bar79]
 Y. Bard, @cite{Some Extensions to Multiclass Queueing Network Analysis},
 proc. 4th Int. Symp. on Modelling and Performance Evaluation of
 Computer Systems, feb. 1979, pp. 51--62.
 
-@item [RGMT98]
+@item [BCMP75]
+Forest Baskett, K. Mani Chandy, Richard R. Muntz, and Fernando G. Palacios. 1975. @cite{Open, Closed, and Mixed Networks of Queues with Different Classes of Customers}. J. ACM 22, 2 (April 1975), 248—260, DOI @uref{http://doi.acm.org/10.1145/321879.321887, 10.1145/321879.321887}
+
+@item [BGMT98]
 G. Bolch, S. Greiner, H. de Meer and
 K. Trivedi, @cite{Queueing Networks and Markov Chains: Modeling and
 Performance Evaluation with Computer Science Applications}, Wiley,
@@ -44,20 +47,25 @@
 Jeffrey P. Buzen, @cite{Computational Algorithms for Closed Queueing
 Networks with Exponential Servers}, Communications of the ACM, volume
 16, number 9, september 1973,
-pp. 527--531. @url{http://doi.acm.org/10.1145/362342.362345}
+pp. 527--531. DOI @uref{http://doi.acm.org/10.1145/362342.362345, 10.1145/362342.362345}
 
 @item [CMS08]
 G. Casale, R. R. Muntz, G. Serazzi,
 @cite{Geometric Bounds: a Non-Iterative Analysis Technique for Closed
 Queueing Networks}, IEEE Transactions on Computers, 57(6):780-794,
-June 2008. @url{http://doi.ieeecomputersociety.org/10.1109/TC.2008.37}
+June 2008. DOI @uref{http://doi.ieeecomputersociety.org/10.1109/TC.2008.37, 10.1109/TC.2008.37}
 
 @item [GrSn97]
-Charles M. Grinstead, J. Laurie Snell, (July 1997). Introduction to
-Probability. American Mathematical Society. ISBN 978-0821807491
+Charles M. Grinstead, J. Laurie Snell, (July 1997). @cite{Introduction
+to Probability}. American Mathematical Society. ISBN 978-0821807491;
+this excellent textbook is @uref{http://www.dartmouth.edu/~chance/teaching_aids/books_articles/probability_book/amsbook.mac.pdf, available in PDF format}
+and can be used under the terms of the @uref{http://www.gnu.org/copyleft/fdl.html, GNU Free Documentation License (FDL)}
+
+@item [Jac04]
+James R. Jackson, @cite{Jobshop-Like Queueing Systems}, Vol. 50, No. 12, Ten Most Influential Titles of "Management Science's" First Fifty Years (Dec., 2004), pp. 1796-1802, @uref{http://www.jstor.org/stable/30046149, available online}
 
 @item [Jai91]
-R. Jain , @cite{The Art of Computer Systems Performance Analysis},
+R. Jain, @cite{The Art of Computer Systems Performance Analysis},
 Wiley, 1991, p. 577.
 
 @item [HsLa87]
@@ -69,7 +77,7 @@
 Edward D. Lazowska, John Zahorjan, G. Scott Graham, and Kenneth C.
 Sevcik, @cite{Quantitative System Performance: Computer System
 Analysis Using Queueing Network Models}, Prentice Hall,
-1984. @url{http://www.cs.washington.edu/homes/lazowska/qsp/}.
+1984. @uref{http://www.cs.washington.edu/homes/lazowska/qsp/, available online}.
 
 @item [ReKo76]
 M. Reiser, H. Kobayashi, @cite{On The Convolution Algorithm for
@@ -77,31 +85,33 @@
 SIGMETRICS Conference on Computer Performance Modeling Measurement and
 Evaluation (Cambridge, Massachusetts, United States, March 29--31,
 1976). SIGMETRICS '76. ACM, New York, NY,
-pp. 109--117. @url{http://doi.acm.org/10.1145/800200.806187}
+pp. 109--117. DOI @uref{http://doi.acm.org/10.1145/800200.806187, 10.1145/800200.806187}
 
 @item [ReLa80]
 M. Reiser and S. S. Lavenberg, @cite{Mean-Value Analysis of Closed
 Multichain Queuing Networks}, Journal of the ACM, vol. 27, n. 2, April
-1980, pp. 313--322. @url{http://doi.acm.org/10.1145/322186.322195}
+1980, pp. 313--322. DOI @uref{http://doi.acm.org/10.1145/322186.322195, 10.1145/322186.322195}
+
+@item [Sch79]
+P. Schweitzer, @cite{Approximate Analysis of Multiclass Closed Networks of
+Queues}, Proc. Int. Conf. on Stochastic Control and Optimization, jun
+1979, pp. 25—29
 
 @item [Sch81]
 Herb Schwetman, @cite{Some Computational
-Aspects of Queueing Network Models}, Technical Report CSD-TR-354,
+Aspects of Queueing Network Models}, @uref{http://www.cs.purdue.edu/research/technical_reports/1980/TR%2080-354.pdf, Technical Report CSD-TR-354},
 Department of Computer Sciences, Purdue University, feb, 1981
 (revised).
-@url{http://www.cs.purdue.edu/research/technical_reports/1980/TR%2080-354.pdf}
 
 @item [Sch82]
 Herb Schwetman, @cite{Implementing the Mean Value Algorithm for the
-Solution of Queueing Network Models}, Technical Report CSD-TR-355,
-Department of Computer Sciences, Purdue University, feb 15, 1982,
-available at
-@url{http://www.cs.purdue.edu/research/technical_reports/1980/TR%2080-355.pdf}
+Solution of Queueing Network Models}, @uref{http://www.cs.purdue.edu/research/technical_reports/1980/TR%2080-355.pdf, Technical Report CSD-TR-355},
+Department of Computer Sciences, Purdue University, feb 15, 1982.
 
 @item [ZaWo81]
 Zahorjan, J. and Wong, E. @cite{The solution of separable queueing
 network models using mean value analysis}. SIGMETRICS
 Perform. Eval. Rev. 10, 3 (Sep. 1981), 80-85. DOI
-@url{http://doi.acm.org/10.1145/1010629.805477}
+DOI @uref{http://doi.acm.org/10.1145/1010629.805477, 10.1145/1010629.805477}
 
 @end table
--- a/main/queueing/inst/dtmc_taexps.m	Sun Mar 18 18:24:04 2012 +0000
+++ b/main/queueing/inst/dtmc_taexps.m	Sun Mar 18 21:03:48 2012 +0000
@@ -35,7 +35,7 @@
 ## Infinitesimal generator matrix. @code{@var{Q}(i,j)} is the transition
 ## rate from state @math{i} to state @math{j},
 ## @math{1 @leq{} i \neq j @leq{} N}. The
-## matrix @var{Q} must also satisfy the condition @math{\sum_{j=1}^N Q_{ij} = 0}
+## matrix @var{Q} must also satisfy the condition @math{\sum_{j=1}^N Q_{i, j} = 0}
 ##
 ## @item t
 ## Time. If omitted, the results are computed until absorption.
--- a/main/queueing/inst/qnmarkov.m	Sun Mar 18 18:24:04 2012 +0000
+++ b/main/queueing/inst/qnmarkov.m	Sun Mar 18 21:03:48 2012 +0000
@@ -54,14 +54,14 @@
 ##
 ## @item Average service times are load-independent.
 ##
-## @item @math{P_{ij}} is the probability that requests completing
+## @item @math{P_{i, j}} is the probability that requests completing
 ## execution at center @math{i} are transferred to
 ## center @math{j}, @math{i \neq j}. For open networks, a request may leave the system
-## from any node @math{i} with probability @math{1-\sum_j P_{ij}}.
+## from any node @math{i} with probability @math{1-\sum_j P_{i, j}}.
 ##
 ## @item Blocking type is Repetitive-Service (RS). Service
 ## center @math{j} is @emph{saturated} if the number of requests is equal
-## to its capacity @code{C_j}. Under the RS blocking discipline,
+## to its capacity @math{C_j}. Under the RS blocking discipline,
 ## a request completing service at center @math{i} which is being
 ## transferred to a saturated server @math{j} is put back at the end of
 ## the queue of @math{i} and will receive service again. Center @math{i}