question: Variogram TheoryVariogramNSGA ( SemivariogramType semiType , int n ) { double [ ] y = new double [ bins . length ] ; for ( int i = 0 ; i < y . length ; i ++ ) { y [ i ] = bins [ i ] [ n ] . Value ; } int nNan = 0 ; for ( int i = 0 ; i < y . length ; i ++ ) { if ( ! Double . isNaN ( y [ i ] ) ) { nNan ++ ; } } x = new double [ nNan ] ; double [ ] y2 = new double [ nNan ] ; int ntmp = 0 ; for ( int i = 0 ; i < y . length ; i ++ ) { if ( ! Double . isNaN ( y [ i ] ) ) { y2 [ ntmp ] = y [ i ] ; x [ ntmp ] = bins [ i ] [ nthSVariogram ] . Distance ; ntmp ++ ; } } y = y2 ; double [ ] [ ] pnts = new double [ y . length ] [ 2 ] ; for ( int i = 0 ; i < y . length ; i ++ ) { pnts [ i ] [ 1 ] = y [ i ] ; pnts [ i ] [ 0 ] = x [ i ] ; } Variogram var = new Variogram ( ) ; var . Type = semiType ; SemivariogramCurveFitter svcf = new SemivariogramCurveFitter ( ) ; try { var = svcf . Run ( pnts , semiType , ConsiderNugget ) ; } catch ( JMException ex ) { } catch ( SecurityException ex ) { } catch ( IOException ex ) { } catch ( ClassNotFoundException ex ) { } return var ; }
target:  This method uses NSGA algorithm to fit the Semi Variogram