Opened 4 weeks ago

Closed 45 hours ago

Last modified 45 hours ago

#3000 closed defect (done)

RunLengthDistributionView shows incorrect values for runs in which the target is reached in the last generation

Reported by: gkronber Owned by: abeham
Priority: medium Milestone: HeuristicLab 3.3.16
Component: Optimization.Views Version: trunk
Keywords: Cc:

Description

Because of the logic for determining the number of active runs (movingTargets) the y-value of the last point is calculated incorrectly when there are hits in the final generation.

Critical lines of code (line 436):

            missedecdf += iter.Current.Value;
            movingTargets -= iter.Current.Value;
            if (row.Points.Count > 0 && row.Points.Last().XValue == iter.Current.Key) {
              row.Points.Last().SetValueY(ecdf / movingTargets);
              row.Points.Last().Color = Color.FromArgb(255 - (int)Math.Floor(255 * (prevmissedecdf / totalTargets)), colors[colorCount]);
            } else {
              var dp = new DataPoint(iter.Current.Key, ecdf / movingTargets) {
                Color = Color.FromArgb(255 - (int)Math.Floor(255 * (prevmissedecdf / totalTargets)), colors[colorCount])
            };

and (line 469):

          ecdf += h.Value;
          if (row.Points.Count > 0 && row.Points.Last().XValue == h.Key) {
            row.Points.Last().SetValueY(ecdf / movingTargets);
            row.Points.Last().Color = Color.FromArgb(255 - (int)Math.Floor(255 * (missedecdf / totalTargets)), colors[colorCount]);
          } 

Attachments (1)

RLDV Test.hl (1.2 MB) - added by gkronber 4 weeks ago.

Download all attachments as: .zip

Change History (8)

Changed 4 weeks ago by gkronber

comment:1 Changed 4 weeks ago by gkronber

Steps to reproduce:

  1. Load attached file RLDV Test.hl
  2. Open "Run Length Distribution View"
  3. Set target to 0.98 (absolute) --> correct
  4. Set target to 0.99 (absolute) --> incorrect

comment:2 Changed 4 weeks ago by abeham

r16716:

  • Added a lof changes from #1614 branch not yet merged to trunk
  • Fixed problem with missed targets at simultaneous points to hits

I think this should fix your problems. The view still needs some refactoring. The base case (ecdf by total targets) would be much easier to compute. The moving targets case is rather cumbersome.

comment:3 Changed 9 days ago by abeham

  • Status changed from new to accepted
  • Version changed from 3.3.15 to trunk

comment:4 Changed 9 days ago by abeham

  • Owner changed from abeham to gkronber
  • Status changed from accepted to reviewing

comment:5 Changed 4 days ago by gkronber

r16795: reverted unintended changes of tabPage properties (BackgroundColor and VisualStyles) from r16716

comment:6 Changed 4 days ago by gkronber

  • Owner changed from gkronber to abeham
  • Status changed from reviewing to readytorelease

Reviewed r16716 and tested the view again with the attached file. I did not find any more problems.

comment:7 Changed 45 hours ago by gkronber

  • Resolution set to done
  • Status changed from readytorelease to closed

r16836: merged r16716 and r16795 from trunk to stable

Last edited 45 hours ago by gkronber (previous) (diff)
Note: See TracTickets for help on using tickets.