Quintiq file version 2.0
|
#parent: #root
|
Method InitVariablesForSalesDemandsInScopeWhenPostponed (
|
CapacityPlanningSuboptimizer_CapacityPlanningAlgorithm program,
|
const LibOpt_Scope scope
|
) const
|
{
|
TextBody:
|
[*
|
// Leaf sales demands
|
traverse( scope.GetSDIPBeforeScopeInRunConst(), Elements.astype( LeafSalesDemandInPeriod ), lsdip )
|
{
|
// Type : LeafSalesDemandInPeriod
|
// Variable: 'DelayedSalesDemandQty' UoM: PISP
|
lsdip.InitVariablesForPostponedSalesDemands( this, program, scope, lsdip.SDIPBeforeScopeInRun().OptMinPostponementPeriod(), false /* shelf life var only false */ );
|
}
|
|
// Aggregated sales demands for higher product level
|
traverse( scope.GetSDIPBeforeScopeInRunConst(), Elements.astype( AggregatedSalesDemandInPeriod ), asdip )
|
{
|
// There is no decision variable for AggregatedSalesDemandInPeriod
|
// - Traverse the children ( Disaggregated Sales demands )
|
traverse( asdip, DisaggregatedSalesDemandInPeriod, dasdip, not dasdip.IsPostponed() )
|
{
|
// Postponed or delayed sales demand variable
|
// Type : DelayedDisaggregatedSalesDemandInPeriod
|
// Variable: 'DelayedDisaggregatedSalesDemandQty' UoM: PISP
|
dasdip.InitVariablesForPostponedSalesDemands( this, program, scope, asdip.SDIPBeforeScopeInRun().OptMinPostponementPeriod(), false /* shelf life var only false */ );
|
}
|
}
|
*]
|
InterfaceProperties { Accessibility: 'Module' }
|
}
|