/// <summary>
        /// Genera un atraso aleatorio
        /// </summary>
        /// <param name="randomTramo">Objeto Random de un tramo</param>
        /// <param name="prob">Probabilidad</param>
        /// <param name="media">Media</param>
        /// <param name="desvest">Desviación estándar</param>
        /// <param name="min">Mínimo</param>
        /// <param name="max">Máximo</param>
        /// <returns>Retorna minutos de atraso</returns>
        public static double GenerarAleatorio(Random randomTramo, DistribucionesEnum distribucion, double prob, double media, double desvest, double min, double max)
        {
            int factorPrueba = 1;

            if (randomTramo.NextDouble() <= prob * factorPrueba)
            {
                if (distribucion == DistribucionesEnum.LogNormal)
                {
                    return(Distribuciones.LogNormal(randomTramo.NextDouble(), randomTramo.NextDouble(), media * factorPrueba, desvest, int.MaxValue));
                }
                else if (distribucion == DistribucionesEnum.Logística)
                {
                    return(Distribuciones.Logistic(randomTramo.NextDouble(), media, desvest, min, max));
                }
                else if (distribucion == DistribucionesEnum.Normal)
                {
                    return(Distribuciones.Norm(randomTramo.NextDouble(), randomTramo.NextDouble(), media, desvest, min, max));
                }
                else if (distribucion == DistribucionesEnum.Exponencial)
                {
                    return(Distribuciones.Expo(randomTramo.NextDouble(), media));
                }
                else if (distribucion == DistribucionesEnum.Uniforme)
                {
                    return(randomTramo.NextDouble());
                }
                else
                {
                    return(0);
                }
            }
            return(0);
        }
 /// <summary>
 /// Distribución Gamma
 /// </summary>
 /// <param name="alpha"></param>
 /// <param name="aleatorio"></param>
 /// <param name="p1"></param>
 /// <param name="p2"></param>
 /// <returns></returns>
 private static double Gamma(double alpha, Random aleatorio, double p1, double p2)
 {
     return(Math.Max(0, Convert.ToInt32(p1 + p2 * Distribuciones.Gamma(alpha, aleatorio))));
 }