Quintiq file version 2.0
|
#parent: #root
|
Method RunOptimizerWithSelectedStrategy (
|
MacroPlan macroplan,
|
ScenarioManager scenariomanager,
|
Strategy strategy,
|
OptimizerPuzzle optpuzzle,
|
DateTime horizonStart,
|
DateTime horizonEnd
|
) as stream[Void]
|
{
|
Description: 'Run Optimizer with selected strategy'
|
TextBody:
|
[*
|
if ( isnull( optpuzzle ) )
|
{
|
optpuzzle := macroplan.OptimizerPuzzleWorld();
|
}
|
macroplan.RunOptimizer( false, /* issmartplan */
|
false, /* issmartplanforperiodtask */
|
false, /* hastotalsupplyuser */
|
0.0, /* totalsupplyuser */
|
null( ProductInStockingPointInPeriodPlannings ), /* smartplanpispip */
|
false, /* isupstreamsmartplan */
|
false, /* ismiddleoutsmartplan */
|
false, /* isonlyplanonestepupstream */
|
false, /* ispostprocessing */
|
false, /* forcenoautoscaling */
|
strategy, /*strategy */
|
false, /* overwritemanual */
|
select( macroplan, PlanningPeriod, p, p.Start() = horizonStart ), /* periodstart */
|
select( macroplan, PlanningPeriod, p, p.End() = horizonEnd ), /* periodend */
|
false, /* isinventoryoptimizationrun */
|
false, /* isusingselectedunits */
|
null( Units ),
|
null( Process_MP ),
|
optpuzzle );
|
|
return Transaction::GetCurrentTask().OnFinish(); // Only use this in UTF (from core software) to wait all running tasks complete before proceeding next reactive call
|
*]
|
InterfaceProperties { Accessibility: 'Module' }
|
}
|