Quintiq file version 2.0
|
#parent: #root
|
StaticMethod GetLastStrategyUsed (
|
GlobalParameters_MP gp,
|
AlgorithmRun run,
|
ScenarioManager scenariomanager,
|
Boolean runfinite,
|
Boolean issmartplan
|
) remote as Strategy
|
{
|
Description: 'Return the last strategy used. Otherwise, return the default strategy'
|
TextBody:
|
[*
|
// Strategy name priority
|
// 1- Return lastrun strategy name if there is a lastrun.
|
// 2- If there is no last run and it is a smartplan, then return the strategy name defined on the global parameter.
|
// 3- If there is no last run and it is a smartplan and global parameter name is not defined then return default name.
|
// 4- If there is no last run and it is not a smartplan then return the default name
|
globalparameter := gp; //guard( run.Algorithm_MP().MacroPlan().GlobalParameters_MP(), null( GlobalParameters_MP ) );;
|
defaultname := ifexpr( runfinite, Translations::MP_GlobalParameters_DefaultStrategyName(), Translations::MP_GlobalParameters_DefaultStrategyInfiniteName() );
|
qpsmartplandefaultname := guard( ifexpr( globalparameter.DefaultSmartPlanStrategy().Length() > 0, globalparameter.DefaultSmartPlanStrategy(), defaultname ), defaultname );
|
name := ifexpr( issmartplan, qpsmartplandefaultname, defaultname );
|
strategyname := guard( run.StrategyName(), name );
|
strategy := select( scenariomanager, Strategy, strategy, strategy.Name() = strategyname );
|
|
return strategy;
|
*]
|
}
|