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