Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method SynchronizeAlgorithmRun ( 
 | 
  Boolean issmartplan 
 | 
) as AlgorithmRun 
 | 
{ 
 | 
  Description: 
 | 
  [* 
 | 
    Create algorithm run if it is still within the range 
 | 
    Delete algorithm runs if it is out of the range 
 | 
  *] 
 | 
  TextBody: 
 | 
  [* 
 | 
     
 | 
     
 | 
    run := null( AlgorithmRun ); 
 | 
    allowed := this.NumberOfOptimizerResults(); 
 | 
    numberofruns := this.TempAlgorithmRunStore().AlgorithmRun( relsize ); 
 | 
     
 | 
    // Delete and re-create a new one such that the old data is flushed automatically 
 | 
    numbertodelete := numberofruns - allowed 
 | 
    traverse( this, TempAlgorithmRunStore.AlgorithmRun, r, r.SequenceNr() <= numbertodelete ) 
 | 
    { 
 | 
      r.Delete(); 
 | 
    } 
 | 
     
 | 
    size := this.TempAlgorithmRunStore().AlgorithmRun( relsize ); 
 | 
     
 | 
    if( size < allowed or size = 0 ) 
 | 
    { 
 | 
      run := AlgorithmRun::Create( this.TempAlgorithmRunStore(), issmartplan ); 
 | 
    } 
 | 
     
 | 
    return run; 
 | 
  *] 
 | 
  InterfaceProperties { Accessibility: 'Module' } 
 | 
} 
 |