public ManejadorSimulacion(Distribuciones <double>[] proyectoA, Distribuciones <double>[] proyectoB, Distribuciones <double>[] proyectoC, Distribuciones <double> inversion) { ProyectoA = proyectoA; ProyectoB = proyectoB; ProyectoC = proyectoC; Inversion = inversion; }
public void Simular(int CantSemanas, int filasMostrar, int mostrarDesde, Distribuciones <int> cantautos, Distribuciones <TipoAuto> tipoAuto, Distribuciones <double> ComisionesAL, Distribuciones <double> ComisionesAM) { DataTable tabla = new DataTable(); //Tabla que será devuelta tabla.Columns.Add("Semana Numero:"); tabla.Columns.Add("RND Cant Autos"); tabla.Columns.Add("Cantidad Autos"); tabla.Columns.Add("RND Tipo Auto"); tabla.Columns.Add("Tipo Auto"); tabla.Columns.Add("RND Comision"); tabla.Columns.Add("Comision"); tabla.Columns.Add("Comision Total"); tabla.Columns.Add("Comision Acumulada"); var mostrarHasta = mostrarDesde + filasMostrar; Random r = new Random(); //double acumtotalvendedor = 0; double acum = 0; //textpromparcial += "Promedio por Semana:\n"; String[] vector = new String[9]; for (int j = 1; j <= CantSemanas; j++)//bucle por semana { //Semana vector[0] = j.ToString(); double rndCantAuto = cantautos.GenerarRnd(); //Rnd Cantidad Autos vector[1] = rndCantAuto.ToString(); //Cantidad Autos vector[2] = cantautos.ObtenerValorAsociado(rndCantAuto).ToString(); String rndComisionTexto = ""; String rndtipoAutoTexto = ""; String tipoAutoTexto = ""; String comisionTexto = ""; double ComisionTotal = 0; //Iteraciones por autos (Demanda) for (int k = 0; k < int.Parse(vector[2]); k++) { double rndtipoAuto = tipoAuto.GenerarRnd(); var tipoauto = tipoAuto.ObtenerValorAsociado(rndtipoAuto); int tipoaut = tipoauto.Numero; //double rndcomision = Math.Truncate(r.NextDouble() * 100); //double comision = buscarcomision(tipoaut, rndcomision, ComisionesAL, ComisionesAM); var valorRnd = buscarcomision(tipoaut); double rndcomision = valorRnd.Random; double comision = valorRnd.Valor; rndtipoAutoTexto += rndtipoAuto.ToString() + Environment.NewLine; tipoAutoTexto += buscarTipo(tipoaut) + Environment.NewLine; rndComisionTexto += (rndtipoAuto.Equals("1") ? " " : rndcomision.ToString()) + Environment.NewLine; comisionTexto += comision + Environment.NewLine; ComisionTotal = ComisionTotal + comision; } acum += ComisionTotal; vector[3] = rndtipoAutoTexto.ToString(); vector[4] = tipoAutoTexto; vector[5] = rndComisionTexto; vector[6] = comisionTexto; vector[7] = ComisionTotal.ToString(); vector[8] = acum.ToString(); //vector[9] = vendedor.ToString(); if (j >= mostrarDesde && j < mostrarHasta) { tabla.LoadDataRow(vector, true); } } tabla.LoadDataRow(vector, true); //Promedio semanal de ventas del unico vendedor. //this.PromedioIndividual = double.Parse(vector[8]) / CantSemanas;//acumulado/cantsemanas this.PromedioIndividual = acum / CantSemanas;//acumulado/cantsemanas //acumtotalvendedor += double.Parse(vector[8]);//suma los acumulados //acum += promparcial; //promtotal = acum / 4; this.PromedioGrupal = this.PromedioIndividual * 4; this.info = tabla; }
/*private Distribuciones DistComisionesLujo; * private Distribuciones DistComisionesMediano;*/ public ManejadorSimulacion(Distribuciones <int> CantidadAutos, Distribuciones <TipoAuto> TipoAuto) { this.DistCantAutos = CantidadAutos; this.DistTiposAuto = TipoAuto; }
public ManejadorAlt(Distribuciones <int> cantidad, Distribuciones <double> lujo, Distribuciones <double> mediano) { this.DistribucionCantidad = cantidad; this.DistribucionComAL = lujo; this.DistribucionComAM = mediano; }