当前位置: 首页 > news >正文

关于多目标进化算法评估指标

超体积指标(HV,Hypervolume):

介绍:

算法获得的非支配解集与参照点围成的目标空间中区域的体积。HV值越大,说明算法的综合性能越好

优点:同时评价收敛性和多样性;无需帕累托前沿进行评估

缺点:面对高维问题时,计算复杂度高;参考点的选择在一定程度上决定超体积指标值的准确性

示例:

示例图片:

示例图片说明:

棕色为一开始的参考点。

计算方法为首先按照第一个维度x的坐标排序,然后从最大的x坐标开始。
对于第一个参考点采用以下做法:

(参考点的y-第一个点的y)*(参考点的x-第一个点的x)

对于其他的参考点采用以下做法:
(前一个点的y-当前点的y)*(前一个参考点的x-当前点的x)

最后累加得到超体积

示例代码:

% 以下是hypervolume函数的简单实现(示例)
function hv = hypervolume(points, refPoint)
    % 简单三维超体积计算(假设无支配关系)
    if isempty(points)
        hv = 0;
        return;
    end
    
    % 按第一个维度排序
    [~, idx] = sort(points(:,1), 'descend');
    sortedPoints = points(idx, :);
    
    hv = 0;
    prevX = refPoint(1);
    for i = 1:size(sortedPoints, 1)
        p = sortedPoints(i, :);%逐步分割目标空间,避免体积重复计算
        width = prevX - p(1);
        height = refPoint(2) - p(2);
        depth = refPoint(3) - p(3);

        hv = hv + width * height * depth;
        prevX = p(1);
    end
end

相关文章:

  • 可编辑52页PPT | 智慧园区安全生产顶层设计方案
  • 在C语言基础上学Java【Java】【二】
  • 工业软件的破局与重构:从技术依赖到自主创新的未来路径
  • Vagrant+VMWare 安装Ubuntu24.04
  • JVM常见概念之条件移动
  • 《掌握基础DOM操作:从零开始的前端入门指南》
  • C++的常用容器嵌套
  • Android Compose 基础布局之 Box 和 Stack 源码深度剖析(九)
  • 【留一下记录】Vllm在Linux环境下的学习笔记
  • 多路FM调频广播解调器:多路电台FM广播信号一体化解调处理方案
  • Burp Suite HTTPS解密原理
  • 星越L_大灯延时关闭使用讲解
  • vue3之写一个aichat---实现聊天逻辑
  • OpenCV Imgproc 模块使用指南(Python 版)
  • 【ACM竞赛的必要性】
  • 鸿蒙开发工程师简历项目撰写全攻略
  • 力扣刷题——143.重排链表
  • 如何利用环境监控看板提升工厂生产质量和效率
  • 《信息系统安全》(第一次上机实验报告)
  • 无需邀请码,实在智能发布通用智能体-实在Agent
  • 中国社科院:网文市场超430亿元,作者破3000万人
  • 碧桂园:砸锅卖铁保交房、持续推进保主体,尽快让公司恢复正常经营
  • 异域拾异|大脚怪的形状:一项神秘社会学研究
  • 人民日报评“组团退演出服”:市场经济诚信原则需全社会维护
  • 胖东来发布和田玉、翡翠退货说明:不扣手续费等任何费用
  • 港理大研究揭示:塑胶废物潜藏微生物群落或引发生态危机