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