| 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' } | 
| } |