1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  | Quintiq file version 2.0 
 |  #parent: #root 
 |  Function CalcTotalShiftPatternChangesPenalty 
 |  { 
 |    TextBody: 
 |    [* 
 |      value := 0; 
 |       
 |      // If this unit is a leaf, calculate the total number of shift pattern changes for the whole horizon. 
 |      if( not this.HasChild() and this.HasCapacityTypeTime() ) 
 |      { 
 |        value := counter( this,  
 |                          PlanningUnitPeriod.astype( UnitPeriodTime ),  
 |                          up,  
 |                          true,  
 |                          guard( up.ShiftPattern() <> up.PreviousPlanningUnitPeriod().astype( UnitPeriodTime ).ShiftPattern(), false ) ); 
 |      } 
 |       
 |      this.TotalShiftPatternChangesPenalty( value ); 
 |    *] 
 |  } 
 |  
  |