Quintiq file version 2.0 
 | 
#parent: #root 
 | 
StaticMethod ParseBenchmarkName ( 
 | 
  String name, 
 | 
  output Number endproductstoadd, 
 | 
  output Number intermediatetoadd, 
 | 
  output Number periodstoadd, 
 | 
  output Boolean addtriplotsize, 
 | 
  output Real usertriplotsize, 
 | 
  output Boolean addptolotsize, 
 | 
  output Real userptolotsize, 
 | 
  output Boolean addptominqty, 
 | 
  output Real userptominqty, 
 | 
  output Boolean addinputlotsize, 
 | 
  output Real userinputlotsize, 
 | 
  output Boolean setlotcost, 
 | 
  output Boolean setinventorybalancing, 
 | 
  output Boolean addcapacitysmoothing, 
 | 
  output Real smoothingdelta, 
 | 
  output Boolean addpostponentspec, 
 | 
  output Number postponementnrperiods 
 | 
) 
 | 
{ 
 | 
  TextBody: 
 | 
  [* 
 | 
    separator := '_';  
 | 
     
 | 
    strlist := name.Tokenize( separator );  
 | 
    traverse( strlist, Elements, str )  
 | 
    { 
 | 
      s := str.Tokenize( ':' );  
 | 
      id := s.Element( 0 ) + ':';   
 | 
      val := s.Element( 1 );  
 | 
      if (  id = Optimization::EndProductTag() )  
 | 
      { 
 | 
        endproductstoadd := [Number] val;  
 | 
      } 
 | 
      else if ( id = Optimization::IntermediateProductTag() ) 
 | 
      { 
 | 
        intermediatetoadd := [Number] val;  
 | 
      }  
 | 
      else if ( id = Optimization::PeriodsTag() )  
 | 
      { 
 | 
        periodstoadd := [Number] val;  
 | 
      } 
 | 
      else if ( id = Optimization::TripLotSizeTag() )  
 | 
      { 
 | 
        usertriplotsize := [Real]val; 
 | 
        addtriplotsize := usertriplotsize > 0.0;   
 | 
      } 
 | 
      else if ( id = Optimization::PTOLotSizeTag() )  
 | 
      { 
 | 
        userptolotsize := [Real]val;  
 | 
        addptolotsize := userptolotsize > 0.0;  
 | 
      } 
 | 
      else if ( id = Optimization::PTOProcessMinQtyTag() )  
 | 
      { 
 | 
        userptominqty := [Real]val;  
 | 
        addptominqty := userptominqty > 0.0;  
 | 
      } 
 | 
      else if ( id = Optimization::InputLotSizeTag() )  
 | 
      { 
 | 
        userinputlotsize := [Real]val;    
 | 
        addinputlotsize := userinputlotsize > 0.0;  
 | 
      } 
 | 
      else if ( id = Optimization::LotCostTag() )  
 | 
      { 
 | 
        setlotcost := val = 'true';    
 | 
      } 
 | 
      else if ( id = Optimization::InventoryMixBalancingTag() )  
 | 
      { 
 | 
        setinventorybalancing := val = 'true'; 
 | 
      } 
 | 
      else if ( id = Optimization::CapacitySmoothingTag() )  
 | 
      { 
 | 
        addcapacitysmoothing := val = 'true'; 
 | 
      } 
 | 
      else if ( id = Optimization::SmoothingDeltaTag() )  
 | 
      { 
 | 
        smoothingdelta := [Real]val;    
 | 
      } 
 | 
      else if ( id = Optimization::PostponementTag() )  
 | 
      { 
 | 
        addpostponentspec := val = 'true'; 
 | 
      } 
 | 
      else if ( id = Optimization::PostonementPeriodsTag() )  
 | 
      { 
 | 
        postponementnrperiods := [Number]val; 
 | 
      } 
 | 
    } 
 | 
  *] 
 | 
} 
 |