예제 #1
0
        public int calcularClienteA()
        {
            Thread.Sleep(15);

            this.aleatorio = Math.Round(generador.GenerarAleatorio(), 3);

            if (aleatorio < 0.2)
            {
                tipoCliente = 1; // CLiente que entra a mirar y no compra
            }
            else
            {
                tipoCliente = 2; //Cliente que que van a  atencion
            }
            return(tipoCliente);
        }
예제 #2
0
        public TimeSpan TiempoEscuchandoCabina(double media, double varianza)
        {
            //Distribucion Normal
            double aleatorio1 = generador.GenerarAleatorio();
            double aleatorio2 = generador.GenerarAleatorio();

            while (aleatorio1 == 0 || aleatorio2 == 0)
            {
                aleatorio1 = generador.GenerarAleatorio();
                aleatorio2 = generador.GenerarAleatorio();
            }

            double tiempo = media + varianza * Math.Sqrt(-2 * Math.Log(aleatorio1)) * (Math.Sin(2 * Math.PI * aleatorio2));

            return(generador.convertirSegundosHorasMinutos(tiempo));
        }
예제 #3
0
        private TimeSpan llegadaCliente(double lambda)
        {
            //Distribucion Exponencial Negativa
            GeneradorNumAleatorios gen = new GeneradorNumAleatorios();
            double aleatorio           = gen.GenerarAleatorio();

            double tiempoLlegada = ((-lambda) * Math.Log(1 - aleatorio));

            return(GeneradorUnico.convertirSegundosHorasMinutos(tiempoLlegada));
        }