ai-se / ResourcesDataDrivenSBSE

Other
4 stars 0 forks source link

Performance Indicator #25

Closed vivekaxl closed 6 years ago

vivekaxl commented 6 years ago

Hi Vivek,

Do you have the source for the performance measure plot in Figure 2, where Hypervolume etc is shown?

I’d like to suggest a correction: hypervolume is the union of the cuboids w.r.t. to the reference point (not the “area behind the curve”).

Also, I’d like to add to the indicators the “approximation”. Why? Hypervolume disadvantage: implicitly defines an arbitrary aim of optimization, and it is in general not efficiently computable (approximations exist, though). “additive/multiplicative Approximation" advantages:

vivekaxl commented 6 years ago

Do you have the source for the performance measure plot in Figure 2, where Hypervolume etc is shown?

I generated the figure.

Hypervolume is the union of the cuboids w.r.t. to the reference point (not the “area behind the curve”).

I agree. My motivation to keep it simple. I can modify the chart.

Also, I’d like to add to the indicators the “approximation”. Why?

I will add this to the figure.

vivekaxl commented 6 years ago

I have modified the figure. Can you take a look at it? @markuswagnergithub

markuswagnergithub commented 6 years ago

Awesome update, thank you!

"generational distance" has the disadvantage that the coverage of the true Pareto front is not considered (think of the entire solution set being duplicates of each other, but all on the front --> the distance would be perfect, but overall distribution is sh*tty) ==> This is mitigated in the "inverted generational distance". ==> would it be an idea to drop GD from the list, given this disadvantage? On the other hand, we can leave GD in with this educational comment.

I'd love to squeeze in a figure for additive approximation. Are you able to share the code/figure with me that you have used to generate the plots? (I will not use the code/figure for any other paper) I can then try to come up with a figure.

markuswagnergithub commented 6 years ago
image

Maybe the embedded image will work... Anyhow: re "generational distance", it is important to connect the blue triangles to the closest round dots, as the minimal Euclidean distance is considered per set point. (and then summed up)

markuswagnergithub commented 6 years ago
image

Similarly, for IGD, please double check the lengths of the lines of the borderline cases. I believe at least the following needs to be adjusted: from the second triangle A (counting from the top left), the rightmost assigned Pareto front solution P should switch over to the third triangle B, as I think that the distance AP>BP right now. [unless you assume some different scale on the different axes - and I hope you don't ;)]

vivekaxl commented 6 years ago

This is the script that I used for images. Also, please feel free to use the images if you find any use for it.

ImageScript.zip

vivekaxl commented 6 years ago

@markuswagnergithub You do make the right observation. It is funny because I actually calculate the GD and IGD while plotting the figure. Not sure why it shows up this way. I will fix it.

markuswagnergithub commented 6 years ago

NameError: name 'xrange' is not defined. Disclaimer: I am not a python person. Alright, let's leave the visualisation of "approximation" away for this version of the article. It'd be the fifth wheel anyhow, plus we are short on space.

timm commented 6 years ago

xrange is python2, not python3

markuswagnergithub commented 6 years ago

Okay, that helped a bit. Ahhh, multiple python installations... oh what fun. My python2 is messed up: pip says "matplotlib in /System/Library/..." but then it can't find it. Have I told you about that one time where updating a python package caused issues? Buhuu. [guess which programming languages I typically use]

timm commented 6 years ago

i say fuck it all. get a codeanywhere account and do clean installs