Code covered by the BSD License  

Highlights from
Pareto Set

3.66667
3.7 | 3 ratings Rate this file 18 Downloads (last 30 days) File Size: 1.49 KB File ID: #15181 Version: 1.1
image thumbnail

Pareto Set

by

Yi Cao (view profile)

 

02 Jun 2007 (Updated )

find the pareto set from n points with k objectives

| Watch this File

File Information
Description

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

Acknowledgements

This file inspired Pareto Front.

MATLAB release MATLAB 8.3 (R2014a)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (11)
17 Jun 2013 Mikhail KHLEBNIKOV

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]'.

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

05 Apr 2009 V. Poor  
30 Jul 2008 Yi Cao

Should be ok now.

Comment only
29 Jul 2008 liudaohai liudaohai

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

Comment only
25 Jul 2008 Yi Cao

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

Yi Cao

Comment only
16 Jul 2008 liudaohai liudaohai

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

Comment only
17 Oct 2007 Yi Cao

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

Comment only
16 Oct 2007 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].

Comment only
05 Jun 2007 Yi Cao

isParetosetMember function can be obtained from http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=15172&objectType=FILE

Comment only
05 Jun 2007 wang chenxu

Why I can't find isParetoSetMember function?

Updates
17 Oct 2007

Version 2: a bug corrected with slightly improved performance.

22 Oct 2007

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

22 Oct 2007

Add the link to paretomember

01 Nov 2007

update descriptions.

25 Jul 2008

bug fixed

03 Apr 2014 1.1

bug fix

Contact us