• 大小: 2KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-17
  • 语言: Matlab
  • 标签: 未分类  

资源简介

matlab开发-ParetoSet。从n个具有k个目标的点查找pareto集

资源截图

代码片段和文件信息

function membership=paretoset(X)

% PARETOSET  To get the Pareto set from a given set of points.
% synopsis:           membership =paretoset (objectiveMatrix)
% where:
%   objectiveMatrix: [number of points X number of objectives] array
%   membership:      [number of points X 1] logical vector to indicate if ith
%                    point belongs to the Pareto set (true) or not (false).
%
% by Yi Cao Cranfield University 02 June 2007
% Revised by Yi Cao on 17 October 2007
% Version 3 21 October 2007 new sorting scheme to improve speed.
% Bugfix 25 July 2008 devided by zero error is fixed.
%
% Examples: see paretoset_examples
%

m=size(X1);
Xmin=min(X);
X1=X-Xmin(ones(m1):);     %make sure X1>=0;
Xmean=mean(X1); 
%sort X1 so that dominated points can be removed quickly
[xchecklist]=sort(max(X1./(Xmean(ones(m1):)+max(Xmean))[]2));
Y=X(checklist:);                  
membership=false(m1);
while numel(checklist)>1
    k=checklist(1);
    [membership(k)checklistY]=paretosub(Ychecklist);
end
membership(checklist)=true;

function [isparetonondominatedX]=paretosub(Xchecklist)

Z=X-X(ones(size(X1)1):);
nondominated=any(Z<02);                    %retain nondominated points from the check list                         
ispareto=all(any(Z(nondominated:)>02));   %check if current point belongs to pareto set    
X=X(nondominated:);
nondominated=checklist(nondominated);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1444  2014-04-03 12:56  paretosetV5\paretoset.m
     文件        1249  2014-04-03 12:56  paretosetV5\paretoset_examples.m
     文件        1306  2014-04-03 12:56  license.txt

评论

共有 条评论