Quintiq file version 2.0
|
#parent: #root
|
MethodOverride GetWeightFactor (
|
const LibOpt_Task task
|
) as Real
|
{
|
TextBody:
|
[*
|
runcontext := RunContextForCapacityPlanning::GetRunContextCapacityPlanningConst( task.Run() ) ;
|
wl := runcontext.WeightLevelNonFinancial();
|
candidates := LinkProbabilityUnitPeriod::GetCandidatesConst( task.Scope() );
|
weight := 0.0;
|
avail := ( ( wl.UnitCapacityWeight() > 0 and wl.UnitCapacityLevel() = this.FocusLevel() )
|
or ( wl.MinimumUnitCapacityWeight() > 0 and wl.MinimumUnitCapacityLevel() = this.FocusLevel() )
|
or ( this.FocusLevel() = 0 and runcontext.UseShiftOptimization()) ) // in case of min duration shift pattern problems
|
and candidates.Size() > 0;
|
if ( avail )
|
{
|
weight := average( candidates, Elements, c, true, c.EstimatedImprovementScore() );
|
}
|
|
debuginfo( 'UP[' + [String] weight + '] + #cand=' + [String]candidates.Size(), avail );
|
return weight;
|
*]
|
}
|