Quintiq file version 2.0
|
#parent: #root
|
Method ReDistOfWealth (
|
ProductInStockingPoint_MP pisp,
|
Number periodNumber
|
) as Real
|
{
|
TextBody:
|
[*
|
//timestepping
|
// top, calculate re and s for all periods on top
|
// children,
|
// this is not taking into account the targets in the child, so in the resupplies distribtuion the actual demands will be prefered over the targets in the child!!!!
|
|
|
// this calculates the expected demands of children of stockingpoint, from the periods that are exacty reachable from period
|
//# example: two child nodes A and B, leadtimes 1 and 2 periods, demands are calculated from period + 1 of A, and period + 2 of B
|
|
total := 0.0;
|
if (not pisp.MEIO_IsLeaf() )
|
{
|
listofnodes := MEIO_Engine::GetTreePISP( pisp );
|
lastperiod := max( this, MacroPlan.PlanningPeriod, p, true, p.MEIO_PeriodNumber() );
|
traverse( listofnodes, Elements, child, not child = pisp )
|
{
|
d := 0.0
|
future_period := periodNumber + this.GetLeadTime( child, pisp );
|
lastperiod := this.LastPeriodNumber();
|
if( lastperiod >= future_period )
|
{
|
d := MEIO_Engine::GetDemandExpectedValue( child, future_period );
|
}
|
else
|
{
|
d := MEIO_Engine::GetDemandExpectedValue( child, lastperiod );
|
}
|
total := total + d;
|
}
|
}
|
return total;
|
*]
|
}
|