File Exchange

image thumbnail

Interactive Tool for Decision Making in Multiobjective optimization with Level Diagrams

version 1.3.0.0 (705 KB) by Xavier Blasco
Graphical interactive tool for analyzing Multiobjective optimal solutions with level diagram.

7 Downloads

Updated 14 Jun 2018

View License

This interactive tool uses level diagram for graphical representation of Pareto fronts and set that come from multiobjective optimization. It is a completely rebuilt of the previous tool* looking for more flexibility and interactivity with the user.
* https://es.mathworks.com/matlabcentral/fileexchange/24042-leveldiagrams-for-multiobjective-decision-making
The tool allows the basic operations with level diagram and adds some new features: the possibility to change colors, shapes and sizes of each one of the points in the representation. In level diagram representation, the norm used for axes synchronization can offers different points of view about the possible solutions, then the tool has been created to makes easier the change of these norms. As a new characteristic, the tool allows the superposition of several Pareto front and set (called ‘concepts’) in order to compare them. This characteristic is quite useful when comparing several design alternatives with its corresponding Pareto solutions.
These capabilities increase the synchronization between the different plots of the level diagrams. Level diagrams with these extended capabilities give a valuable tool in decision making process.
Three examples are supplied and commented inside the scripts:
- ‘Examples_ldraw.m’ shows the basic command for drawing level diagrams and coloring, sizing and changing size of the graphical points. It also shows how to change the norm for y-axis synchronization. (screencast: https://youtu.be/jXpYLp6dVnU)


- ‘Example_comparingConcepts.m’ shows an example of Pareto front superposition. (screencast: https://youtu.be/goHVEogyMyU)


- ‘example_with_2_ld.m’ shows the synchronization with 2 level diagrams simultaneously, a level diagram that 2-norm and a level diagram that use Quality indicator to show dominance relationship (screencast: https://youtu.be/ZV-vj2W9Br4). For details about Quality indicator see:


Gilberto Reynoso-Meza and Xavier Blasco and Javier Sanchis and Juan M. Herrero. Comparison of design concepts in multi-criteria decision-making using level diagrams. Information Sciences. 2013. vol 221, pp. 124--141, doi: 10.1016/j.ins.2012.09.049
To reference level diagrams use:
X. Blasco, J.M. Herrero, J. Sanchis, M. Martínez. A new graphical visualization of n-dimensional Pareto front for decision-making in multiobjective optimization. Information Sciences 178 (2008) 3908–3924. doi:10.1016/j.ins.2008.06.010
Gilberto Reynoso Meza, Xavier Blasco Ferragud, Javier Sanchis Saez and Juan Manuel Herrero. Controller Tuning with Evolutionary Multiobjective Optimization. A Holistic Multiobjective Optimization Design Procedure. Springer (2017). ISBN 978-3-319-41299-3. DOI: 10.1007/978-3-319-41301-3.
To reference this tool please use the contribution to GECCO2017 where it was presented:
Interactive tool for analyzing multiobjective optimization results with Level Diagrams
Xavier Blasco, Juan Manuel Herrero, Gilberto Reynoso-Meza, Miguel A. Martínez Iranzo.
Genetic and Evolutionary Computation Conference 2017 (GECCO2017)
Berlin, Germany July 15-19, 2017.

Comments and Ratings (6)

Afabrild

Xavier Blasco

Dear Diana, I've checked again the script on my computer with R2015b and it works. You use R2015a, this could be the problem, but I'm not sure. Try to comment line 42 in Examples_ldraw and run again.
It seems a problem with the cell arrays we use for the data structure or with evalin command, but I can't localize the problem if I can't reproduce it.
Sorry.

Diana Riemer

I got the following error in MATLAB 2015a when executing the Idraw example:

>> Examples_ldraw
Error using vertcat
Dimensions of matrices being concatenated are not consistent.

Error in ldChangeNorm (line 28)
maxpf=[maxpf;evalin('base',[ld_data.concepts{1,i} '.maxpf;'])];

Error in Examples_ldraw (line 42)
ldChangeNorm(ld1,1)

The remaining examples work very well.

Xavier Blasco

The tool was developed with R2015b. It probably doesn't work with R2010. Sorry.

amal

amal (view profile)

Please, the tool not wok , can you help me. I use matlab 2010
I run examples_ldraw.m and this message appears:
*************************first run
??? Attempt to reference field of non-structure array.
Error in ==> ldDraw at 61
figuras=[h.Number];
Error in ==> Examples_ldraw at 15
ldDraw('ld1','concept1')
***************************if run again
??? Reference to non-existent field 'figs'.
Error in ==> ldDraw at 39
figuras=evalin('base',[ldname '.figs;']);
Error in ==> Examples_ldraw at 15
ldDraw('ld1','concept1')

Updates

1.3.0.0

Minor bug fixed.

1.2.0.0

Added the reference to the GECCO2017 where this tool has been presenten

1.2.0.0

Three links to screencast video have been added. It corresponds to each one of the supplied examples.

1.1.0.0

Changes in the way used to rescale axis limits.

1.0.0.0

Correcting mistakes.

1.0.0.0

Adding user manual

1.0.0.0

Short user manual has been added.

MATLAB Release Compatibility
Created with R2015b
Compatible with any release
Platform Compatibility
Windows macOS Linux

MATLAB Online Live Editor Challenge

View the winning live scripts from faculty and students who participated in the recent challenge.

Learn more

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video