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; } } } } }
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; }