Example #1
0
 internal void ObtenerIteracionOptima(CriterioOptimizacion criterioOptimizacion, int _std_objetivo)
 {
     if (criterioOptimizacion == CriterioOptimizacion.EstandarPuntualidad)
     {
         double impuntualidad_total = double.MaxValue;
         foreach (FaseOptimizacion fase in _historial_impuntualidades.Keys)
         {
             foreach (int iteracion in _historial_impuntualidades[fase].Keys)
             {
                 ResumenIteracion resumen = ResumenIteracion.ConstruirResumenIteracion(fase, iteracion, _historial_impuntualidades, _historial_variaciones_tramos);
                 if (resumen.ImpuntualidadTotal[_std_objetivo] < impuntualidad_total)
                 {
                     _iteracion_optima   = resumen;
                     impuntualidad_total = resumen.ImpuntualidadTotal[_std_objetivo];
                 }
             }
         }
     }
     else if (criterioOptimizacion == CriterioOptimizacion.MinutosAtraso)
     {
         double atraso_total = double.MaxValue;
         foreach (FaseOptimizacion fase in _historial_impuntualidades.Keys)
         {
             foreach (int iteracion in _historial_impuntualidades[fase].Keys)
             {
                 ResumenIteracion resumen = ResumenIteracion.ConstruirResumenIteracion(fase, iteracion, _historial_impuntualidades, _historial_variaciones_tramos);
                 if (resumen.AtrasoTotal < atraso_total)
                 {
                     _iteracion_optima = resumen;
                     atraso_total      = resumen.AtrasoTotal;
                 }
             }
         }
     }
 }
Example #2
0
        internal void ImprimirResumenIteraciones(string path, List <int> dominio, List <int> stds)
        {
            FileStream    fs = new FileStream(path, FileMode.Create);
            StreamWriter  sw = new StreamWriter(fs);
            StringBuilder sb = new StringBuilder();

            sb.Append("\tFase");
            sb.Append("Iteracion");
            sb.Append("\tAtrasoTotal");
            sb.Append("\tAtrasoReaccionarios");
            sb.Append("\tAtrasoSinReaccionarios");
            foreach (int std in stds)
            {
                sb.Append("\tImpuntualidadTotalSTD" + std);
                sb.Append("\tImpuntualidadReaccionariosSTD" + std);
                sb.Append("\tImpuntualidadSinReaccionariosSTD" + std);
            }
            sb.Append("\tCantidadVariacionesTotales");
            sb.Append("\tcantidad_variaciones_positivas");
            sb.Append("\tcantidad_variaciones_negativas");
            sb.Append("\tCantidadTramosNoVariados");
            sb.Append("\tpromedio_total_variaciones_absolutas");
            sb.Append("\tpromedio_total_variaciones_absolutas_con_ceros");
            sb.Append("\tpromedio_variaciones_positivos");
            sb.Append("\tpromedio_variaciones_negativos");
            foreach (int dom in dominio)
            {
                sb.Append("\tVariaciones " + dom.ToString());
            }
            sw.WriteLine(sb.ToString());
            foreach (FaseOptimizacion fase in _historial_impuntualidades.Keys)
            {
                foreach (int iteracion in _historial_impuntualidades[fase].Keys)
                {
                    ResumenIteracion resumen_iteracion = ResumenIteracion.ConstruirResumenIteracion(fase, iteracion, _historial_impuntualidades, _historial_variaciones_tramos);
                    sb = new StringBuilder();
                    sb.Append(resumen_iteracion.ImprimirResumen(dominio, stds));
                    sw.WriteLine(sb.ToString());
                }
            }
            sw.Close();
            fs.Close();
        }
 public ComparadorIteraciones(ResumenIteracion iteracion1, ResumenIteracion iteracion2)
 {
     this._iteracion_1 = iteracion1;
     this._iteracion_2 = iteracion2;
 }