Quintiq file version 2.0
|
#parent: #root
|
Method DebugWriteVariables (
|
CapacityPlanningSuboptimizer_CapacityPlanningAlgorithm program,
|
LibOpt_Scope scope,
|
ProductInStockingPointInPeriodPlannings pispipsinrun
|
)
|
{
|
TextBody:
|
[*
|
if ( this.MacroPlan().Optimization().DebugMode() )
|
{
|
traverse( scope.GetStockingPointInPeriodInOptimizerRun(), Elements, spip, not spip.StockingPoint_MP().IsPlannedInfinite() )
|
{
|
invvar := program.SPInvQtyVariables().Get( spip );
|
overloadvar := program.StockingPointCapacityOverloadedVariables().Get( spip );
|
spip.DebugSPCapacityOverloadedVariable( overloadvar.OptimalValue() );
|
spip.DebugSPInventoryQtyVariable( invvar.OptimalValue() );
|
}
|
|
traverse( pispipsinrun, Elements.astype( ProductInStockingPointInPeriodPlanningLeaf ), pleaf )
|
{
|
pleaf.DebugInventoryEndVariable( program.InvQtyVariables().Get( pleaf ).OptimalValue() );
|
|
if ( pleaf.ProductInStockingPoint_MP().IsOptShelfLife() or pleaf.ProductInStockingPoint_MP().IsOptMaturation() )
|
{
|
cwstr := '';
|
cpstr := '';
|
cdstr := '';
|
traverse( pleaf, ProductInStockingPoint_MP.IncomingShelfLifeDay, islday )
|
{
|
varcd := program.CumulativeDemandVariables().Get( pleaf, islday );
|
varcw := program.CumulativeWasteVariables().Get( pleaf,islday );
|
varcp := program.CumulativeProductionVariables().Get( pleaf, islday );
|
|
cwstr := cwstr + ',' + [String] varcw.OptimalValue() + '[' + [String] islday.ShelfLifeDays() + ']';
|
cpstr := cpstr + ',' + [String] varcp.OptimalValue() + '[' + [String] islday.ShelfLifeDays() + ']';
|
cdstr := cdstr + ',' + [String] varcd.OptimalValue() + '[' + [String] islday.ShelfLifeDays() + ']';
|
}
|
pleaf.DebugOptimizerCumulProduction(cpstr);
|
pleaf.DebugOptimizerCumulDemand(cdstr);
|
pleaf.DebugOptimizerWaste(cwstr);
|
}
|
}
|
}
|
*]
|
InterfaceProperties { Accessibility: 'Module' }
|
}
|