进化计算(三)——多目标优化基本概念

多目标优化MOP基本概念

  • 概述
    • 引言
    • 多目标优化问题的数学模型
  • 基本概念
    • Pareto最优
    • Pareto支配
    • Pareto Front—最优边界
    • Approximation Set—近似解
    • Approximation Front—近似前沿
    • 收敛性和分布性
  • 多目标优化算法
    • 传统数学优化算法
    • 智能优化算法
  • 本文参考链接

概述

引言

 优化目标可以理解为目标函数,在多目标优化问题中优化目标个数在2个及以上。因此,多目标优化问题和单目标优化相比,最大的区别在于多目标优化问题是一个向量优化(目标函数向量)的问题。而向量之间仅仅存在偏序关系,难以直接比较向量之间的大小,这就导致该类优化问题的性质非常不好。现实问题中,多个优化目标之间或多或少都会存在矛盾

 如果我们想要选购一款性价比高的笔记本电脑,自然就要在价格和性能这两个优化目标之间进行tradeoff。选取电脑内存、摄像头像素作为该问题的决策变量,不同的决策变量值就可以构成许多个决策向量=[内存,像素],这些决策向量构成决策空间。显而易见的是,内存越大—价格越高—性能越好;像素越高—性能越好—价格越贵。因此,我们无法找到一个确切的解作为该优化问题的最终解,只能获得可行域范围内的解集供用户挑选。[易看出,此处的解就是一个决策向量]

多目标优化问题的数学模型

决策变量、目标函数、约束函数(决定可行域范围)是构成多目标优化问题的三要素。标准的多目标优化问题(所有的目标函数都转换为极小化问题)的数学形式如下所示:
min ⁡ y = f ( x ) = [ f 1 ( x ) , f 2 ( x ) , . . . , f n ( x ) ] n = 1 , 2 , . . . , N s . t . g i ( x ) ≤ 0 i = 1 , 2 , . . . , m h j ( x ) = 0 j = 1 , 2 , . . . , k x = [ x 1 , x 2 , . . . , x d , . . . , x D ] d = 1 , 2 , . . . , D x d m i n ≤ x d ≤ x d m a x \min \quad y=f(x)=[f_1(x),f_2(x),...,f_n(x)] \quad n=1,2,...,N \\ s.t. \quad g_i(x)\le 0 \quad i =1,2,...,m\\ \quad \quad h_j(x)= 0 \quad j=1,2,...,k\\ \quad \quad x=[x_1,x_2,...,x_d,...,x_D]\quad d=1,2,...,D\\ \quad \quad x_{d_{min}}\le x_d\le x_{d_{max}} miny=f(x)=[f1(x),f2(x),...,fn(x)]n=1,2,...,Ns.t.gi(x)0i=1,2,...,mhj(x)=0j=1,2,...,kx=[x1,x2,...,xd,...,xD]d=1,2,...,Dxdminxdxdmax

 符号解释:

  • x x x代表 D D D维决策空间 X X X中的一个决策向量,也即为优化问题的一个解;
  • f n ( x ) f_n(x) fn(x)为多目标优化问题中的第 n n n个优化目标(函数);
  • f ( x ) f(x) f(x) N N N维目标空间 Y Y Y中的一个目标函数向量;
  • y y y可以理解为 D D D维决策空间 X X X N N N维目标空间的映射函数;
  • N N N为待优化的目标函数总数(优化目标个数);
  • g i ( x ) ≤ 0 g_i(x)\le 0 gi(x)0为第 i i i个不等式约束函数;
  • h j ( x ) = 0 h_j(x)= 0 hj(x)=0为第 j j j个等式约束函数。

 满足所有约束函数(约束条件)的一个决策变量可以称之为一个可行解,优化问题中所有的可行解构成了整个优化问题的可行域。上述数学模型的可行域为: X = { x ∣ x ∈ X , g i ( x ) ≤ 0 , h j ( x ) = 0 , i = 1 , 2 , . . . , m , j = 1 , 2 , . . . , k } X=\left \{ x|x\in X, g_i(x)\le 0,h_j(x)= 0,i =1,2,...,m,j=1,2,...,k\right \} X={xxX,gi(x)0,hj(x)=0,i=1,2,...,m,j=1,2,...,k}

基本概念

此部分参考了该篇博客和该篇文章中的内容。

Pareto最优

在比较解的优劣时,单目标优化直接根据适应度值大小比较不同解的优劣,但是多目标优化中目标值不只一个,根据某一个目标值决定优劣关系是不合理的,常用的比较方法是非支配排序法。

