admin
2025-01-22 7e31442f0e9b07764e9c6a9680d3d4aeba5fe1de
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 );
  *]
}