Quintiq file version 2.0
|
#parent: #root
|
StaticMethod CreateFor (LibOpt_Run run)
|
{
|
Description: 'Create `LibOpt_StatisticSuboptimizerMPs` for the given "run" (`LibOpt_Run`).'
|
TextBody:
|
[*
|
traverse( run.SuboptimizerMPs(), Elements, suboptimizermp )
|
{
|
nrexecutions_max := max( suboptimizermp, SnapshotMP, snapshotmp,
|
// FILTER
|
true,
|
// VALUE
|
snapshotmp.ExecutionNr()
|
);
|
|
// Create MP suboptimizer statistics.
|
for( executionnr := 1; executionnr <= nrexecutions_max; executionnr++ )
|
{
|
// Create `LibOpt_StatisticSuboptimizerMPInfeasible`.
|
LibOpt_StatisticSuboptimizerMP::Create( run, typeof( LibOpt_StatisticSuboptimizerMPInfeasible ),
|
suboptimizermp,
|
executionnr, // ExecutionNr
|
0 // GoalLevel (irrelevant for this statistic type)
|
);
|
|
// Create `LibOpt_StatisticSuboptimizerMPKappa`.
|
LibOpt_StatisticSuboptimizerMP::Create( run, typeof( LibOpt_StatisticSuboptimizerMPKappa ),
|
suboptimizermp,
|
executionnr, // ExecutionNr
|
0 // GoalLevel (irrelevant for this statistic type)
|
);
|
|
|
nrgoallevels_max := max( suboptimizermp, SnapshotMP, snapshotmp,
|
// FILTER
|
snapshotmp.ExecutionNr() = executionnr,
|
// VALUE
|
snapshotmp.NrGoalLevels()
|
);
|
for( goallevel := 1; goallevel <= nrgoallevels_max; goallevel++ )
|
{
|
// Create `LibOpt_StatisticSuboptimizerMPRelativeGap`.
|
LibOpt_StatisticSuboptimizerMP::Create( run, typeof( LibOpt_StatisticSuboptimizerMPRelativeGap ),
|
suboptimizermp,
|
executionnr, // ExecutionNr
|
goallevel // GoalLevel
|
);
|
}
|
}
|
}
|
*]
|
InterfaceProperties { Accessibility: 'Extensible' }
|
}
|