Free cookie consent management tool by TermsFeed Policy Generator

Opened 5 years ago

Closed 5 years ago

Last modified 5 years 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 5 years ago.

Download all attachments as: .zip

Change History (8)

Changed 5 years ago by gkronber

comment:1 Changed 5 years 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 5 years 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 5 years ago by abeham

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

comment:4 Changed 5 years ago by abeham

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

comment:5 Changed 5 years ago by gkronber

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

comment:6 Changed 5 years 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 5 years ago by gkronber

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

r16836: merged r16716 and r16795 from trunk to stable

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