| Quintiq file version 2.0 | 
| #parent: #root | 
| Method AddDownStreamLimitedExplore ( | 
|   TransformerSmartPlanDownStream transformerdown, | 
|   LibOpt_Scope scope, | 
|   ProductInStockingPointInPeriodPlanningLeafs pispips, | 
|   RunContextForCapacityPlanning runcontext, | 
|   Boolean debug, | 
|   Boolean checksize, | 
|   Real fractionofmax, | 
|   Number fanoutmaxlanes, | 
|   Boolean limittononzeroplanning, | 
|   Number operationselectlimit, | 
|   Boolean resetvisited | 
| ) | 
| { | 
|   TextBody: | 
|   [* | 
|     start := OS::PrecisionCounter();  | 
|     rcm := RunContextMeta::GetRunContextMeta( scope.Run() );  | 
|     maxsizenbh := floor(  rcm.OptionMaxNumberOfPISPIPSForNeighborhood() * fractionofmax );  | 
|      | 
|     // we do not recreate the transfer with the purpose we keep what has been visited already ( PISPIPVisited relation )  | 
|     transformerdown.InitForMeta( checksize, debug, fanoutmaxlanes, false, limittononzeroplanning, maxsizenbh, rcm.OptionNumberOfSmartPlanPeriods(), operationselectlimit );  | 
|      | 
|     oldestimate := scope.EstimatedNrPISPIPs();  | 
|     this.AddDownStream( transformerdown, scope, runcontext, pispips, resetvisited ); | 
|     newestimate := scope.EstimatedNrPISPIPs();  | 
|     end := OS::PrecisionCounter();  | 
|     durationmethod := (end - start ) / OS::PrecisionCounterFrequency();  | 
|     if ( debug )  | 
|     { | 
|       debuginfo(  'Limited search downstream added:', newestimate - oldestimate, 'new estimate=', newestimate, 'method time=', durationmethod ); | 
|     } | 
|   *] | 
|   InterfaceProperties { Accessibility: 'Module' } | 
| } |