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