public Duenio(VectorEstado vectorEstado) { Libre(); Cola = 0; ACTiempoLibre = 0; this.vectorEstado = vectorEstado; }
private void RegistrarMetricas(VectorEstado estado) { ocioEmpleado1 = estado.Empleado1.ACTiempoLibre * 100 / estado.Reloj; ocioEmpleado2 = estado.Empleado2.ACTiempoLibre * 100 / estado.Reloj; ocioDuenio = estado.Duenio.ACTiempoLibre * 100 / estado.Reloj; colaDuenio = estado.Duenio.MayorCola; colaEmpleados = estado.MayorColaEmpleados; tiempoCafeteria = estado.ContadorClientes != 0 ? estado.ACTPermanenciaCafeteria / estado.ContadorClientes : 0; tiempoColas = estado.ContadorClientes != 0 ? estado.ACTPermanenciaColas / estado.ContadorClientes : 0; }
private void Registrar(VectorEstado estado) { seccion1.Add(estado.MostrarSeccion1()); seccion2.Add(estado.MostrarSeccion2()); finConsumo.Add(estado.MostrarFinConsumo()); finUsoMesa.Add(estado.MostrarFinUsoMesa()); personas.Add(estado.MostrarPersonas()); if (estado.HizoRK()) { RKLimpieza.Add(new string[] { "", "", "", "", "", "", "", "", "", "", "", "", "" }); RKLimpieza.AddRange(estado.GetRK()); } }
public void Simular(int iteraciones, double mostrarDesde, double mostrarHasta, double mediaLlegada, double desviacionLlegada, double desdeFinConsumo, double hastaFinConsumo, double desdeFinUsoMesa, double hastaFinUsoMesa, double tiempoCompra, double mediaEntrega) { VectorEstado actual, anterior, temp; actual = new VectorEstado(mediaLlegada, desviacionLlegada, desdeFinConsumo, hastaFinConsumo, desdeFinUsoMesa, hastaFinUsoMesa, tiempoCompra, mediaEntrega); anterior = new VectorEstado(mediaLlegada, desviacionLlegada, desdeFinConsumo, hastaFinConsumo, desdeFinUsoMesa, hastaFinUsoMesa, tiempoCompra, mediaEntrega); seccion1 = new List <string[]>(); seccion2 = new List <string[]>(); finConsumo = new List <string[]>(); finUsoMesa = new List <string[]>(); personas = new List <string[]>(); RKLimpieza = new List <string[]>(); actual.Anterior = anterior; anterior.Anterior = actual; anterior.Inicializar(); anterior.Simular(); if (mostrarDesde == 0) { Registrar(anterior); } for (int i = 0; i < iteraciones; i++) { actual.Preparar(); actual.ElegirProximo(); actual.ActualizarTiemposLibres(); actual.ActualizarPermanencias(); actual.Simular(); if (mostrarDesde <= i && i < mostrarHasta) { Registrar(actual); } temp = actual; actual = anterior; anterior = temp; } RegistrarMetricas(anterior); }
public EventoBase(VectorEstado vectorEstado) { this.vectorEstado = vectorEstado; }
public FinUsoMesa(VectorEstado vectorEstado, double desde, double hasta) : base(vectorEstado) { mesas = new List <double>(); this.desde = desde; this.hasta = hasta; }
public Persona(VectorEstado vectorEstado) { this.vectorEstado = vectorEstado; TiempoLlegada = vectorEstado.Reloj; }
public Inicializar(VectorEstado vectorEstado) : base(vectorEstado) { }
public FinEntrega(VectorEstado vectorEstado, double media) : base(vectorEstado) { this.media = media; }
public LlegadaPersona(VectorEstado vectorEstado, double media, double desviacion) : base(vectorEstado) { this.media = media; this.desviacion = desviacion; }
public Empleado(VectorEstado vectorEstado) { this.vectorEstado = vectorEstado; ACTiempoLibre = 0; Libre(); }
public FinCompra(VectorEstado vectorEstado, double tiempoEntrega) : base(vectorEstado) { this.tiempoEntrega = tiempoEntrega; }
public Inestable(VectorEstado vectorEstado) : base(vectorEstado) { }
public FinLimpieza(VectorEstado vectorEstado) : base(vectorEstado) { rk = new RKLimpieza(); }
public void calcularCantidadPedidos(VectorEstado anterior, VectorEstado actual) { actual.Pedido = 23; }
public void calcularCantidadPedidos(VectorEstado anterior, VectorEstado actual) { actual.Pedido = anterior.VentasRealizadas + anterior.VentasPerdidas; }