Quintiq file version 2.0
|
#parent: #root
|
Method GetPeriodsForOperation (
|
const LibOpt_Scope scope,
|
const Operation operation
|
) const as constcontent owning Period_MPs
|
{
|
Description: 'Returns the periods on which the input operation should be considered by the optimizer'
|
TextBody:
|
[*
|
periods := construct( Period_MPs, constcontent );
|
|
if( this.GetPeriodsFromPeriodTaskOperation() )
|
{
|
periods := selectset( operation,
|
PeriodTaskOperationInScope.UnitPeriod.Period_MP,
|
period,
|
true,
|
true );
|
}
|
else // if this is a regular optimizer run, select all periods in this algorithm run with a valid PT
|
{
|
periods := selectset( scope.GetPeriodInOptimizerRunConst(),
|
Elements,
|
period,
|
not operation.IsFrozenInPeriod( period )
|
and PeriodTaskOperation::GetIsValidPeriodTask( operation, period ) );
|
}
|
|
return &periods
|
*]
|
InterfaceProperties { Accessibility: 'Module' }
|
}
|