public Optimizador(Itinerario itinerario_base, ParametrosSimuLAN parametros, ModeloDisrupciones disrupciones, List <int> stds, int std_objetivo, DateTime fechaIni, DateTime fechaFin, int variacion_permitida)
 {
     this.ItinerarioBase         = itinerario_base;
     this.Parametros             = parametros;
     this.Disrupciones           = disrupciones;
     this._stds                  = stds;
     this._variacion_permitida   = variacion_permitida;
     this._fecha_ini             = fechaIni;
     this._fecha_fin             = fechaFin;
     this._tramos_optimizacion   = new OrganizadorTramos(itinerario_base, variacion_permitida);
     this._salto_variaciones     = 5;
     this._log_info_optimizacion = new LogOptimizacion();
     this._std_objetivo          = std_objetivo;
     this._marcador              = DateTime.Now;
     this._tiempo_simulacion     = TimeSpan.Zero;
     this._tiempo_optimizacion   = TimeSpan.Zero;
 }
Пример #2
0
 internal void VolverAEstadoDeMenorAtrasoPropagado(LogOptimizacion log_proceso)
 {
     foreach (string id_avion in _tramos_por_avion.Keys)
     {
         FaseOptimizacion mejor_fase;
         int mejor_iteracion;
         ObtenerIteracionDeMenorAtraso(log_proceso.HistorialImpuntualidad, id_avion, out mejor_fase, out mejor_iteracion);
         foreach (InfoTramoParaOptimizacion tramo in _tramos_por_avion[id_avion])
         {
             int id_tramo = tramo.IdTramo;
             if (log_proceso.HistorialVariaciones.ContainsKey(mejor_fase) && log_proceso.HistorialVariaciones[mejor_fase].ContainsKey(mejor_iteracion))
             {
                 tramo.VariacionAplicada = log_proceso.HistorialVariaciones[mejor_fase][mejor_iteracion][id_tramo];
             }
             else
             {
                 tramo.VariacionAplicada = 0;
             }
         }
     }
 }