集成在PlatEMOv2.9上的IGDX代码

IGDX(衡量PS与真实PS之间的接近程度)

P ∗ P^* P代表真实PS均匀分布的点集(参考点),O代表算法求得的解集,IGDX的计算公式:
I G D X ( O , P ∗ ) = Σ v ∈ P ∗ d ( v , O ) ∣ P ∗ ∣ IGDX(O,P^*)=\frac{\Sigma_{v\in P^*}d(v,O)}{|P^*|} IGDX(O,P)=PΣvPd(v,O)
其中 d ( v , O ) d(v,O) d(v,O)表示 v v v O O O中所有点之间欧式距离的最小值, ∣ P ∗ ∣ |P^*| P表示参考点的数目。

如果参考点集能够很好的表示真实PS,那么IGDX 就能较好的衡量决策空间的收敛性和多样性. IGDX 的值越小,说明算法求得的解集和参考点集越接近

下面是matlab代码

function Score = IGDX(Parameter)
% <metric> <min>
% IGDX: Calculate the IGD of the obtained Pareto set

%% Input:
%                              Dimension                                                                    Description
%      PopDec     population_size x n_var                                                 Obtained Pareto set     
%      PS    num_of_solutions_in_reference_ps x n_var                     Reference Pareto set

%% Output:
%                        Description
%      Score          Inverted Generational Distance (IGD) of the obtained Pareto set
    [~,~,PopDec,PS,~,~] = deal(Parameter{:});
    Distance = min(pdist2(PS,PopDec),[],2);
    Score    = mean(Distance);
end
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值