File Exchange

image thumbnail

Pareto Set

version (1.49 KB) by Yi Cao
find the pareto set from n points with k objectives


Updated 03 Apr 2014

View Version History

View License

It is motivated by Gianluca Dorini's isParetoSetMember program. The new m-file version is much faster than the C version because of the more elegant algorithm. The efficiency is significantly improved in version 3. By implementing a new sorting scheme and recoding to reduce overhead, the code is even faster than the mex version, paretomember, where sorting is not adopted. However, it puzzles me that the performance of mex code does not affected by sorting. Follow the links bellow to download these two codes for comparison.
A more efficient version available in

Cite As

Yi Cao (2021). Pareto Set (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (12)

Yongwen Du


I suppose that this package doesn't work correct. For example, for objectiveMatrix
x= [ 1 0
0 1
1 1
0 0 ]
I obtain membership as [1 1 0 0]'.

Alan Jennings

Tried on 2011a 64bit and didn't get corret results (only two points). Seems that default dimensions changed the fix is adding the ',2' for the max direction.
Corrected: line 23 of pretoset.m

V. Poor

Yi Cao

Should be ok now.

liudaohai liudaohai

example : if X=[3 1;3 1;3 1],and membership=paretoset(X)...
Warning: Divide by zero.
In paretoset at 23

Yi Cao

The bug has been fixed. It should be avialble for download in a few days. Thanks for pointing out this.

Yi Cao

liudaohai liudaohai

example : if X=[3 1;3 2;3 1],and membership=paretoset(X)...
Warning: Divide by zero
In paretoset at 22

Yi Cao

Thanks for pointing out the bug. The bug now has been corrected and performance has been slightly improved (for some problems).

liudaohai liudaohai

example,if X=[3 1;1 2;2 1],and membership=paretoset(X),then membership
=[1 1 1].elseif X=[1 2;2 1;3 1],then
membership=[1 1 0].

Yi Cao

wang chenxu

Why I can't find isParetoSetMember function?

MATLAB Release Compatibility
Created with R2014a
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!