Pareto Fronts according to dominance relation

Finds the fronts from a set of n-dimensional points according to a certain dominance relation
1.2K Downloads
Updated 29 Oct 2012

View License

PARETOFRONTS from a set of points x with a certain dominance relation dom

[M,F] = PARETOFRONTS(x,objective,dom,make_plot,parameter) can find and/or
plot the first or all the pareto fronts according to one of 7 relations
of dominance among points of any dimension

Inputs:
x = table with point in format (N, M) where N is the number of
points and M is their dimension

objective = array specifying if we want to minimize (0) or maximize (1)
each dimension (default = 1)

dom = string or number with a dominace relation (default = pareto
dominance)
possible values: 1 - 'pareto'
2 - 'lexicographic'
3 - 'extrema'
4 - 'maxdom'
5 - 'cone'
6 - 'epsilon'
7 - 'lorenz'

make_plot = 0, 1 or 2, plots the points and their fronts

parameter = available for 'lexicographic' (rank of importance between objectives of length M)
'extrema' (weight vector for each objective of length M)
'epsilon' (epsilon > 0, resolution vector of length M or 1)
'cone' (inclination value lambda (default value is 0.2) of length 1)


Outputs:
M = list with which elements are in the first front
F = list with the front of each element

Examples:

members = paretofronts(randn(100,3),[1,1,1],1,1);

[members, fronts] = paretofronts(randn(100,2),[0,0],1,1);

x = randn(50,2); for i=1:7 subplot(2,4,i); paretofronts(x,[0,0],i,1); end

Cite As

Alan de Freitas (2024). Pareto Fronts according to dominance relation (https://www.mathworks.com/matlabcentral/fileexchange/37080-pareto-fronts-according-to-dominance-relation), MATLAB Central File Exchange. Retrieved .

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

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.5.0.0

Visualization of points in high dimensions with parallel coordinates

1.3.0.0

Makes it faster.

1.2.0.0

Solves a minor problem that happened when a point dominated itself

1.0.0.0