Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method InitConstraintsForUnitPeriods ( 
 | 
  CapacityPlanningSuboptimizer_CapacityPlanningAlgorithm program, 
 | 
  const RunContextForCapacityPlanning runcontext, 
 | 
  const LibOpt_Scope scope 
 | 
) const 
 | 
{ 
 | 
  Description: 'Initialize constraints for unit periods' 
 | 
  TextBody: 
 | 
  [* 
 | 
    unitperiods := construct( UnitPeriods, constcontent ); 
 | 
     
 | 
    traverse( scope.GetUnitPeriodInOptimizerRunConst(), Elements, up ) 
 | 
    { 
 | 
      unitperiods.Add( up ); 
 | 
      parentunitperiods := up.GetAllParentsOfUnitDimension(); 
 | 
      unitperiods := unitperiods.Union( parentunitperiods ); 
 | 
    } 
 | 
    unitperiods := unitperiods.Unique(); 
 | 
    // Initialize the variables 
 | 
    traverse( unitperiods, Elements, unitperiod, not ( unitperiod.Unit().HasChild() and unitperiod.Unit().HasCapacityTypeInfinite() ) ) 
 | 
    { 
 | 
      unitperiod.InitConstraintsForUnitPeriods( program, runcontext, scope, this ); 
 | 
    } 
 | 
  *] 
 | 
  InterfaceProperties { Accessibility: 'Module' } 
 | 
} 
 |