Quintiq file version 2.0
|
#parent: #root
|
StaticMethod CreateAlgorithmRunSolverSettings (AlgorithmRunLevel owner, StrategyLevelMacroPlan strategylevelmacroplan, LibOBT_RunTaskSetting benchmarksetting)
|
{
|
Description: 'Create run solver settings according to the solver setting link to strategy level, or according to selected benchmarking setting'
|
TextBody:
|
[*
|
settinglevel := select( benchmarksetting,
|
LibOBT_RunTaskSettingLevel,
|
runtasksettinglevel,
|
runtasksettinglevel.StrategyLevel().Level() = strategylevelmacroplan.Level() );
|
|
// If the solversettinggroup is not set (in the runtask) then use the default strategylevel solversettings
|
usefromsettinglevel := not isnull( settinglevel );
|
//solversettinggroup := guard( settinglevel.SolverSettingGroup(), strategylevel.SolverSettingGroupMacroPlan() );
|
solversettinggroup := strategylevelmacroplan.SolverSettingGroupMacroPlan();
|
|
if ( usefromsettinglevel )
|
{
|
// Create solver settings for this algorithmrunlevel
|
traverse( settinglevel, SolverSettingGroup.SolverSetting, solversetting )
|
{
|
AlgorithmRunSolverSetting::Create( owner,
|
solversetting.ParameterNumber(),
|
solversetting.ParameterValue(),
|
solversetting.IsNumberParameter() );
|
}
|
owner.UpdateSolverSettingGroup( guard( settinglevel.SolverSettingGroup().Name(), '' ) );
|
}
|
else
|
{
|
// Create solver settings for this algorithmrunlevel
|
traverse( solversettinggroup, SolverSettingMacroPlan, solversetting )
|
{
|
AlgorithmRunSolverSetting::Create( owner,
|
solversetting.ParameterNumber(),
|
solversetting.ParameterValue(),
|
solversetting.IsNumberParameter() );
|
}
|
owner.UpdateSolverSettingGroup( guard( solversettinggroup.Name(), '' ) );
|
}
|
*]
|
}
|