File Exchange

image thumbnail

Pareto Set

version 1.1 (1.49 KB) by

find the pareto set from n points with k objectives

3.66667
3 Ratings

6 Downloads

Updated

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
http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=17251&objectType=File

Comments and Ratings (11)

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

Alan Jennings (view profile)

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
[x,checklist]=sort(max(X1./(Xmean(ones(m,1),:)+1),2));

V. Poor

Yi Cao

Should be ok now.

liudaohai liudaohai

beddug:
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

beddug:
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

error:
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?

Updates

1.1

bug fix

bug fixed

update descriptions.

Add the link to paretomember

Version 3 implemented a new sorting scheme to improve speed plus recoding to reduce overhead.

Version 2: a bug corrected with slightly improved performance.

MATLAB Release
MATLAB 8.3 (R2014a)

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

» Watch video