haorenhui
2023-10-30 6d6cc10d9e8e242661da7fd655dec155a09d676c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Quintiq file version 2.0
#parent: #root
StaticMethod MPRunTaskFinished (
  ScenarioManager scenariomanager,
  AlgorithmRun algorithmrun
)
{
  Description: 'MP specific method'
  TextBody:
  [*
    // haikal Mar-2-2015 (created)
    
    benchmarker := scenariomanager.LibOBT_Benchmarker();
    nrtodo := benchmarker.RunTaskQueued( relsize ) + benchmarker.RunTaskStarted( relsize ) - 1; // - 1 for me!
    
    bu := scenariomanager.BenchmarkUtilities( relnew );
    
    ONBAMBI := OS::ComputerName().ToLower().StartsWith( 'qnl-rend-bam' );
    bu.WriteToDB( ONBAMBI );
    //bu.Directory( 'C:\tmp' );
    bu.WriteToFile( false );
    
    bu.Benchmark( 'MacroPlan' );
    bu.BenchmarkProblem( algorithmrun.ScenarioName() + ' ' + algorithmrun.StrategyName(),
                         0,
                         'Level 1 Weighted KPI', 0.0,
                         'Level 2 Weighted KPI', 0.0,
                         'Level 3 Weighted KPI', 0.0,
                         'Level 4 Weighted KPI', 0.0,
                         'MacroPlanner benchmark instances',
                         'N/A' );
    
    bu.Setup( 'default', '' );
    bu.Experiment( [Real]algorithmrun.TotalTimeLimit().TotalInSeconds(), algorithmrun.NumberOfThreads() );
    bu.Start();
    //Cheat because we don't do .Start() - Execution - .End() but call Start and End here.
    bu.CreatedOn( DateTime::ActualTime() - algorithmrun.Duration() );
    
    bu.End( true,
            algorithmrun.Duration(),
            algorithmrun.GetWeightedKPIOnLevel( 1 ),
            algorithmrun.GetWeightedKPIOnLevel( 2 ),
            algorithmrun.GetWeightedKPIOnLevel( 3 ),
            algorithmrun.GetWeightedKPIOnLevel( 4 ),
            '',
            nrtodo = 0 );
  *]
}