Pareto支配

非支配解:假设存在任意两个解A和B,对于所有目标函数而言,A的性能均优于B,则称A支配B。若没有解可以支配A,则A就称为非支配解(不受支配解),也称Pareto解。

支配解:若解B对于所有目标函数均劣于A,则称A优于B,也称A支配B,B为受支配解。

Pareto Front—最优边界

由所有的非支配解构成的解集在目标空间的映射称为Pareto前沿(PF)。下图中,红色曲线(前沿线;在目标函数较多时,前沿面通常为超曲面)上所有的solutions都是Pareto解。
进化计算(三)——多目标优化基本概念_第1张图片

举例理解:引用该篇文章中的这个例子对上述三个概念进一步理解
进化计算(三)——多目标优化基本概念_第2张图片
 若Height和Salary均为Maximize问题,则本例中A、B、C均支配D;A、B可支配C、D;A与B为非支配关系(两者各有一个指标大于对方,一个指标小于对方)。在多目标优化问题中,如果能找到一组不互相支配也不受其他解支配的解集,即称之为"帕累托最优"解。该解集映射到目标空间中即构成Pareto Front。本例中,解A和解B均在帕累托前沿上。

Approximation Set—近似解

 在无法得到准确帕累托解时,根据算法迭代所能求得的一组接近Pareto Solution的解。

Approximation Front—近似前沿

 由所有的 Approximation Set构成的解集在目标空间的映射。

收敛性和分布性

 这两个性质用以评价所得到的近似解集的优劣。其中,收敛性体现了近似前沿和帕累托前沿的贴合程度,而分布性则描述了AF在PF中的分布情况(主要体现在多样性和均匀性)。

 定量度量解的收敛性和分布性可以采用如下两个指标:

  1. IGD(Inverted Generational Distance):测量得到的解与已知的最优解之间的距离。主要计算每个在PF上的点(个体)到AF个体之间的最小距离和。IGD值越小,算法的综合性能越好。(需要有已知的最优解)
  2. HV(Hypervolume):不需要已知PF,只需要一个参考点。主要计算算法获得的AF与参照点围成的目标空间中区域的体积。HV值越大,算法的综合性能越好。【参考点P的选取示例:在特征选择的目标域中(特征数与错误率),在不知道真实前沿面的情况下,可以选取参考点(1, 1);如果知道真实前沿面,可以选取离原点最近的点,或者选择错误率最低的点作为参考点。】
  3. more indicator。

多目标优化算法

 该部分参考博客及文章。

传统数学优化算法

 使用数学优化算法解决多目标优化问题通常是将各个子目标聚合成一个带权重的单目标函数,系数由决策者决定,或者由优化方法自适应调整。即通过加权等方式将多目标问题转化为单目标问题进行求解。
 这样每次只能得到一种权值下的最优解。MOP的目标函数、约束函数可能是非线性、不连续的,无法满足数学优化问题的求解条件。传统的数学规划效率低,总的来说存在如下几个问题:

  • 单目标权值难以确定;
  • 各个目标之间量纲不统一,可能会造成单目标优化问题鲁棒性差;
  • 单目标加权求和只能接近凸的帕累托面;
  • 多目标优化问题的帕累托解集包含更多有效信息。

 使用进化计算等智能优化算法就可以实现多目标优化问题的直接处理。当然,多目标优化方法也存在计算速度慢、计算量大等局限性,具体可参考文章。

智能优化算法

 主要分三个阶段发展。按照不同的选择机制可以进行如下分类:

  1. 基于Pareto支配关系:NSGA、NSGA II。该方法主要是通过对不同解进行非支配排序完成个体选择,同时使用适应度共享策略使Pareto Front上的个体分布均匀。相较于NSGA算法,NSGA II算法使用快速非支配排序算法保障收敛,引入拥挤距离算子保障Pareto解的分布性,同时使用了精英策略。
  2. 基于分解的方法:MOEA/D。该方法将MOP分解为多个子问题,这样就可以通过优化每个子问题来求解一个MOP。
  3. 基于Indicator:IBEA。该方法根据性能评价模型对个体进行fitness赋值。

进化计算(三)——多目标优化基本概念_第3张图片

本文参考链接

博客:
   博客1;
   博客2;
   博客3;
   博客4;
文章:
   文章1;
   文章2;
课程:
   课程;

你可能感兴趣的:(进化计算,数据挖掘)