E.2 Continuous Distrbutions

Uniform \(U(a,b)\)
Parameters: a = minimum, b = maximum, \(-\infty < a < b < \infty\)
PDF: \(f(x) = \frac{1}{b-a}\) for \(a \leq x \leq b\)
CDF: \(F(x) = \frac{x-a}{b-a} \; \text{if} \; a \leq x \leq b\)
Inverse CDF: \(F^{-1}(p) = a + p(b-a) \; \; \text{if} \; 0 < p < 1\)
Expected Value: \(E[X]=\frac{a+b}{2}\)
Variance: \(V[X] = \frac{(b-a)^2}{12}\)
Generation: UniformRV(min: Double, max:Double, stream:RNStreamIfc)
Spreadsheet Generation: = a + RAND()*(b-a)
Modeling: assumes equally likely across the range,
when you have lack of data, task times
Normal \(N(\mu,\sigma^2)\)
Parameters: \(-\infty < \mu < +\infty\) (mean), \(\sigma^2 > 0\) (variance)
CDF: No closed form
Inverse CDF: No closed form
Expected Value: \(E[X] = \mu\)
Variance: \(Var[X] = \sigma^2\)
Generation: NormalRV(mean:Double, variance:Double, stream:RNStreamIfc)
Spreadsheet Generation: = NORM.INV(RAND(), \(\mu\), \(\sigma\))
Modeling: task times, errors
Exponential EXPO(\(1/\lambda\))
Parameters: \(\lambda > 0\)
PDF: \(f(x) = \lambda e^{-\lambda x} \; \text{if} \; x \geq 0\)
CDF: \(F(x) = 1 - e^{-\lambda x} \; \text{if} \; x \geq 0\)
Inverse CDF: \(F^{-1}(p) = (-1/\lambda)\ln \left(1-p \right) \; \; \text{if} \; 0 < p < 1\)
Expected Value: \(E[X] = \theta = 1/\lambda\)
Variance: \(Var[X] = 1/\lambda^2\)
Generation: ExponentialRV(mean:Double, stream:RNStreamIfc)
Spreadsheet Generation: = \((-1/\lambda)\)LN(1-RAND())
Modeling: time between arrivals, time to failure
highly variable task time
Weibull WEIB(\(\beta\), \(\alpha\))
Parameters: \(\beta > 0\) (scale), \(\alpha > 0\) (shape)
CDF: \(F(x) = 1- e^{-(x/\beta)^\alpha} \; \text{if} \; x \geq 0\)
Inverse CDF: \(F^{-1}(p) = \beta\left[ -\ln (1-p)\right]^{1/\alpha} \; \; \text{if} \; 0 < p < 1\)
Expected Value: \(E[X] = \left(\dfrac{\beta}{\alpha}\right)\Gamma\left(\dfrac{1}{\alpha}\right)\)
Variance: \(Var[X] = \left(\dfrac{\beta^2}{\alpha}\right)\biggl\lbrace 2\Gamma\left(\dfrac{2}{\alpha}\right) - \left(\dfrac{1}{\alpha}\right)\biggl(\Gamma\left(\dfrac{1}{\alpha}\right)\biggr)^2\biggr\rbrace\)
Generation: WeibullRV(shape:Double, scale:Double, stream:RNStreamIfc)
Spreadsheet Generation: = \((\beta)(-\text{LN}(1-\text{RAND}())\wedge(1/\alpha)\)
Modeling: task times, time to failure
Erlang Erlang(\(r\),\(\beta\))
Parameters: \(r > 0\), integer, \(\beta > 0\) (scale)
CDF: \(F(x) = 1- e^{(-x/\beta)}\sum\limits_{j=0}^{r-1}\dfrac{(x/\beta)^j}{j} \; \text{if} \; x \geq 0\)
Inverse CDF: No closed form
Expected Value: \(E[X] = r\beta\)
Variance: \(Var[X] = r\beta^2\)
Generation: use GammaRV class
Spreadsheet Generation: = GAMMA.INV(RAND(), \(r\), \(\beta\))
Modeling: task times, lead time, time to failure,
Gamma Gamma(\(\alpha\),\(\beta\))
Parameters: \(\alpha > 0\), shape, \(\beta > 0\) (scale)
CDF: No closed form
Inverse CDF: No closed form
Expected Value: \(E[X] = \alpha \beta\)
Variance: \(Var[X] = \alpha \beta^2\)
Generation: GammaRV(shape:Double, scale:Double, stream:RNStreamIfc)
Spreadsheet Generation: = GAMMA.INV(RAND(), \(\alpha\), \(\beta\))
Modeling: task times, lead time, time to failure,
Beta BETA(\(\alpha_1\),\(\alpha_2\))
Parameters: shape parameters \(\alpha_1 >0\), \(\alpha_2 >0\)
CDF: No closed form
Inverse CDF: No closed form
Expected Value: \(E[X] = \dfrac{\alpha_1}{\alpha_1 + \alpha_2}\)
Variance: \(Var[X] = \dfrac{\alpha_1\alpha_2}{(\alpha_1 + \alpha_2)^2(\alpha_1 + \alpha_2+1)}\)
Generation: BetaRV(alpha1:Double, alpha2:Double, stream:RNStreamIfc)
Spreadsheet Generation: BETA.INV(RAND(), \(\alpha_1\), \(\alpha_2\))
Modeling: activity time when data is limited, probabilities
Lognormal LOGN\(\left(\mu_l,\sigma_l\right)\)
Parameters: \(\mu = \ln\left(\mu_{l}^{2}/\sqrt{\sigma_{l}^{2} + \mu_{l}^{2}}\right) \quad \sigma^{2} = \ln\left((\sigma_{l}^{2}/\mu_{l}^{2}) + 1\right)\)
CDF: No closed form
Inverse CDF: No closed form
Expected Value: \(E[X] = \mu_l = e^{\mu + \sigma^{2}/2}\)
Variance: \(Var[X] = \sigma_{l}^{2} = e^{2\mu + \sigma^{2}}\left(e^{\sigma^{2}} - 1\right)\)
Generation: LognormalRV(mean:Double, variance:Double, stream:RNStreamIfc)
Spreadsheet Generation: LOGNORM.INV(RAND(), \(\mu\), \(\sigma\))
Modeling: task times, time to failure
Triangular TRIA(a, m, b)
Parameters: a = minimum, m = mode, b = maximum
CDF: \(F(x) = \dfrac{(x - a)^2}{(b - a)(m - a)} \; \text{for} \; a \leq x \leq m\)
\(F(x) = 1 - \dfrac{(b - x)^2}{(b - a)(b - m)} \; \text{for} \;m < x \leq b\)
Inverse CDF: \(F^{-1}(u) = a + \sqrt{(b-a)(m-a)u} \; \text{for} \; 0 < u < \dfrac{m-a}{b-a}\)
\(F^{-1}(u) = b - \sqrt{(b-a)(b-m)(1-u)} \; \text{for} \; \dfrac{m-a}{b-a} \leq u\)
Expected Value: \(E[X] = (a+m+b)/3\)
Variance: \(Var[X] = \dfrac{a^2 + b^2 + m^2 -ab -am -bm}{18}\)
Generation: TriangularRV(min:Double, mode:Double, max:Double, stream:RNStreamIfc)
Spreadsheet Generation: implement \(F^{-1}(u)\) as VBA function
Modeling: task times, activity time when data is limited