private double epsilon ( Front front , Front referenceFront ) throws JMetalException { double eps , epsJ = 0.0 , epsK = 0.0 , epsTemp ; int numberOfObjectives = front . getPointDimensions ( ) ; eps = Double . MIN_VALUE ; for ( int i = 0 ; i < referenceFront . getNumberOfPoints ( ) ; i ++ ) { for ( int j = 0 ; j < front . getNumberOfPoints ( ) ; j ++ ) { for ( int k = 0 ; k < numberOfObjectives ; k ++ ) { epsTemp = front . getPoint ( j ) . getValue ( k ) - referenceFront . getPoint ( i ) . getValue ( k ) ; if ( k == 0 ) { epsK = epsTemp ; } else if ( epsK < epsTemp ) { epsK = epsTemp ; } } if ( j == 0 ) { epsJ = epsK ; } else if ( epsJ > epsK ) { epsJ = epsK ; } } if ( i == 0 ) { eps = epsJ ; } else if ( eps < epsJ ) { eps = epsJ ; } } return eps ; }
Returns the value of the epsilon indicator .