Code covered by the BSD License  

Highlights from
Pareto Set

3.66667

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

Pareto Set

by

 

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

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.

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

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

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

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).

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

05 Jun 2007 Yi Cao

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

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

bug fix

Contact us