NSGAIII求极值点、超平面方程和截点的方法(用于标准化)

NSGAIII求极值点、超平面方程和截点的方法(用于标准化)

1.标准化的目的

由于测试问题不同目标的量纲或者范围不同,若直接进行运算,则量纲大的值会覆盖掉小的值,因此需要进行标准化.

2. 极值点(extreme point)

在一些文章中,提到如果有一些点,在一个目标上的值很大,在另外目标上值很小,这些点就更靠近这个坐标轴,也就是所谓的extreme point(极值点、极限点).

3. NSGAIII找极值点的方法

在NSGAIII中,通过最小化ASF(成就标量函数)来寻找某一个目标轴上的最小点,ASF函数表示如下:
A S F = max ⁡ M i = 1 f i ′ ( x ) / w i ASF=\underset{i=1}{\overset{M}{\max}}f_{i}^{'}\left( x \right) /w_i ASF=i=1maxMfi(x)/wi
其中 f i ′ ( x ) f_{i}^{'}\left( x \right) fi(x) 为原目标值减去理想点之后的值.

权重向量 W = ( w 1 , w 2 , . . . , w M ) T W=\left( w_1,w_2,...,w_M \right) ^T W=(w1,w2,...,wM)T,当求第i维目标轴的极值点时, w i w_i wi=1,其他值等于0(通常用一个很小的值代替,如10的负6次方).

举一个实际的例子来说明,假设有三个点(1,3,0.3)、(2,6,0.3)和(0.1,0.2,3).求其在第一个目标轴上的极值点.

计算过程如下:

因为是计算在第一维目标轴上的极值点,因此 W = ( 1 , 1 0 − 6 , 1 0 − 6 ) W=\left( 1,10^{-6},10^{-6} \right) W=(1,106,106) .

对于第一个点,计算可得到:

(1,3,0.3)/(1,10-6,10-6)=(1,3*106,0.3*106),最大值为3*106,即ASF1 =3*106 .(此处的除法为点除法)

对于第二个点,计算可得到:

(2,6*106,0.3*106),最大值为ASF2 =6*106.

对于第三个点,计算可得到:

(0.1,0.2*106,3*106),最大值为ASF3 =3*106.

由ASF值可得,ASF的最小值由第一个点和第二个点共同取得,因此两个点均为极值点(两点任选一个).

注意:要先计算单个个体的最大值,然后再取最小的ASF值.

4. 超平面方程(超平面与平面的区别就是超平面的维度更高)

对于一个二维平面来说,已知三个点即可确定一个平面(三个点不在一条直线上).

二维平面方程可以表示为:ax+by+cz = d.或者ax+by+cz=1.

假设有三个点(-1,1,2)、(2,0,-3)和(5,1,-2).可组成方程组:

(-1)*a+b+2*c=1

2*a-3*c=1

5*a+b-2*c=1

联立方程组可解得:a=-0.4;b=1.8;c=-0.6 即得平面方程.

在matlab中,求a、b和c的方式是矩阵求逆,如下:
( a b c ) = ( − 1 1 2 2 0 − 3 5 1 − 2 ) − 1 ( 1 1 1 ) \left( \begin{array}{c} a\\ b\\ c\\ \end{array} \right) =\left( \begin{matrix} -1& 1& 2\\ 2& 0& -3\\ 5& 1& -2\\ \end{matrix} \right) ^{-1}\left( \begin{array}{c} 1\\ 1\\ 1\\ \end{array} \right) abc=1251012321111

5. 求截点

在上式中,求得的平面方程为(-0.4)x+1.8y+(-0.6)z=1.

求x坐标轴上的截点方法为,令y和z等于0,求得x = -1/0.4,因此截点为(-1/0.4,0,0).其他坐标轴上的截点求法类似.

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值