Quintiq file version 2.0 
 | 
#parent: #root 
 | 
StaticMethod CreateFor (LibOpt_Run run) 
 | 
{ 
 | 
  Description: 'Create `LibOpt_StatisticSuboptimizers` for the given "run" (`LibOpt_Run`).' 
 | 
  TextBody: 
 | 
  [* 
 | 
    // lle13 Sep-20-2020 (created) 
 | 
     
 | 
    traverse( run, Component.astype( LibOpt_Suboptimizer ), suboptimizer ) 
 | 
    { 
 | 
      // Create `LibOpt_StatisticSuboptimizerRollback`. 
 | 
      LibOpt_Statistic::Create( run, typeof( LibOpt_StatisticSuboptimizerRollback ), suboptimizer ); 
 | 
       
 | 
      nrkpilevels_max := max( suboptimizer, SnapshotSuboptimizer, snapshotsuboptimizer, 
 | 
                              // FILTER 
 | 
                              true, 
 | 
                              // VALUE 
 | 
                              snapshotsuboptimizer.NrKPILevels() 
 | 
                            ); 
 | 
       
 | 
      // Create `LibOpt_StatisticSuboptimizerKPIImprovement` for each KPI level. 
 | 
      for( kpilevel := 1; kpilevel <= nrkpilevels_max; kpilevel++ ) 
 | 
      { 
 | 
        LibOpt_StatisticSuboptimizerKPIImprovement::Create( run, suboptimizer, kpilevel ); 
 | 
      } 
 | 
    } 
 | 
  *] 
 | 
  InterfaceProperties { Accessibility: 'Extensible' } 
 | 
} 
 |