Changeset 13672


Ignore:
Timestamp:
03/09/16 12:44:23 (5 years ago)
Author:
bwerth
Message:

#1087 added Analyzers, reworked PFStore, added licence information, cleaned code

Location:
branches/HeuristicLab.Problems.MultiObjectiveTestFunctions
Files:
28 added
7 deleted
37 edited
5 moved

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Calculators/Crowding.cs

    r13620 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21
     22using System;
    223using System.Collections.Generic;
    324using System.Linq;
    4 using HeuristicLab.Data;
    5 using HeuristicLab.Encodings.RealVectorEncoding;
    6 using HeuristicLab.Problems.MultiObjectiveTestFunctions.Comparators;
    725
    826namespace HeuristicLab.Problems.MultiObjectiveTestFunctions {
     
    1432  /// C(A) = mean(d(x,A)) where x in A  and d(x,A) is not infinite
    1533  /// </summary>
    16   public class Crowding : IMultiObjectiveDistance {
    17     private double[,] bounds;
     34  public class Crowding {
    1835
    19     public Crowding(double[,] bounds) {
    20       this.bounds = bounds;
    21 
    22     }
    23 
    24     public static double GetDistance(IEnumerable<double[]> front, IEnumerable<double[]> optimalFront, double[,] bounds) {
    25       return new Crowding(bounds).Compare(front, optimalFront);
    26     }
    27 
    28     public static double GetCrowding(IEnumerable<double[]> front, double[,] bounds) {
    29       return new Crowding(bounds).Get(front);
    30     }
    31 
    32     public double Get(IEnumerable<double[]> front) {
     36    public static double Calculate(IEnumerable<double[]> front, double[,] bounds) {
    3337      double sum = 0;
    3438      int c = 0;
    35       foreach (double[] point in front) {
    36         double d = CalcCrowding(point, front);
     39      double[] pointsums = new double[front.Count()];
     40
     41      for (int dim = 0; dim < bounds.GetLength(0); dim++) {
     42        double[] arr = front.Select(x => x[dim]).ToArray();
     43        Array.Sort(arr);
     44        double fmax = bounds[dim % bounds.GetLength(0), 1];
     45        double fmin = bounds[dim % bounds.GetLength(0), 0];
     46        int pointIdx = 0;
     47        foreach (double[] point in front) {
     48          double d = 0;
     49          int pos = Array.BinarySearch(arr, point[dim]);
     50          if (pos != 0 && pos != arr.Count() - 1) {
     51            d = (arr[pos + 1] - arr[pos - 1]) / (fmax - fmin);
     52            pointsums[pointIdx++] += d;
     53          }
     54        }
     55      }
     56
     57      foreach (double d in pointsums) {
    3758        if (!Double.IsInfinity(d)) {
    3859          sum += d;
     
    4061        }
    4162      }
    42       return c==0?Double.PositiveInfinity:sum / c;
    43     }
    44 
    45     public double Compare(IEnumerable<double[]> front, IEnumerable<double[]> optimalFront) {
    46       return Get(optimalFront) - Get(front);
    47     }
    48 
    49     private double CalcCrowding(double[] point, IEnumerable<double[]> list) {
    50       double sum = 0;
    51       for (int i = 0; i < point.Length; i++) {
    52         sum += CalcCrowding(point, list, i);
    53       }
    54       return sum;
    55     }
    56 
    57     private double CalcCrowding(double[] point, IEnumerable<double[]> list, int dim) {
    58       double fmax = bounds[dim % bounds.GetLength(0), 1];
    59       double fmin = bounds[dim % bounds.GetLength(0), 0];
    60       double[][] arr = list.ToArray();  //TODO Shady
    61       Array.Sort<double[]>(arr, Utilities.getDimensionComparer(dim, false));
    62       if (arr[0][dim] == point[0] || arr[arr.Length - 1][dim] == point[0]) return Double.PositiveInfinity;
    63       int pos = Utilities.binarySearch(point[dim], arr, dim);
    64       if (pos == 0 || pos == list.Count()-1) return Double.PositiveInfinity;
    65       return (arr[pos + 1][dim] - arr[pos - 1][dim]) / (fmax - fmin);
     63      return c == 0 ? Double.PositiveInfinity : sum / c;
    6664    }
    6765
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Calculators/GenerationalDistance.cs

    r13620 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using System;
    222using System.Collections.Generic;
    3 using HeuristicLab.Encodings.RealVectorEncoding;
    4 using HeuristicLab.Problems.MultiObjectiveTestFunctions.Comparators;
    523
    624namespace HeuristicLab.Problems.MultiObjectiveTestFunctions {
     
    1028  ///  where d[i] is the minimal distance the ith point of the evaluated front has to any point in the optimal pareto front.   
    1129  /// </summary>
    12   public class GenerationalDistance : IMultiObjectiveDistance {
    13     private double p; //dampening Factor
     30  public class GenerationalDistance {
    1431
    15     public GenerationalDistance(double p) {
    16       this.p = 1 / p;
    17     }
    18 
    19     public static double GetDistance(IEnumerable<double[]> front, IEnumerable<double[]> optimalFront, double p) {
    20      return new GenerationalDistance(p).Compare(front,optimalFront);
    21     }
    22 
    23     public double Compare(IEnumerable<double[]> front, IEnumerable<double[]> optimalFront) {
     32    public static double Calculate(IEnumerable<double[]> front, IEnumerable<double[]> optimalFront, double p) {
    2433      //TODO build a kd-tree, sort the array, do someting intelligent here
    2534      if (front == null || optimalFront == null) throw new ArgumentException("Fronts must not be null");
    2635      double sum = 0;
    2736      int c = 0;
    28      foreach(double[] r in front) {
    29         sum += Utilities.minDistance(r, optimalFront,true);
     37      foreach (double[] r in front) {
     38        sum += Utilities.minDistance(r, optimalFront, true);
    3039        c++;
    3140      }
    3241      if (c == 0) throw new ArgumentException("Fronts must not be empty");
    33       return Math.Pow(sum, p) /c;
     42      return Math.Pow(sum, 1 / p) / c;
    3443    }
    3544
    36    
     45
    3746
    3847  }
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Calculators/HyperVolume.cs

    r13620 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using System;
    222using System.Collections.Generic;
    323using System.Linq;
    4 using HeuristicLab.Problems.MultiObjectiveTestFunctions.Comparators;
    524
    625namespace HeuristicLab.Problems.MultiObjectiveTestFunctions {
    7   /// <summary>
    8   /// The Hyprevolume-metric is defined as the Hypervolume enclosed between a given reference point,
    9   /// that is fixed for every evaluation function and the evaluated front.
    10   ///
    11   /// Example:
    12   /// r is the reference Point at (1|1)  and every Point p is part of the evaluated front
    13   /// The filled Area labled HV is the 2 diensional Hypervolume enclosed by this front.
    14   ///
    15   /// (0|1)                (1|1)
    16   ///   +      +-------------r
    17   ///   |      |###### HV ###|
    18   ///   |      p------+######|
    19   ///   |             p+#####|
    20   ///   |              |#####|
    21   ///   |              p-+###|
    22   ///   |                p---+
    23   ///   |                 
    24   ///   +--------------------1
    25   /// (0|0)                (1|0)
    26   ///
    27   ///  Please note that in this example both dimensions are minimized. The reference Point need to be dominated by EVERY point in the evaluated front
    28   ///
    29   /// </summary>
    30   public class Hypervolume : IMultiObjectiveDistance {
    3126
    32     private double[] reference;
    33     private bool[] maximization;
    34     public Hypervolume(double[] reference, bool[] maximization) {
    35       if (reference.Length != 2) throw new Exception("Only 2-dimensional cases are supported yet");
    36       this.reference = reference;
    37       this.maximization = maximization;
    38     }
     27  public class Hypervolume {
    3928
    40     public double Compare(IEnumerable<double[]> front, IEnumerable<double[]> optimalFront) {
    41       return GetHypervolume(optimalFront) - GetHypervolume(front);
    42 
    43     }
    44 
    45     public double GetHypervolume(IEnumerable<double[]> front) {
     29    /// <summary>
     30    /// The Hyprevolume-metric is defined as the Hypervolume enclosed between a given reference point,
     31    /// that is fixed for every evaluation function and the evaluated front.
     32    ///
     33    /// Example:
     34    /// r is the reference Point at (1|1)  and every Point p is part of the evaluated front
     35    /// The filled Area labled HV is the 2 diensional Hypervolume enclosed by this front.
     36    ///
     37    /// (0|1)                (1|1)
     38    ///   +      +-------------r
     39    ///   |      |###### HV ###|
     40    ///   |      p------+######|
     41    ///   |             p+#####|
     42    ///   |              |#####|
     43    ///   |              p-+###|
     44    ///   |                p---+
     45    ///   |                 
     46    ///   +--------------------1
     47    /// (0|0)                (1|0)
     48    ///
     49    ///  Please note that in this example both dimensions are minimized. The reference Point need to be dominated by EVERY point in the evaluated front
     50    ///
     51    /// </summary>
     52    public static double Calculate(IEnumerable<double[]> front, double[] reference, bool[] maximization) {
    4653      if (front == null) throw new ArgumentException("Fronts must not be null");
    4754      //TODO what to do if set contains dominated points
     
    5057      Array.Sort<double[]>(set, Utilities.getDimensionComparer(0, maximization[0]));
    5158      double[] last = set[set.Length - 1];
    52       CheckConsistency(last, 0);
    53       CheckConsistency(last, 1);
     59      CheckConsistency(last, 0, reference, maximization);
     60      CheckConsistency(last, 1, reference, maximization);
     61
    5462      double sum = 0;
    5563      for (int i = 0; i < set.Length - 1; i++) {
    56         CheckConsistency(set[i], 1);
     64        CheckConsistency(set[i], 1, reference, maximization);
    5765        sum += Math.Abs((set[i][0] - set[i + 1][0])) * Math.Abs((set[i][1] - reference[1]));
    5866      }
     
    6270    }
    6371
    64     public static double GetHypervolume(IEnumerable<double[]> front, double[] reference, bool[] maximization){
    65       Hypervolume comp = new Hypervolume(reference, maximization);
    66       return comp.GetHypervolume(front);
    67     }
    68 
    69     public static double GetDistance(IEnumerable<double[]> front, IEnumerable<double[]> optimalFront, double[] reference, bool[] maximization) {
    70       return GetHypervolume(optimalFront, reference, maximization) - GetHypervolume(front, reference, maximization);
    71     }
    72 
    73     private void CheckConsistency(double[] point, int dim) {
     72    private static void CheckConsistency(double[] point, int dim, double[] reference, bool[] maximization) {
    7473      if (!maximization[dim] && point[dim] > reference[dim]) throw new ArgumentException("Reference Point must be dominated by all points of the front");
    7574      if (maximization[dim] && point[dim] < reference[dim]) throw new ArgumentException("Reference Point must be dominated by all points of the front");
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Calculators/InvertedGenerationalDistance.cs

    r13620 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
    221using System.Collections.Generic;
    3 using HeuristicLab.Encodings.RealVectorEncoding;
    4 using HeuristicLab.Problems.MultiObjectiveTestFunctions.Comparators;
    522
    623namespace HeuristicLab.Problems.MultiObjectiveTestFunctions {
     24
    725  /// <summary>
    826  /// The inverted generational Distance is defined as the mean of a all d[i]^(1/p),
    927  ///  where d[i] is the minimal distance the ith point of the optimal pareto front has to any point in the evaluated front.   
    1028  /// </summary>
    11   public class InvertedGenerationalDistance : IMultiObjectiveDistance {
    12     private double p;
     29  public class InvertedGenerationalDistance {
    1330
    14     public InvertedGenerationalDistance(double p) {
    15       if (p <= 0) throw new ArgumentOutOfRangeException("weighting factor p has to be greater than 0");
    16       this.p = 1 / p;
    17     }
    18 
    19     /// <summary>
    20     ///
    21     /// </summary>
    22     /// <param name="front"></param>
    23     /// <param name="optimalFront"></param>
    24     /// <param name="p"></param>
    25     /// <returns></returns>
    26     public static double GetDistance(IEnumerable<double[]> front, IEnumerable<double[]> optimalFront, double p) {
    27       return new InvertedGenerationalDistance(p).Compare(front, optimalFront);
    28     }
    29 
    30     public double Compare(IEnumerable<double[]> front, IEnumerable<double[]> optimalFront) {
    31       return new GenerationalDistance(p).Compare(optimalFront, front);
     31    public static double Calculate(IEnumerable<double[]> front, IEnumerable<double[]> optimalFront, double p) {
     32      return GenerationalDistance.Calculate(optimalFront, front, p);
    3233    }
    3334  }
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Calculators/Spacing.cs

    r13620 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using System;
    222using System.Collections.Generic;
    323using HeuristicLab.Common;
    4 using HeuristicLab.Encodings.RealVectorEncoding;
    5 using HeuristicLab.Problems.MultiObjectiveTestFunctions.Comparators;
    624
    725namespace HeuristicLab.Problems.MultiObjectiveTestFunctions {
    8 
    926
    1027  /// <summary>
     
    1330  /// to all OTHER points in the same front
    1431  /// </summary>
    15   public class Spacing : IMultiObjectiveDistance {
     32  public class Spacing {
    1633
    17     public Spacing() { }
    18 
    19 
    20     public static double GetSpacing(IEnumerable<double[]> front) {
    21       return new Spacing().Get(front);
    22     }
    23     public static double GetDistance(IEnumerable<double[]> front, IEnumerable<double[]> optimalFront) {
    24       return new Spacing().Get(front);
    25     }
    26 
    27     public double Compare(IEnumerable<double[]> front, IEnumerable<double[]> optimalFront) {
    28       return GetSpacing(front) - GetSpacing(optimalFront);
    29     }
    30 
    31     public double Get(IEnumerable<double[]> front) {
    32       //TODO build a kd-tree, sort the array, do someting intelligent here
     34    public static double Calculate(IEnumerable<double[]> front) {
    3335      if (front == null) throw new ArgumentException("Fronts must not be null");
    3436      List<double> d = new List<double>();
    3537      foreach (double[] r in front) {
    3638        double dist = Utilities.minDistance(r, front, false);
    37         d.Add(dist>=0?dist:0);
     39        d.Add(dist >= 0 ? dist : 0);
    3840      }
    3941      int n = d.Count;
    4042      if (n == 0) throw new ArgumentException("Fronts must not be empty");
    41       return Math.Sqrt(d.Variance()*(n-1)/n);
     43      return Math.Sqrt(d.Variance() * (n - 1) / n);
    4244
    4345    }
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Calculators/Utilities.cs

    r13620 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using System;
    222using System.Collections.Generic;
    3 using System.Linq;
    4 using System.Text;
    5 using System.Threading.Tasks;
    623
    7 namespace HeuristicLab.Problems.MultiObjectiveTestFunctions.Comparators {
    8   class Utilities {
    9         /// <summary>
    10         ///
    11         /// </summary>
    12         /// <param name="point"></param>
    13         /// <param name="list"></param>
    14         /// <param name="reflexive"></param>
    15         /// <returns>return -1 if list contains only rejected points</returns>
    16     public static double minDistance(double[] point, IEnumerable<double[]> list, bool reflexive) {
     24namespace HeuristicLab.Problems.MultiObjectiveTestFunctions {
     25  internal class Utilities {
     26
     27    /// <summary>
     28    ///
     29    /// </summary>
     30    /// <param name="point"></param>
     31    /// <param name="list"></param>
     32    /// <param name="reflexive"></param>
     33    /// <returns>return -1 if list contains only rejected points</returns>
     34    internal static double minDistance(double[] point, IEnumerable<double[]> list, bool reflexive) {
    1735      double min = double.MaxValue;
    1836      bool empty = true;
    1937      foreach (double[] r in list) {
    2038        empty = false;
    21         if (!reflexive && ReferenceEquals(r,point)) continue;
     39        if (!reflexive && ReferenceEquals(r, point)) continue;
    2240        double d = 0;
    2341        for (int i = 0; i < r.Length; i++) {
     
    3149    }
    3250
    33      public static IComparer<double[]> getDimensionComparer(int dim, bool descending) {
     51    internal static IComparer<double[]> getDimensionComparer(int dim, bool descending) {
    3452      return new DimensionComparer(dim, descending);
    3553    }
    3654
    3755
    38     private class DimensionComparer : IComparer<double[]> {
     56    internal class DimensionComparer : IComparer<double[]> {
    3957      private int dim;
    4058      private int descending;
     
    5573      #endregion
    5674    }
    57 
    58 
    59     public static int binarySearch(double x, double[][] list, int dim) {
    60       int low = 0;
    61       int high = list.Length - 1;
    62       while (high >= low) {
    63         int middle = (low + high) / 2;
    64         if (list[middle][dim] == x) return middle;
    65         if (list[middle][dim] < x) low = middle + 1;
    66         if (list[middle][dim] > x) high = middle - 1;
    67       }
    68       return -1;
    69     }
    7075  }
    7176
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Data/DTLZInstanceProvider.cs

    r13620 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using System;
    222using System.Collections.Generic;
    323using System.Linq;
     24using HeuristicLab.PluginInfrastructure;
    425using HeuristicLab.Problems.Instances;
    5 using System.Text;
    6 using System.Threading.Tasks;
    7 using HeuristicLab.PluginInfrastructure;
    826
    927namespace HeuristicLab.Problems.MultiObjectiveTestFunctions {
     
    2745
    2846    public override IEnumerable<IDataDescriptor> GetDataDescriptors() {
    29       var evaluators = ApplicationManager.Manager.GetInstances<IMultiObjectiveTestFunction>()
    30                                                  .Where(x => x.Name.StartsWith(Name))
    31                                                  .OrderBy(x => x.Name);
     47      var evaluators = ApplicationManager.Manager.GetInstances<DTLZ>().OrderBy(x => x.Name);
    3248      return evaluators.Select(x => new MOTFDataDescriptor(x));
    3349    }
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Data/MISCInstanceProvider.cs

    r13620 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using System;
    222using System.Collections.Generic;
    323using System.Linq;
     24using HeuristicLab.PluginInfrastructure;
    425using HeuristicLab.Problems.Instances;
    5 using System.Text;
    6 using System.Threading.Tasks;
    7 using HeuristicLab.PluginInfrastructure;
    826
    927namespace HeuristicLab.Problems.MultiObjectiveTestFunctions {
     
    2745
    2846    public override IEnumerable<IDataDescriptor> GetDataDescriptors() {
    29       var otherProviders = ApplicationManager.Manager.GetInstances <IProblemInstanceProvider<MOTFData>>().Where(x => x.Name != Name);
    30 
     47      var otherProviders = ApplicationManager.Manager.GetInstances<IProblemInstanceProvider<MOTFData>>().Where(x => x.Equals(this));
    3148      var evaluators = ApplicationManager.Manager.GetInstances<IMultiObjectiveTestFunction>()
    32                                                  .Where(x => !handles(otherProviders,x))
     49                                                 .Where(x => !handles(otherProviders, x))
    3350                                                 .OrderBy(x => x.Name);
    3451      return evaluators.Select(x => new MOTFDataDescriptor(x));
     
    3653
    3754    private bool handles(IEnumerable<IProblemInstanceProvider<MOTFData>> others, IMultiObjectiveTestFunction x) {
    38       foreach (var o in others) if (x.Name.StartsWith(o.Name)) return true;
     55      foreach (var o in others) {
     56        foreach (var instance in o.GetDataDescriptors()) {
     57          if (instance.Equals(x)) return true;
     58        }
     59      }
    3960      return false;
    4061    }
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Data/MOTFData.cs

    r13620 r13672  
    1 using System;
    2 using System.Collections.Generic;
    3 using System.Linq;
    4 using System.Text;
    5 using System.Threading.Tasks;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
    621
    722namespace HeuristicLab.Problems.MultiObjectiveTestFunctions {
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Data/MOTFDataDescriptor.cs

    r13620 r13672  
    1 using System;
    2 using System.Collections.Generic;
    3 using System.Linq;
    4 using System.Text;
    5 using System.Threading.Tasks;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
    621using HeuristicLab.Problems.Instances;
    722
    8 namespace HeuristicLab.Problems.MultiObjectiveTestFunctions{
     23namespace HeuristicLab.Problems.MultiObjectiveTestFunctions {
    924  internal class MOTFDataDescriptor : IDataDescriptor {
    1025    public string Name { get { return Evaluator.ItemName + " Function"; } }
     
    1429    }
    1530
    16     internal IMultiObjectiveTestFunction Evaluator { get; set; }
     31    internal IMultiObjectiveTestFunction Evaluator { get; private set; }
    1732
    1833    public MOTFDataDescriptor(IMultiObjectiveTestFunction evaluator) {
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Data/ZDTInstanceProvider.cs

    r13620 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using System;
    222using System.Collections.Generic;
    323using System.Linq;
     24using HeuristicLab.PluginInfrastructure;
    425using HeuristicLab.Problems.Instances;
    5 using System.Text;
    6 using System.Threading.Tasks;
    7 using HeuristicLab.PluginInfrastructure;
    826
    927namespace HeuristicLab.Problems.MultiObjectiveTestFunctions {
     
    2745
    2846    public override IEnumerable<IDataDescriptor> GetDataDescriptors() {
    29       var evaluators = ApplicationManager.Manager.GetInstances<IMultiObjectiveTestFunction>()
    30                                                  .Where(x => x.Name.StartsWith(Name))
    31                                                  .OrderBy(x => x.Name);
     47      var evaluators = ApplicationManager.Manager.GetInstances<ZDT>().OrderBy(x => x.Name);
    3248      return evaluators.Select(x => new MOTFDataDescriptor(x));
    3349    }
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Drawings/MOFrontScatterPlotView.Designer.cs

    r13671 r13672  
    1 namespace HeuristicLab.Problems.MultiObjectiveTestFunctions.Drawings {
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21namespace HeuristicLab.Problems.MultiObjectiveTestFunctions {
    222  partial class MOQualitiesScatterPlotView {
    323    /// <summary>
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Drawings/MOFrontScatterPlotView.cs

    r13671 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using System;
    222using System.Collections.Generic;
     23using System.Data;
    324using System.Drawing;
    4 using System.Data;
    525using System.Linq;
    626using System.Text;
    727using System.Windows.Forms;
     28using System.Windows.Forms.DataVisualization.Charting;
     29using HeuristicLab.Core.Views;
    830using HeuristicLab.MainForm;
    9 using System.Windows.Forms.DataVisualization.Charting;
    10 using HeuristicLab.Encodings.RealVectorEncoding;
    11 
    12 namespace HeuristicLab.Problems.MultiObjectiveTestFunctions.Drawings {
     31
     32namespace HeuristicLab.Problems.MultiObjectiveTestFunctions {
    1333  [View("Scatter Plot")]
    14   [Content(typeof(IMOQualities))]
    15   public partial class MOQualitiesScatterPlotView : MOQualitiesView {
    16 
     34  [Content(typeof(IMOFrontModel))]
     35  public partial class MOQualitiesScatterPlotView : ItemView {
    1736    private const string QUALITIES = "Qualities";
    1837    private const string PARETO_FRONT = "Best Known Pareto Front";
    19     //private const string TEST_SERIES = "Test samples";
     38    private Series qualitySeries;
     39    private Series paretoSeries;
    2040    private int xDim = 0;
    2141    private int yDim = 1;
    2242    int objectives = -1;
    23     bool optimalKnown = true;
    24 
    25     public new IMOQualities Content {
    26       get { return (IMOQualities)base.Content; }
     43
     44    public new IMOFrontModel Content {
     45      get { return (IMOFrontModel)base.Content; }
    2746      set { base.Content = value; }
    2847    }
     
    3251      InitializeComponent();
    3352
    34       this.chart.Series.Add(QUALITIES);
    35       this.chart.Series[QUALITIES].LegendText = QUALITIES;
    36       this.chart.Series[QUALITIES].ChartType = SeriesChartType.FastPoint;
    37 
    38       this.chart.Series.Add(PARETO_FRONT);
    39       this.chart.Series[PARETO_FRONT].LegendText = PARETO_FRONT;
    40       this.chart.Series[PARETO_FRONT].ChartType = SeriesChartType.FastPoint;
     53      BuildEmptySeries();
     54
     55      //start with qualities toggled ON
     56      qualitySeries.Points.AddXY(0, 0);
    4157
    4258      this.chart.TextAntiAliasingQuality = TextAntiAliasingQuality.High;
     
    4561      //configure axis
    4662      this.chart.CustomizeAllChartAreas();
    47       this.chart.ChartAreas[0].AxisX.Title = "XAxis: Objective " + xDim;
     63      this.chart.ChartAreas[0].AxisX.Title = "Objective " + xDim;
    4864      this.chart.ChartAreas[0].CursorX.IsUserSelectionEnabled = true;
    4965      this.chart.ChartAreas[0].AxisX.ScaleView.Zoomable = true;
     
    5167      this.chart.ChartAreas[0].CursorY.Interval = 1;
    5268
    53       this.chart.ChartAreas[0].AxisY.Title = "YAxis: Objective " + yDim;
     69      this.chart.ChartAreas[0].AxisY.Title = "Objective " + yDim;
    5470      this.chart.ChartAreas[0].CursorY.IsUserSelectionEnabled = true;
    5571      this.chart.ChartAreas[0].AxisY.ScaleView.Zoomable = true;
     
    6076      base.RegisterContentEvents();
    6177      this.chart.GetToolTipText += new System.EventHandler<ToolTipEventArgs>(this.Chart_GetToolTipText);
    62      
    63     }
     78    }
     79
    6480    protected override void DeregisterContentEvents() {
    6581      base.DeregisterContentEvents();
    6682      this.chart.GetToolTipText -= new System.EventHandler<ToolTipEventArgs>(this.Chart_GetToolTipText);
    6783    }
    68 
    6984
    7085    private void Chart_GetToolTipText(object sender, ToolTipEventArgs e) {
     
    7590        StringBuilder toolTippText = new StringBuilder();
    7691        DataPoint qp = e.HitTestResult.Series.Points[i];
    77         toolTippText.Append("Objective " + xDim + " = " + qp.XValue+ "\n");
     92        toolTippText.Append("Objective " + xDim + " = " + qp.XValue + "\n");
    7893        toolTippText.Append("Objective " + yDim + " = " + qp.YValues[0]);
    7994
    8095        Series s = e.HitTestResult.Series;
    8196        if (s.Equals(this.chart.Series[QUALITIES])) {
    82           RealVector dp = Content.Solutions[i].RealVector();
     97          double[] dp = Content.Solutions[i];
    8398          toolTippText.Append("\nSolution: {");
    8499          for (int j = 0; j < dp.Length; j++) {
     
    102117        objectives = Content.Objectives;
    103118      }
    104       if(Content.ParetoFront == null && optimalKnown) {
    105         Series s =  this.chart.Series[PARETO_FRONT];
     119      if (Content.ParetoFront == null && chart.Series.Contains(paretoSeries)) {
     120        Series s = this.chart.Series[PARETO_FRONT];
     121        paretoSeries = null;
    106122        this.chart.Series.Remove(s);
    107         optimalKnown = false;
    108       } else if(Content.ParetoFront != null && !optimalKnown) {
     123      } else if (Content.ParetoFront != null && !chart.Series.Contains(paretoSeries)) {
    109124        this.chart.Series.Add(PARETO_FRONT);
     125        paretoSeries = this.chart.Series[PARETO_FRONT];
    110126        this.chart.Series[PARETO_FRONT].LegendText = PARETO_FRONT;
    111127        this.chart.Series[PARETO_FRONT].ChartType = SeriesChartType.FastPoint;
    112         optimalKnown = true;
    113128      }
    114129      UpdateChart();
     
    154169    }
    155170
    156 
    157     private double max = 1;
    158     private double min = 0;
    159171    private void UpdateSeries() {
    160172      if (InvokeRequired) Invoke((Action)UpdateSeries);
    161173      else {
    162         this.max = 1;
    163         this.min = 0;
    164 
    165         if (this.chart.Series[QUALITIES].Points.Count > 0 ) {
    166           fillSeries(Content.Qualities, this.chart.Series[QUALITIES]);
    167         }
    168         if (optimalKnown && this.chart.Series[PARETO_FRONT].Points.Count > 0) {
    169           fillSeries(Content.ParetoFront, this.chart.Series[PARETO_FRONT]);
    170         }
    171 
    172        // double max = this.max;
    173        // double min = this.min;
    174 
    175         max = max + 0.2 * Math.Abs(max);
    176         min = min - 0.2 * Math.Abs(min);
    177 
    178         double interestingValuesRange = max - min;
    179         int digits = Math.Max(0, 3 - (int)Math.Log10(interestingValuesRange));
    180 
    181         max = Math.Round(max, digits);
    182         min = Math.Round(min, digits);
    183 
    184         this.chart.ChartAreas[0].AxisX.Maximum = max;
    185         this.chart.ChartAreas[0].AxisX.Minimum = min;
    186         this.chart.ChartAreas[0].AxisY.Maximum = max;
    187         this.chart.ChartAreas[0].AxisY.Minimum = min;
     174
     175        if (this.chart.Series.Contains(qualitySeries) && qualitySeries.Points.Count() != 0) {
     176          fillSeries(Content.Qualities, qualitySeries);
     177        }
     178        if (this.chart.Series.Contains(paretoSeries) && paretoSeries.Points.Count() != 0) {
     179          fillSeries(Content.ParetoFront, paretoSeries);
     180        }
     181
     182
     183        double minX = Double.MaxValue;
     184        double maxX = Double.MinValue;
     185        double minY = Double.MaxValue;
     186        double maxY = Double.MinValue;
     187        foreach (Series s in this.chart.Series) {
     188          if (s.Points.Count == 0) continue;
     189          minX = Math.Min(minX, s.Points.Select(p => p.XValue).Min());
     190          maxX = Math.Max(maxX, s.Points.Select(p => p.XValue).Max());
     191          minY = Math.Min(minY, s.Points.Select(p => p.YValues.Min()).Min());
     192          maxY = Math.Max(maxY, s.Points.Select(p => p.YValues.Max()).Max());
     193        }
     194
     195        maxX = maxX + 0.2 * Math.Abs(maxX);
     196        minX = minX - 0.2 * Math.Abs(minX);
     197        maxY = maxY + 0.2 * Math.Abs(maxY);
     198        minY = minY - 0.2 * Math.Abs(minY);
     199
     200        double interestingValuesRangeX = maxX - minX;
     201        double interestingValuesRangeY = maxY - minY;
     202
     203        int digitsX = Math.Max(0, 3 - (int)Math.Log10(interestingValuesRangeX));
     204        int digitsY = Math.Max(0, 3 - (int)Math.Log10(interestingValuesRangeY));
     205
     206
     207        maxX = Math.Round(maxX, digitsX);
     208        minX = Math.Round(minX, digitsX);
     209        maxY = Math.Round(maxY, digitsY);
     210        minY = Math.Round(minY, digitsY);
     211        if (minX > maxX) {
     212          minX = 0;
     213          maxX = 1;
     214        }
     215        if (minY > maxY) {
     216          minY = 0;
     217          maxY = 1;
     218        }
     219
     220
     221        this.chart.ChartAreas[0].AxisX.Maximum = maxX;
     222        this.chart.ChartAreas[0].AxisX.Minimum = minX;
     223        this.chart.ChartAreas[0].AxisY.Maximum = maxY;
     224        this.chart.ChartAreas[0].AxisY.Minimum = minY;
    188225        UpdateCursorInterval();
    189226      }
     
    191228
    192229    private void ClearChart() {
    193       this.chart.Series[QUALITIES].Points.Clear();
    194       if(optimalKnown) this.chart.Series[PARETO_FRONT].Points.Clear();
     230      if (chart.Series.Contains(qualitySeries)) chart.Series.Remove(qualitySeries);
     231      if (chart.Series.Contains(paretoSeries)) chart.Series.Remove(paretoSeries);
     232      BuildEmptySeries();
    195233    }
    196234
     
    232270
    233271    private void chart_CustomizeLegend(object sender, CustomizeLegendEventArgs e) {
    234       e.LegendItems[0].Cells[1].ForeColor = this.chart.Series[QUALITIES].Points.Count == 0 ? Color.Gray : Color.Black;
    235       if (optimalKnown) {
    236       e.LegendItems[1].Cells[1].ForeColor = this.chart.Series[PARETO_FRONT].Points.Count == 0 ? Color.Gray : Color.Black;
    237     }
    238       //  e.LegendItems[2].Cells[1].ForeColor = this.chart.Series[TEST_SERIES].Points.Count == 0 ? Color.Gray : Color.Black;
     272      if (this.chart.Series.Contains(qualitySeries)) e.LegendItems[0].Cells[1].ForeColor = this.chart.Series[QUALITIES].Points.Count == 0 ? Color.Gray : Color.Black;
     273      if (this.chart.Series.Contains(paretoSeries)) e.LegendItems[1].Cells[1].ForeColor = this.chart.Series[PARETO_FRONT].Points.Count == 0 ? Color.Gray : Color.Black;
    239274    }
    240275
     
    281316      series.Points.Clear();
    282317      foreach (double[] d in data) {   //Assumtion: Columnwise
    283         if (d[xDim] > max) max = d[xDim];
    284         if (d[yDim] > max) max = d[yDim];
    285         if (d[xDim] < min) min = d[xDim];
    286         if (d[yDim] < min) min = d[yDim];
    287318        series.Points.AddXY(d[xDim], d[yDim]);
    288319      }
     320    }
     321
     322    private void BuildEmptySeries() {
     323      this.chart.Series.Add(QUALITIES);
     324      qualitySeries = this.chart.Series[QUALITIES];
     325      this.chart.Series[QUALITIES].LegendText = QUALITIES;
     326      this.chart.Series[QUALITIES].ChartType = SeriesChartType.FastPoint;
     327
     328      this.chart.Series.Add(PARETO_FRONT);
     329      paretoSeries = this.chart.Series[PARETO_FRONT];
     330      this.chart.Series[PARETO_FRONT].LegendText = PARETO_FRONT;
     331      this.chart.Series[PARETO_FRONT].ChartType = SeriesChartType.FastPoint;
    289332    }
    290333  }
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Drawings/MOSolution.cs

    r13622 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using System;
    222using System.Collections.Generic;
    323using System.Drawing;
    424using HeuristicLab.Common;
    5 using HeuristicLab.Optimization;
    625using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    726
    8 namespace HeuristicLab.Problems.MultiObjectiveTestFunctions.Drawings {
     27namespace HeuristicLab.Problems.MultiObjectiveTestFunctions {
    928  [StorableClass]
    10   class MOSolution : IMOQualities {
     29  class MOSolution : IMOFrontModel {
    1130    public bool CanChangeDescription {
    1231      get {
     
    2645      }
    2746
    28       set {}
     47      set { }
    2948    }
    3049
     
    3251      get { return "MyFilename"; }
    3352
    34       set {}
     53      set { }
    3554    }
    3655
     
    6079      }
    6180
    62       set {}
     81      set { }
    6382    }
    6483
    65     private IEnumerable<double[]> qualities;
     84    private double[][] qualities;
    6685
    67     public IEnumerable<double[]> Qualities {
     86    public double[][] Qualities {
    6887      get {
    6988        return qualities;
     
    7190
    7291      set {
    73         qualities= value;
     92        qualities = value;
    7493      }
    7594    }
     
    86105    }
    87106
    88     private Individual[] solutions;
    89     public Individual[] Solutions {
     107    private double[][] solutions;
     108    public double[][] Solutions {
    90109      get {
    91110        return solutions;
     
    97116    }
    98117
    99     private IEnumerable<double[]> paretoFront;
    100     public IEnumerable<double[]> ParetoFront {
     118    private double[][] paretoFront;
     119    public double[][] ParetoFront {
    101120      get {
    102121        return paretoFront;
     
    115134
    116135    [StorableConstructor]
    117     protected MOSolution(bool deserializing) : base(){ }
    118     protected MOSolution(MOSolution original) : base(){
     136    protected MOSolution(bool deserializing) : base() { }
     137    protected MOSolution(MOSolution original) : base() {
    119138      this.qualities = original.qualities;
    120139      this.solutions = original.solutions;
     
    123142    }
    124143    protected MOSolution() : base() { }
    125     public MOSolution(IEnumerable<double[]> qualities, Individual[] solutions, IEnumerable<double[]> paretoFront, int objectives) {
     144    public MOSolution(double[][] qualities, double[][] solutions, double[][] paretoFront, int objectives) {
    126145      this.qualities = qualities;
    127146      this.solutions = solutions;
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/HeuristicLab.Problems.MultiObjectiveTestFunctions-3.3.csproj

    r13622 r13672  
    1212    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
    1313    <FileAlignment>512</FileAlignment>
     14    <SccProjectName>Svn</SccProjectName>
     15    <SccLocalPath>Svn</SccLocalPath>
     16    <SccAuxPath>Svn</SccAuxPath>
     17    <SccProvider>SubversionScc</SccProvider>
    1418  </PropertyGroup>
    1519  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     
    128132  </ItemGroup>
    129133  <ItemGroup>
    130     <Compile Include="Comparators\Crowding.cs" />
    131     <Compile Include="Comparators\FastHV2.cs" />
    132     <Compile Include="Comparators\HyperVolumeFast.cs" />
    133     <Compile Include="Comparators\Spacing.cs" />
    134     <Compile Include="Comparators\HyperVolume.cs" />
    135     <Compile Include="Comparators\InvertedGenerationalDistance.cs" />
    136     <Compile Include="Comparators\GenerationalDistance.cs" />
    137     <Compile Include="Comparators\Utilities.cs" />
     134    <Compile Include="Analyzers\ScatterPlotAnalyzer.cs" />
     135    <Compile Include="Analyzers\CrowdingAnalyzer.cs" />
     136    <Compile Include="Analyzers\InvertedGenerationalDistanceAnalyzer.cs" />
     137    <Compile Include="Analyzers\HypervolumeAnalyzer.cs" />
     138    <Compile Include="Analyzers\MOTFAnalyzer.cs" />
     139    <Compile Include="Analyzers\GenerationalDistanceAnalyzer.cs" />
     140    <Compile Include="Analyzers\SpacingAnalyzer.cs" />
     141    <Compile Include="Interfaces\IMultiObjectiveTestFunctionAnalyzer.cs" />
     142    <Compile Include="Calculators\Crowding.cs" />
     143    <Compile Include="Calculators\FastHV2.cs" />
     144    <Compile Include="Calculators\Spacing.cs" />
     145    <Compile Include="Calculators\HyperVolume.cs" />
     146    <Compile Include="Calculators\InvertedGenerationalDistance.cs" />
     147    <Compile Include="Calculators\GenerationalDistance.cs" />
     148    <Compile Include="Calculators\Utilities.cs" />
    138149    <Compile Include="Data\MISCInstanceProvider.cs" />
    139150    <Compile Include="Data\ZDTInstanceProvider.cs" />
     
    141152    <Compile Include="Data\MOTFDataDescriptor.cs" />
    142153    <Compile Include="Data\DTLZInstanceProvider.cs" />
    143     <Compile Include="Drawings\IMOQualities.cs" />
     154    <Compile Include="Interfaces\IMOFrontModel.cs" />
    144155    <Compile Include="Drawings\MOSolution.cs" />
    145     <Compile Include="Drawings\MOQualitiesScatterPlotView.cs">
     156    <Compile Include="Drawings\MOFrontScatterPlotView.cs">
    146157      <SubType>UserControl</SubType>
    147158    </Compile>
    148     <Compile Include="Drawings\MOQualitiesScatterPlotView.Designer.cs">
    149       <DependentUpon>MOQualitiesScatterPlotView.cs</DependentUpon>
    150     </Compile>
    151     <Compile Include="Drawings\MOQulaitiesView.cs">
    152       <SubType>UserControl</SubType>
    153     </Compile>
    154     <Compile Include="Drawings\MOQulaitiesView.Designer.cs">
    155       <DependentUpon>MOQulaitiesView.cs</DependentUpon>
     159    <Compile Include="Drawings\MOFrontScatterPlotView.Designer.cs">
     160      <DependentUpon>MOFrontScatterPlotView.cs</DependentUpon>
    156161    </Compile>
    157162    <Compile Include="NonDominatedSelect.cs" />
    158163    <Compile Include="Interfaces\IMultiObjectiveTestFunction.cs" />
    159     <Compile Include="Interfaces\IMultiObjectiveDistance.cs" />
    160164    <Compile Include="MultiObjectiveTestFunctionProblem.cs" />
    161     <Compile Include="PFReader.cs" />
    162165    <Compile Include="PFStore.cs" />
    163166    <Compile Include="Plugin.cs" />
     
    171174    <Compile Include="Testfunctions\DTLZ\DTLZ3.cs" />
    172175    <Compile Include="Testfunctions\DTLZ\DTLZ2.cs" />
    173     <Compile Include="Testfunctions\Evaluators.cs" />
    174176    <Compile Include="Testfunctions\Kursawe.cs" />
    175177    <Compile Include="Testfunctions\DTLZ\DTLZ1.cs" />
     
    186188  </ItemGroup>
    187189  <ItemGroup>
     190    <EmbeddedResource Include="EmbeddedRessources\ZDT1.pf" />
     191    <EmbeddedResource Include="EmbeddedRessources\DTLZ1.2D.pf" />
     192    <EmbeddedResource Include="EmbeddedRessources\DTLZ2.2D.pf" />
     193    <EmbeddedResource Include="EmbeddedRessources\DTLZ3.2D.pf" />
     194    <EmbeddedResource Include="EmbeddedRessources\DTLZ4.2D.pf" />
     195    <EmbeddedResource Include="EmbeddedRessources\DTLZ5.2D.pf" />
     196    <EmbeddedResource Include="EmbeddedRessources\DTLZ6.2D.pf" />
     197    <EmbeddedResource Include="EmbeddedRessources\DTLZ7.2D.pf" />
     198    <EmbeddedResource Include="EmbeddedRessources\Fonseca.pf" />
     199    <EmbeddedResource Include="EmbeddedRessources\Kursawe.pf" />
     200    <EmbeddedResource Include="EmbeddedRessources\Schaffer.pf" />
     201    <EmbeddedResource Include="EmbeddedRessources\ZDT2.pf" />
     202    <EmbeddedResource Include="EmbeddedRessources\ZDT3.pf" />
     203    <EmbeddedResource Include="EmbeddedRessources\ZDT4.pf" />
     204    <EmbeddedResource Include="EmbeddedRessources\ZDT6.pf" />
    188205    <None Include="HeuristicLab.snk" />
    189206    <None Include="Plugin.cs.frame" />
     
    191208  </ItemGroup>
    192209  <ItemGroup>
    193     <EmbeddedResource Include="Drawings\MOQualitiesScatterPlotView.resx">
    194       <DependentUpon>MOQualitiesScatterPlotView.cs</DependentUpon>
    195     </EmbeddedResource>
    196     <EmbeddedResource Include="Drawings\MOQulaitiesView.resx">
    197       <DependentUpon>MOQulaitiesView.cs</DependentUpon>
     210    <EmbeddedResource Include="Drawings\MOFrontScatterPlotView.resx">
     211      <DependentUpon>MOFrontScatterPlotView.cs</DependentUpon>
    198212    </EmbeddedResource>
    199213  </ItemGroup>
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Interfaces/IMOFrontModel.cs

    r13671 r13672  
    1 using System.Collections.Generic;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
    221using HeuristicLab.Common;
    322using HeuristicLab.Core;
    4 using HeuristicLab.Optimization;
    523
    6 namespace HeuristicLab.Problems.MultiObjectiveTestFunctions.Drawings {
    7   public interface IMOQualities :IItem, IStorableContent {
     24namespace HeuristicLab.Problems.MultiObjectiveTestFunctions {
     25  public interface IMOFrontModel : IItem, IStorableContent {
    826    int Objectives { get; set; }
    9     IEnumerable<double[]> Qualities { get; set; }
    10     IEnumerable<double[]> ParetoFront { get; set; }
    11     Individual[] Solutions { get; set; }
     27    double[][] Qualities { get; set; }
     28    double[][] ParetoFront { get; set; }
     29    double[][] Solutions { get; set; }
    1230  }
    1331}
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/MultiObjectiveTestFunctionProblem.cs

    r13622 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using System;
    222using System.Collections.Generic;
     23using System.Linq;
    324using HeuristicLab.Common;
    425using HeuristicLab.Core;
     
    930using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    1031using HeuristicLab.Problems.Instances;
    11 using HeuristicLab.Problems.MultiObjectiveTestFunctions;
    12 using HeuristicLab.Problems.MultiObjectiveTestFunctions.Drawings;
    13 
    14 namespace HeuristicLab.Problems.MultiObjectiveTestFunction {
     32
     33namespace HeuristicLab.Problems.MultiObjectiveTestFunctions {
    1534  [StorableClass]
    1635  public class MultiObjectiveTestFunctionProblem : MultiObjectiveBasicProblem<RealVectorEncoding>, IProblemInstanceConsumer<MOTFData> {
    1736
    18 
    19     //TODO update of Maximisatzion when SolutionSize or TestFunction changes
    20     public override bool[] Maximization {
     37    #region Parameter Properties
     38
     39    /// <summary>
     40    /// Whether an objective is to be maximized or minimized
     41    /// </summary>
     42    private IValueParameter<BoolArray> MaximizationParameter {
    2143      get {
    22         return Parameters.ContainsKey("TestFunction") ? TestFunction.Maximization(Objectives) : new bool[2];
    23       }
    24     }
    25 
    26     #region Parameter Properties
     44        return (IValueParameter<BoolArray>)Parameters["Maximization"];
     45      }
     46      set {
     47        Parameters["Maximization"].ActualValue = value;
     48      }
     49    }
    2750
    2851    /// <summary>
     
    3659    /// The number of objectives that are to be optimized
    3760    /// </summary>
    38     private IFixedValueParameter<IntValue> SolutionSizeParameter {
    39       get { return (IFixedValueParameter<IntValue>)Parameters["SolutionSize"]; }
     61    private IFixedValueParameter<IntValue> ObjectivesParameter {
     62      get { return (IFixedValueParameter<IntValue>)Parameters["Objectives"]; }
    4063    }
    4164
     
    5679
    5780    #region Properties
    58     public int SolutionLength {
     81    private IEnumerable<IMultiObjectiveTestFunctionAnalyzer> Analyzers {
     82      get { return Operators.OfType<IMultiObjectiveTestFunctionAnalyzer>(); }
     83    }
     84
     85    public int ProblemSize {
    5986      get { return ProblemSizeParameter.Value.Value; }
    6087      set { ProblemSizeParameter.Value.Value = value; }
    6188    }
    6289    public int Objectives {
    63       get { return SolutionSizeParameter.Value.Value; }
    64       set { SolutionSizeParameter.Value.Value = value; }
     90      get { return ObjectivesParameter.Value.Value; }
     91      set { ObjectivesParameter.Value.Value = value; }
    6592    }
    6693    public DoubleMatrix Bounds {
     
    73100    }
    74101    #endregion
    75 
    76     public override void Analyze(Individual[] individuals, double[][] qualities, ResultCollection results, IRandom random) {
    77       base.Analyze(individuals, qualities, results, random);
    78       //if (qualities[0].Length != 2) { throw new Exception(); }
    79 
    80 
    81 
    82 
    83       IEnumerable<double[]> opf = null;
    84       try {
    85         opf = TestFunction.OptimalParetoFront(Objectives);
    86 
    87         //Genearational Distance
    88         if (!results.ContainsKey("GenerationalDistance")) results.Add(new Result("GenerationalDistance", typeof(DoubleValue)));
    89         GenerationalDistance gd = new GenerationalDistance(1);
    90         results["GenerationalDistance"].Value = new DoubleValue(gd.Compare(qualities, opf));
    91 
    92         //Inverted Generational Distance
    93         if (!results.ContainsKey("InvertedGenerationalDistance")) results.Add(new Result("InvertedGenerationalDistance", typeof(DoubleValue)));
    94         InvertedGenerationalDistance igd = new InvertedGenerationalDistance(1);
    95         results["InvertedGenerationalDistance"].Value = new DoubleValue(igd.Compare(qualities, opf));
    96 
    97 
    98       }
    99       catch (NotImplementedException) { } // only do this if the optimal Front is known
    100 
    101 
    102 
    103       //Graphical analysis
    104       if (!results.ContainsKey("Front")) results.Add(new Result("Front", typeof(IMOQualities)));
    105       results["Front"].Value = new MOSolution(qualities, individuals, opf, Objectives);
    106 
    107 
    108       //Hypervolume analysis
    109       if (!results.ContainsKey("Hypervolume")) results.Add(new Result("Hypervolume", typeof(DoubleValue)));
    110       IEnumerable<double[]> front = NonDominatedSelect.selectNonDominatedVectors(qualities, Maximization, true);
    111       if (!results.ContainsKey("BestKnownHypervolume")) results.Add(new Result("BestKnownHypervolume", typeof(DoubleValue)));
    112       if (!results.ContainsKey("Absolute Distance to BestKnownHypervolume")) results.Add(new Result("Absolute Distance to BestKnownHypervolume", typeof(DoubleValue)));
    113 
    114 
    115       if (Objectives == 2) { //Hypervolume analysis only with 2 objectives for now
    116         Hypervolume comp = new Hypervolume(TestFunction.ReferencePoint(Objectives), Maximization);
    117         try {
    118           double hv = comp.GetHypervolume(front);
    119           results["Hypervolume"].Value = new DoubleValue(hv);
    120           double best; double diff;
    121           if (TestFunction.BestKnownHypervolume(Objectives) > 0) {   // if best HV is known at all
    122             best = TestFunction.BestKnownHypervolume(Objectives);
    123             diff = best - hv;
    124             if (diff < 0) {  //replace best known Hypervolume
    125               diff = 0;
    126               best = hv;
    127             }
    128           } else {  //initalize best known Hypervolume
    129             best = hv;
    130             diff = 0;
    131           }
    132 
    133           results["BestKnownHypervolume"].Value = new DoubleValue(best);
    134           results["Absolute Distance to BestKnownHypervolume"].Value = new DoubleValue(diff);
    135 
    136         }
    137         catch (ArgumentException) {
    138           results["Hypervolume"].Value = new DoubleValue(Double.NaN);
    139         }
    140 
    141       }
    142       //Experimental HV
    143       if(Objectives != 2) {
    144         FastHypervolume fcomp = new FastHypervolume(TestFunction.ReferencePoint(Objectives), Maximization);
    145         try {
    146           double hv = fcomp.GetHypervolume(front, TestFunction.Bounds(Objectives));
    147           results["Hypervolume"].Value = new DoubleValue(hv);
    148           double best; double diff;
    149           if (TestFunction.BestKnownHypervolume(Objectives) > 0) {   // if best HV is known at all
    150             best = TestFunction.BestKnownHypervolume(Objectives);
    151             diff = best - hv;
    152             if (diff < 0) {  //replace best known Hypervolume
    153               diff = 0;
    154               best = hv;
    155             }
    156           } else {  //initalize best known Hypervolume
    157             best = hv;
    158             diff = 0;
    159           }
    160 
    161           results["BestKnownHypervolume"].Value = new DoubleValue(best);
    162           results["Absolute Distance to BestKnownHypervolume"].Value = new DoubleValue(diff);
    163         }
    164         catch (ArgumentException) {
    165           results["Hypervolume"].Value = new DoubleValue(Double.NaN);
    166         }
    167       }
    168 
    169 
    170       //Spacing analysis
    171       if (!results.ContainsKey("Spacing")) results.Add(new Result("Spacing", typeof(DoubleValue)));
    172       Spacing s = new Spacing();
    173       results["Spacing"].Value = new DoubleValue(s.Get(qualities));
    174 
    175       //Crowding
    176       if (!results.ContainsKey("Crowding")) results.Add(new Result("Crowding", typeof(DoubleValue)));
    177       Crowding c = new Crowding(TestFunction.Bounds(Objectives));
    178       results["Crowding"].Value = new DoubleValue(c.Get(qualities));
    179 
    180 
    181 
    182     }
    183102
    184103    [StorableConstructor]
     
    190109    public MultiObjectiveTestFunctionProblem()
    191110      : base() {
     111      Parameters.Remove("Maximization");
     112      Parameters.Add(new ValueParameter<BoolArray>("Maximization", "", new BoolArray(new bool[] { false, false })));
    192113      Parameters.Add(new FixedValueParameter<IntValue>("ProblemSize", "The dimensionality of the problem instance (number of variables in the function).", new IntValue(2)));
    193       Parameters.Add(new FixedValueParameter<IntValue>("SolutionSize", "The dimensionality of the solution vector (number of objectives).", new IntValue(2)));
     114      Parameters.Add(new FixedValueParameter<IntValue>("Objectives", "The dimensionality of the solution vector (number of objectives).", new IntValue(2)));
    194115      Parameters.Add(new ValueParameter<DoubleMatrix>("Bounds", "The bounds of the solution given as either one line for all variables or a line for each variable. The first column specifies lower bound, the second upper bound.", new DoubleMatrix(new double[,] { { -4, 4 } })));
    195116      Parameters.Add(new ValueParameter<IMultiObjectiveTestFunction>("TestFunction", "The function that is to be optimized.", new Fonseca()));
     
    209130    }
    210131
     132    public override void Analyze(Individual[] individuals, double[][] qualities, ResultCollection results, IRandom random) {
     133      base.Analyze(individuals, qualities, results, random);
     134    }
     135
     136    public override bool[] Maximization {
     137      get {
     138        return Parameters.ContainsKey("TestFunction") ? TestFunction.Maximization(Objectives) : new bool[2];
     139      }
     140    }
     141
     142    public double[] Evaluate(RealVector individual, IRandom random) {
     143      return TestFunction.Evaluate(individual, Objectives);
     144    }
     145
     146    public override double[] Evaluate(Individual individual, IRandom random) {
     147      return Evaluate(individual.RealVector(), random);
     148    }
     149
     150    public void Load(MOTFData data) {
     151      TestFunction = data.Evaluator;
     152    }
     153
    211154    private void RegisterEventHandlers() {
    212155      TestFunctionParameter.ValueChanged += TestFunctionParameterOnValueChanged;
    213156      ProblemSizeParameter.Value.ValueChanged += ProblemSizeOnValueChanged;
    214       SolutionSizeParameter.Value.ValueChanged += SolutionSizeOnValueChanged;
     157      ObjectivesParameter.Value.ValueChanged += ObjectivesOnValueChanged;
    215158      BoundsParameter.ValueChanged += BoundsParameterOnValueChanged;
    216     }
    217 
    218     public double[] Evaluate(RealVector individual, IRandom random) {
    219       return TestFunction.Evaluate(individual, Objectives);
    220     }
    221 
    222     public override double[] Evaluate(Individual individual, IRandom random) {
    223       return Evaluate(individual.RealVector(), random);
    224     }
    225 
    226     public void Load(MOTFData data) {
    227       TestFunction = data.Evaluator;
    228159    }
    229160
     
    232163      base.OnEncodingChanged();
    233164      Parameterize();
     165      ParameterizeAnalyzers();
    234166    }
    235167    protected override void OnEvaluatorChanged() {
    236168      base.OnEvaluatorChanged();
    237169      Parameterize();
     170      ParameterizeAnalyzers();
    238171    }
    239172
    240173    private void TestFunctionParameterOnValueChanged(object sender, EventArgs eventArgs) {
    241       var problemSizeChange = SolutionLength < TestFunction.MinimumSolutionLength
    242                               || SolutionLength > TestFunction.MaximumSolutionLength;
     174      var problemSizeChange = ProblemSize < TestFunction.MinimumSolutionLength
     175                              || ProblemSize > TestFunction.MaximumSolutionLength;
    243176      if (problemSizeChange) {
    244         SolutionLength = Math.Max(TestFunction.MinimumSolutionLength, Math.Min(SolutionLength, TestFunction.MaximumSolutionLength));
     177        ProblemSize = Math.Max(TestFunction.MinimumSolutionLength, Math.Min(ProblemSize, TestFunction.MaximumSolutionLength));
    245178      }
    246179
     
    248181                              || Objectives > TestFunction.MaximumObjectives;
    249182      if (solutionSizeChange) {
    250         SolutionLength = Math.Max(TestFunction.MinimumObjectives, Math.Min(Objectives, TestFunction.MaximumObjectives));
    251       }
     183        ProblemSize = Math.Max(TestFunction.MinimumObjectives, Math.Min(Objectives, TestFunction.MaximumObjectives));
     184      }
     185
    252186      Bounds = (DoubleMatrix)new DoubleMatrix(TestFunction.Bounds(Objectives)).Clone();
     187      ParameterizeAnalyzers();
     188      Parameterize();
    253189      OnReset();
    254190    }
    255191
    256192    private void ProblemSizeOnValueChanged(object sender, EventArgs eventArgs) {
    257       if (SolutionLength < TestFunction.MinimumSolutionLength
    258         || SolutionLength > TestFunction.MaximumSolutionLength)
    259         SolutionLength = Math.Min(TestFunction.MaximumSolutionLength, Math.Max(TestFunction.MinimumSolutionLength, SolutionLength));
     193      if (ProblemSize < TestFunction.MinimumSolutionLength
     194        || ProblemSize > TestFunction.MaximumSolutionLength)
     195        ProblemSize = Math.Min(TestFunction.MaximumSolutionLength, Math.Max(TestFunction.MinimumSolutionLength, ProblemSize));
    260196      if (Objectives < TestFunction.MinimumObjectives
    261197        || Objectives > TestFunction.MaximumObjectives)
    262198        Objectives = Math.Min(TestFunction.MaximumObjectives, Math.Max(TestFunction.MinimumObjectives, Objectives));
    263     }
    264 
    265     private void SolutionSizeOnValueChanged(object sender, EventArgs eventArgs) {
     199      Parameterize();
     200    }
     201
     202    private void ObjectivesOnValueChanged(object sender, EventArgs eventArgs) {
    266203      if (Objectives < TestFunction.MinimumObjectives
    267204        || Objectives > TestFunction.MaximumObjectives)
    268205        Objectives = Math.Min(TestFunction.MaximumObjectives, Math.Max(TestFunction.MinimumObjectives, Objectives));
    269       if (SolutionLength < TestFunction.MinimumSolutionLength
    270         || SolutionLength > TestFunction.MaximumSolutionLength)
    271         SolutionLength = Math.Min(TestFunction.MaximumSolutionLength, Math.Max(TestFunction.MinimumSolutionLength, SolutionLength));
     206      if (ProblemSize < TestFunction.MinimumSolutionLength
     207        || ProblemSize > TestFunction.MaximumSolutionLength)
     208        ProblemSize = Math.Min(TestFunction.MaximumSolutionLength, Math.Max(TestFunction.MinimumSolutionLength, ProblemSize));
     209      Parameterize();
    272210    }
    273211
     
    279217    #region Helpers
    280218    private void InitializeOperators() {
    281       //empty for now
     219      Operators.Add(new CrowdingAnalyzer());
     220      Operators.Add(new GenerationalDistanceAnalyzer());
     221      Operators.Add(new InvertedGenerationalDistanceAnalyzer());
     222      Operators.Add(new HypervolumeAnalyzer());
     223      Operators.Add(new SpacingAnalyzer());
     224      Operators.Add(new ScatterPlotAnalyzer());
     225      ParameterizeAnalyzers();
    282226      Parameterize();
    283227    }
    284228
    285229    private void Parameterize() {
    286       //empty for now
    287     }
     230      MaximizationParameter.ActualValue = new BoolArray(Maximization);
     231    }
     232
     233    private void ParameterizeAnalyzers() {
     234      foreach (var analyzer in Analyzers) {
     235        analyzer.ResultsParameter.ActualName = "Results";
     236        analyzer.QualitiesParameter.ActualName = Evaluator.QualitiesParameter.ActualName;
     237        analyzer.TestFunction = TestFunction;
     238      }
     239    }
     240
    288241    #endregion
    289242  }
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/NonDominatedSelect.cs

    r13620 r13672  
    2828  public class NonDominatedSelect {
    2929    private enum DominationResult { Dominates, IsDominated, IsNonDominated };
    30 
    3130
    3231    public static IEnumerable<double[]> selectNonDominatedVectors(IEnumerable<double[]> qualities, bool[] maximization, bool dominateOnEqualQualities) {
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/PFStore.cs

    r13620 r13672  
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
    121using System;
    222using System.Collections.Generic;
     23using System.Globalization;
     24using System.IO;
     25using System.Reflection;
    326
    427namespace HeuristicLab.Problems.MultiObjectiveTestFunctions {
    528  class PFStore {
     29    public static IEnumerable<double[]> get(String filename) {
     30      List<double[]> data = new List<double[]>();
     31      var assembly = Assembly.GetExecutingAssembly();
     32      String ressourcename = typeof(PFStore).Namespace + ".EmbeddedRessources." + filename + ".pf";
    633
    7     private static double[][] c_data;
    8     private static String c_name = "";
    9     //TODO exception handling
    10     public static IEnumerable<double[]> get(String filename) {
    11       if (c_name != null && c_name.Equals(filename)) {
    12         return c_data;
     34      //check if file is listed
     35      var names = assembly.GetManifestResourceNames();
     36      bool contained = false;
     37      foreach (var name in names) {
     38        if (name.Equals(ressourcename)) {
     39          contained = true;
     40          break;
     41        }
    1342      }
    14       double[] data = null;
    15       switch (filename) {
    16         case "DTLZ1": data = new double[] { 0.0, 0.5, 5.00501E-4, 0.4994995, 0.001001001, 0.498998999, 0.001501502, 0.498498499, 0.002002002, 0.497997998, 0.002502503, 0.497497498, 0.003003003, 0.496996997, 0.003503504, 0.496496497, 0.004004004, 0.495995996, 0.004504505, 0.495495496, 0.005005005, 0.494994995, 0.005505506, 0.494494495, 0.006006006, 0.493993994, 0.006506507, 0.493493494, 0.007007007, 0.492992993, 0.007507508, 0.492492493, 0.008008008, 0.491991992, 0.008508509, 0.491491492, 0.009009009, 0.490990991, 0.00950951, 0.490490491, 0.01001001, 0.48998999, 0.010510511, 0.48948949, 0.011011011, 0.488988989, 0.011511512, 0.488488489, 0.012012012, 0.487987988, 0.012512513, 0.487487488, 0.013013013, 0.486986987, 0.013513514, 0.486486487, 0.014014014, 0.485985986, 0.014514515, 0.485485486, 0.015015015, 0.484984985, 0.015515516, 0.484484485, 0.016016016, 0.483983984, 0.016516517, 0.483483484, 0.017017017, 0.482982983, 0.017517518, 0.482482483, 0.018018018, 0.481981982, 0.018518519, 0.481481482, 0.019019019, 0.480980981, 0.01951952, 0.480480481, 0.02002002, 0.47997998, 0.020520521, 0.47947948, 0.021021021, 0.478978979, 0.021521522, 0.478478479, 0.022022022, 0.477977978, 0.022522523, 0.477477478, 0.023023023, 0.476976977, 0.023523524, 0.476476477, 0.024024024, 0.475975976, 0.024524525, 0.475475476, 0.025025025, 0.474974975, 0.025525526, 0.474474475, 0.026026026, 0.473973974, 0.026526527, 0.473473474, 0.027027027, 0.472972973, 0.027527528, 0.472472473, 0.028028028, 0.471971972, 0.028528529, 0.471471472, 0.029029029, 0.470970971, 0.02952953, 0.470470471, 0.03003003, 0.46996997, 0.030530531, 0.46946947, 0.031031031, 0.468968969, 0.031531532, 0.468468469, 0.032032032, 0.467967968, 0.032532533, 0.467467468, 0.033033033, 0.466966967, 0.033533534, 0.466466467, 0.034034034, 0.465965966, 0.034534535, 0.465465466, 0.035035035, 0.464964965, 0.035535536, 0.464464465, 0.036036036, 0.463963964, 0.036536537, 0.463463464, 0.037037037, 0.462962963, 0.037537538, 0.462462463, 0.038038038, 0.461961962, 0.038538539, 0.461461462, 0.039039039, 0.460960961, 0.03953954, 0.460460461, 0.04004004, 0.45995996, 0.040540541, 0.45945946, 0.041041041, 0.458958959, 0.041541542, 0.458458459, 0.042042042, 0.457957958, 0.042542543, 0.457457458, 0.043043043, 0.456956957, 0.043543544, 0.456456457, 0.044044044, 0.455955956, 0.044544545, 0.455455456, 0.045045045, 0.454954955, 0.045545546, 0.454454455, 0.046046046, 0.453953954, 0.046546547, 0.453453454, 0.047047047, 0.452952953, 0.047547548, 0.452452453, 0.048048048, 0.451951952, 0.048548549, 0.451451452, 0.049049049, 0.450950951, 0.04954955, 0.450450451, 0.05005005, 0.44994995, 0.050550551, 0.449449449, 0.051051051, 0.448948949, 0.051551552, 0.448448448, 0.052052052, 0.447947948, 0.052552553, 0.447447447, 0.053053053, 0.446946947, 0.053553554, 0.446446446, 0.054054054, 0.445945946, 0.054554555, 0.445445445, 0.055055055, 0.444944945, 0.055555556, 0.444444444, 0.056056056, 0.443943944, 0.056556557, 0.443443443, 0.057057057, 0.442942943, 0.057557558, 0.442442442, 0.058058058, 0.441941942, 0.058558559, 0.441441441, 0.059059059, 0.440940941, 0.05955956, 0.44044044, 0.06006006, 0.43993994, 0.060560561, 0.439439439, 0.061061061, 0.438938939, 0.061561562, 0.438438438, 0.062062062, 0.437937938, 0.062562563, 0.437437437, 0.063063063, 0.436936937, 0.063563564, 0.436436436, 0.064064064, 0.435935936, 0.064564565, 0.435435435, 0.065065065, 0.434934935, 0.065565566, 0.434434434, 0.066066066, 0.433933934, 0.066566567, 0.433433433, 0.067067067, 0.432932933, 0.067567568, 0.432432432, 0.068068068, 0.431931932, 0.068568569, 0.431431431, 0.069069069, 0.430930931, 0.06956957, 0.43043043, 0.07007007, 0.42992993, 0.070570571, 0.429429429, 0.071071071, 0.428928929, 0.071571572, 0.428428428, 0.072072072, 0.427927928, 0.072572573, 0.427427427, 0.073073073, 0.426926927, 0.073573574, 0.426426426, 0.074074074, 0.425925926, 0.074574575, 0.425425425, 0.075075075, 0.424924925, 0.075575576, 0.424424424, 0.076076076, 0.423923924, 0.076576577, 0.423423423, 0.077077077, 0.422922923, 0.077577578, 0.422422422, 0.078078078, 0.421921922, 0.078578579, 0.421421421, 0.079079079, 0.420920921, 0.07957958, 0.42042042, 0.08008008, 0.41991992, 0.080580581, 0.419419419, 0.081081081, 0.418918919, 0.081581582, 0.418418418, 0.082082082, 0.417917918, 0.082582583, 0.417417417, 0.083083083, 0.416916917, 0.083583584, 0.416416416, 0.084084084, 0.415915916, 0.084584585, 0.415415415, 0.085085085, 0.414914915, 0.085585586, 0.414414414, 0.086086086, 0.413913914, 0.086586587, 0.413413413, 0.087087087, 0.412912913, 0.087587588, 0.412412412, 0.088088088, 0.411911912, 0.088588589, 0.411411411, 0.089089089, 0.410910911, 0.08958959, 0.41041041, 0.09009009, 0.40990991, 0.090590591, 0.409409409, 0.091091091, 0.408908909, 0.091591592, 0.408408408, 0.092092092, 0.407907908, 0.092592593, 0.407407407, 0.093093093, 0.406906907, 0.093593594, 0.406406406, 0.094094094, 0.405905906, 0.094594595, 0.405405405, 0.095095095, 0.404904905, 0.095595596, 0.404404404, 0.096096096, 0.403903904, 0.096596597, 0.403403403, 0.097097097, 0.402902903, 0.097597598, 0.402402402, 0.098098098, 0.401901902, 0.098598599, 0.401401401, 0.099099099, 0.400900901, 0.0995996, 0.4004004, 0.1001001, 0.3998999, 0.100600601, 0.399399399, 0.101101101, 0.398898899, 0.101601602, 0.398398398, 0.102102102, 0.397897898, 0.102602603, 0.397397397, 0.103103103, 0.396896897, 0.103603604, 0.396396396, 0.104104104, 0.395895896, 0.104604605, 0.395395395, 0.105105105, 0.394894895, 0.105605606, 0.394394394, 0.106106106, 0.393893894, 0.106606607, 0.393393393, 0.107107107, 0.392892893, 0.107607608, 0.392392392, 0.108108108, 0.391891892, 0.108608609, 0.391391391, 0.109109109, 0.390890891, 0.10960961, 0.39039039, 0.11011011, 0.38988989, 0.110610611, 0.389389389, 0.111111111, 0.388888889, 0.111611612, 0.388388388, 0.112112112, 0.387887888, 0.112612613, 0.387387387, 0.113113113, 0.386886887, 0.113613614, 0.386386386, 0.114114114, 0.385885886, 0.114614615, 0.385385385, 0.115115115, 0.384884885, 0.115615616, 0.384384384, 0.116116116, 0.383883884, 0.116616617, 0.383383383, 0.117117117, 0.382882883, 0.117617618, 0.382382382, 0.118118118, 0.381881882, 0.118618619, 0.381381381, 0.119119119, 0.380880881, 0.11961962, 0.38038038, 0.12012012, 0.37987988, 0.120620621, 0.379379379, 0.121121121, 0.378878879, 0.121621622, 0.378378378, 0.122122122, 0.377877878, 0.122622623, 0.377377377, 0.123123123, 0.376876877, 0.123623624, 0.376376376, 0.124124124, 0.375875876, 0.124624625, 0.375375375, 0.125125125, 0.374874875, 0.125625626, 0.374374374, 0.126126126, 0.373873874, 0.126626627, 0.373373373, 0.127127127, 0.372872873, 0.127627628, 0.372372372, 0.128128128, 0.371871872, 0.128628629, 0.371371371, 0.129129129, 0.370870871, 0.12962963, 0.37037037, 0.13013013, 0.36986987, 0.130630631, 0.369369369, 0.131131131, 0.368868869, 0.131631632, 0.368368368, 0.132132132, 0.367867868, 0.132632633, 0.367367367, 0.133133133, 0.366866867, 0.133633634, 0.366366366, 0.134134134, 0.365865866, 0.134634635, 0.365365365, 0.135135135, 0.364864865, 0.135635636, 0.364364364, 0.136136136, 0.363863864, 0.136636637, 0.363363363, 0.137137137, 0.362862863, 0.137637638, 0.362362362, 0.138138138, 0.361861862, 0.138638639, 0.361361361, 0.139139139, 0.360860861, 0.13963964, 0.36036036, 0.14014014, 0.35985986, 0.140640641, 0.359359359, 0.141141141, 0.358858859, 0.141641642, 0.358358358, 0.142142142, 0.357857858, 0.142642643, 0.357357357, 0.143143143, 0.356856857, 0.143643644, 0.356356356, 0.144144144, 0.355855856, 0.144644645, 0.355355355, 0.145145145, 0.354854855, 0.145645646, 0.354354354, 0.146146146, 0.353853854, 0.146646647, 0.353353353, 0.147147147, 0.352852853, 0.147647648, 0.352352352, 0.148148148, 0.351851852, 0.148648649, 0.351351351, 0.149149149, 0.350850851, 0.14964965, 0.35035035, 0.15015015, 0.34984985, 0.150650651, 0.349349349, 0.151151151, 0.348848849, 0.151651652, 0.348348348, 0.152152152, 0.347847848, 0.152652653, 0.347347347, 0.153153153, 0.346846847, 0.153653654, 0.346346346, 0.154154154, 0.345845846, 0.154654655, 0.345345345, 0.155155155, 0.344844845, 0.155655656, 0.344344344, 0.156156156, 0.343843844, 0.156656657, 0.343343343, 0.157157157, 0.342842843, 0.157657658, 0.342342342, 0.158158158, 0.341841842, 0.158658659, 0.341341341, 0.159159159, 0.340840841, 0.15965966, 0.34034034, 0.16016016, 0.33983984, 0.160660661, 0.339339339, 0.161161161, 0.338838839, 0.161661662, 0.338338338, 0.162162162, 0.337837838, 0.162662663, 0.337337337, 0.163163163, 0.336836837, 0.163663664, 0.336336336, 0.164164164, 0.335835836, 0.164664665, 0.335335335, 0.165165165, 0.334834835, 0.165665666, 0.334334334, 0.166166166, 0.333833834, 0.166666667, 0.333333333, 0.167167167, 0.332832833, 0.167667668, 0.332332332, 0.168168168, 0.331831832, 0.168668669, 0.331331331, 0.169169169, 0.330830831, 0.16966967, 0.33033033, 0.17017017, 0.32982983, 0.170670671, 0.329329329, 0.171171171, 0.328828829, 0.171671672, 0.328328328, 0.172172172, 0.327827828, 0.172672673, 0.327327327, 0.173173173, 0.326826827, 0.173673674, 0.326326326, 0.174174174, 0.325825826, 0.174674675, 0.325325325, 0.175175175, 0.324824825, 0.175675676, 0.324324324, 0.176176176, 0.323823824, 0.176676677, 0.323323323, 0.177177177, 0.322822823, 0.177677678, 0.322322322, 0.178178178, 0.321821822, 0.178678679, 0.321321321, 0.179179179, 0.320820821, 0.17967968, 0.32032032, 0.18018018, 0.31981982, 0.180680681, 0.319319319, 0.181181181, 0.318818819, 0.181681682, 0.318318318, 0.182182182, 0.317817818, 0.182682683, 0.317317317, 0.183183183, 0.316816817, 0.183683684, 0.316316316, 0.184184184, 0.315815816, 0.184684685, 0.315315315, 0.185185185, 0.314814815, 0.185685686, 0.314314314, 0.186186186, 0.313813814, 0.186686687, 0.313313313, 0.187187187, 0.312812813, 0.187687688, 0.312312312, 0.188188188, 0.311811812, 0.188688689, 0.311311311, 0.189189189, 0.310810811, 0.18968969, 0.31031031, 0.19019019, 0.30980981, 0.190690691, 0.309309309, 0.191191191, 0.308808809, 0.191691692, 0.308308308, 0.192192192, 0.307807808, 0.192692693, 0.307307307, 0.193193193, 0.306806807, 0.193693694, 0.306306306, 0.194194194, 0.305805806, 0.194694695, 0.305305305, 0.195195195, 0.304804805, 0.195695696, 0.304304304, 0.196196196, 0.303803804, 0.196696697, 0.303303303, 0.197197197, 0.302802803, 0.197697698, 0.302302302, 0.198198198, 0.301801802, 0.198698699, 0.301301301, 0.199199199, 0.300800801, 0.1996997, 0.3003003, 0.2002002, 0.2997998, 0.200700701, 0.299299299, 0.201201201, 0.298798799, 0.201701702, 0.298298298, 0.202202202, 0.297797798, 0.202702703, 0.297297297, 0.203203203, 0.296796797, 0.203703704, 0.296296296, 0.204204204, 0.295795796, 0.204704705, 0.295295295, 0.205205205, 0.294794795, 0.205705706, 0.294294294, 0.206206206, 0.293793794, 0.206706707, 0.293293293, 0.207207207, 0.292792793, 0.207707708, 0.292292292, 0.208208208, 0.291791792, 0.208708709, 0.291291291, 0.209209209, 0.290790791, 0.20970971, 0.29029029, 0.21021021, 0.28978979, 0.210710711, 0.289289289, 0.211211211, 0.288788789, 0.211711712, 0.288288288, 0.212212212, 0.287787788, 0.212712713, 0.287287287, 0.213213213, 0.286786787, 0.213713714, 0.286286286, 0.214214214, 0.285785786, 0.214714715, 0.285285285, 0.215215215, 0.284784785, 0.215715716, 0.284284284, 0.216216216, 0.283783784, 0.216716717, 0.283283283, 0.217217217, 0.282782783, 0.217717718, 0.282282282, 0.218218218, 0.281781782, 0.218718719, 0.281281281, 0.219219219, 0.280780781, 0.21971972, 0.28028028, 0.22022022, 0.27977978, 0.220720721, 0.279279279, 0.221221221, 0.278778779, 0.221721722, 0.278278278, 0.222222222, 0.277777778, 0.222722723, 0.277277277, 0.223223223, 0.276776777, 0.223723724, 0.276276276, 0.224224224, 0.275775776, 0.224724725, 0.275275275, 0.225225225, 0.274774775, 0.225725726, 0.274274274, 0.226226226, 0.273773774, 0.226726727, 0.273273273, 0.227227227, 0.272772773, 0.227727728, 0.272272272, 0.228228228, 0.271771772, 0.228728729, 0.271271271, 0.229229229, 0.270770771, 0.22972973, 0.27027027, 0.23023023, 0.26976977, 0.230730731, 0.269269269, 0.231231231, 0.268768769, 0.231731732, 0.268268268, 0.232232232, 0.267767768, 0.232732733, 0.267267267, 0.233233233, 0.266766767, 0.233733734, 0.266266266, 0.234234234, 0.265765766, 0.234734735, 0.265265265, 0.235235235, 0.264764765, 0.235735736, 0.264264264, 0.236236236, 0.263763764, 0.236736737, 0.263263263, 0.237237237, 0.262762763, 0.237737738, 0.262262262, 0.238238238, 0.261761762, 0.238738739, 0.261261261, 0.239239239, 0.260760761, 0.23973974, 0.26026026, 0.24024024, 0.25975976, 0.240740741, 0.259259259, 0.241241241, 0.258758759, 0.241741742, 0.258258258, 0.242242242, 0.257757758, 0.242742743, 0.257257257, 0.243243243, 0.256756757, 0.243743744, 0.256256256, 0.244244244, 0.255755756, 0.244744745, 0.255255255, 0.245245245, 0.254754755, 0.245745746, 0.254254254, 0.246246246, 0.253753754, 0.246746747, 0.253253253, 0.247247247, 0.252752753, 0.247747748, 0.252252252, 0.248248248, 0.251751752, 0.248748749, 0.251251251, 0.249249249, 0.250750751, 0.24974975, 0.25025025, 0.25025025, 0.24974975, 0.250750751, 0.249249249, 0.251251251, 0.248748749, 0.251751752, 0.248248248, 0.252252252, 0.247747748, 0.252752753, 0.247247247, 0.253253253, 0.246746747, 0.253753754, 0.246246246, 0.254254254, 0.245745746, 0.254754755, 0.245245245, 0.255255255, 0.244744745, 0.255755756, 0.244244244, 0.256256256, 0.243743744, 0.256756757, 0.243243243, 0.257257257, 0.242742743, 0.257757758, 0.242242242, 0.258258258, 0.241741742, 0.258758759, 0.241241241, 0.259259259, 0.240740741, 0.25975976, 0.24024024, 0.26026026, 0.23973974, 0.260760761, 0.239239239, 0.261261261, 0.238738739, 0.261761762, 0.238238238, 0.262262262, 0.237737738, 0.262762763, 0.237237237, 0.263263263, 0.236736737, 0.263763764, 0.236236236, 0.264264264, 0.235735736, 0.264764765, 0.235235235, 0.265265265, 0.234734735, 0.265765766, 0.234234234, 0.266266266, 0.233733734, 0.266766767, 0.233233233, 0.267267267, 0.232732733, 0.267767768, 0.232232232, 0.268268268, 0.231731732, 0.268768769, 0.231231231, 0.269269269, 0.230730731, 0.26976977, 0.23023023, 0.27027027, 0.22972973, 0.270770771, 0.229229229, 0.271271271, 0.228728729, 0.271771772, 0.228228228, 0.272272272, 0.227727728, 0.272772773, 0.227227227, 0.273273273, 0.226726727, 0.273773774, 0.226226226, 0.274274274, 0.225725726, 0.274774775, 0.225225225, 0.275275275, 0.224724725, 0.275775776, 0.224224224, 0.276276276, 0.223723724, 0.276776777, 0.223223223, 0.277277277, 0.222722723, 0.277777778, 0.222222222, 0.278278278, 0.221721722, 0.278778779, 0.221221221, 0.279279279, 0.220720721, 0.27977978, 0.22022022, 0.28028028, 0.21971972, 0.280780781, 0.219219219, 0.281281281, 0.218718719, 0.281781782, 0.218218218, 0.282282282, 0.217717718, 0.282782783, 0.217217217, 0.283283283, 0.216716717, 0.283783784, 0.216216216, 0.284284284, 0.215715716, 0.284784785, 0.215215215, 0.285285285, 0.214714715, 0.285785786, 0.214214214, 0.286286286, 0.213713714, 0.286786787, 0.213213213, 0.287287287, 0.212712713, 0.287787788, 0.212212212, 0.288288288, 0.211711712, 0.288788789, 0.211211211, 0.289289289, 0.210710711, 0.28978979, 0.21021021, 0.29029029, 0.20970971, 0.290790791, 0.209209209, 0.291291291, 0.208708709, 0.291791792, 0.208208208, 0.292292292, 0.207707708, 0.292792793, 0.207207207, 0.293293293, 0.206706707, 0.293793794, 0.206206206, 0.294294294, 0.205705706, 0.294794795, 0.205205205, 0.295295295, 0.204704705, 0.295795796, 0.204204204, 0.296296296, 0.203703704, 0.296796797, 0.203203203, 0.297297297, 0.202702703, 0.297797798, 0.202202202, 0.298298298, 0.201701702, 0.298798799, 0.201201201, 0.299299299, 0.200700701, 0.2997998, 0.2002002, 0.3003003, 0.1996997, 0.300800801, 0.199199199, 0.301301301, 0.198698699, 0.301801802, 0.198198198, 0.302302302, 0.197697698, 0.302802803, 0.197197197, 0.303303303, 0.196696697, 0.303803804, 0.196196196, 0.304304304, 0.195695696, 0.304804805, 0.195195195, 0.305305305, 0.194694695, 0.305805806, 0.194194194, 0.306306306, 0.193693694, 0.306806807, 0.193193193, 0.307307307, 0.192692693, 0.307807808, 0.192192192, 0.308308308, 0.191691692, 0.308808809, 0.191191191, 0.309309309, 0.190690691, 0.30980981, 0.19019019, 0.31031031, 0.18968969, 0.310810811, 0.189189189, 0.311311311, 0.188688689, 0.311811812, 0.188188188, 0.312312312, 0.187687688, 0.312812813, 0.187187187, 0.313313313, 0.186686687, 0.313813814, 0.186186186, 0.314314314, 0.185685686, 0.314814815, 0.185185185, 0.315315315, 0.184684685, 0.315815816, 0.184184184, 0.316316316, 0.183683684, 0.316816817, 0.183183183, 0.317317317, 0.182682683, 0.317817818, 0.182182182, 0.318318318, 0.181681682, 0.318818819, 0.181181181, 0.319319319, 0.180680681, 0.31981982, 0.18018018, 0.32032032, 0.17967968, 0.320820821, 0.179179179, 0.321321321, 0.178678679, 0.321821822, 0.178178178, 0.322322322, 0.177677678, 0.322822823, 0.177177177, 0.323323323, 0.176676677, 0.323823824, 0.176176176, 0.324324324, 0.175675676, 0.324824825, 0.175175175, 0.325325325, 0.174674675, 0.325825826, 0.174174174, 0.326326326, 0.173673674, 0.326826827, 0.173173173, 0.327327327, 0.172672673, 0.327827828, 0.172172172, 0.328328328, 0.171671672, 0.328828829, 0.171171171, 0.329329329, 0.170670671, 0.32982983, 0.17017017, 0.33033033, 0.16966967, 0.330830831, 0.169169169, 0.331331331, 0.168668669, 0.331831832, 0.168168168, 0.332332332, 0.167667668, 0.332832833, 0.167167167, 0.333333333, 0.166666667, 0.333833834, 0.166166166, 0.334334334, 0.165665666, 0.334834835, 0.165165165, 0.335335335, 0.164664665, 0.335835836, 0.164164164, 0.336336336, 0.163663664, 0.336836837, 0.163163163, 0.337337337, 0.162662663, 0.337837838, 0.162162162, 0.338338338, 0.161661662, 0.338838839, 0.161161161, 0.339339339, 0.160660661, 0.33983984, 0.16016016, 0.34034034, 0.15965966, 0.340840841, 0.159159159, 0.341341341, 0.158658659, 0.341841842, 0.158158158, 0.342342342, 0.157657658, 0.342842843, 0.157157157, 0.343343343, 0.156656657, 0.343843844, 0.156156156, 0.344344344, 0.155655656, 0.344844845, 0.155155155, 0.345345345, 0.154654655, 0.345845846, 0.154154154, 0.346346346, 0.153653654, 0.346846847, 0.153153153, 0.347347347, 0.152652653, 0.347847848, 0.152152152, 0.348348348, 0.151651652, 0.348848849, 0.151151151, 0.349349349, 0.150650651, 0.34984985, 0.15015015, 0.35035035, 0.14964965, 0.350850851, 0.149149149, 0.351351351, 0.148648649, 0.351851852, 0.148148148, 0.352352352, 0.147647648, 0.352852853, 0.147147147, 0.353353353, 0.146646647, 0.353853854, 0.146146146, 0.354354354, 0.145645646, 0.354854855, 0.145145145, 0.355355355, 0.144644645, 0.355855856, 0.144144144, 0.356356356, 0.143643644, 0.356856857, 0.143143143, 0.357357357, 0.142642643, 0.357857858, 0.142142142, 0.358358358, 0.141641642, 0.358858859, 0.141141141, 0.359359359, 0.140640641, 0.35985986, 0.14014014, 0.36036036, 0.13963964, 0.360860861, 0.139139139, 0.361361361, 0.138638639, 0.361861862, 0.138138138, 0.362362362, 0.137637638, 0.362862863, 0.137137137, 0.363363363, 0.136636637, 0.363863864, 0.136136136, 0.364364364, 0.135635636, 0.364864865, 0.135135135, 0.365365365, 0.134634635, 0.365865866, 0.134134134, 0.366366366, 0.133633634, 0.366866867, 0.133133133, 0.367367367, 0.132632633, 0.367867868, 0.132132132, 0.368368368, 0.131631632, 0.368868869, 0.131131131, 0.369369369, 0.130630631, 0.36986987, 0.13013013, 0.37037037, 0.12962963, 0.370870871, 0.129129129, 0.371371371, 0.128628629, 0.371871872, 0.128128128, 0.372372372, 0.127627628, 0.372872873, 0.127127127, 0.373373373, 0.126626627, 0.373873874, 0.126126126, 0.374374374, 0.125625626, 0.374874875, 0.125125125, 0.375375375, 0.124624625, 0.375875876, 0.124124124, 0.376376376, 0.123623624, 0.376876877, 0.123123123, 0.377377377, 0.122622623, 0.377877878, 0.122122122, 0.378378378, 0.121621622, 0.378878879, 0.121121121, 0.379379379, 0.120620621, 0.37987988, 0.12012012, 0.38038038, 0.11961962, 0.380880881, 0.119119119, 0.381381381, 0.118618619, 0.381881882, 0.118118118, 0.382382382, 0.117617618, 0.382882883, 0.117117117, 0.383383383, 0.116616617, 0.383883884, 0.116116116, 0.384384384, 0.115615616, 0.384884885, 0.115115115, 0.385385385, 0.114614615, 0.385885886, 0.114114114, 0.386386386, 0.113613614, 0.386886887, 0.113113113, 0.387387387, 0.112612613, 0.387887888, 0.112112112, 0.388388388, 0.111611612, 0.388888889, 0.111111111, 0.389389389, 0.110610611, 0.38988989, 0.11011011, 0.39039039, 0.10960961, 0.390890891, 0.109109109, 0.391391391, 0.108608609, 0.391891892, 0.108108108, 0.392392392, 0.107607608, 0.392892893, 0.107107107, 0.393393393, 0.106606607, 0.393893894, 0.106106106, 0.394394394, 0.105605606, 0.394894895, 0.105105105, 0.395395395, 0.104604605, 0.395895896, 0.104104104, 0.396396396, 0.103603604, 0.396896897, 0.103103103, 0.397397397, 0.102602603, 0.397897898, 0.102102102, 0.398398398, 0.101601602, 0.398898899, 0.101101101, 0.399399399, 0.100600601, 0.3998999, 0.1001001, 0.4004004, 0.0995996, 0.400900901, 0.099099099, 0.401401401, 0.098598599, 0.401901902, 0.098098098, 0.402402402, 0.097597598, 0.402902903, 0.097097097, 0.403403403, 0.096596597, 0.403903904, 0.096096096, 0.404404404, 0.095595596, 0.404904905, 0.095095095, 0.405405405, 0.094594595, 0.405905906, 0.094094094, 0.406406406, 0.093593594, 0.406906907, 0.093093093, 0.407407407, 0.092592593, 0.407907908, 0.092092092, 0.408408408, 0.091591592, 0.408908909, 0.091091091, 0.409409409, 0.090590591, 0.40990991, 0.09009009, 0.41041041, 0.08958959, 0.410910911, 0.089089089, 0.411411411, 0.088588589, 0.411911912, 0.088088088, 0.412412412, 0.087587588, 0.412912913, 0.087087087, 0.413413413, 0.086586587, 0.413913914, 0.086086086, 0.414414414, 0.085585586, 0.414914915, 0.085085085, 0.415415415, 0.084584585, 0.415915916, 0.084084084, 0.416416416, 0.083583584, 0.416916917, 0.083083083, 0.417417417, 0.082582583, 0.417917918, 0.082082082, 0.418418418, 0.081581582, 0.418918919, 0.081081081, 0.419419419, 0.080580581, 0.41991992, 0.08008008, 0.42042042, 0.07957958, 0.420920921, 0.079079079, 0.421421421, 0.078578579, 0.421921922, 0.078078078, 0.422422422, 0.077577578, 0.422922923, 0.077077077, 0.423423423, 0.076576577, 0.423923924, 0.076076076, 0.424424424, 0.075575576, 0.424924925, 0.075075075, 0.425425425, 0.074574575, 0.425925926, 0.074074074, 0.426426426, 0.073573574, 0.426926927, 0.073073073, 0.427427427, 0.072572573, 0.427927928, 0.072072072, 0.428428428, 0.071571572, 0.428928929, 0.071071071, 0.429429429, 0.070570571, 0.42992993, 0.07007007, 0.43043043, 0.06956957, 0.430930931, 0.069069069, 0.431431431, 0.068568569, 0.431931932, 0.068068068, 0.432432432, 0.067567568, 0.432932933, 0.067067067, 0.433433433, 0.066566567, 0.433933934, 0.066066066, 0.434434434, 0.065565566, 0.434934935, 0.065065065, 0.435435435, 0.064564565, 0.435935936, 0.064064064, 0.436436436, 0.063563564, 0.436936937, 0.063063063, 0.437437437, 0.062562563, 0.437937938, 0.062062062, 0.438438438, 0.061561562, 0.438938939, 0.061061061, 0.439439439, 0.060560561, 0.43993994, 0.06006006, 0.44044044, 0.05955956, 0.440940941, 0.059059059, 0.441441441, 0.058558559, 0.441941942, 0.058058058, 0.442442442, 0.057557558, 0.442942943, 0.057057057, 0.443443443, 0.056556557, 0.443943944, 0.056056056, 0.444444444, 0.055555556, 0.444944945, 0.055055055, 0.445445445, 0.054554555, 0.445945946, 0.054054054, 0.446446446, 0.053553554, 0.446946947, 0.053053053, 0.447447447, 0.052552553, 0.447947948, 0.052052052, 0.448448448, 0.051551552, 0.448948949, 0.051051051, 0.449449449, 0.050550551, 0.44994995, 0.05005005, 0.450450451, 0.04954955, 0.450950951, 0.049049049, 0.451451452, 0.048548549, 0.451951952, 0.048048048, 0.452452453, 0.047547548, 0.452952953, 0.047047047, 0.453453454, 0.046546547, 0.453953954, 0.046046046, 0.454454455, 0.045545546, 0.454954955, 0.045045045, 0.455455456, 0.044544545, 0.455955956, 0.044044044, 0.456456457, 0.043543544, 0.456956957, 0.043043043, 0.457457458, 0.042542543, 0.457957958, 0.042042042, 0.458458459, 0.041541542, 0.458958959, 0.041041041, 0.45945946, 0.040540541, 0.45995996, 0.04004004, 0.460460461, 0.03953954, 0.460960961, 0.039039039, 0.461461462, 0.038538539, 0.461961962, 0.038038038, 0.462462463, 0.037537538, 0.462962963, 0.037037037, 0.463463464, 0.036536537, 0.463963964, 0.036036036, 0.464464465, 0.035535536, 0.464964965, 0.035035035, 0.465465466, 0.034534535, 0.465965966, 0.034034034, 0.466466467, 0.033533534, 0.466966967, 0.033033033, 0.467467468, 0.032532533, 0.467967968, 0.032032032, 0.468468469, 0.031531532, 0.468968969, 0.031031031, 0.46946947, 0.030530531, 0.46996997, 0.03003003, 0.470470471, 0.02952953, 0.470970971, 0.029029029, 0.471471472, 0.028528529, 0.471971972, 0.028028028, 0.472472473, 0.027527528, 0.472972973, 0.027027027, 0.473473474, 0.026526527, 0.473973974, 0.026026026, 0.474474475, 0.025525526, 0.474974975, 0.025025025, 0.475475476, 0.024524525, 0.475975976, 0.024024024, 0.476476477, 0.023523524, 0.476976977, 0.023023023, 0.477477478, 0.022522523, 0.477977978, 0.022022022, 0.478478479, 0.021521522, 0.478978979, 0.021021021, 0.47947948, 0.020520521, 0.47997998, 0.02002002, 0.480480481, 0.01951952, 0.480980981, 0.019019019, 0.481481482, 0.018518519, 0.481981982, 0.018018018, 0.482482483, 0.017517518, 0.482982983, 0.017017017, 0.483483484, 0.016516517, 0.483983984, 0.016016016, 0.484484485, 0.015515516, 0.484984985, 0.015015015, 0.485485486, 0.014514515, 0.485985986, 0.014014014, 0.486486487, 0.013513514, 0.486986987, 0.013013013, 0.487487488, 0.012512513, 0.487987988, 0.012012012, 0.488488489, 0.011511512, 0.488988989, 0.011011011, 0.48948949, 0.010510511, 0.48998999, 0.01001001, 0.490490491, 0.00950951, 0.490990991, 0.009009009, 0.491491492, 0.008508509, 0.491991992, 0.008008008, 0.492492493, 0.007507508, 0.492992993, 0.007007007, 0.493493494, 0.006506507, 0.493993994, 0.006006006, 0.494494495, 0.005505506, 0.494994995, 0.005005005, 0.495495496, 0.004504505, 0.495995996, 0.004004004, 0.496496497, 0.003503504, 0.496996997, 0.003003003, 0.497497498, 0.002502503, 0.497997998, 0.002002002, 0.498498499, 0.001501502, 0.498998999, 0.001001001, 0.4994995, 5.00501E-4, 0.5, 0.0 }; break;
    17         case "DTLZ2": data = new double[] { 0.0, 1.0, 0.036903456, 0.999318836, 0.055468906, 0.998460415, 0.070115471, 0.997538882, 0.082546084, 0.996587249, 0.094493353, 0.995525493, 0.10523225, 0.994447673, 0.114975559, 0.993368321, 0.124079052, 0.992272336, 0.132388029, 0.991197967, 0.140188353, 0.990124854, 0.147040783, 0.98913043, 0.154028832, 0.988066354, 0.16028473, 0.987070821, 0.166412877, 0.986056162, 0.172328494, 0.985039537, 0.177991302, 0.984032061, 0.183492925, 0.983021031, 0.18885365, 0.982005244, 0.194074946, 0.980986705, 0.199080863, 0.979983066, 0.203823978, 0.979007552, 0.208591497, 0.978002857, 0.213211434, 0.977006082, 0.217837618, 0.975985027, 0.222205516, 0.974999851, 0.226542324, 0.974001322, 0.230847022, 0.972990058, 0.235062061, 0.971980364, 0.239144315, 0.970984035, 0.243180946, 0.969980942, 0.247172213, 0.968971567, 0.25105531, 0.967972743, 0.254858879, 0.966978258, 0.258646264, 0.965972106, 0.262316787, 0.964981815, 0.266001676, 0.963972566, 0.2696215, 0.962966379, 0.273179694, 0.961963022, 0.276654251, 0.960969524, 0.280126856, 0.959962991, 0.283544908, 0.958958959, 0.286903, 0.957959638, 0.290229879, 0.956956957, 0.293508325, 0.955956517, 0.296750795, 0.954954955, 0.299953086, 0.953953954, 0.303110363, 0.95295546, 0.306237546, 0.951955128, 0.309331671, 0.950954214, 0.312402133, 0.94994995, 0.315421728, 0.948951597, 0.318402064, 0.947955762, 0.321366018, 0.946955058, 0.324324324, 0.945945946, 0.327222186, 0.944947428, 0.330095446, 0.94394756, 0.332937985, 0.942948725, 0.335766294, 0.941945325, 0.33857074, 0.940940941, 0.341332551, 0.939942599, 0.344083811, 0.938938939, 0.34680315, 0.937937938, 0.349491465, 0.936939548, 0.352154473, 0.935941893, 0.354819204, 0.934934935, 0.357436534, 0.93393743, 0.360034756, 0.932938891, 0.36263325, 0.931931932, 0.365193162, 0.930931767, 0.367730771, 0.929932299, 0.370256189, 0.928929682, 0.372756312, 0.927929271, 0.375241885, 0.926926927, 0.377703396, 0.925926641, 0.380149817, 0.924924925, 0.382576244, 0.923923924, 0.384980743, 0.922924605, 0.387375748, 0.921921922, 0.38974948, 0.920920921, 0.392106288, 0.91991992, 0.394446474, 0.918918919, 0.396770122, 0.917918009, 0.399077107, 0.916917369, 0.401366425, 0.915917569, 0.403645929, 0.914915277, 0.405908066, 0.913913914, 0.408151493, 0.912914212, 0.410385995, 0.911911912, 0.412603093, 0.910910911, 0.414805926, 0.90990991, 0.416994719, 0.908908909, 0.419169692, 0.907907908, 0.42133106, 0.906906907, 0.423479031, 0.905905906, 0.425613807, 0.904904905, 0.427730216, 0.903906445, 0.429844563, 0.902902903, 0.431940921, 0.901901902, 0.434024846, 0.900900901, 0.436096515, 0.8998999, 0.438152498, 0.898900655, 0.440200785, 0.897899365, 0.442239705, 0.896896897, 0.444254873, 0.895900445, 0.446271676, 0.894897531, 0.448276955, 0.893894721, 0.450269122, 0.892892893, 0.452243298, 0.891894612, 0.454217372, 0.890890891, 0.456173955, 0.889890624, 0.458122847, 0.888888889, 0.460058379, 0.887888669, 0.461986324, 0.886887048, 0.46390322, 0.885885886, 0.465809769, 0.884884885, 0.467706403, 0.883883884, 0.469593244, 0.882882883, 0.471482803, 0.881875256, 0.473342741, 0.88087834, 0.475195211, 0.879880396, 0.477040608, 0.878881254, 0.478881102, 0.87787977, 0.480715033, 0.876876877, 0.482536475, 0.875875876, 0.484349, 0.874874875, 0.486152705, 0.873873874, 0.48794769, 0.872872873, 0.489734049, 0.871871872, 0.491366295, 0.870953021, 0.493030852, 0.870011827, 0.494440993, 0.869211197, 0.495873182, 0.868394949, 0.49720388, 0.867633737, 0.498402806, 0.866945582, 0.499538088, 0.866291924, 0.500615483, 0.865669763, 0.501455927, 0.865183191, 0.502266648, 0.864712793, 0.503122129, 0.864215322, 0.50383782, 0.86379827, 0.504594899, 0.863356234, 0.505246159, 0.862975271, 0.505866102, 0.862612014, 0.506490942, 0.862245282, 0.507100408, 0.861886986, 0.507794832, 0.861478037, 0.508502815, 0.861060328, 0.509188456, 0.860655051, 0.509862324, 0.860256014, 0.5104396, 0.859913609, 0.511022055, 0.8595676, 0.511604574, 0.859221019, 0.512182428, 0.858876685, 0.512745686, 0.858540541, 0.51331646, 0.858199401, 0.513917189, 0.8578398, 0.514520316, 0.857478189, 0.515142912, 0.8571043, 0.515791762, 0.856713989, 0.516426425, 0.856331564, 0.517070919, 0.855942559, 0.5176871, 0.855570024, 0.518287121, 0.855206677, 0.518861749, 0.854858167, 0.519433514, 0.854510869, 0.52007576, 0.854120134, 0.520673171, 0.853756083, 0.521297468, 0.853375034, 0.521971913, 0.852962674, 0.522640385, 0.85255324, 0.52327531, 0.852163687, 0.52389804, 0.851780984, 0.524511304, 0.851403484, 0.525143351, 0.851013784, 0.525751602, 0.850638145, 0.526376652, 0.850251504, 0.526996466, 0.849867475, 0.527627289, 0.849475982, 0.52825131, 0.849088072, 0.528897329, 0.848685817, 0.529545821, 0.848281335, 0.53016246, 0.847896082, 0.530804845, 0.84749408, 0.531470403, 0.847076862, 0.532073239, 0.846698334, 0.532675302, 0.846319693, 0.533299424, 0.845926548, 0.533912158, 0.845539951, 0.534534535, 0.845146633, 0.535159486, 0.844751043, 0.535789037, 0.844351887, 0.536410635, 0.843957126, 0.537023086, 0.843567546, 0.537633477, 0.843178655, 0.538203451, 0.842814954, 0.538768664, 0.842453753, 0.539358481, 0.842076261, 0.539953196, 0.841695044, 0.540540541, 0.841317968, 0.54111559, 0.840948226, 0.541722955, 0.840557101, 0.542326074, 0.840168096, 0.542966946, 0.839754068, 0.543599606, 0.839344666, 0.544214608, 0.838946041, 0.544827269, 0.838548298, 0.545436803, 0.838151952, 0.546046989, 0.83775455, 0.54667354, 0.837345831, 0.547302385, 0.836934943, 0.547929038, 0.836524817, 0.548537029, 0.836126263, 0.549124791, 0.835740369, 0.549729621, 0.835342651, 0.550327599, 0.834948821, 0.550945398, 0.834541292, 0.551581452, 0.834121036, 0.552193497, 0.833715984, 0.55276519, 0.833337054, 0.553353903, 0.832946251, 0.553929444, 0.832563614, 0.554508515, 0.83217805, 0.555125923, 0.831766319, 0.555744895, 0.83135288, 0.556325422, 0.830964515, 0.556896464, 0.830581922, 0.557464004, 0.830201111, 0.558034641, 0.829817654, 0.558615981, 0.82942642, 0.559221174, 0.829018503, 0.55980675, 0.828623197, 0.56037547, 0.828238693, 0.560971772, 0.82783493, 0.561570295, 0.827429033, 0.562165566, 0.827024713, 0.562758349, 0.826621461, 0.56336665, 0.826207007, 0.563966321, 0.825797789, 0.564598247, 0.82536587, 0.565218011, 0.824941574, 0.565862761, 0.824499446, 0.566507783, 0.824056389, 0.567138642, 0.823622341, 0.567731293, 0.823213933, 0.568307475, 0.82281627, 0.568878339, 0.82242169, 0.56947008, 0.822012061, 0.570045374, 0.821613213, 0.570622036, 0.821212818, 0.57118837, 0.82081901, 0.571756518, 0.820423356, 0.572316484, 0.82003283, 0.572854619, 0.819656993, 0.573451745, 0.81923934, 0.574043094, 0.818825089, 0.574644795, 0.818402933, 0.575242214, 0.817983127, 0.5758351, 0.817565861, 0.576433412, 0.817144125, 0.577038537, 0.81671692, 0.577594495, 0.816323832, 0.578185281, 0.815905497, 0.578750842, 0.815504423, 0.579323864, 0.815097455, 0.579882617, 0.814700037, 0.580446615, 0.814298304, 0.581025856, 0.813885099, 0.581612288, 0.813466131, 0.582231312, 0.813023185, 0.582853244, 0.81257744, 0.583472322, 0.812133024, 0.584050557, 0.811717282, 0.58463567, 0.811295959, 0.585189058, 0.81089689, 0.58575892, 0.810485341, 0.586334693, 0.810068903, 0.586904351, 0.809656274, 0.587469961, 0.809245973, 0.588014039, 0.808850722, 0.588589941, 0.808431742, 0.589171238, 0.808008201, 0.589780508, 0.80756359, 0.590372235, 0.807131107, 0.590973187, 0.8066912, 0.591552161, 0.806266731, 0.592120803, 0.805849214, 0.592676808, 0.805440378, 0.593226696, 0.805035457, 0.593771298, 0.804633858, 0.594323625, 0.804225981, 0.594872721, 0.803819909, 0.595445131, 0.803395977, 0.59601779, 0.802971229, 0.596588025, 0.802547648, 0.597159296, 0.802122668, 0.597729366, 0.801697951, 0.598319719, 0.801257458, 0.598903438, 0.800821249, 0.599496189, 0.80037761, 0.600086286, 0.799935278, 0.600680349, 0.799489286, 0.601271495, 0.799044798, 0.601862374, 0.798599827, 0.602441025, 0.798163399, 0.603014008, 0.797730598, 0.60358535, 0.797298392, 0.604167596, 0.796857275, 0.604748339, 0.796416629, 0.605335972, 0.795970076, 0.605908868, 0.795534062, 0.606487386, 0.795093108, 0.607059847, 0.794656116, 0.607608299, 0.794236838, 0.608158502, 0.793815619, 0.608700823, 0.793399842, 0.609249328, 0.792978724, 0.609803053, 0.792552987, 0.610373126, 0.792114037, 0.61096652, 0.791656435, 0.61155125, 0.791204821, 0.612147803, 0.790743364, 0.612707511, 0.790309754, 0.613279412, 0.789866042, 0.61385261, 0.789420657, 0.614451672, 0.788954462, 0.615036128, 0.788498929, 0.615571588, 0.788080973, 0.616124909, 0.78764846, 0.616680593, 0.787213469, 0.617230328, 0.786782513, 0.617782956, 0.786348663, 0.618339136, 0.78591139, 0.618897933, 0.785471418, 0.619436641, 0.785046654, 0.620004027, 0.784598628, 0.620559012, 0.78415975, 0.621114562, 0.783719785, 0.621657586, 0.78328912, 0.622217361, 0.782844528, 0.622772122, 0.782403275, 0.623324641, 0.781963165, 0.623906711, 0.781498826, 0.624493126, 0.781030304, 0.625071176, 0.780567758, 0.625610218, 0.780135793, 0.626133416, 0.779715939, 0.626650206, 0.779300661, 0.627190216, 0.77886612, 0.62775863, 0.778408057, 0.628300379, 0.777970844, 0.628840736, 0.777534134, 0.629381011, 0.777096869, 0.629910271, 0.776667915, 0.630464597, 0.776218005, 0.631008673, 0.775775776, 0.631617491, 0.775280172, 0.632208509, 0.774798297, 0.632808142, 0.77430863, 0.633378489, 0.773842161, 0.633959426, 0.773366308, 0.634516595, 0.772909238, 0.635070627, 0.772454076, 0.635584931, 0.772030955, 0.636111557, 0.771597102, 0.636639849, 0.771161269, 0.637165971, 0.770726621, 0.637712453, 0.770274514, 0.638269469, 0.76981302, 0.638812099, 0.76936279, 0.63937225, 0.768897344, 0.63989015, 0.768466392, 0.640414094, 0.768029809, 0.640941045, 0.76759011, 0.641499065, 0.767123816, 0.642036676, 0.766673925, 0.642599364, 0.766202361, 0.64316686, 0.765726054, 0.643738184, 0.76524581, 0.644275916, 0.764793138, 0.644788051, 0.764361413, 0.64535961, 0.7638789, 0.645881904, 0.763437336, 0.646389154, 0.763007904, 0.646901979, 0.762573164, 0.647428175, 0.762126472, 0.647973149, 0.761663179, 0.648516373, 0.761200705, 0.649070614, 0.760728163, 0.649619682, 0.760259343, 0.650158685, 0.75979845, 0.65068556, 0.759347287, 0.651262461, 0.758852559, 0.65184862, 0.758349113, 0.652406274, 0.757869417, 0.652955292, 0.757396453, 0.653493015, 0.756932546, 0.654028799, 0.756469649, 0.654571032, 0.756000505, 0.655109894, 0.755533604, 0.655624336, 0.755087234, 0.656124958, 0.754652264, 0.656632874, 0.754210362, 0.657156967, 0.753753754, 0.657698864, 0.75328096, 0.658240117, 0.752808042, 0.65879217, 0.752324981, 0.659321869, 0.751860807, 0.659834292, 0.751411144, 0.660368423, 0.750941773, 0.660883236, 0.75048874, 0.661400126, 0.750033248, 0.661924744, 0.749570299, 0.662465753, 0.749092202, 0.663016557, 0.748604732, 0.663569441, 0.748114695, 0.664118851, 0.747627014, 0.66464323, 0.747160878, 0.665159707, 0.746701122, 0.665682369, 0.746235207, 0.666196246, 0.745776482, 0.666746441, 0.745284632, 0.66725254, 0.744831556, 0.667771537, 0.74436629, 0.668297998, 0.743893666, 0.668816672, 0.743427373, 0.669326112, 0.742968745, 0.669834746, 0.742510211, 0.670329832, 0.742063284, 0.670873559, 0.741571755, 0.671408257, 0.741087682, 0.671953892, 0.740592984, 0.672525204, 0.740074219, 0.673082243, 0.73956764, 0.673628269, 0.739070332, 0.674156657, 0.738588385, 0.674672612, 0.738117109, 0.675185468, 0.737648009, 0.675675676, 0.737199011, 0.676160731, 0.736754142, 0.676642153, 0.736312024, 0.677158622, 0.735837075, 0.67767379, 0.735362655, 0.67820964, 0.734868481, 0.678747535, 0.734371693, 0.679293508, 0.733866697, 0.67982761, 0.733371952, 0.680354849, 0.732882855, 0.680886478, 0.732388971, 0.681388817, 0.731921635, 0.681901236, 0.731444259, 0.682431658, 0.730949405, 0.682960841, 0.730454988, 0.683490303, 0.729959592, 0.684039707, 0.729444774, 0.684576497, 0.728941027, 0.685088256, 0.728460076, 0.685604464, 0.727974257, 0.68609001, 0.727516666, 0.686577157, 0.727056949, 0.687072663, 0.726588712, 0.687567778, 0.726120204, 0.688081109, 0.725633783, 0.688595081, 0.725146065, 0.689121207, 0.724646094, 0.689649127, 0.724143688, 0.690170621, 0.723646678, 0.690677075, 0.723163313, 0.691170155, 0.722692062, 0.691691692, 0.722192913, 0.692214367, 0.72169195, 0.692731512, 0.721195572, 0.693248296, 0.720698827, 0.693762604, 0.720203756, 0.694261901, 0.719722456, 0.694778747, 0.719223535, 0.695292987, 0.718726417, 0.695812022, 0.718223942, 0.696334171, 0.717717718, 0.696852465, 0.717214502, 0.69736443, 0.716716717, 0.697870734, 0.716223735, 0.698369644, 0.715737271, 0.698843981, 0.715274137, 0.699312135, 0.714816436, 0.699785859, 0.714352681, 0.700272945, 0.713875201, 0.700757144, 0.713399905, 0.701261961, 0.712903684, 0.701784304, 0.712389494, 0.702303584, 0.711877571, 0.702854042, 0.711334096, 0.703381299, 0.710812738, 0.703892708, 0.710306311, 0.704417692, 0.709785683, 0.704914898, 0.709291891, 0.705393467, 0.708815954, 0.70587581, 0.708335613, 0.706372513, 0.707840288, 0.706863832, 0.707349647, 0.707349647, 0.706863832, 0.707840288, 0.706372513, 0.708335613, 0.70587581, 0.708815954, 0.705393467, 0.709291891, 0.704914898, 0.709785683, 0.704417692, 0.710306311, 0.703892708, 0.710812738, 0.703381299, 0.711334096, 0.702854042, 0.711877571, 0.702303584, 0.712389494, 0.701784304, 0.712903684, 0.701261961, 0.713399905, 0.700757144, 0.713875201, 0.700272945, 0.714352681, 0.699785859, 0.714816436, 0.699312135, 0.715274137, 0.698843981, 0.715737271, 0.698369644, 0.716223735, 0.697870734, 0.716716717, 0.69736443, 0.717214502, 0.696852465, 0.717717718, 0.696334171, 0.718223942, 0.695812022, 0.718726417, 0.695292987, 0.719223535, 0.694778747, 0.719722456, 0.694261901, 0.720203756, 0.693762604, 0.720698827, 0.693248296, 0.721195572, 0.692731512, 0.72169195, 0.692214367, 0.722192913, 0.691691692, 0.722692062, 0.691170155, 0.723163313, 0.690677075, 0.723646678, 0.690170621, 0.724143688, 0.689649127, 0.724646094, 0.689121207, 0.725146065, 0.688595081, 0.725633783, 0.688081109, 0.726120204, 0.687567778, 0.726588712, 0.687072663, 0.727056949, 0.686577157, 0.727516666, 0.68609001, 0.727974257, 0.685604464, 0.728460076, 0.685088256, 0.728941027, 0.684576497, 0.729444774, 0.684039707, 0.729959592, 0.683490303, 0.730454988, 0.682960841, 0.730949405, 0.682431658, 0.731444259, 0.681901236, 0.731921635, 0.681388817, 0.732388971, 0.680886478, 0.732882855, 0.680354849, 0.733371952, 0.67982761, 0.733866697, 0.679293508, 0.734371693, 0.678747535, 0.734868481, 0.67820964, 0.735362655, 0.67767379, 0.735837075, 0.677158622, 0.736312024, 0.676642153, 0.736754142, 0.676160731, 0.737199011, 0.675675676, 0.737648009, 0.675185468, 0.738117109, 0.674672612, 0.738588385, 0.674156657, 0.739070332, 0.673628269, 0.73956764, 0.673082243, 0.740074219, 0.672525204, 0.740592984, 0.671953892, 0.741087682, 0.671408257, 0.741571755, 0.670873559, 0.742063284, 0.670329832, 0.742510211, 0.669834746, 0.742968745, 0.669326112, 0.743427373, 0.668816672, 0.743893666, 0.668297998, 0.74436629, 0.667771537, 0.744831556, 0.66725254, 0.745284632, 0.666746441, 0.745776482, 0.666196246, 0.746235207, 0.665682369, 0.746701122, 0.665159707, 0.747160878, 0.66464323, 0.747627014, 0.664118851, 0.748114695, 0.663569441, 0.748604732, 0.663016557, 0.749092202, 0.662465753, 0.749570299, 0.661924744, 0.750033248, 0.661400126, 0.75048874, 0.660883236, 0.750941773, 0.660368423, 0.751411144, 0.659834292, 0.751860807, 0.659321869, 0.752324981, 0.65879217, 0.752808042, 0.658240117, 0.75328096, 0.657698864, 0.753753754, 0.657156967, 0.754210362, 0.656632874, 0.754652264, 0.656124958, 0.755087234, 0.655624336, 0.755533604, 0.655109894, 0.756000505, 0.654571032, 0.756469649, 0.654028799, 0.756932546, 0.653493015, 0.757396453, 0.652955292, 0.757869417, 0.652406274, 0.758349113, 0.65184862, 0.758852559, 0.651262461, 0.759347287, 0.65068556, 0.75979845, 0.650158685, 0.760259343, 0.649619682, 0.760728163, 0.649070614, 0.761200705, 0.648516373, 0.761663179, 0.647973149, 0.762126472, 0.647428175, 0.762573164, 0.646901979, 0.763007904, 0.646389154, 0.763437336, 0.645881904, 0.7638789, 0.64535961, 0.764361413, 0.644788051, 0.764793138, 0.644275916, 0.76524581, 0.643738184, 0.765726054, 0.64316686, 0.766202361, 0.642599364, 0.766673925, 0.642036676, 0.767123816, 0.641499065, 0.76759011, 0.640941045, 0.768029809, 0.640414094, 0.768466392, 0.63989015, 0.768897344, 0.63937225, 0.76936279, 0.638812099, 0.76981302, 0.638269469, 0.770274514, 0.637712453, 0.770726621, 0.637165971, 0.771161269, 0.636639849, 0.771597102, 0.636111557, 0.772030955, 0.635584931, 0.772454076, 0.635070627, 0.772909238, 0.634516595, 0.773366308, 0.633959426, 0.773842161, 0.633378489, 0.77430863, 0.632808142, 0.774798297, 0.632208509, 0.775280172, 0.631617491, 0.775775776, 0.631008673, 0.776218005, 0.630464597, 0.776667915, 0.629910271, 0.777096869, 0.629381011, 0.777534134, 0.628840736, 0.777970844, 0.628300379, 0.778408057, 0.62775863, 0.77886612, 0.627190216, 0.779300661, 0.626650206, 0.779715939, 0.626133416, 0.780135793, 0.625610218, 0.780567758, 0.625071176, 0.781030304, 0.624493126, 0.781498826, 0.623906711, 0.781963165, 0.623324641, 0.782403275, 0.622772122, 0.782844528, 0.622217361, 0.78328912, 0.621657586, 0.783719785, 0.621114562, 0.78415975, 0.620559012, 0.784598628, 0.620004027, 0.785046654, 0.619436641, 0.785471418, 0.618897933, 0.78591139, 0.618339136, 0.786348663, 0.617782956, 0.786782513, 0.617230328, 0.787213469, 0.616680593, 0.78764846, 0.616124909, 0.788080973, 0.615571588, 0.788498929, 0.615036128, 0.788954462, 0.614451672, 0.789420657, 0.61385261, 0.789866042, 0.613279412, 0.790309754, 0.612707511, 0.790743364, 0.612147803, 0.791204821, 0.61155125, 0.791656435, 0.61096652, 0.792114037, 0.610373126, 0.792552987, 0.609803053, 0.792978724, 0.609249328, 0.793399842, 0.608700823, 0.793815619, 0.608158502, 0.794236838, 0.607608299, 0.794656116, 0.607059847, 0.795093108, 0.606487386, 0.795534062, 0.605908868, 0.795970076, 0.605335972, 0.796416629, 0.604748339, 0.796857275, 0.604167596, 0.797298392, 0.60358535, 0.797730598, 0.603014008, 0.798163399, 0.602441025, 0.798599827, 0.601862374, 0.799044798, 0.601271495, 0.799489286, 0.600680349, 0.799935278, 0.600086286, 0.80037761, 0.599496189, 0.800821249, 0.598903438, 0.801257458, 0.598319719, 0.801697951, 0.597729366, 0.802122668, 0.597159296, 0.802547648, 0.596588025, 0.802971229, 0.59601779, 0.803395977, 0.595445131, 0.803819909, 0.594872721, 0.804225981, 0.594323625, 0.804633858, 0.593771298, 0.805035457, 0.593226696, 0.805440378, 0.592676808, 0.805849214, 0.592120803, 0.806266731, 0.591552161, 0.8066912, 0.590973187, 0.807131107, 0.590372235, 0.80756359, 0.589780508, 0.808008201, 0.589171238, 0.808431742, 0.588589941, 0.808850722, 0.588014039, 0.809245973, 0.587469961, 0.809656274, 0.586904351, 0.810068903, 0.586334693, 0.810485341, 0.58575892, 0.81089689, 0.585189058, 0.811295959, 0.58463567, 0.811717282, 0.584050557, 0.812133024, 0.583472322, 0.81257744, 0.582853244, 0.813023185, 0.582231312, 0.813466131, 0.581612288, 0.813885099, 0.581025856, 0.814298304, 0.580446615, 0.814700037, 0.579882617, 0.815097455, 0.579323864, 0.815504423, 0.578750842, 0.815905497, 0.578185281, 0.816323832, 0.577594495, 0.81671692, 0.577038537, 0.817144125, 0.576433412, 0.817565861, 0.5758351, 0.817983127, 0.575242214, 0.818402933, 0.574644795, 0.818825089, 0.574043094, 0.81923934, 0.573451745, 0.819656993, 0.572854619, 0.82003283, 0.572316484, 0.820423356, 0.571756518, 0.82081901, 0.57118837, 0.821212818, 0.570622036, 0.821613213, 0.570045374, 0.822012061, 0.56947008, 0.82242169, 0.568878339, 0.82281627, 0.568307475, 0.823213933, 0.567731293, 0.823622341, 0.567138642, 0.824056389, 0.566507783, 0.824499446, 0.565862761, 0.824941574, 0.565218011, 0.82536587, 0.564598247, 0.825797789, 0.563966321, 0.826207007, 0.56336665, 0.826621461, 0.562758349, 0.827024713, 0.562165566, 0.827429033, 0.561570295, 0.82783493, 0.560971772, 0.828238693, 0.56037547, 0.828623197, 0.55980675, 0.829018503, 0.559221174, 0.82942642, 0.558615981, 0.829817654, 0.558034641, 0.830201111, 0.557464004, 0.830581922, 0.556896464, 0.830964515, 0.556325422, 0.83135288, 0.555744895, 0.831766319, 0.555125923, 0.83217805, 0.554508515, 0.832563614, 0.553929444, 0.832946251, 0.553353903, 0.833337054, 0.55276519, 0.833715984, 0.552193497, 0.834121036, 0.551581452, 0.834541292, 0.550945398, 0.834948821, 0.550327599, 0.835342651, 0.549729621, 0.835740369, 0.549124791, 0.836126263, 0.548537029, 0.836524817, 0.547929038, 0.836934943, 0.547302385, 0.837345831, 0.54667354, 0.83775455, 0.546046989, 0.838151952, 0.545436803, 0.838548298, 0.544827269, 0.838946041, 0.544214608, 0.839344666, 0.543599606, 0.839754068, 0.542966946, 0.840168096, 0.542326074, 0.840557101, 0.541722955, 0.840948226, 0.54111559, 0.841317968, 0.540540541, 0.841695044, 0.539953196, 0.842076261, 0.539358481, 0.842453753, 0.538768664, 0.842814954, 0.538203451, 0.843178655, 0.537633477, 0.843567546, 0.537023086, 0.843957126, 0.536410635, 0.844351887, 0.535789037, 0.844751043, 0.535159486, 0.845146633, 0.534534535, 0.845539951, 0.533912158, 0.845926548, 0.533299424, 0.846319693, 0.532675302, 0.846698334, 0.532073239, 0.847076862, 0.531470403, 0.84749408, 0.530804845, 0.847896082, 0.53016246, 0.848281335, 0.529545821, 0.848685817, 0.528897329, 0.849088072, 0.52825131, 0.849475982, 0.527627289, 0.849867475, 0.526996466, 0.850251504, 0.526376652, 0.850638145, 0.525751602, 0.851013784, 0.525143351, 0.851403484, 0.524511304, 0.851780984, 0.52389804, 0.852163687, 0.52327531, 0.85255324, 0.522640385, 0.852962674, 0.521971913, 0.853375034, 0.521297468, 0.853756083, 0.520673171, 0.854120134, 0.52007576, 0.854510869, 0.519433514, 0.854858167, 0.518861749, 0.855206677, 0.518287121, 0.855570024, 0.5176871, 0.855942559, 0.517070919, 0.856331564, 0.516426425, 0.856713989, 0.515791762, 0.8571043, 0.515142912, 0.857478189, 0.514520316, 0.8578398, 0.513917189, 0.858199401, 0.51331646, 0.858540541, 0.512745686, 0.858876685, 0.512182428, 0.859221019, 0.511604574, 0.8595676, 0.511022055, 0.859913609, 0.5104396, 0.860256014, 0.509862324, 0.860655051, 0.509188456, 0.861060328, 0.508502815, 0.861478037, 0.507794832, 0.861886986, 0.507100408, 0.862245282, 0.506490942, 0.862612014, 0.505866102, 0.862975271, 0.505246159, 0.863356234, 0.504594899, 0.86379827, 0.50383782, 0.864215322, 0.503122129, 0.864712793, 0.502266648, 0.865183191, 0.501455927, 0.865669763, 0.500615483, 0.866291924, 0.499538088, 0.866945582, 0.498402806, 0.867633737, 0.49720388, 0.868394949, 0.495873182, 0.869211197, 0.494440993, 0.870011827, 0.493030852, 0.870953021, 0.491366295, 0.871871872, 0.489734049, 0.872872873, 0.48794769, 0.873873874, 0.486152705, 0.874874875, 0.484349, 0.875875876, 0.482536475, 0.876876877, 0.480715033, 0.87787977, 0.478881102, 0.878881254, 0.477040608, 0.879880396, 0.475195211, 0.88087834, 0.473342741, 0.881875256, 0.471482803, 0.882882883, 0.469593244, 0.883883884, 0.467706403, 0.884884885, 0.465809769, 0.885885886, 0.46390322, 0.886887048, 0.461986324, 0.887888669, 0.460058379, 0.888888889, 0.458122847, 0.889890624, 0.456173955, 0.890890891, 0.454217372, 0.891894612, 0.452243298, 0.892892893, 0.450269122, 0.893894721, 0.448276955, 0.894897531, 0.446271676, 0.895900445, 0.444254873, 0.896896897, 0.442239705, 0.897899365, 0.440200785, 0.898900655, 0.438152498, 0.8998999, 0.436096515, 0.900900901, 0.434024846, 0.901901902, 0.431940921, 0.902902903, 0.429844563, 0.903906445, 0.427730216, 0.904904905, 0.425613807, 0.905905906, 0.423479031, 0.906906907, 0.42133106, 0.907907908, 0.419169692, 0.908908909, 0.416994719, 0.90990991, 0.414805926, 0.910910911, 0.412603093, 0.911911912, 0.410385995, 0.912914212, 0.408151493, 0.913913914, 0.405908066, 0.914915277, 0.403645929, 0.915917569, 0.401366425, 0.916917369, 0.399077107, 0.917918009, 0.396770122, 0.918918919, 0.394446474, 0.91991992, 0.392106288, 0.920920921, 0.38974948, 0.921921922, 0.387375748, 0.922924605, 0.384980743, 0.923923924, 0.382576244, 0.924924925, 0.380149817, 0.925926641, 0.377703396, 0.926926927, 0.375241885, 0.927929271, 0.372756312, 0.928929682, 0.370256189, 0.929932299, 0.367730771, 0.930931767, 0.365193162, 0.931931932, 0.36263325, 0.932938891, 0.360034756, 0.93393743, 0.357436534, 0.934934935, 0.354819204, 0.935941893, 0.352154473, 0.936939548, 0.349491465, 0.937937938, 0.34680315, 0.938938939, 0.344083811, 0.939942599, 0.341332551, 0.940940941, 0.33857074, 0.941945325, 0.335766294, 0.942948725, 0.332937985, 0.94394756, 0.330095446, 0.944947428, 0.327222186, 0.945945946, 0.324324324, 0.946955058, 0.321366018, 0.947955762, 0.318402064, 0.948951597, 0.315421728, 0.94994995, 0.312402133, 0.950954214, 0.309331671, 0.951955128, 0.306237546, 0.95295546, 0.303110363, 0.953953954, 0.299953086, 0.954954955, 0.296750795, 0.955956517, 0.293508325, 0.956956957, 0.290229879, 0.957959638, 0.286903, 0.958958959, 0.283544908, 0.959962991, 0.280126856, 0.960969524, 0.276654251, 0.961963022, 0.273179694, 0.962966379, 0.2696215, 0.963972566, 0.266001676, 0.964981815, 0.262316787, 0.965972106, 0.258646264, 0.966978258, 0.254858879, 0.967972743, 0.25105531, 0.968971567, 0.247172213, 0.969980942, 0.243180946, 0.970984035, 0.239144315, 0.971980364, 0.235062061, 0.972990058, 0.230847022, 0.974001322, 0.226542324, 0.974999851, 0.222205516, 0.975985027, 0.217837618, 0.977006082, 0.213211434, 0.978002857, 0.208591497, 0.979007552, 0.203823978, 0.979983066, 0.199080863, 0.980986705, 0.194074946, 0.982005244, 0.18885365, 0.983021031, 0.183492925, 0.984032061, 0.177991302, 0.985039537, 0.172328494, 0.986056162, 0.166412877, 0.987070821, 0.16028473, 0.988066354, 0.154028832, 0.98913043, 0.147040783, 0.990124854, 0.140188353, 0.991197967, 0.132388029, 0.992272336, 0.124079052, 0.993368321, 0.114975559, 0.994447673, 0.10523225, 0.995525493, 0.094493353, 0.996587249, 0.082546084, 0.997538882, 0.070115471, 0.998460415, 0.055468906, 0.999318836, 0.036903456, 1.0, 0.0 }; break;
    18         case "DTLZ3": data = new double[] { 0.0, 1.0, 0.002378942, 0.99999717, 0.003595763, 0.999993535, 0.00464615, 0.999989207, 0.005616444, 0.999984228, 0.006515914, 0.999978771, 0.007453496, 0.999972222, 0.00832589, 0.999965339, 0.009158796, 0.999958057, 0.009991864, 0.99995008, 0.010832736, 0.999941324, 0.011723381, 0.999931279, 0.012670884, 0.999919721, 0.013559461, 0.999908066, 0.014481094, 0.999895144, 0.01544261, 0.999880756, 0.016358821, 0.999866186, 0.017279666, 0.999850695, 0.018295672, 0.99983262, 0.019286111, 0.999814006, 0.02029462, 0.999794043, 0.021276715, 0.999773625, 0.022238325, 0.999752698, 0.023242537, 0.999729856, 0.024198815, 0.999707166, 0.025182194, 0.999682878, 0.026151346, 0.999657995, 0.027127464, 0.999631983, 0.028103875, 0.999605008, 0.02910898, 0.999576244, 0.0301147, 0.99954645, 0.03114208, 0.999514968, 0.032130561, 0.99948368, 0.033149429, 0.999450407, 0.034122468, 0.999417659, 0.035119625, 0.999383116, 0.036110482, 0.999347804, 0.037103035, 0.999311445, 0.038109879, 0.999273555, 0.039106003, 0.999235068, 0.040081954, 0.999196396, 0.041076601, 0.999156, 0.042073823, 0.999114505, 0.043088544, 0.999071257, 0.044088011, 0.999027651, 0.045091842, 0.998982846, 0.046095083, 0.998937057, 0.047100877, 0.998890138, 0.048109876, 0.99884205, 0.049107143, 0.998793516, 0.050080632, 0.998745178, 0.051074945, 0.998694823, 0.052072625, 0.998643301, 0.053067104, 0.998590949, 0.054062491, 0.998537554, 0.05506246, 0.998482912, 0.05607568, 0.998426521, 0.057076694, 0.998369797, 0.058078753, 0.998312005, 0.059084613, 0.998252978, 0.06008035, 0.998193544, 0.061075055, 0.998133176, 0.062082004, 0.998071052, 0.063080473, 0.998008444, 0.064070864, 0.997945351, 0.065081127, 0.997879976, 0.066080662, 0.997814284, 0.067082871, 0.997747407, 0.068091617, 0.997679073, 0.069087607, 0.997610597, 0.0700893, 0.997540721, 0.07108767, 0.997470071, 0.072085287, 0.997398472, 0.073087196, 0.997325555, 0.074094175, 0.997251249, 0.075092951, 0.997176538, 0.076092903, 0.997100732, 0.077090531, 0.997024097, 0.078085303, 0.996946681, 0.079089012, 0.996867558, 0.080084318, 0.996788093, 0.081092051, 0.996706617, 0.082096036, 0.996624423, 0.083102659, 0.996540992, 0.084097787, 0.996457507, 0.085098951, 0.996372505, 0.08609768, 0.996286701, 0.087104473, 0.996199182, 0.088103146, 0.996111357, 0.089107025, 0.996022057, 0.090106608, 0.995932126, 0.091100967, 0.995841661, 0.092101278, 0.995749645, 0.09309792, 0.995656958, 0.094100982, 0.995562658, 0.095101676, 0.995467564, 0.096103656, 0.995371331, 0.097107749, 0.995273874, 0.0981081, 0.995175764, 0.099104163, 0.995077065, 0.100107761, 0.994976601, 0.101111773, 0.994875072, 0.102112743, 0.994772832, 0.103114097, 0.994669535, 0.10411656, 0.994565102, 0.105122679, 0.994459261, 0.106115343, 0.994353827, 0.10711207, 0.994246954, 0.108110213, 0.994138915, 0.10911501, 0.994029132, 0.110112256, 0.993919157, 0.111111111, 0.99380799, 0.112113699, 0.993695385, 0.113113928, 0.993582025, 0.114123155, 0.99346661, 0.115122965, 0.993351249, 0.116125766, 0.993234517, 0.117125149, 0.993117163, 0.118128445, 0.992998324, 0.119122996, 0.992879505, 0.120125834, 0.992758674, 0.121121121, 0.992637736, 0.122122122, 0.992515082, 0.12312888, 0.992390689, 0.124128661, 0.992266131, 0.125127999, 0.992140607, 0.126133396, 0.992013289, 0.127135917, 0.991885305, 0.128138054, 0.991756341, 0.129144823, 0.991625743, 0.130142858, 0.991495253, 0.131137514, 0.991364188, 0.132134323, 0.99123182, 0.133135279, 0.991097875, 0.134134134, 0.990963185, 0.135142016, 0.990826239, 0.136143841, 0.990689081, 0.137143451, 0.990551197, 0.138142298, 0.990412392, 0.139143244, 0.990272264, 0.140140325, 0.990131653, 0.141143014, 0.989989217, 0.142145564, 0.989845765, 0.143144962, 0.989701733, 0.144147672, 0.989556188, 0.145151689, 0.989409413, 0.146156556, 0.989261473, 0.147157974, 0.989113002, 0.148156779, 0.988963887, 0.149158368, 0.98881332, 0.150154507, 0.988662543, 0.151162405, 0.988508941, 0.152160882, 0.988355739, 0.15316649, 0.988200398, 0.154158945, 0.988046062, 0.155158303, 0.98788962, 0.156161985, 0.987731459, 0.157161081, 0.987572982, 0.158162981, 0.98741302, 0.159163531, 0.987252232, 0.160163118, 0.987090561, 0.161165296, 0.986927428, 0.162162162, 0.986764122, 0.163163163, 0.986599099, 0.164164164, 0.986433032, 0.165165165, 0.986265922, 0.166166166, 0.986097767, 0.167167167, 0.985928567, 0.168171029, 0.985757833, 0.169169169, 0.985587029, 0.170172604, 0.985414271, 0.171175416, 0.985240568, 0.172178521, 0.985065763, 0.173177484, 0.984890633, 0.174176839, 0.984714389, 0.17517926, 0.984536554, 0.176181335, 0.984357728, 0.177181133, 0.984178259, 0.178178565, 0.98399817, 0.179181925, 0.983815957, 0.180181524, 0.983633376, 0.181181181, 0.983449734, 0.182184918, 0.983264286, 0.183185971, 0.983078278, 0.184186155, 0.982891378, 0.185186389, 0.982703415, 0.186188994, 0.982513948, 0.187187912, 0.982324125, 0.188188188, 0.982132988, 0.189190133, 0.981940474, 0.190190877, 0.981747132, 0.191191191, 0.981552815, 0.192192192, 0.981357306, 0.193195836, 0.981160216, 0.19419912, 0.980962131, 0.195197021, 0.980764051, 0.19619694, 0.980564511, 0.197197197, 0.980363843, 0.198199732, 0.980161653, 0.1992018, 0.97995849, 0.200204095, 0.979754214, 0.201201498, 0.979549875, 0.20220307, 0.979343616, 0.203203203, 0.979136588, 0.20420603, 0.978927933, 0.205207406, 0.978718509, 0.206209711, 0.978507821, 0.207209685, 0.978296553, 0.208209881, 0.978084171, 0.209209209, 0.977870905, 0.21021021, 0.977656211, 0.211211211, 0.977440445, 0.212213836, 0.977223254, 0.213213213, 0.977005694, 0.214217769, 0.976785927, 0.215219472, 0.976565706, 0.216226876, 0.976343146, 0.217224721, 0.976121622, 0.218225214, 0.975898435, 0.219226294, 0.97567404, 0.220228652, 0.975448277, 0.221228634, 0.97522197, 0.222226429, 0.974995084, 0.223228736, 0.974766091, 0.224227206, 0.974536895, 0.225229462, 0.974305747, 0.226229523, 0.974074023, 0.227228782, 0.973841404, 0.228228228, 0.97360766, 0.229230407, 0.97337219, 0.23023023, 0.973136188, 0.231232987, 0.972898405, 0.232232577, 0.972660285, 0.233233233, 0.972420824, 0.234234234, 0.972180191, 0.235235235, 0.971938467, 0.236237306, 0.971695392, 0.237239844, 0.971451109, 0.238240441, 0.971206205, 0.239241001, 0.970960217, 0.240240558, 0.970713384, 0.241241241, 0.970465179, 0.242245009, 0.970215108, 0.243245726, 0.969964699, 0.244247968, 0.969712808, 0.245251836, 0.969459404, 0.246252786, 0.969205636, 0.247249061, 0.968951961, 0.248248248, 0.968696447, 0.249250476, 0.968439053, 0.25025025, 0.968181188, 0.251251251, 0.967921902, 0.252252252, 0.967661512, 0.253253253, 0.967400015, 0.254254254, 0.967137412, 0.25525756, 0.966873093, 0.25625976, 0.966607953, 0.25725926, 0.96634242, 0.258259322, 0.96607563, 0.259259259, 0.965807764, 0.26026092, 0.965538323, 0.261261261, 0.965268125, 0.262264819, 0.96499594, 0.263264199, 0.964723775, 0.264266061, 0.964449817, 0.265265265, 0.964175471, 0.266267898, 0.963899064, 0.267268587, 0.963622075, 0.268269353, 0.963343944, 0.269271233, 0.963064382, 0.270272226, 0.962783945, 0.271273537, 0.962502295, 0.272272272, 0.96222025, 0.273273273, 0.961936442, 0.274276149, 0.961650973, 0.275278681, 0.961364472, 0.27627957, 0.961077312, 0.277277277, 0.960789941, 0.278279261, 0.96050021, 0.279280078, 0.960209684, 0.280282324, 0.959917611, 0.281281756, 0.959625226, 0.282283145, 0.959331135, 0.283284249, 0.959035992, 0.284288007, 0.958738927, 0.285292535, 0.958440488, 0.286291579, 0.958142543, 0.287290997, 0.95784335, 0.288289998, 0.957543146, 0.289290983, 0.957241206, 0.29029029, 0.956938633, 0.291292915, 0.95663391, 0.292292292, 0.956329031, 0.293294233, 0.956022224, 0.294294294, 0.955714847, 0.295295295, 0.955406033, 0.296296983, 0.955095858, 0.29729845, 0.9547846, 0.29829933, 0.954472372, 0.299301106, 0.954158712, 0.3003007, 0.953844584, 0.301302502, 0.953528606, 0.302303003, 0.953211883, 0.303303303, 0.952894069, 0.304304304, 0.952574874, 0.305305305, 0.95225452, 0.306306737, 0.951932867, 0.307307307, 0.951610329, 0.308308308, 0.951286491, 0.309309309, 0.950961488, 0.310310887, 0.950635132, 0.311311311, 0.950307986, 0.312312312, 0.949979484, 0.313313313, 0.949649813, 0.314315436, 0.949318601, 0.315315315, 0.948986961, 0.316316316, 0.948653777, 0.317317317, 0.948319419, 0.318318773, 0.947983733, 0.319320437, 0.947646801, 0.320321041, 0.947309047, 0.321322183, 0.946969933, 0.322322322, 0.946629981, 0.323323323, 0.946288555, 0.324324324, 0.945945946, 0.325325325, 0.945602154, 0.326327201, 0.945256874, 0.327329362, 0.944910307, 0.328328845, 0.944563481, 0.329329329, 0.94421512, 0.33033033, 0.943865389, 0.331331331, 0.943514467, 0.332333573, 0.943161914, 0.333333333, 0.942809042, 0.334334334, 0.942454536, 0.335335335, 0.942098834, 0.336336375, 0.941741919, 0.337338903, 0.941383272, 0.338338508, 0.941024471, 0.339339339, 0.940664028, 0.340341179, 0.940302016, 0.341341341, 0.939939407, 0.342342342, 0.939575287, 0.343343343, 0.93920996, 0.344345136, 0.938843132, 0.345345345, 0.938475675, 0.346346607, 0.938106619, 0.347347347, 0.937736541, 0.348348348, 0.937365152, 0.349349349, 0.936992547, 0.350351063, 0.936618456, 0.351352403, 0.936243285, 0.352352352, 0.935867416, 0.353353374, 0.935489922, 0.354354878, 0.93511102, 0.35535645, 0.934730867, 0.356359569, 0.934348895, 0.357358935, 0.933967126, 0.358358358, 0.933584108, 0.359359359, 0.933199256, 0.36036036, 0.93281317, 0.361362447, 0.93242543, 0.362362362, 0.932037295, 0.363365354, 0.931646725, 0.364365151, 0.931256161, 0.365367022, 0.930863545, 0.366367127, 0.93047038, 0.367367367, 0.93007592, 0.368369345, 0.929679529, 0.369372415, 0.929281453, 0.370371239, 0.928883817, 0.371371977, 0.92848417, 0.372372372, 0.92808341, 0.373373373, 0.927681154, 0.374374374, 0.927277643, 0.375375375, 0.926872876, 0.376377481, 0.926466401, 0.377377716, 0.926059426, 0.378379236, 0.925650665, 0.379379379, 0.925241205, 0.38038038, 0.924830128, 0.381381381, 0.924417785, 0.382382382, 0.924004174, 0.383384538, 0.923588813, 0.384387725, 0.923171749, 0.385387, 0.922755038, 0.386389183, 0.922335839, 0.387389158, 0.921916287, 0.388390784, 0.921494763, 0.389394257, 0.921071177, 0.390391738, 0.920648843, 0.391393322, 0.920223488, 0.392392995, 0.919797661, 0.393393393, 0.91937024, 0.394394394, 0.918941272, 0.395397555, 0.918510084, 0.396397107, 0.918079154, 0.397397397, 0.917646614, 0.39839975, 0.917211884, 0.399400362, 0.916776609, 0.400401211, 0.916339932, 0.401401401, 0.915902241, 0.402402402, 0.915462892, 0.403404352, 0.915021819, 0.404406785, 0.914579222, 0.405405405, 0.914137001, 0.406406406, 0.913692417, 0.407407407, 0.913246519, 0.408408408, 0.912799305, 0.409409409, 0.912350774, 0.410411539, 0.911900416, 0.411412854, 0.911449101, 0.412412988, 0.910996996, 0.413413413, 0.910543436, 0.414414414, 0.910088289, 0.415415415, 0.909631812, 0.416416416, 0.909174003, 0.417418667, 0.908714287, 0.418420137, 0.908253593, 0.419419419, 0.90779257, 0.42042048, 0.907329389, 0.421422905, 0.906864232, 0.422424138, 0.906398283, 0.423423423, 0.905931898, 0.424424424, 0.905463366, 0.425425425, 0.904993485, 0.426426426, 0.904522251, 0.427427427, 0.904049664, 0.428428428, 0.90357572, 0.429429429, 0.903100418, 0.430430463, 0.90262374, 0.431431431, 0.902145731, 0.432433095, 0.901666024, 0.433435194, 0.901184739, 0.434435321, 0.900703032, 0.435435435, 0.900219963, 0.436436436, 0.899735093, 0.437437437, 0.899248847, 0.438438438, 0.898761223, 0.439439439, 0.898272219, 0.44044044, 0.897781832, 0.441441441, 0.897290061, 0.442443783, 0.896796241, 0.443443443, 0.896302356, 0.444444444, 0.895806417, 0.445446342, 0.895308638, 0.446447725, 0.894809717, 0.447447497, 0.894310202, 0.448448448, 0.893808698, 0.449449449, 0.893305767, 0.450451851, 0.892800722, 0.451452602, 0.892295102, 0.452453139, 0.891788179, 0.453453454, 0.891279959, 0.454454455, 0.890769975, 0.455455456, 0.890258574, 0.456456457, 0.889745752, 0.457457458, 0.889231508, 0.458458932, 0.888715594, 0.45945946, 0.888198742, 0.460460461, 0.887680215, 0.461461462, 0.887160256, 0.462462558, 0.886638812, 0.463464102, 0.886115696, 0.464464465, 0.885591758, 0.46546547, 0.885066041, 0.466466467, 0.884538883, 0.467467468, 0.884010275, 0.468470111, 0.883479346, 0.469471472, 0.882947641, 0.470472927, 0.882414429, 0.471472651, 0.881880683, 0.472472473, 0.881345428, 0.473473474, 0.880808078, 0.474474475, 0.880269262, 0.4754756, 0.879728909, 0.476476477, 0.87918722, 0.477477848, 0.878643787, 0.478478479, 0.87809928, 0.479479863, 0.877552882, 0.480480481, 0.877005421, 0.481481482, 0.876456264, 0.482482483, 0.875905619, 0.483483484, 0.875353484, 0.48448525, 0.87479943, 0.485485794, 0.874244556, 0.486486487, 0.873688101, 0.48748799, 0.873129692, 0.488488489, 0.872570339, 0.489490083, 0.872008864, 0.490490491, 0.871446544, 0.491491492, 0.870882377, 0.492492493, 0.870316692, 0.493493494, 0.869749488, 0.494494495, 0.869180761, 0.495495496, 0.868610508, 0.496496735, 0.868038589, 0.497498071, 0.867465083, 0.498499271, 0.866890118, 0.499500465, 0.866313618, 0.500500501, 0.865736247, 0.501501807, 0.865156597, 0.502504792, 0.864574424, 0.503504352, 0.86399269, 0.504504505, 0.86340906, 0.505505506, 0.862823379, 0.506506507, 0.862236139, 0.50750864, 0.861646668, 0.508510063, 0.861056047, 0.509510664, 0.860464342, 0.510510511, 0.859871513, 0.511512254, 0.859275982, 0.512512513, 0.858679757, 0.513513514, 0.858081506, 0.514515443, 0.857481113, 0.515515932, 0.856879994, 0.516516517, 0.856277226, 0.51751753, 0.855672604, 0.518519612, 0.855065736, 0.519519784, 0.854458422, 0.520520521, 0.85384916, 0.521522077, 0.853237788, 0.522523856, 0.852624666, 0.523524313, 0.852010736, 0.524524525, 0.851395339, 0.525526043, 0.850777514, 0.526526527, 0.850158701, 0.527527528, 0.849537938, 0.528530632, 0.84891423, 0.529530733, 0.848290754, 0.530530531, 0.847665828, 0.531531532, 0.847038506, 0.532532533, 0.846409536, 0.5335348, 0.845778114, 0.534534535, 0.845146633, 0.535535536, 0.844512694, 0.536536537, 0.843877091, 0.537537538, 0.843239821, 0.538539367, 0.84260035, 0.53953954, 0.841960264, 0.540540541, 0.841317968, 0.541541542, 0.840673991, 0.542542543, 0.840028327, 0.543543544, 0.839380972, 0.544544545, 0.838731923, 0.545545546, 0.838081176, 0.546546547, 0.837428727, 0.547547548, 0.836774571, 0.548548549, 0.836118706, 0.54954955, 0.835461126, 0.550550551, 0.834801828, 0.551551728, 0.834140691, 0.552552553, 0.83347806, 0.553554245, 0.832813123, 0.554555297, 0.832146876, 0.555555556, 0.831479419, 0.556556557, 0.830809725, 0.557557951, 0.83013802, 0.558558559, 0.829465091, 0.55955956, 0.828790142, 0.560560561, 0.828113433, 0.561561562, 0.82743496, 0.562562563, 0.826754718, 0.563564679, 0.826071942, 0.564564565, 0.82538891, 0.565565566, 0.824703335, 0.566566567, 0.824015974, 0.567567568, 0.823326822, 0.568568569, 0.822635875, 0.56956957, 0.821943128, 0.570571799, 0.821247723, 0.571571572, 0.820552216, 0.572572765, 0.819853907, 0.573574796, 0.819153193, 0.574574575, 0.818452233, 0.575575576, 0.81774859, 0.576576577, 0.817043115, 0.577577578, 0.816335802, 0.578578579, 0.815626648, 0.579580784, 0.81491479, 0.580581009, 0.814202489, 0.581581582, 0.813488085, 0.582582734, 0.812771406, 0.583583584, 0.812053078, 0.584585123, 0.811332382, 0.585585586, 0.810610586, 0.586586903, 0.809886292, 0.587588649, 0.809159799, 0.588590799, 0.808431118, 0.58958959, 0.807702987, 0.590590591, 0.806971347, 0.591591592, 0.806237799, 0.592593268, 0.805501843, 0.593595468, 0.80476358, 0.594594595, 0.804025664, 0.595596676, 0.803283636, 0.596596597, 0.802541277, 0.597598123, 0.801795786, 0.598598599, 0.801049136, 0.5995996, 0.800300144, 0.600600601, 0.799549197, 0.601602812, 0.798795378, 0.602603199, 0.798040967, 0.603603604, 0.797284573, 0.60460532, 0.796525208, 0.605605606, 0.795764947, 0.606606688, 0.795002092, 0.607607608, 0.794237367, 0.608608609, 0.79347058, 0.609609918, 0.79270155, 0.610611327, 0.791930431, 0.611611612, 0.791158162, 0.61261299, 0.790383024, 0.613614194, 0.789605991, 0.614614615, 0.788827532, 0.615615672, 0.788046537, 0.616617286, 0.787263058, 0.617618998, 0.786477446, 0.618618619, 0.785691418, 0.61961962, 0.78490224, 0.620620621, 0.78411099, 0.621621622, 0.783317662, 0.622623131, 0.782521844, 0.623623624, 0.781724744, 0.624624625, 0.780925143, 0.625625626, 0.780123437, 0.626627083, 0.779319254, 0.627627628, 0.778513687, 0.628629554, 0.777704882, 0.62963022, 0.776894965, 0.630630631, 0.776083119, 0.631631632, 0.775268652, 0.632632633, 0.774452034, 0.633634043, 0.773632923, 0.634634635, 0.772812319, 0.635635636, 0.771989209, 0.63663781, 0.771162952, 0.637637638, 0.770336448, 0.638638639, 0.769506783, 0.63963964, 0.768674919, 0.640640641, 0.767840849, 0.641642797, 0.7670036, 0.64264427, 0.766164697, 0.64364634, 0.765323062, 0.644645785, 0.764481401, 0.645645646, 0.763637152, 0.646646647, 0.762789692, 0.6476487, 0.76193908, 0.648648649, 0.761087991, 0.64964965, 0.760233736, 0.650650651, 0.759377199, 0.651651652, 0.758518375, 0.652652653, 0.757657254, 0.653653654, 0.75679383, 0.654654655, 0.755928094, 0.655655656, 0.755060038, 0.656656657, 0.754189655, 0.657657658, 0.753316936, 0.658659714, 0.752440949, 0.65965966, 0.751564457, 0.660660661, 0.750684682, 0.661661662, 0.749802538, 0.662662663, 0.748918017, 0.663663938, 0.748030867, 0.664665542, 0.747141029, 0.665665666, 0.746250107, 0.666666667, 0.745355993, 0.667667668, 0.744459459, 0.668668769, 0.743560406, 0.669670012, 0.742658788, 0.670670857, 0.741755082, 0.671671672, 0.740848949, 0.672672673, 0.739940184, 0.67367476, 0.739027954, 0.674674675, 0.738115224, 0.675675676, 0.737199011, 0.676676677, 0.736280297, 0.677677678, 0.735359072, 0.678678679, 0.734435328, 0.679681519, 0.73350735, 0.680683493, 0.732577629, 0.681682519, 0.731648101, 0.682683185, 0.730714492, 0.683683684, 0.729778474, 0.684684685, 0.728839408, 0.68568697, 0.727896544, 0.686688561, 0.726951732, 0.687687688, 0.726006642, 0.688688689, 0.725057163, 0.689689993, 0.724104767, 0.690691037, 0.723149979, 0.691691692, 0.722192913, 0.692694041, 0.721231562, 0.693694685, 0.720269174, 0.694696386, 0.719303087, 0.69569712, 0.718335241, 0.696696697, 0.717365815, 0.697698813, 0.716391211, 0.698698699, 0.715416053, 0.69969973, 0.714437043, 0.700700701, 0.713455344, 0.701703797, 0.712468793, 0.702703647, 0.711482667, 0.703703948, 0.710493317, 0.704704705, 0.709500725, 0.705705706, 0.708505086, 0.706707013, 0.707506324, 0.707707708, 0.706505344, 0.708708709, 0.705501216, 0.70970983, 0.704494114, 0.710710711, 0.703484389, 0.71171228, 0.702471089, 0.712712713, 0.701456049, 0.713714704, 0.700436522, 0.71471485, 0.699415959, 0.715715716, 0.698391734, 0.716716717, 0.69736443, 0.717717718, 0.696334171, 0.718718719, 0.695300945, 0.71971972, 0.694264737, 0.720720721, 0.693225535, 0.721721722, 0.692183326, 0.722722723, 0.691138095, 0.723724384, 0.690089136, 0.724725852, 0.689037329, 0.725725726, 0.687984136, 0.726727715, 0.686925636, 0.727727728, 0.685866134, 0.728728729, 0.684802482, 0.72972973, 0.68373571, 0.730731839, 0.682664617, 0.731733543, 0.681590803, 0.732734116, 0.680515037, 0.733733734, 0.679437126, 0.73473483, 0.678354427, 0.73573707, 0.677267277, 0.736736737, 0.676179696, 0.737738282, 0.675086829, 0.738740429, 0.673990044, 0.73973974, 0.672893095, 0.740740997, 0.671790723, 0.74174233, 0.67068496, 0.742742935, 0.669576681, 0.743743744, 0.668464841, 0.744744745, 0.667349433, 0.745745746, 0.666230653, 0.746746865, 0.665108352, 0.747749677, 0.663980738, 0.74875077, 0.662851631, 0.7497509, 0.661720173, 0.750750751, 0.660585581, 0.751751752, 0.65944621, 0.752752753, 0.658303344, 0.753753754, 0.657156967, 0.754754755, 0.656007058, 0.755755756, 0.6548536, 0.756757271, 0.653695979, 0.757760895, 0.652532318, 0.758759828, 0.651370496, 0.759761002, 0.650202445, 0.7607615, 0.64903154, 0.761761762, 0.647857252, 0.762763673, 0.646677338, 0.763763764, 0.645495866, 0.764764765, 0.644309595, 0.765766798, 0.64311835, 0.766766767, 0.641925794, 0.767767967, 0.640727984, 0.768768769, 0.639526841, 0.769770726, 0.638320476, 0.770772861, 0.637110035, 0.771773267, 0.63589781, 0.772772773, 0.634682788, 0.773773774, 0.633462033, 0.774775744, 0.632236148, 0.775775776, 0.631008673, 0.776776777, 0.629776023, 0.777777778, 0.628539361, 0.778779965, 0.627297192, 0.779780823, 0.626052608, 0.780781091, 0.624804679, 0.781781782, 0.62355212, 0.782782783, 0.622295039, 0.783785586, 0.621031525, 0.784785863, 0.619767012, 0.785786066, 0.61849839, 0.786787676, 0.617223747, 0.787790914, 0.615942754, 0.788791525, 0.614660825, 0.789791401, 0.613375532, 0.790792448, 0.612084393, 0.791791792, 0.610791092, 0.792792793, 0.609491253, 0.793796156, 0.608183906, 0.794795698, 0.606877086, 0.795797255, 0.605563151, 0.7968006, 0.604242339, 0.797800618, 0.602921367, 0.798801216, 0.601595061, 0.79980098, 0.600265269, 0.80080201, 0.598929162, 0.801801802, 0.597590052, 0.80280335, 0.596243894, 0.803805166, 0.594892642, 0.804804805, 0.593539574, 0.805806638, 0.592178742, 0.806806807, 0.590815349, 0.807807808, 0.589445965, 0.808809029, 0.588071385, 0.80980981, 0.586692485, 0.810810811, 0.58530832, 0.811811812, 0.583919157, 0.812812813, 0.582524962, 0.813815135, 0.581123848, 0.814814815, 0.579721328, 0.815815816, 0.578311814, 0.816817436, 0.576896244, 0.817820514, 0.575473376, 0.818821016, 0.574048904, 0.819821595, 0.57261903, 0.820822764, 0.571182974, 0.821823066, 0.569742791, 0.82282854, 0.568289709, 0.823834948, 0.566829762, 0.824838414, 0.565368544, 0.82585329, 0.563885045, 0.826867246, 0.562397153, 0.827877176, 0.560909423, 0.828872762, 0.559437167, 0.829861965, 0.557968744, 0.830848338, 0.556498913, 0.831848521, 0.555002736, 0.832835447, 0.553520658, 0.833833834, 0.552015523, 0.834836136, 0.550498525, 0.835836446, 0.548978538, 0.836838263, 0.547450201, 0.837839012, 0.545917384, 0.838838839, 0.544379833, 0.83983984, 0.542834269, 0.840840841, 0.541282441, 0.841842366, 0.539723477, 0.842843193, 0.538159225, 0.843843844, 0.536588825, 0.844844845, 0.535011391, 0.845847323, 0.53342507, 0.846846847, 0.531836834, 0.847847848, 0.530239594, 0.84885164, 0.528631151, 0.849851336, 0.527022492, 0.850850851, 0.525407299, 0.851854128, 0.523779099, 0.85285382, 0.52214975, 0.8538543, 0.520512088, 0.854854855, 0.518867206, 0.855857568, 0.517211585, 0.856859977, 0.515549202, 0.857859084, 0.513885, 0.858860116, 0.512210212, 0.85985986, 0.510530138, 0.860863522, 0.508835923, 0.861863673, 0.50714003, 0.862867978, 0.505429375, 0.863864938, 0.503723505, 0.864865665, 0.502003368, 0.865868393, 0.500271852, 0.866867791, 0.498538097, 0.867867868, 0.496795093, 0.868871873, 0.495037037, 0.869873621, 0.493274653, 0.870872375, 0.491509213, 0.871871872, 0.489734049, 0.872872873, 0.48794769, 0.873875227, 0.486150272, 0.874877467, 0.484344318, 0.875878371, 0.482531947, 0.876876877, 0.480715033, 0.877880008, 0.478880666, 0.878880854, 0.477041345, 0.87987988, 0.475196167, 0.880881702, 0.473336484, 0.881881882, 0.471470409, 0.882884159, 0.469590846, 0.883883884, 0.467706403, 0.884886468, 0.465806761, 0.885885886, 0.46390322, 0.88688808, 0.461984343, 0.887889001, 0.460057738, 0.888888889, 0.458122847, 0.889891661, 0.456171933, 0.890891628, 0.454215926, 0.891892798, 0.452246877, 0.892895147, 0.450264652, 0.893893894, 0.448278604, 0.894894895, 0.446276962, 0.89589776, 0.444260288, 0.896897965, 0.44223754, 0.89790029, 0.440198898, 0.898898899, 0.438156102, 0.8998999, 0.436096515, 0.90090233, 0.43402188, 0.901905299, 0.431933829, 0.902905642, 0.429838808, 0.903906578, 0.427729936, 0.904913251, 0.425596063, 0.905913062, 0.423463723, 0.906910109, 0.421324168, 0.90790984, 0.419165508, 0.908912725, 0.416986401, 0.909911588, 0.414802245, 0.910911457, 0.412601888, 0.911913687, 0.410382051, 0.912912913, 0.408154399, 0.913913914, 0.405908066, 0.914916777, 0.40364253, 0.915917434, 0.401366732, 0.916919228, 0.399072837, 0.917919459, 0.396766766, 0.918921381, 0.394440738, 0.919926348, 0.392091208, 0.920931325, 0.389724897, 0.921931474, 0.387353015, 0.922936446, 0.384952356, 0.923932262, 0.382556108, 0.924928965, 0.380139988, 0.92593112, 0.377692416, 0.926929929, 0.37523447, 0.927934479, 0.372743346, 0.92893773, 0.370235999, 0.929935454, 0.367722793, 0.930930931, 0.365195293, 0.931933742, 0.362628599, 0.932940149, 0.360031496, 0.933941681, 0.357425429, 0.934944193, 0.354794809, 0.935944738, 0.352146911, 0.936952, 0.349458081, 0.937946868, 0.346778996, 0.93894766, 0.344060012, 0.939944267, 0.341327957, 0.940945709, 0.338557487, 0.941948349, 0.335757811, 0.942946208, 0.332945115, 0.94394706, 0.330096876, 0.944952457, 0.327207662, 0.945952159, 0.324306203, 0.946953792, 0.32136975, 0.94795174, 0.318414036, 0.948954394, 0.315413312, 0.949956513, 0.312382177, 0.950955528, 0.309327632, 0.951964061, 0.306209774, 0.952963947, 0.303083678, 0.95396545, 0.299916523, 0.95496005, 0.296734397, 0.955961602, 0.293491763, 0.956965808, 0.290200692, 0.957964345, 0.286887284, 0.958972091, 0.283500493, 0.959972369, 0.280094718, 0.960966452, 0.276664919, 0.961976437, 0.273132449, 0.962975806, 0.269587829, 0.963971413, 0.266005854, 0.964975844, 0.262338753, 0.965981104, 0.258612657, 0.96699178, 0.25480757, 0.967990112, 0.250988332, 0.968994111, 0.247083817, 0.970007609, 0.243074552, 0.971011604, 0.23903235, 0.972015957, 0.234914833, 0.973032448, 0.230668278, 0.97403582, 0.226393951, 0.975020754, 0.222113774, 0.976022214, 0.217670939, 0.977025055, 0.213124475, 0.978031894, 0.208455306, 0.979045395, 0.203642125, 0.980058008, 0.198711603, 0.981081198, 0.1935967, 0.982131595, 0.188195458, 0.983187192, 0.182600507, 0.984181295, 0.177164269, 0.985222269, 0.171280707, 0.986235154, 0.165348788, 0.987269518, 0.159056277, 0.988305459, 0.152487111, 0.98935354, 0.145532037, 0.990419603, 0.138090584, 0.991434588, 0.130604206, 0.992521696, 0.122068352, 0.993600306, 0.112953227, 0.994600069, 0.103781997, 0.995622761, 0.093462918, 0.996637266, 0.081939977, 0.997610152, 0.069094031, 0.998511888, 0.054534475, 0.999336683, 0.036416948, 1.0, 0.0 }; break;
    19         case "DTLZ4": data = new double[] { 0.0, 1.0, 0.002437624, 0.999997029, 0.003680218, 0.999993228, 0.004733971, 0.999988795, 0.005708025, 0.999983709, 0.00659725, 0.999978238, 0.007475066, 0.999972061, 0.008293039, 0.999965612, 0.009213005, 0.999957559, 0.010169407, 0.99994829, 0.011086407, 0.999938544, 0.011974714, 0.999928301, 0.012849996, 0.999917435, 0.013761085, 0.999905312, 0.014569068, 0.999893866, 0.015540504, 0.999879239, 0.016498394, 0.999863892, 0.017420045, 0.99984826, 0.018373002, 0.999831202, 0.019312204, 0.999813502, 0.020284037, 0.999794258, 0.021276848, 0.999773622, 0.022280915, 0.99975175, 0.023251332, 0.999729651, 0.024202939, 0.999707066, 0.025183188, 0.999682853, 0.026174844, 0.99965738, 0.027173988, 0.999630719, 0.0281525, 0.99960364, 0.02913542, 0.999575474, 0.030128213, 0.999546042, 0.031101309, 0.999516237, 0.032113919, 0.999484215, 0.033098915, 0.999452081, 0.034091761, 0.999418707, 0.035110651, 0.999383431, 0.036120135, 0.999347455, 0.037124036, 0.999310665, 0.038114736, 0.99927337, 0.039111953, 0.999234835, 0.040111622, 0.999195205, 0.041114918, 0.999154424, 0.042087462, 0.99911393, 0.04308385, 0.99907146, 0.044095617, 0.999027315, 0.045092928, 0.998982797, 0.046096029, 0.998937013, 0.047101426, 0.998890112, 0.048091686, 0.998842926, 0.049086497, 0.998794531, 0.050077628, 0.998745329, 0.051082817, 0.998694421, 0.052068371, 0.998643522, 0.053073799, 0.998590593, 0.054067311, 0.998537293, 0.055074574, 0.998482244, 0.056070344, 0.998426821, 0.057081298, 0.998369534, 0.058080626, 0.998311896, 0.05907912, 0.998253303, 0.060076074, 0.998193802, 0.061079422, 0.998132909, 0.062092152, 0.998070421, 0.063094957, 0.998007528, 0.06408743, 0.997944288, 0.065098202, 0.997878862, 0.066102322, 0.99781285, 0.067093098, 0.997746719, 0.068086257, 0.997679438, 0.069082498, 0.997610951, 0.070096384, 0.997540223, 0.071092583, 0.997469721, 0.072098225, 0.997397537, 0.07309536, 0.997324956, 0.07409079, 0.9972515, 0.075078569, 0.997177621, 0.07608071, 0.997101663, 0.077086807, 0.997024385, 0.07809481, 0.996945937, 0.07909603, 0.996867001, 0.080093469, 0.996787358, 0.081094383, 0.996706427, 0.082095391, 0.996624476, 0.083096142, 0.996541535, 0.084087586, 0.996458367, 0.085085085, 0.996373689, 0.086086475, 0.996287669, 0.087096443, 0.996199884, 0.088096871, 0.996111912, 0.089097186, 0.996022937, 0.090093948, 0.995933271, 0.091094567, 0.995842247, 0.092093713, 0.995750344, 0.093101042, 0.995656666, 0.094105536, 0.995562227, 0.095104558, 0.995467289, 0.096107725, 0.995370939, 0.097107722, 0.995273877, 0.098110462, 0.995175531, 0.099115239, 0.995075962, 0.100113124, 0.994976061, 0.101109444, 0.994875309, 0.102111144, 0.994772996, 0.103111738, 0.994669779, 0.104111891, 0.994565591, 0.105119113, 0.994459638, 0.106111821, 0.994354203, 0.107109169, 0.994247266, 0.108110018, 0.994138936, 0.109112225, 0.994029437, 0.110112151, 0.993919169, 0.111112627, 0.993807821, 0.112116437, 0.993695076, 0.113118777, 0.993581472, 0.114116646, 0.993467358, 0.115115115, 0.993352158, 0.116118101, 0.993235414, 0.117125236, 0.993117153, 0.118124374, 0.992998808, 0.119126359, 0.992879102, 0.120125473, 0.992758717, 0.121122086, 0.992637618, 0.122127213, 0.992514455, 0.123123563, 0.992391348, 0.124124124, 0.992266699, 0.125128097, 0.992140595, 0.126129705, 0.992013759, 0.127127127, 0.991886432, 0.128131846, 0.991757143, 0.129135788, 0.99162692, 0.130133932, 0.991496424, 0.131134854, 0.99136454, 0.132132132, 0.991232112, 0.133133501, 0.991098114, 0.134134134, 0.990963185, 0.135137379, 0.990826871, 0.136136136, 0.99069014, 0.137140185, 0.990551649, 0.138143026, 0.99041229, 0.139142633, 0.99027235, 0.140142665, 0.990131321, 0.141146411, 0.989988733, 0.142145966, 0.989845707, 0.143145824, 0.989701608, 0.144144144, 0.989556702, 0.145145192, 0.989410367, 0.146149286, 0.989262547, 0.147149657, 0.989114239, 0.148150697, 0.988964798, 0.149149149, 0.98881471, 0.15015015, 0.988663205, 0.151151151, 0.988510662, 0.152152152, 0.988357083, 0.153154134, 0.988202313, 0.154156234, 0.988046485, 0.155155155, 0.987890114, 0.156156156, 0.98773238, 0.157161737, 0.987572878, 0.158167317, 0.987412325, 0.159164464, 0.987252082, 0.16016293, 0.987090592, 0.161163414, 0.986927735, 0.162171075, 0.986762658, 0.163176641, 0.98659687, 0.164180575, 0.986430301, 0.165186482, 0.986262352, 0.166185004, 0.986094592, 0.167180869, 0.985926243, 0.168173883, 0.985757346, 0.169169169, 0.985587029, 0.170171494, 0.985414462, 0.171173217, 0.98524095, 0.172173893, 0.985066572, 0.173173173, 0.984891391, 0.174174174, 0.984714861, 0.175176498, 0.984537046, 0.176176176, 0.984358652, 0.177177177, 0.984178972, 0.178180398, 0.983997838, 0.179184703, 0.983815451, 0.180186209, 0.983632518, 0.181184453, 0.983449131, 0.182186226, 0.983264043, 0.183188361, 0.983077832, 0.184185949, 0.982891416, 0.185188641, 0.98270299, 0.186188993, 0.982513949, 0.187187513, 0.982324201, 0.188190778, 0.982132492, 0.189189189, 0.981940655, 0.19019019, 0.981747265, 0.191192121, 0.981552634, 0.192196465, 0.981356469, 0.193198564, 0.981159679, 0.194198601, 0.980962233, 0.195202409, 0.980762978, 0.196197162, 0.980564467, 0.197198972, 0.980363486, 0.198200199, 0.980161559, 0.199199199, 0.979959019, 0.2002002, 0.97975501, 0.201202591, 0.97954965, 0.202202202, 0.979343795, 0.203203303, 0.979136567, 0.204205607, 0.978928021, 0.205205205, 0.978718971, 0.206206857, 0.978508422, 0.207209698, 0.978296551, 0.208213245, 0.978083455, 0.209212429, 0.977870216, 0.210214142, 0.977655366, 0.211211211, 0.977440445, 0.212214376, 0.977223137, 0.21321453, 0.977005406, 0.214217561, 0.976785973, 0.215216679, 0.976566322, 0.216218306, 0.976345044, 0.217217217, 0.976123292, 0.218218218, 0.9759, 0.219219219, 0.97567563, 0.22022022, 0.975450181, 0.221221221, 0.975223652, 0.222222314, 0.974996022, 0.223223711, 0.974767241, 0.224225331, 0.974537327, 0.225225225, 0.974306727, 0.226227687, 0.97407445, 0.227230056, 0.973841107, 0.228228228, 0.97360766, 0.229230077, 0.973372268, 0.230230781, 0.973136058, 0.23123224, 0.972898582, 0.232232447, 0.972660316, 0.233233233, 0.972420824, 0.234234234, 0.972180191, 0.235235235, 0.971938467, 0.236236236, 0.971695652, 0.237238645, 0.971451402, 0.238240501, 0.97120619, 0.239241281, 0.970960148, 0.24024024, 0.970713463, 0.241241241, 0.970465179, 0.242242242, 0.970215799, 0.243243243, 0.969965321, 0.244244244, 0.969713746, 0.245245959, 0.969460891, 0.246246246, 0.969207298, 0.247247247, 0.968952423, 0.248248248, 0.968696447, 0.249249249, 0.968439369, 0.25025025, 0.968181188, 0.251252672, 0.967921533, 0.252252252, 0.967661512, 0.253253253, 0.967400015, 0.254254254, 0.967137412, 0.2552574, 0.966873135, 0.256257112, 0.966608655, 0.257257257, 0.966342953, 0.258258389, 0.966075879, 0.259259259, 0.965807764, 0.26026139, 0.965538197, 0.261261261, 0.965268125, 0.262262262, 0.964996635, 0.26326511, 0.964723526, 0.264265466, 0.96444998, 0.265268, 0.964174719, 0.266266266, 0.963899515, 0.267267779, 0.963622299, 0.268268268, 0.963344246, 0.269269661, 0.963064821, 0.27027027, 0.962784494, 0.271271271, 0.962502934, 0.272272272, 0.96222025, 0.273273273, 0.961936442, 0.274274274, 0.961651508, 0.275275275, 0.961365447, 0.276276276, 0.961078259, 0.277278815, 0.960789498, 0.278278278, 0.960500494, 0.279279279, 0.960209917, 0.28028028, 0.959918207, 0.281281281, 0.959625365, 0.282282282, 0.959331389, 0.283283283, 0.959036277, 0.284284956, 0.958739831, 0.285285285, 0.958442646, 0.286286774, 0.958143978, 0.287287287, 0.957844463, 0.288288288, 0.957543661, 0.289289289, 0.957241718, 0.29029029, 0.956938633, 0.291291789, 0.956634253, 0.292293054, 0.956328798, 0.293293293, 0.956022512, 0.294296617, 0.955714132, 0.295297164, 0.955405456, 0.296296296, 0.955096071, 0.297297663, 0.954784845, 0.298299458, 0.954472332, 0.299301338, 0.954158639, 0.3003003, 0.953844709, 0.301301301, 0.953528985, 0.302302302, 0.953212106, 0.303303303, 0.952894069, 0.304305357, 0.952574538, 0.305305305, 0.95225452, 0.306308, 0.95193246, 0.307308981, 0.951609789, 0.308308308, 0.951286491, 0.309309624, 0.950961386, 0.31031031, 0.95063532, 0.311311311, 0.950307986, 0.312312312, 0.949979484, 0.313313313, 0.949649813, 0.314314397, 0.949318945, 0.315315315, 0.948986961, 0.316316316, 0.948653777, 0.31731822, 0.948319117, 0.318318817, 0.947983719, 0.319319319, 0.947647177, 0.320321969, 0.947308733, 0.321321321, 0.946970226, 0.322322322, 0.946629981, 0.323323323, 0.946288555, 0.324324324, 0.945945946, 0.325326436, 0.945601771, 0.326326326, 0.945257176, 0.327327855, 0.94491083, 0.328328328, 0.944563661, 0.329329329, 0.94421512, 0.33033033, 0.943865389, 0.331331331, 0.943514467, 0.332334527, 0.943161578, 0.333336361, 0.942807971, 0.334337639, 0.942453364, 0.335335936, 0.94209862, 0.336336336, 0.941741933, 0.337337337, 0.941383833, 0.338338338, 0.941024532, 0.339339339, 0.940664028, 0.34034034, 0.94030232, 0.341341341, 0.939939407, 0.342342628, 0.939575183, 0.343344756, 0.939209444, 0.344344344, 0.938843423, 0.345345345, 0.938475675, 0.346346923, 0.938106502, 0.347347347, 0.937736541, 0.348349239, 0.937364821, 0.349349349, 0.936992547, 0.350350567, 0.936618642, 0.351351351, 0.93624368, 0.352352352, 0.935867416, 0.353353353, 0.935489929, 0.35435532, 0.935110853, 0.355356202, 0.934730961, 0.356356356, 0.93435012, 0.357359545, 0.933966892, 0.358359284, 0.933583753, 0.359361056, 0.933198602, 0.360360812, 0.932812996, 0.361361361, 0.93242585, 0.362362362, 0.932037295, 0.363363363, 0.931647501, 0.364364364, 0.931256468, 0.365365365, 0.930864195, 0.366368754, 0.93046974, 0.367368284, 0.930075558, 0.368369508, 0.929679464, 0.369370193, 0.929282336, 0.37037037, 0.928884163, 0.371371371, 0.928484413, 0.372372372, 0.92808341, 0.373374216, 0.927680815, 0.374374374, 0.927277643, 0.375375375, 0.926872876, 0.376376905, 0.926466635, 0.377378755, 0.926059002, 0.378378378, 0.925651016, 0.379379379, 0.925241205, 0.38038043, 0.924830108, 0.381381781, 0.92441762, 0.3823851, 0.92400305, 0.383386431, 0.923588028, 0.384385074, 0.923172852, 0.385385385, 0.922755712, 0.386386386, 0.92233701, 0.387388804, 0.921916436, 0.388388388, 0.921495773, 0.389390183, 0.921072899, 0.39039039, 0.920649414, 0.391391391, 0.920224309, 0.392392392, 0.919797918, 0.393393393, 0.91937024, 0.394394394, 0.918941272, 0.395397226, 0.918510225, 0.39639927, 0.918078221, 0.397399464, 0.917645719, 0.398402001, 0.917210906, 0.399400735, 0.916776447, 0.400400904, 0.916340066, 0.401401401, 0.915902241, 0.402402402, 0.915462892, 0.403403403, 0.915022237, 0.404404404, 0.914580274, 0.405405405, 0.914137001, 0.406406406, 0.913692417, 0.407407407, 0.913246519, 0.408408982, 0.912799049, 0.409409409, 0.912350774, 0.410412879, 0.911899813, 0.411412431, 0.911449292, 0.412412412, 0.910997257, 0.413413413, 0.910543436, 0.41441521, 0.910087926, 0.415417066, 0.909631058, 0.416416416, 0.909174003, 0.417417417, 0.908714862, 0.418418418, 0.908254385, 0.419419419, 0.90779257, 0.42042042, 0.907329417, 0.421422183, 0.906864567, 0.422423718, 0.906398479, 0.423423423, 0.905931898, 0.424425052, 0.905463072, 0.425425425, 0.904993485, 0.426426426, 0.904522251, 0.42742877, 0.904049029, 0.428428428, 0.90357572, 0.42943033, 0.90309999, 0.430432073, 0.902622973, 0.431431431, 0.902145731, 0.432433581, 0.901665791, 0.433433433, 0.901185585, 0.434435351, 0.900703017, 0.435435435, 0.900219963, 0.436436436, 0.899735093, 0.437438507, 0.899248327, 0.438439711, 0.898760602, 0.439439439, 0.898272219, 0.44044044, 0.897781832, 0.441441661, 0.897289953, 0.442442442, 0.896796903, 0.443443443, 0.896302356, 0.444444444, 0.895806417, 0.445445445, 0.895309084, 0.446446446, 0.894810355, 0.447447447, 0.894310227, 0.448448448, 0.893808698, 0.449449756, 0.893305612, 0.450450451, 0.892801429, 0.451451452, 0.892295684, 0.452452453, 0.891788528, 0.453453541, 0.891279915, 0.454455074, 0.890769659, 0.455455456, 0.890258574, 0.456456457, 0.889745752, 0.457457458, 0.889231508, 0.458458459, 0.888715839, 0.45946082, 0.888198038, 0.460461115, 0.887679876, 0.46146248, 0.887159726, 0.462464166, 0.886637973, 0.463463464, 0.88611603, 0.464465091, 0.885591429, 0.465465466, 0.885066043, 0.466467431, 0.884538374, 0.467467468, 0.884010275, 0.468468469, 0.883480217, 0.469470419, 0.882948201, 0.470470471, 0.882415739, 0.471471909, 0.88188108, 0.472473364, 0.88134495, 0.473474937, 0.880807291, 0.474475297, 0.880268819, 0.475475669, 0.879728872, 0.476477555, 0.879186635, 0.477478663, 0.878643345, 0.478478479, 0.87809928, 0.47947948, 0.877553092, 0.480480481, 0.877005421, 0.48148222, 0.876455858, 0.482482483, 0.875905619, 0.483483484, 0.875353484, 0.484484485, 0.874799854, 0.485485486, 0.874244727, 0.486487396, 0.873687595, 0.487488602, 0.873129351, 0.488489715, 0.872569652, 0.48948949, 0.872009197, 0.490490491, 0.871446544, 0.491491492, 0.870882377, 0.492493186, 0.8703163, 0.493493873, 0.869749273, 0.494495428, 0.86918023, 0.495495496, 0.868610508, 0.496496497, 0.868038726, 0.49749751, 0.867465404, 0.498499448, 0.866890016, 0.499500327, 0.866313698, 0.500501627, 0.865735595, 0.501503503, 0.865155614, 0.502503772, 0.864575017, 0.503503519, 0.863993175, 0.504504505, 0.86340906, 0.505506775, 0.862822636, 0.506506507, 0.862236139, 0.507507508, 0.861647335, 0.508508509, 0.861056965, 0.509509954, 0.860464762, 0.510510511, 0.859871513, 0.511512272, 0.859275972, 0.512513278, 0.8586793, 0.513513514, 0.858081506, 0.514514515, 0.85748167, 0.515515516, 0.856880244, 0.516516517, 0.856277226, 0.517517785, 0.85567245, 0.518518519, 0.855066399, 0.51951952, 0.854458582, 0.520521586, 0.853848511, 0.521521522, 0.853238128, 0.522522523, 0.852625483, 0.523523524, 0.852011221, 0.524524525, 0.851395339, 0.525525526, 0.850777834, 0.526526527, 0.850158701, 0.527527798, 0.84953777, 0.528528529, 0.84891554, 0.52952953, 0.848291505, 0.53053114, 0.847665447, 0.531531983, 0.847038223, 0.532533353, 0.846409019, 0.533534707, 0.845778172, 0.534534535, 0.845146633, 0.535535536, 0.844512694, 0.536536537, 0.843877091, 0.537537538, 0.843239821, 0.538538911, 0.842600642, 0.539541122, 0.841959249, 0.540541382, 0.841317428, 0.541542033, 0.840673674, 0.542542543, 0.840028327, 0.543543544, 0.839380972, 0.544544536, 0.838731929, 0.545545546, 0.838081176, 0.546546547, 0.837428727, 0.547547548, 0.836774571, 0.548549138, 0.836118319, 0.54954955, 0.835461126, 0.550551706, 0.834801066, 0.551552073, 0.834140463, 0.552552553, 0.83347806, 0.553553554, 0.832813583, 0.554555672, 0.832146626, 0.555555556, 0.831479419, 0.556556557, 0.830809725, 0.557557558, 0.830138284, 0.55855899, 0.8294648, 0.559560011, 0.828789837, 0.560560748, 0.828113306, 0.561561562, 0.82743496, 0.562562563, 0.826754718, 0.563563564, 0.826072703, 0.564564865, 0.825388704, 0.565565566, 0.824703335, 0.566566567, 0.824015974, 0.567567568, 0.823326822, 0.568568569, 0.822635875, 0.56956957, 0.821943128, 0.570570571, 0.821248576, 0.571571572, 0.820552216, 0.572573734, 0.819853231, 0.573573574, 0.819154049, 0.574574575, 0.818452233, 0.575575576, 0.81774859, 0.576576577, 0.817043115, 0.577577578, 0.816335802, 0.578579457, 0.815626025, 0.57957958, 0.814915647, 0.580581435, 0.814202184, 0.581581582, 0.813488085, 0.582582583, 0.812771514, 0.583584893, 0.812052137, 0.584585524, 0.811332093, 0.585585586, 0.810610586, 0.586586587, 0.809886521, 0.587587588, 0.809160569, 0.588589315, 0.808432198, 0.589589668, 0.80770293, 0.590590591, 0.806971347, 0.591591592, 0.806237799, 0.592593648, 0.805501564, 0.593594702, 0.804764146, 0.594596854, 0.804023993, 0.595596282, 0.803283928, 0.596596597, 0.802541277, 0.597598294, 0.801795659, 0.598598599, 0.801049136, 0.5995996, 0.800300144, 0.600600601, 0.799549197, 0.601601865, 0.798796092, 0.602602603, 0.798041417, 0.603603604, 0.797284573, 0.604604605, 0.796525751, 0.605605606, 0.795764947, 0.606606607, 0.795002154, 0.607607608, 0.794237367, 0.608608609, 0.79347058, 0.60960961, 0.792701788, 0.610610611, 0.791930983, 0.611611612, 0.791158162, 0.612612613, 0.790383316, 0.613613614, 0.789606442, 0.614615201, 0.788827075, 0.615615616, 0.788046581, 0.616617589, 0.787262821, 0.617617618, 0.78647853, 0.618619257, 0.785690916, 0.61961962, 0.78490224, 0.620620621, 0.78411099, 0.621621622, 0.783317662, 0.622622623, 0.782522249, 0.623623624, 0.781724744, 0.624624625, 0.780925143, 0.625625626, 0.780123437, 0.626626627, 0.77931962, 0.627628034, 0.778513359, 0.628628629, 0.77770563, 0.62962963, 0.776895443, 0.630631274, 0.776082597, 0.631631632, 0.775268652, 0.632632633, 0.774452034, 0.633634867, 0.773632249, 0.634634635, 0.772812319, 0.635636125, 0.771988806, 0.636637545, 0.771163171, 0.637637638, 0.770336448, 0.638638639, 0.769506783, 0.63963964, 0.768674919, 0.640640838, 0.767840685, 0.641642533, 0.76700382, 0.642642643, 0.766166062, 0.643643644, 0.76532533, 0.644644645, 0.764482362, 0.645645866, 0.763636966, 0.646647932, 0.762788603, 0.647648202, 0.761939503, 0.648648649, 0.761087991, 0.64964965, 0.760233736, 0.650650651, 0.759377199, 0.651652719, 0.758517458, 0.652653018, 0.75765694, 0.653653654, 0.75679383, 0.654654655, 0.755928094, 0.655656894, 0.755058963, 0.656657539, 0.754188887, 0.657657658, 0.753316936, 0.658658659, 0.752441872, 0.65965966, 0.751564457, 0.660660661, 0.750684682, 0.661662903, 0.749801442, 0.662663592, 0.748917194, 0.663666706, 0.74802841, 0.664665926, 0.747140688, 0.665666881, 0.746249023, 0.666666667, 0.745355993, 0.667667668, 0.744459459, 0.668668669, 0.743560496, 0.669670491, 0.742658356, 0.670672812, 0.741753314, 0.671671672, 0.740848949, 0.672674161, 0.739938831, 0.673675433, 0.739027341, 0.674674675, 0.738115224, 0.675675793, 0.737198903, 0.676678154, 0.736278939, 0.677677678, 0.735359072, 0.678678679, 0.734435328, 0.67967968, 0.733509055, 0.680681488, 0.732579492, 0.681681682, 0.731648881, 0.682684777, 0.730713004, 0.683687297, 0.729775089, 0.684685637, 0.728838513, 0.685685686, 0.727897754, 0.686686687, 0.726953502, 0.687687688, 0.726006642, 0.688688689, 0.725057163, 0.689690603, 0.724104186, 0.690690691, 0.723150309, 0.691692718, 0.722191931, 0.692692693, 0.721232857, 0.693693694, 0.720270129, 0.694696063, 0.719303399, 0.6956979, 0.718334485, 0.696697273, 0.717365255, 0.697697698, 0.716392297, 0.698699863, 0.715414915, 0.6996997, 0.714437072, 0.700700701, 0.713455344, 0.701701702, 0.712470857, 0.702702703, 0.711483599, 0.703704019, 0.710493246, 0.704704705, 0.709500725, 0.705705706, 0.708505086, 0.706707678, 0.707505659, 0.707709052, 0.706503997, 0.708708709, 0.705501216, 0.70970971, 0.704494236, 0.710711614, 0.703483476, 0.711711712, 0.702471665, 0.712712713, 0.701456049, 0.713714854, 0.700436369, 0.714714715, 0.699416097, 0.715715716, 0.698391734, 0.716716717, 0.69736443, 0.717717718, 0.696334171, 0.718718719, 0.695300945, 0.719720108, 0.694264335, 0.720721808, 0.693224405, 0.721723805, 0.692181153, 0.722722723, 0.691138095, 0.723723724, 0.690089829, 0.724724725, 0.689038514, 0.725726158, 0.68798368, 0.726726727, 0.686926681, 0.727727728, 0.685866134, 0.728729154, 0.68480203, 0.729731064, 0.683734286, 0.730731807, 0.682664651, 0.731733038, 0.681591345, 0.732732733, 0.680516526, 0.733734311, 0.679436503, 0.734735159, 0.678354071, 0.735735736, 0.677268726, 0.736738134, 0.676178173, 0.737737738, 0.675087424, 0.738738739, 0.673991896, 0.739740656, 0.672892088, 0.740740741, 0.671791006, 0.741742585, 0.670684678, 0.742744021, 0.669575477, 0.743743744, 0.668464841, 0.744744745, 0.667349433, 0.745746336, 0.666229992, 0.746746747, 0.665108485, 0.747747748, 0.663982911, 0.748750211, 0.662852263, 0.74974975, 0.661721477, 0.750750751, 0.660585581, 0.751752577, 0.659445269, 0.752752753, 0.658303344, 0.753753754, 0.657156967, 0.754754755, 0.656007058, 0.755755756, 0.6548536, 0.756757236, 0.65369602, 0.757757758, 0.652535961, 0.758758759, 0.651371742, 0.75975976, 0.650203897, 0.760761777, 0.649031216, 0.761762906, 0.647855906, 0.762763574, 0.646677455, 0.763763764, 0.645495866, 0.764765855, 0.644308301, 0.765765766, 0.643119578, 0.766766767, 0.641925794, 0.767767768, 0.640728222, 0.768768769, 0.639526841, 0.769770397, 0.638320872, 0.770770771, 0.637112564, 0.771771772, 0.635899624, 0.772772773, 0.634682788, 0.773773774, 0.633462033, 0.774774775, 0.632237336, 0.775775776, 0.631008673, 0.776776777, 0.629776023, 0.777778333, 0.628538674, 0.778778779, 0.627298664, 0.77977978, 0.626053908, 0.780782015, 0.624803525, 0.781781782, 0.62355212, 0.782782783, 0.622295039, 0.783783784, 0.6210338, 0.784786323, 0.61976643, 0.785786745, 0.618497528, 0.786786787, 0.61722488, 0.78778843, 0.615945931, 0.788788789, 0.614664337, 0.78978979, 0.613377606, 0.790792682, 0.61208409, 0.79179317, 0.610789306, 0.792793171, 0.609490761, 0.793793794, 0.608186989, 0.794795265, 0.606877654, 0.795797408, 0.605562949, 0.796797243, 0.604246766, 0.797799779, 0.602922477, 0.79879921, 0.601597725, 0.7997998, 0.600266841, 0.800802502, 0.598928505, 0.801801802, 0.597590052, 0.802802942, 0.596244444, 0.803803804, 0.594894482, 0.804804805, 0.593539574, 0.805805806, 0.592179874, 0.806807765, 0.59081404, 0.807809563, 0.58944356, 0.808810568, 0.588069269, 0.809813807, 0.586686968, 0.810811422, 0.585307473, 0.811813624, 0.583916637, 0.812812813, 0.582524962, 0.813813814, 0.581125698, 0.814814815, 0.579721328, 0.815816988, 0.578310161, 0.816818441, 0.576894822, 0.817818654, 0.57547602, 0.818818819, 0.574052038, 0.81981982, 0.572621571, 0.820820821, 0.571185767, 0.821821822, 0.569744586, 0.822823888, 0.568296446, 0.823824338, 0.566845181, 0.824824825, 0.56538837, 0.825825826, 0.563925266, 0.826827548, 0.562455514, 0.827829261, 0.560980138, 0.828829872, 0.55950071, 0.82982983, 0.558016535, 0.830830831, 0.556525049, 0.83183718, 0.555019734, 0.832837009, 0.553518308, 0.833836447, 0.552011576, 0.834836611, 0.550497804, 0.835838451, 0.548975486, 0.836839089, 0.547448937, 0.837837838, 0.545919186, 0.838838839, 0.544379833, 0.839841486, 0.542831723, 0.840843819, 0.541277815, 0.841843969, 0.539720976, 0.842842843, 0.538159774, 0.843843844, 0.536588825, 0.84484525, 0.53501075, 0.845845846, 0.533427413, 0.846846847, 0.531836834, 0.847848768, 0.530238123, 0.848849805, 0.528634096, 0.84984985, 0.527024888, 0.850850851, 0.525407299, 0.851854115, 0.523779121, 0.852855053, 0.522147736, 0.853853854, 0.520512821, 0.854855556, 0.51886605, 0.855857859, 0.517211102, 0.856857045, 0.515554075, 0.857859759, 0.513883872, 0.858858859, 0.51221232, 0.85985986, 0.510530138, 0.860864313, 0.508834584, 0.861863289, 0.507140681, 0.862864854, 0.505434708, 0.863867155, 0.503719703, 0.864869808, 0.501996231, 0.865869481, 0.50026997, 0.866874017, 0.49852727, 0.867869772, 0.496791766, 0.868868869, 0.49504231, 0.869872205, 0.49327715, 0.870872457, 0.491509067, 0.871871872, 0.489734049, 0.872873375, 0.487946792, 0.873875965, 0.486148945, 0.874874875, 0.484349, 0.875875876, 0.482536475, 0.876879725, 0.480709838, 0.877879599, 0.478881415, 0.878878879, 0.477044984, 0.87987988, 0.475196167, 0.88088313, 0.473333827, 0.881885462, 0.471463713, 0.882886539, 0.46958637, 0.883886602, 0.467701267, 0.884884885, 0.465809769, 0.885885886, 0.46390322, 0.886886887, 0.461986634, 0.887887888, 0.460059886, 0.888891051, 0.458118653, 0.889892285, 0.456170715, 0.890892188, 0.454214827, 0.891891892, 0.452248663, 0.892892893, 0.450269122, 0.893895209, 0.44827598, 0.894896728, 0.446273286, 0.895897671, 0.444260467, 0.896896897, 0.442239705, 0.897901376, 0.440196683, 0.898903324, 0.438147023, 0.899906541, 0.436082811, 0.900907823, 0.434010478, 0.901907057, 0.431930156, 0.902904323, 0.429841579, 0.903905237, 0.42773277, 0.904904905, 0.425613807, 0.905905906, 0.423479031, 0.906907316, 0.421330179, 0.907910699, 0.419163647, 0.908908909, 0.416994719, 0.909912342, 0.41480059, 0.910911814, 0.412601099, 0.911911912, 0.410385995, 0.912915308, 0.408149043, 0.913917137, 0.405900809, 0.914918152, 0.403639412, 0.915918319, 0.401364714, 0.916916917, 0.399078147, 0.917919978, 0.396765565, 0.918924336, 0.394433853, 0.91991992, 0.392106288, 0.920923708, 0.389742894, 0.92192568, 0.387366804, 0.922927259, 0.384974382, 0.923927654, 0.382567236, 0.924926189, 0.380146741, 0.925929665, 0.377695983, 0.926933292, 0.375226162, 0.927934029, 0.372744466, 0.928935651, 0.370241215, 0.929941264, 0.367708098, 0.930939065, 0.365174556, 0.931938905, 0.36261533, 0.932939116, 0.360034173, 0.933947474, 0.35741029, 0.934940079, 0.35480565, 0.935935936, 0.352170305, 0.936941835, 0.349485332, 0.937943447, 0.346788249, 0.938948054, 0.344058937, 0.939946127, 0.341322835, 0.940945834, 0.33855714, 0.941945076, 0.335766993, 0.942952471, 0.332927375, 0.94395668, 0.330069367, 0.944953206, 0.327205499, 0.945963415, 0.324273368, 0.946957061, 0.321360118, 0.947956242, 0.318400634, 0.948955055, 0.315411324, 0.949962332, 0.312364478, 0.950957845, 0.309320508, 0.951958002, 0.306228612, 0.952960549, 0.303094362, 0.953958084, 0.299939951, 0.954960269, 0.296733694, 0.955963174, 0.293486642, 0.956962035, 0.290213135, 0.957963859, 0.286888907, 0.958966218, 0.283520358, 0.959964144, 0.280122905, 0.96096276, 0.276677744, 0.961962747, 0.273180661, 0.962968459, 0.269614071, 0.963974587, 0.265994352, 0.964974982, 0.262341921, 0.965980343, 0.258615499, 0.966972547, 0.254880548, 0.967983324, 0.25101451, 0.969002786, 0.247049793, 0.969993754, 0.243129836, 0.970996551, 0.239093492, 0.971996545, 0.23499514, 0.973003932, 0.230788538, 0.974023462, 0.226447115, 0.97501301, 0.222147765, 0.976011771, 0.217717758, 0.97702767, 0.213112489, 0.978033412, 0.208448184, 0.979043292, 0.203652236, 0.980045618, 0.198772701, 0.981035269, 0.193829308, 0.982082796, 0.188449948, 0.983092731, 0.183108388, 0.9840944, 0.177646314, 0.985109167, 0.171930011, 0.986132124, 0.165962145, 0.987173831, 0.159649077, 0.988240836, 0.152905364, 0.989295926, 0.145923167, 0.990330749, 0.138726377, 0.991372736, 0.131072871, 0.992459054, 0.122576615, 0.993523997, 0.113622474, 0.994578737, 0.103986229, 0.995608028, 0.09361974, 0.996647212, 0.081818918, 0.997615778, 0.069012748, 0.998529961, 0.054202556, 0.999339792, 0.036331526, 1.0, 0.0 }; break;
    20         case "DTLZ5": data = new double[] { 1.0, 0.0, 0.9999691576447897, 0.007853900888711334, 0.9998766324816606, 0.015707317311820675, 0.9997224302180006, 0.02355976483361015, 0.9995065603657316, 0.03141075907812829, 0.9992290362407229, 0.03925981575906861, 0.99888987496197, 0.047106450709642665, 0.9984890974505379, 0.05495017991244575, 0.9980267284282716, 0.06279051952931337, 0.99750279641627, 0.07062698593116667, 0.996917333733128, 0.07845909572784494, 0.9962703764929413, 0.08628636579792336, 0.99556196460308, 0.0941083133185143, 0.9947921417617265, 0.10192445579505001, 0.9939609554551797, 0.10973431109104526, 0.9930684569549263, 0.11753739745783764, 0.9921147013144779, 0.12533323356430426, 0.9910997473659748, 0.13312133852655236, 0.9900236577165575, 0.14090123193758267, 0.9888864987445046, 0.148672433896923, 0.9876883405951378, 0.1564344650402309, 0.9864292571764954, 0.16418684656886298, 0.9851093261547739, 0.17192910027940958, 0.9837286289495358, 0.1796607485931926, 0.9822872507286887, 0.18738131458572468, 0.9807852804032304, 0.1950903220161283, 0.9792228106217657, 0.20278729535651252, 0.9775999377647907, 0.2104717598213057, 0.9759167619387474, 0.2181432413965426, 0.9741733869698493, 0.22580126686910376, 0.9723699203976766, 0.23344536385590547, 0.9705064734685425, 0.24107506083303873, 0.9685831611286311, 0.24868988716485485, 0.9666001020169073, 0.2562893731329967, 0.9645574184577981, 0.263873049965373, 0.9624552364536473, 0.2714404498650744, 0.9602936856769431, 0.2789911060392294, 0.9580728994623191, 0.2865245527277984, 0.9557930147983301, 0.2940403252323041, 0.9534541723190012, 0.30153795994449584, 0.9510565162951535, 0.30901699437494756, 0.9486001946255046, 0.31647696718158624, 0.9460853588275453, 0.32391741819814956, 0.9435121640281935, 0.3313378884625711, 0.9408807689542255, 0.33873792024529153, 0.938191335922484, 0.34611705707749313, 0.9354440308298673, 0.35347484377925725, 0.9326390231430941, 0.36081082648764196, 0.9297764858882513, 0.36812455268467814, 0.9268565956401207, 0.37541557122528324, 0.9238795325112867, 0.3826834323650899, 0.9208454801410262, 0.3899276877881884, 0.917754625683981, 0.3971478906347808, 0.9146071597986135, 0.40434359552874516, 0.9114032766354452, 0.41151435860510893, 0.9081431738250813, 0.4186597375374283, 0.9048270524660195, 0.4257792915650728, 0.9014551171122456, 0.43287258152041413, 0.8980275757606155, 0.43993916985591536, 0.894544639838025, 0.44697862067112126, 0.8910065241883678, 0.45399049973954697, 0.8874134470592832, 0.4609743745354625, 0.8837656300886934, 0.46792981426057356, 0.8800632982911318, 0.4748563898705948, 0.8763066800438635, 0.4817536741017155, 0.872496007072797, 0.48862124149695524, 0.8686315144381911, 0.49545866843240777, 0.864713440520155, 0.5022655331433727, 0.8607420270039435, 0.5090414157503715, 0.8567175188650495, 0.5157858982850476, 0.8526401643540921, 0.5224985647159491, 0.8485102149815035, 0.5291790009741908, 0.8443279255020149, 0.5358267949789969, 0.8400935538989417, 0.542441536663119, 0.83580736136827, 0.549022817998132, 0.831469612302545, 0.5555702330196025, 0.8270805742745616, 0.5620833778521309, 0.8226405180208596, 0.5685618507342642, 0.8181497174250232, 0.5750052520432789, 0.8136084495007868, 0.5814131843198309, 0.8090169943749472, 0.5877852522924734, 0.8043756352700843, 0.5941210629020388, 0.7996846584870904, 0.6004202253258843, 0.7949443533875098, 0.606682351002, 0.7901550123756902, 0.6129070536529768, 0.7853169308807447, 0.6190939493098343, 0.7804304073383295, 0.6252426563357054, 0.7754957431722342, 0.6313527954493781, 0.770513242775789, 0.63742398974869, 0.7654832134930879, 0.6434558647337792, 0.7604059656000307, 0.649448048330184, 0.7552818122851833, 0.6554001709117943, 0.7501110696304593, 0.6613118653236522, 0.7448940565916218, 0.6671827669046, 0.7396310949786093, 0.6730125135097736, 0.7343225094356852, 0.678800745532942, 0.7289686274214112, 0.6845471059286891, 0.723569779188449, 0.6902512402344375, 0.7181262977631885, 0.6959127965923146, 0.7126385189252051, 0.701531425770856, 0.7071067811865471, 0.7071067811865479, 0.7015314257708554, 0.7126385189252057, 0.695912796592314, 0.7181262977631893, 0.6902512402344367, 0.7235697791884497, 0.6845471059286883, 0.7289686274214119, 0.6788007455329413, 0.7343225094356859, 0.673012513509773, 0.73963109497861, 0.6671827669045992, 0.7448940565916224, 0.6613118653236515, 0.7501110696304598, 0.6554001709117935, 0.755281812285184, 0.6494480483301832, 0.7604059656000313, 0.6434558647337785, 0.7654832134930886, 0.6374239897486893, 0.7705132427757896, 0.6313527954493772, 0.7754957431722349, 0.6252426563357047, 0.7804304073383301, 0.6190939493098335, 0.7853169308807453, 0.612907053652976, 0.7901550123756907, 0.6066823510019992, 0.7949443533875105, 0.6004202253258836, 0.7996846584870909, 0.5941210629020379, 0.8043756352700848, 0.5877852522924726, 0.8090169943749478, 0.5814131843198301, 0.8136084495007874, 0.575005252043278, 0.8181497174250238, 0.5685618507342635, 0.8226405180208601, 0.56208337785213, 0.8270805742745622, 0.5555702330196017, 0.8314696123025456, 0.5490228179981311, 0.8358073613682706, 0.5424415366631182, 0.8400935538989422, 0.535826794978996, 0.8443279255020154, 0.52917900097419, 0.848510214981504, 0.5224985647159484, 0.8526401643540925, 0.5157858982850467, 0.8567175188650501, 0.5090414157503707, 0.8607420270039441, 0.5022655331433719, 0.8647134405201554, 0.49545866843240693, 0.8686315144381915, 0.4886212414969544, 0.8724960070727974, 0.48175367410171455, 0.876306680043864, 0.4748563898705939, 0.8800632982911323, 0.46792981426057273, 0.8837656300886938, 0.46097437453546175, 0.8874134470592835, 0.453990499739546, 0.8910065241883682, 0.4469786206711204, 0.8945446398380255, 0.43993916985591447, 0.898027575760616, 0.4328725815204133, 0.901455117112246, 0.4257792915650718, 0.9048270524660199, 0.4186597375374273, 0.9081431738250817, 0.41151435860510804, 0.9114032766354456, 0.4043435955287443, 0.9146071597986138, 0.39714789063477995, 0.9177546256839815, 0.3899276877881875, 0.9208454801410266, 0.382683432365089, 0.9238795325112871, 0.37541557122528235, 0.9268565956401211, 0.36812455268467725, 0.9297764858882517, 0.3608108264876409, 0.9326390231430944, 0.3534748437792563, 0.9354440308298676, 0.3461170570774922, 0.9381913359224844, 0.33873792024529065, 0.9408807689542258, 0.33133788846257006, 0.9435121640281939, 0.3239174181981485, 0.9460853588275456, 0.31647696718158524, 0.9486001946255049, 0.3090169943749466, 0.9510565162951539, 0.30153795994449495, 0.9534541723190015, 0.294040325232303, 0.9557930147983305, 0.2865245527277974, 0.9580728994623194, 0.2789911060392284, 0.9602936856769433, 0.27144044986507343, 0.9624552364536475, 0.2638730499653719, 0.9645574184577984, 0.2562893731329957, 0.9666001020169076, 0.24868988716485388, 0.9685831611286313, 0.2410750608330378, 0.9705064734685427, 0.2334453638559044, 0.9723699203976769, 0.2258012668691027, 0.9741733869698496, 0.21814324139654162, 0.9759167619387477, 0.21047175982130475, 0.9775999377647909, 0.20278729535651163, 0.979222810621766, 0.19509032201612722, 0.9807852804032307, 0.18738131458572363, 0.9822872507286888, 0.1796607485931916, 0.983728628949536, 0.17192910027940864, 0.9851093261547741, 0.16418684656886184, 0.9864292571764957, 0.15643446504022981, 0.9876883405951379, 0.148672433896922, 0.9888864987445047, 0.1409012319375817, 0.9900236577165578, 0.13312133852655123, 0.991099747365975, 0.12533323356430315, 0.992114701314478, 0.1175373974578366, 0.9930684569549264, 0.10973431109104427, 0.9939609554551798, 0.10192445579504908, 0.9947921417617266, 0.09410831331851319, 0.9955619646030801, 0.08628636579792229, 0.9962703764929414, 0.0784590957278439, 0.9969173337331281, 0.07062698593116568, 0.9975027964162702, 0.0627905195293122, 0.9980267284282717, 0.05495017991244461, 0.998489097450538, 0.04710645070964157, 0.99888987496197, 0.03925981575906756, 0.999229036240723, 0.031410759078127064, 0.9995065603657316, 0.02355976483360897, 0.9997224302180006, 0.015707317311819537, 0.9998766324816606, 0.00785390088871024, 0.9999691576447898 }; break;
    21         case "DTLZ6": data = new double[] { 1.0, 0.0, 0.9999691576447897, 0.007853900888711334, 0.9998766324816606, 0.015707317311820675, 0.9997224302180006, 0.02355976483361015, 0.9995065603657316, 0.03141075907812829, 0.9992290362407229, 0.03925981575906861, 0.99888987496197, 0.047106450709642665, 0.9984890974505379, 0.05495017991244575, 0.9980267284282716, 0.06279051952931337, 0.99750279641627, 0.07062698593116667, 0.996917333733128, 0.07845909572784494, 0.9962703764929413, 0.08628636579792336, 0.99556196460308, 0.0941083133185143, 0.9947921417617265, 0.10192445579505001, 0.9939609554551797, 0.10973431109104526, 0.9930684569549263, 0.11753739745783764, 0.9921147013144779, 0.12533323356430426, 0.9910997473659748, 0.13312133852655236, 0.9900236577165575, 0.14090123193758267, 0.9888864987445046, 0.148672433896923, 0.9876883405951378, 0.1564344650402309, 0.9864292571764954, 0.16418684656886298, 0.9851093261547739, 0.17192910027940958, 0.9837286289495358, 0.1796607485931926, 0.9822872507286887, 0.18738131458572468, 0.9807852804032304, 0.1950903220161283, 0.9792228106217657, 0.20278729535651252, 0.9775999377647907, 0.2104717598213057, 0.9759167619387474, 0.2181432413965426, 0.9741733869698493, 0.22580126686910376, 0.9723699203976766, 0.23344536385590547, 0.9705064734685425, 0.24107506083303873, 0.9685831611286311, 0.24868988716485485, 0.9666001020169073, 0.2562893731329967, 0.9645574184577981, 0.263873049965373, 0.9624552364536473, 0.2714404498650744, 0.9602936856769431, 0.2789911060392294, 0.9580728994623191, 0.2865245527277984, 0.9557930147983301, 0.2940403252323041, 0.9534541723190012, 0.30153795994449584, 0.9510565162951535, 0.30901699437494756, 0.9486001946255046, 0.31647696718158624, 0.9460853588275453, 0.32391741819814956, 0.9435121640281935, 0.3313378884625711, 0.9408807689542255, 0.33873792024529153, 0.938191335922484, 0.34611705707749313, 0.9354440308298673, 0.35347484377925725, 0.9326390231430941, 0.36081082648764196, 0.9297764858882513, 0.36812455268467814, 0.9268565956401207, 0.37541557122528324, 0.9238795325112867, 0.3826834323650899, 0.9208454801410262, 0.3899276877881884, 0.917754625683981, 0.3971478906347808, 0.9146071597986135, 0.40434359552874516, 0.9114032766354452, 0.41151435860510893, 0.9081431738250813, 0.4186597375374283, 0.9048270524660195, 0.4257792915650728, 0.9014551171122456, 0.43287258152041413, 0.8980275757606155, 0.43993916985591536, 0.894544639838025, 0.44697862067112126, 0.8910065241883678, 0.45399049973954697, 0.8874134470592832, 0.4609743745354625, 0.8837656300886934, 0.46792981426057356, 0.8800632982911318, 0.4748563898705948, 0.8763066800438635, 0.4817536741017155, 0.872496007072797, 0.48862124149695524, 0.8686315144381911, 0.49545866843240777, 0.864713440520155, 0.5022655331433727, 0.8607420270039435, 0.5090414157503715, 0.8567175188650495, 0.5157858982850476, 0.8526401643540921, 0.5224985647159491, 0.8485102149815035, 0.5291790009741908, 0.8443279255020149, 0.5358267949789969, 0.8400935538989417, 0.542441536663119, 0.83580736136827, 0.549022817998132, 0.831469612302545, 0.5555702330196025, 0.8270805742745616, 0.5620833778521309, 0.8226405180208596, 0.5685618507342642, 0.8181497174250232, 0.5750052520432789, 0.8136084495007868, 0.5814131843198309, 0.8090169943749472, 0.5877852522924734, 0.8043756352700843, 0.5941210629020388, 0.7996846584870904, 0.6004202253258843, 0.7949443533875098, 0.606682351002, 0.7901550123756902, 0.6129070536529768, 0.7853169308807447, 0.6190939493098343, 0.7804304073383295, 0.6252426563357054, 0.7754957431722342, 0.6313527954493781, 0.770513242775789, 0.63742398974869, 0.7654832134930879, 0.6434558647337792, 0.7604059656000307, 0.649448048330184, 0.7552818122851833, 0.6554001709117943, 0.7501110696304593, 0.6613118653236522, 0.7448940565916218, 0.6671827669046, 0.7396310949786093, 0.6730125135097736, 0.7343225094356852, 0.678800745532942, 0.7289686274214112, 0.6845471059286891, 0.723569779188449, 0.6902512402344375, 0.7181262977631885, 0.6959127965923146, 0.7126385189252051, 0.701531425770856, 0.7071067811865471, 0.7071067811865479, 0.7015314257708554, 0.7126385189252057, 0.695912796592314, 0.7181262977631893, 0.6902512402344367, 0.7235697791884497, 0.6845471059286883, 0.7289686274214119, 0.6788007455329413, 0.7343225094356859, 0.673012513509773, 0.73963109497861, 0.6671827669045992, 0.7448940565916224, 0.6613118653236515, 0.7501110696304598, 0.6554001709117935, 0.755281812285184, 0.6494480483301832, 0.7604059656000313, 0.6434558647337785, 0.7654832134930886, 0.6374239897486893, 0.7705132427757896, 0.6313527954493772, 0.7754957431722349, 0.6252426563357047, 0.7804304073383301, 0.6190939493098335, 0.7853169308807453, 0.612907053652976, 0.7901550123756907, 0.6066823510019992, 0.7949443533875105, 0.6004202253258836, 0.7996846584870909, 0.5941210629020379, 0.8043756352700848, 0.5877852522924726, 0.8090169943749478, 0.5814131843198301, 0.8136084495007874, 0.575005252043278, 0.8181497174250238, 0.5685618507342635, 0.8226405180208601, 0.56208337785213, 0.8270805742745622, 0.5555702330196017, 0.8314696123025456, 0.5490228179981311, 0.8358073613682706, 0.5424415366631182, 0.8400935538989422, 0.535826794978996, 0.8443279255020154, 0.52917900097419, 0.848510214981504, 0.5224985647159484, 0.8526401643540925, 0.5157858982850467, 0.8567175188650501, 0.5090414157503707, 0.8607420270039441, 0.5022655331433719, 0.8647134405201554, 0.49545866843240693, 0.8686315144381915, 0.4886212414969544, 0.8724960070727974, 0.48175367410171455, 0.876306680043864, 0.4748563898705939, 0.8800632982911323, 0.46792981426057273, 0.8837656300886938, 0.46097437453546175, 0.8874134470592835, 0.453990499739546, 0.8910065241883682, 0.4469786206711204, 0.8945446398380255, 0.43993916985591447, 0.898027575760616, 0.4328725815204133, 0.901455117112246, 0.4257792915650718, 0.9048270524660199, 0.4186597375374273, 0.9081431738250817, 0.41151435860510804, 0.9114032766354456, 0.4043435955287443, 0.9146071597986138, 0.39714789063477995, 0.9177546256839815, 0.3899276877881875, 0.9208454801410266, 0.382683432365089, 0.9238795325112871, 0.37541557122528235, 0.9268565956401211, 0.36812455268467725, 0.9297764858882517, 0.3608108264876409, 0.9326390231430944, 0.3534748437792563, 0.9354440308298676, 0.3461170570774922, 0.9381913359224844, 0.33873792024529065, 0.9408807689542258, 0.33133788846257006, 0.9435121640281939, 0.3239174181981485, 0.9460853588275456, 0.31647696718158524, 0.9486001946255049, 0.3090169943749466, 0.9510565162951539, 0.30153795994449495, 0.9534541723190015, 0.294040325232303, 0.9557930147983305, 0.2865245527277974, 0.9580728994623194, 0.2789911060392284, 0.9602936856769433, 0.27144044986507343, 0.9624552364536475, 0.2638730499653719, 0.9645574184577984, 0.2562893731329957, 0.9666001020169076, 0.24868988716485388, 0.9685831611286313, 0.2410750608330378, 0.9705064734685427, 0.2334453638559044, 0.9723699203976769, 0.2258012668691027, 0.9741733869698496, 0.21814324139654162, 0.9759167619387477, 0.21047175982130475, 0.9775999377647909, 0.20278729535651163, 0.979222810621766, 0.19509032201612722, 0.9807852804032307, 0.18738131458572363, 0.9822872507286888, 0.1796607485931916, 0.983728628949536, 0.17192910027940864, 0.9851093261547741, 0.16418684656886184, 0.9864292571764957, 0.15643446504022981, 0.9876883405951379, 0.148672433896922, 0.9888864987445047, 0.1409012319375817, 0.9900236577165578, 0.13312133852655123, 0.991099747365975, 0.12533323356430315, 0.992114701314478, 0.1175373974578366, 0.9930684569549264, 0.10973431109104427, 0.9939609554551798, 0.10192445579504908, 0.9947921417617266, 0.09410831331851319, 0.9955619646030801, 0.08628636579792229, 0.9962703764929414, 0.0784590957278439, 0.9969173337331281, 0.07062698593116568, 0.9975027964162702, 0.0627905195293122, 0.9980267284282717, 0.05495017991244461, 0.998489097450538, 0.04710645070964157, 0.99888987496197, 0.03925981575906756, 0.999229036240723, 0.031410759078127064, 0.9995065603657316, 0.02355976483360897, 0.9997224302180006, 0.015707317311819537, 0.9998766324816606, 0.00785390088871024, 0.9999691576447898 }; break;
    22         case "DTLZ7": data = new double[] { 0.0, 4.0, 9.73883E-4, 3.999017179, 0.002118545, 3.997839157, 0.003101416, 3.996807942, 0.003324767, 3.996571068, 0.00413894, 3.995699647, 0.004237091, 3.995593752, 0.004407871, 3.995409065, 0.005162295, 3.99458664, 0.005687323, 3.994007973, 0.006243617, 3.993389191, 0.0068748, 3.992680069, 0.008474181, 3.990849728, 0.009813879, 3.989279693, 0.010592727, 3.988351514, 0.010923336, 3.987954092, 0.01173739, 3.98696684, 0.011893903, 3.986775612, 0.012779232, 3.985685338, 0.012990555, 3.985422942, 0.013969357, 3.984196773, 0.014829818, 3.983104194, 0.016034855, 3.981551092, 0.016948363, 3.980355896, 0.017331149, 3.979850515, 0.018093026, 3.978836633, 0.019173734, 3.977380243, 0.020211571, 3.975961578, 0.021085021, 3.974752452, 0.022330116, 3.973004983, 0.023457823, 3.971398155, 0.024311862, 3.970166084, 0.025422544, 3.968544283, 0.026484563, 3.96697303, 0.02754109, 3.965390113, 0.028222367, 3.964358985, 0.028561679, 3.963842392, 0.028998998, 3.963173616, 0.029659635, 3.962156999, 0.029841996, 3.961875037, 0.03026155, 3.961224139, 0.03085462, 3.960298843, 0.031643435, 3.959058741, 0.03177818, 3.958845836, 0.032353598, 3.957933138, 0.033062434, 3.956801028, 0.033896726, 3.955457581, 0.033992231, 3.955303037, 0.034865479, 3.953882815, 0.035728396, 3.952466779, 0.036015271, 3.951993255, 0.036888498, 3.950543433, 0.037898959, 3.948849962, 0.038133816, 3.948453941, 0.039046746, 3.946905933, 0.040252362, 3.944840782, 0.040792324, 3.943908216, 0.041540863, 3.942607652, 0.042370907, 3.941154986, 0.042550418, 3.940839379, 0.043671384, 3.938857011, 0.044489452, 3.937397818, 0.045505345, 3.935571235, 0.045907957, 3.934842912, 0.046607998, 3.933570604, 0.047720723, 3.93153284, 0.048726543, 3.929674727, 0.049450881, 3.92832722, 0.049871206, 3.927541696, 0.050817373, 3.925763905, 0.051989751, 3.923542899, 0.053001574, 3.921610072, 0.054457387, 3.91880349, 0.055082179, 3.917589828, 0.055832672, 3.916124802, 0.056226842, 3.915352229, 0.057371505, 3.913096628, 0.058019564, 3.911811723, 0.058566843, 3.91072224, 0.059350486, 3.909155285, 0.060108142, 3.907632596, 0.060463933, 3.906914962, 0.061088344, 3.905651554, 0.061279462, 3.905263848, 0.06152013, 3.90477496, 0.062035537, 3.903725488, 0.062454631, 3.902869643, 0.063025923, 3.901699429, 0.063556361, 3.900609251, 0.063849283, 3.900005729, 0.064471244, 3.898720772, 0.065674906, 3.896220665, 0.066515686, 3.894463987, 0.066819569, 3.893827014, 0.067918965, 3.891513538, 0.068569577, 3.890137874, 0.069911997, 3.88728428, 0.070894888, 3.885182224, 0.072030542, 3.88274037, 0.073175205, 3.880265244, 0.074393674, 3.877615552, 0.07529375, 3.87564855, 0.076554151, 3.872880603, 0.07719629, 3.871464483, 0.077784627, 3.870163566, 0.078386178, 3.868830074, 0.079336513, 3.866716614, 0.080504723, 3.864107465, 0.08138735, 3.862128209, 0.082071151, 3.860590221, 0.082623269, 3.859345545, 0.083115079, 3.858234702, 0.083767932, 3.856757076, 0.084719063, 3.854598268, 0.085148153, 3.85362204, 0.085951816, 3.851789836, 0.08615008, 3.851337084, 0.08686036, 3.849712724, 0.087044493, 3.849291024, 0.087684392, 3.847823646, 0.088728316, 3.845423621, 0.088978905, 3.844846395, 0.090211805, 3.842000367, 0.09109745, 3.839949895, 0.091764608, 3.838402055, 0.09248206, 3.836734539, 0.093215996, 3.835025599, 0.09404135, 3.83310016, 0.094360658, 3.832354253, 0.095438343, 3.829832786, 0.096308296, 3.827793026, 0.096536875, 3.827256465, 0.097176186, 3.825754437, 0.097453086, 3.825103282, 0.098342567, 3.823009252, 0.098581746, 3.822445583, 0.099294772, 3.820763766, 0.099571632, 3.820110171, 0.099682199, 3.819849063, 0.101690177, 3.815099079, 0.10283484, 3.812384963, 0.103680836, 3.810376354, 0.104953385, 3.807351127, 0.10567761, 3.805627538, 0.106373993, 3.803969039, 0.10707193, 3.802305775, 0.107484787, 3.801321429, 0.108216593, 3.79957586, 0.108532226, 3.798822701, 0.108920625, 3.797895693, 0.109638323, 3.796182156, 0.11050701, 3.794107248, 0.111054009, 3.792800295, 0.111653991, 3.791366443, 0.112282904, 3.789863172, 0.112798891, 3.788629657, 0.113427567, 3.787126608, 0.11395076, 3.785875675, 0.114552583, 3.784436711, 0.115344166, 3.78254409, 0.115525051, 3.782111627, 0.116301907, 3.780254461, 0.116519994, 3.779733155, 0.116663902, 3.779389181, 0.117373993, 3.777692111, 0.117774972, 3.776733986, 0.11863854, 3.774671086, 0.119783203, 3.771938151, 0.120773237, 3.769576029, 0.121123098, 3.768741712, 0.12186837, 3.766965263, 0.122216277, 3.766136385, 0.122875631, 3.76456625, 0.12389633, 3.762137754, 0.124778637, 3.760040807, 0.124994176, 3.759528889, 0.126138839, 3.756812683, 0.127806497, 3.752863467, 0.129231267, 3.749497869, 0.130375929, 3.746800164, 0.13139237, 3.744409673, 0.131680016, 3.743734083, 0.133468357, 3.739543309, 0.134327753, 3.737535543, 0.134627752, 3.736835655, 0.135586903, 3.73460154, 0.136639021, 3.732157328, 0.137705448, 3.729687094, 0.138673847, 3.72745052, 0.139332482, 3.725933085, 0.139823993, 3.72480271, 0.140662268, 3.722878939, 0.140968656, 3.722177119, 0.141511861, 3.720934608, 0.142135471, 3.719511017, 0.143044384, 3.717441699, 0.143087201, 3.717344383, 0.144031205, 3.715202716, 0.145205747, 3.712548642, 0.146275703, 3.710141511, 0.147324292, 3.707792615, 0.147731978, 3.706882165, 0.148599186, 3.704950815, 0.149005568, 3.704048296, 0.14970992, 3.702487919, 0.15041672, 3.70092717, 0.150942277, 3.69976998, 0.151561383, 3.698410527, 0.151742011, 3.698014663, 0.152676144, 3.695973036, 0.152979237, 3.695312646, 0.153744836, 3.693649066, 0.154653811, 3.69168253, 0.154772798, 3.691425805, 0.155668611, 3.689498296, 0.155777178, 3.689265335, 0.156772356, 3.68713643, 0.157318331, 3.685973549, 0.158316934, 3.683856091, 0.158890902, 3.682644681, 0.160035564, 3.680241306, 0.161427564, 3.677341622, 0.162525026, 3.675073749, 0.163127992, 3.673834731, 0.164272655, 3.671496503, 0.164909748, 3.670203111, 0.165531823, 3.668945821, 0.166055305, 3.667892147, 0.166554166, 3.666891761, 0.167021186, 3.66595856, 0.167365083, 3.66527346, 0.1676542, 3.664698861, 0.167887929, 3.664235263, 0.168519948, 3.66298581, 0.168903976, 3.662229596, 0.169483628, 3.661092471, 0.169844724, 3.660386736, 0.170628291, 3.658862339, 0.172379221, 3.655491336, 0.173354177, 3.653635862, 0.173720719, 3.652942341, 0.174682974, 3.651132368, 0.175486922, 3.649632152, 0.175839264, 3.648978134, 0.176329497, 3.648071718, 0.176678815, 3.647428382, 0.177369296, 3.646162987, 0.17795781, 3.64509107, 0.178365156, 3.644352721, 0.178989202, 3.643227328, 0.179496397, 3.642317817, 0.180076355, 3.641283534, 0.180934979, 3.639763567, 0.181370872, 3.638997129, 0.1821949, 3.637557878, 0.182893231, 3.636348138, 0.183339563, 3.635579772, 0.183890644, 3.634636314, 0.184551421, 3.633512733, 0.185640245, 3.631679739, 0.186431991, 3.630361423, 0.18732869, 3.628883322, 0.187769089, 3.628163247, 0.188550536, 3.626895136, 0.189890681, 3.62474924, 0.190669082, 3.623519748, 0.191813745, 3.621734589, 0.192361904, 3.620889424, 0.192984816, 3.619936706, 0.19393229, 3.618503405, 0.194868585, 3.617105933, 0.195344181, 3.616403338, 0.196050835, 3.615368496, 0.19710289, 3.613848129, 0.197583499, 3.613161716, 0.198169381, 3.612331896, 0.19838981, 3.612021672, 0.198701189, 3.611585304, 0.199188768, 3.610906385, 0.199804475, 3.610056721, 0.200416201, 3.609221065, 0.20098432, 3.608452622, 0.201261809, 3.608079974, 0.201827368, 3.607325949, 0.202147577, 3.606902306, 0.202296963, 3.606705477, 0.202951966, 3.605848567, 0.203380354, 3.605293532, 0.203540797, 3.605086759, 0.204009699, 3.604485917, 0.204574797, 3.603768682, 0.205498899, 3.602612054, 0.2057032, 3.602359084, 0.207153207, 3.60059232, 0.207617445, 3.600037349, 0.208638127, 3.598835529, 0.20973599, 3.597571171, 0.210451929, 3.596762588, 0.210669122, 3.596519788, 0.211854535, 3.595215214, 0.212098544, 3.594951015, 0.212650746, 3.594358612, 0.213320276, 3.593650592, 0.213606681, 3.593351164, 0.213973081, 3.592971121, 0.214490459, 3.592440257, 0.214588828, 3.592340092, 0.215288205, 3.591635031, 0.215618868, 3.591306018, 0.215644436, 3.591280694, 0.216091626, 3.590840471, 0.21643313, 3.590507736, 0.216697331, 3.590252373, 0.217341398, 3.589637377, 0.218210171, 3.588824786, 0.220328717, 3.586925526, 0.220880069, 3.586450511, 0.221785259, 3.585688016, 0.222078286, 3.585445822, 0.222447262, 3.585144091, 0.223116724, 3.584605871, 0.223439205, 3.584350868, 0.224443496, 3.58357452, 0.224565807, 3.583481814, 0.226684353, 3.581939967, 0.227456043, 3.581408503, 0.228173636, 3.580928826, 0.228194805, 3.580914889, 0.228802898, 3.580519754, 0.230921444, 3.579222314, 0.233039989, 3.578048718, 0.233983346, 3.577566249, 0.23497617, 3.57708531, 0.235158534, 3.576999968, 0.235993146, 3.576621295, 0.236112581, 3.576568705, 0.23727708, 3.576076997, 0.238809011, 3.575488442, 0.239395625, 3.575280668, 0.239931537, 3.575099392, 0.24151417, 3.574611771, 0.242382305, 3.574374649, 0.242877715, 3.574248995, 0.243632716, 3.574071025, 0.243681933, 3.574059991, 0.244602654, 3.5738664, 0.245751261, 3.573659076, 0.246574343, 3.573533894, 0.246997254, 3.573477178, 0.247201082, 3.573451689, 0.247869806, 3.573376497, 0.249089158, 3.57327271, 0.249091549, 3.573272549, 0.249988352, 3.573223785, 0.250122417, 3.5732185, 0.250284937, 3.573212794, 0.250359916, 3.57321042, 0.250751423, 3.573200676, 0.25078834, 3.573199987, 0.251347018, 3.573194396, 0.633081228, 3.563981681, 0.633445061, 3.561665745, 0.634013432, 3.558038512, 0.634344623, 3.555919688, 0.635289666, 3.549852728, 0.635451846, 3.548808459, 0.635554931, 3.548144232, 0.635563606, 3.548088321, 0.635716515, 3.547102334, 0.636529485, 3.541846726, 0.637682151, 3.534356694, 0.638976906, 3.525890432, 0.639100429, 3.525079836, 0.639800697, 3.520475023, 0.64069334, 3.514582114, 0.641919242, 3.506447559, 0.644037787, 3.492278642, 0.644563528, 3.488741072, 0.646156333, 3.477972702, 0.64642896, 3.476122008, 0.647067828, 3.471776594, 0.648274878, 3.463534256, 0.650393423, 3.448967909, 0.65152559, 3.441132724, 0.652511969, 3.434278347, 0.652606102, 3.433622862, 0.653180569, 3.429617594, 0.654630514, 3.419470342, 0.656613952, 3.405503643, 0.65674906, 3.404548744, 0.657914647, 3.396292477, 0.658393353, 3.392892303, 0.658867605, 3.389518482, 0.659463189, 3.385274161, 0.660395314, 3.378615362, 0.66098615, 3.374384563, 0.66100207, 3.374270462, 0.661314581, 3.372029447, 0.662141569, 3.366088913, 0.662350808, 3.364583551, 0.663104696, 3.35915207, 0.663215483, 3.358352885, 0.663546534, 3.355963271, 0.665223241, 3.343826155, 0.667341786, 3.328412045, 0.668756677, 3.318071085, 0.669460332, 3.312915034, 0.670568495, 3.304777665, 0.670626352, 3.30435225, 0.670898461, 3.302350706, 0.671578877, 3.297340483, 0.672303078, 3.291999685, 0.672742495, 3.288755079, 0.672908059, 3.287531801, 0.673697422, 3.281693818, 0.674296988, 3.277253348, 0.675166493, 3.270804444, 0.675815968, 3.265980526, 0.677440338, 3.253890878, 0.67762047, 3.252548111, 0.677934513, 3.250206156, 0.678107346, 3.248916742, 0.678336838, 3.247204063, 0.680053058, 3.234376315, 0.681364134, 3.224554602, 0.682171604, 3.218496665, 0.682472585, 3.216236933, 0.684290149, 3.20257292, 0.684465747, 3.201251266, 0.685372432, 3.194422935, 0.685624421, 3.192524013, 0.686408694, 3.186610847, 0.686431418, 3.18643945, 0.686501648, 3.185909704, 0.687156281, 3.18097013, 0.687901285, 3.175345127, 0.68852724, 3.17061626, 0.690280652, 3.15735794, 0.690379062, 3.156613349, 0.690477025, 3.155872085, 0.690645785, 3.154595021, 0.691153007, 3.15075592, 0.691302032, 3.14962775, 0.692138617, 3.143292853, 0.692764331, 3.138553034, 0.692946954, 3.137169403, 0.693773791, 3.130903657, 0.694195809, 3.127704892, 0.694482169, 3.125534125, 0.694757008, 3.123450526, 0.694882876, 3.122496245, 0.695763127, 3.115821744, 0.696891312, 3.107265754, 0.697001421, 3.106430638, 0.697163073, 3.105204587, 0.699119967, 3.090362232, 0.699510606, 3.087399546, 0.700055289, 3.083268826, 0.701109499, 3.075275193, 0.701238512, 3.074297083, 0.702573249, 3.064180039, 0.703357057, 3.058241274, 0.703703447, 3.055617398, 0.704351988, 3.050705959, 0.705475603, 3.042200918, 0.707594148, 3.026182155, 0.707901645, 3.023859268, 0.708334819, 3.020588015, 0.709247761, 3.013697817, 0.709712693, 3.010191144, 0.711386954, 2.997577344, 0.711521984, 2.99656105, 0.711831239, 2.994234068, 0.712019305, 2.992819388, 0.713304419, 2.983161225, 0.71373404, 2.979936025, 0.713949784, 2.978317126, 0.714006674, 2.977890318, 0.714564122, 2.973709909, 0.715358423, 2.967759083, 0.716068329, 2.96244653, 0.716233707, 2.961209772, 0.716550149, 2.958844205, 0.718186875, 2.946628508, 0.719316979, 2.938214292, 0.719539017, 2.936563153, 0.719975774, 2.933317312, 0.72030542, 2.930869294, 0.720885501, 2.926565327, 0.721319669, 2.923347245, 0.721370779, 2.922968604, 0.722423965, 2.915175128, 0.72362042, 2.906342902, 0.723683421, 2.905878483, 0.723904473, 2.904249492, 0.724542511, 2.899552256, 0.724938207, 2.896642661, 0.725022677, 2.896021901, 0.726661056, 2.884006922, 0.728311703, 2.871952661, 0.728779602, 2.868545372, 0.729722259, 2.861694244, 0.729835779, 2.860870425, 0.730898147, 2.853173842, 0.73194979, 2.845578799, 0.733016692, 2.837898564, 0.735135238, 2.822725758, 0.735547545, 2.819785297, 0.735735612, 2.818445429, 0.736116868, 2.815731893, 0.737253783, 2.807661631, 0.738466728, 2.799088177, 0.738490891, 2.798917777, 0.739038626, 2.795059231, 0.739372328, 2.792712372, 0.740989598, 2.781381443, 0.741217037, 2.779793777, 0.741356561, 2.778820529, 0.741490874, 2.777884152, 0.74232067, 2.772110533, 0.742719029, 2.769345834, 0.743609419, 2.763183121, 0.744506563, 2.756997475, 0.745727964, 2.748615402, 0.745776123, 2.748285846, 0.746650879, 2.742312419, 0.747036807, 2.73968471, 0.74784651, 2.734187091, 0.749965055, 2.719904253, 0.750562701, 2.715902176, 0.750722011, 2.714837421, 0.7520836, 2.705772919, 0.752129198, 2.705470482, 0.753011778, 2.69963096, 0.753709704, 2.695032846, 0.753945341, 2.69348437, 0.754202146, 2.691799085, 0.754338082, 2.690907973, 0.756320691, 2.677988705, 0.75768341, 2.669194548, 0.758439236, 2.664347693, 0.758948442, 2.661094889, 0.759378835, 2.658353499, 0.760521279, 2.651112417, 0.760557782, 2.650881918, 0.761273634, 2.646372499, 0.761607637, 2.644275621, 0.761614127, 2.644234924, 0.762128661, 2.641013763, 0.762676327, 2.637597198, 0.763381206, 2.633218266, 0.764794873, 2.624499303, 0.766051145, 2.616822982, 0.766913418, 2.611593949, 0.769031963, 2.598886795, 0.769040574, 2.598835559, 0.769734092, 2.594720079, 0.771033352, 2.587069463, 0.771150509, 2.586383441, 0.771651485, 2.58345715, 0.773269054, 2.574089424, 0.774086498, 2.569402891, 0.77519275, 2.563112065, 0.775387599, 2.562010218, 0.777506145, 2.550151228, 0.779074847, 2.541515143, 0.779352837, 2.539997799, 0.77962469, 2.538517789, 0.780183682, 2.5354865, 0.781743235, 2.527115164, 0.781778012, 2.526929939, 0.783015149, 2.520382406, 0.783861781, 2.515948539, 0.785980326, 2.505023022, 0.78708041, 2.499446572, 0.787850627, 2.495582123, 0.788098871, 2.494343641, 0.788443807, 2.492628493, 0.790061822, 2.484672588, 0.790217417, 2.48391534, 0.791103133, 2.479631094, 0.791283689, 2.478763257, 0.792124822, 2.474745163, 0.792335962, 2.473742975, 0.792597334, 2.472505946, 0.792829137, 2.471412194, 0.792907378, 2.471043723, 0.794454508, 2.463831316, 0.794681985, 2.462782756, 0.794905154, 2.461757029, 0.796573053, 2.45418504, 0.796756467, 2.45336254, 0.79697979, 2.452363816, 0.797528331, 2.449923456, 0.798691598, 2.444808732, 0.800810144, 2.435706879, 0.80125361, 2.433836772, 0.801658624, 2.432139531, 0.801682114, 2.43204141, 0.802928689, 2.42688387, 0.804828056, 2.419214247, 0.804862594, 2.41907691, 0.805047234, 2.418343993, 0.805668172, 2.415895249, 0.806118097, 2.414136396, 0.806748309, 2.41169472, 0.807028355, 2.410617961, 0.80716578, 2.410091433, 0.8076606, 2.408205747, 0.807890119, 2.407336493, 0.808473103, 2.405144034, 0.809284325, 2.40213027, 0.810313381, 2.398369578, 0.81140287, 2.394464474, 0.81142326, 2.394392144, 0.811511747, 2.394078563, 0.811834853, 2.392937981, 0.813521416, 2.387097907, 0.814873877, 2.38255337, 0.815323297, 2.381070727, 0.815639961, 2.380034318, 0.815757105, 2.379652654, 0.816999693, 2.375662064, 0.817758506, 2.373277339, 0.818573848, 2.370759311, 0.819091061, 2.369185898, 0.819604307, 2.367642954, 0.819877052, 2.36683049, 0.819969278, 2.366556937, 0.820706643, 2.36439124, 0.821087983, 2.363286166, 0.821240282, 2.36284768, 0.821585068, 2.36186103, 0.821995597, 2.360697168, 0.824114142, 2.354880653, 0.825079962, 2.352334971, 0.825989567, 2.349998523, 0.826232688, 2.349384098, 0.827611973, 2.345978963, 0.82822352, 2.344513213, 0.828351233, 2.344210536, 0.82928922, 2.342023859, 0.830469779, 2.33936287, 0.83084978, 2.338528034, 0.831376156, 2.337389123, 0.831756349, 2.336579168, 0.832209104, 2.335628506, 0.832530833, 2.334962146, 0.832588324, 2.334843877, 0.834122136, 2.331778778, 0.834706869, 2.330656201, 0.835283053, 2.329574913, 0.835507376, 2.32916063, 0.836644656, 2.327118088, 0.836825415, 2.326802357, 0.837782557, 2.325171345, 0.838814738, 2.323489616, 0.83894396, 2.323284726, 0.838963313, 2.323254148, 0.839669544, 2.322157668, 0.839881809, 2.321835473, 0.840074708, 2.321545628, 0.840818146, 2.320454911, 0.841062505, 2.320105552, 0.842020433, 2.318779737, 0.842464397, 2.318188936, 0.843181051, 2.317266945, 0.843741449, 2.316573286, 0.84514172, 2.31494503, 0.845299596, 2.314770874, 0.846195139, 2.313819196, 0.84674076, 2.313269597, 0.847418141, 2.31261917, 0.848342279, 2.311788876, 0.848447048, 2.311698908, 0.848695964, 2.311488558, 0.849536687, 2.310813524, 0.850435945, 2.310152085, 0.851655232, 2.309355481, 0.851695176, 2.309331339, 0.85184832, 2.309239927, 0.852498121, 2.308872359, 0.852829466, 2.308697587, 0.853298137, 2.308464989, 0.853773777, 2.308246446, 0.855892323, 2.307487677, 0.855949978, 2.307471934, 0.858010868, 2.307080286, 0.858212683, 2.307059845, 0.858848974, 2.307016337, 0.859117061, 2.307007532, 1.360106117, 2.300331873, 1.361107485, 2.286656902, 1.362062591, 2.273625911, 1.362224662, 2.271415955, 1.363066272, 2.25994617, 1.363135868, 2.258998167, 1.363625216, 2.252334639, 1.364343208, 2.242564612, 1.36512105, 2.231990003, 1.366461753, 2.213788971, 1.366497477, 2.213304448, 1.366542777, 2.212690088, 1.366777229, 2.209511099, 1.367401688, 2.201049229, 1.368047892, 2.192301096, 1.368580298, 2.185100161, 1.370698844, 2.156509311, 1.371026765, 2.152093312, 1.372667455, 2.13003944, 1.372817389, 2.128027541, 1.374935934, 2.099665958, 1.375082714, 2.097705715, 1.375458639, 2.092688128, 1.376033154, 2.085028067, 1.376116074, 2.083923304, 1.376762158, 2.075322725, 1.37705448, 2.071435656, 1.377935399, 2.059738387, 1.378374964, 2.053911094, 1.378550596, 2.051584535, 1.379107478, 2.044214494, 1.379173025, 2.043347704, 1.379410605, 2.040207193, 1.379565212, 2.038164538, 1.379750247, 2.035720949, 1.379852342, 2.034373174, 1.38129157, 2.015413147, 1.381466618, 2.013112222, 1.383410116, 1.987643001, 1.383915921, 1.981038367, 1.384845952, 1.968920928, 1.385528661, 1.960048243, 1.387647206, 1.932639813, 1.388149815, 1.926165911, 1.38926416, 1.911852794, 1.389720005, 1.906014027, 1.389765752, 1.905428607, 1.390049912, 1.901794361, 1.391598011, 1.882061944, 1.391884297, 1.878425468, 1.393609938, 1.856591568, 1.394002842, 1.85164119, 1.396121388, 1.825086505, 1.397046434, 1.813566348, 1.398239933, 1.798772082, 1.39996485, 1.777531715, 1.400358479, 1.772708525, 1.400899773, 1.766090724, 1.402477024, 1.746906363, 1.404595569, 1.721376048, 1.405213198, 1.71398576, 1.405375473, 1.712048049, 1.40553971, 1.710088626, 1.406601365, 1.697464378, 1.406656223, 1.696814039, 1.406714115, 1.696127951, 1.40883266, 1.671172358, 1.409781222, 1.660096192, 1.410513152, 1.65159164, 1.410951205, 1.646519463, 1.412202946, 1.632099689, 1.413060235, 1.622287982, 1.413069751, 1.622179366, 1.415188296, 1.598162065, 1.415844839, 1.590786104, 1.417306841, 1.574477458, 1.419425387, 1.551135329, 1.419519831, 1.550102873, 1.420148725, 1.543245751, 1.42150298, 1.528586356, 1.421543932, 1.528145356, 1.42229192, 1.520114271, 1.423139781, 1.511065906, 1.423662477, 1.505517093, 1.424165194, 1.500201696, 1.42475078, 1.494036606, 1.425781023, 1.483259977, 1.427899568, 1.461383319, 1.428497914, 1.45527481, 1.428763053, 1.452578001, 1.428818412, 1.452015704, 1.429362833, 1.446500213, 1.430018113, 1.439896297, 1.430019898, 1.439878361, 1.432136659, 1.418807958, 1.432183095, 1.41835026, 1.434255204, 1.398127209, 1.435501356, 1.386156489, 1.43637375, 1.377862816, 1.437678861, 1.365590111, 1.438492295, 1.358023398, 1.438615419, 1.356883634, 1.43887842, 1.354453929, 1.439071236, 1.352676881, 1.44061084, 1.338617422, 1.441687146, 1.32892712, 1.442061668, 1.325582123, 1.442729386, 1.319653204, 1.442889685, 1.318236484, 1.442999346, 1.317268797, 1.444136638, 1.307304328, 1.444847931, 1.301138898, 1.445174405, 1.29832631, 1.44549951, 1.295536354, 1.445571166, 1.294922876, 1.446006692, 1.291205516, 1.446966476, 1.283082499, 1.4478703, 1.275520474, 1.448662717, 1.268960774, 1.449085022, 1.265491835, 1.450021442, 1.257866988, 1.450556585, 1.253551344, 1.450620981, 1.253034078, 1.451203567, 1.248374565, 1.451612541, 1.245125313, 1.451941884, 1.242521783, 1.452470942, 1.238363935, 1.453322112, 1.231738173, 1.453542587, 1.230034765, 1.454147455, 1.225388717, 1.45540924, 1.215825842, 1.455420873, 1.215738494, 1.455440658, 1.215589969, 1.45735285, 1.201439753, 1.457559203, 1.199937081, 1.459197908, 1.188173652, 1.459677748, 1.184786453, 1.459999482, 1.182529953, 1.46145935, 1.172439207, 1.461796294, 1.170144844, 1.462168662, 1.167624441, 1.463152496, 1.161042176, 1.463914839, 1.15601882, 1.464771457, 1.150454913, 1.465610372, 1.14508909, 1.466033384, 1.142414756, 1.467214619, 1.135058501, 1.46815193, 1.129338827, 1.468595981, 1.126665602, 1.468638391, 1.126411518, 1.469363399, 1.122101151, 1.470270475, 1.116797011, 1.471319824, 1.110784433, 1.472293183, 1.105326277, 1.472389021, 1.104795081, 1.473997287, 1.096047888, 1.474507566, 1.093338605, 1.474704897, 1.092299455, 1.475710807, 1.087076748, 1.476626111, 1.082432942, 1.477383101, 1.078670733, 1.478482276, 1.07333471, 1.478744657, 1.072083241, 1.480325601, 1.064725064, 1.480863202, 1.062294433, 1.481299236, 1.060349758, 1.482238851, 1.056240795, 1.482981747, 1.053071237, 1.483610201, 1.050444678, 1.483754539, 1.049848528, 1.484136197, 1.04828498, 1.484424627, 1.047115689, 1.485100293, 1.044418148, 1.485310005, 1.043592763, 1.485433055, 1.043111084, 1.486385802, 1.039447295, 1.486701969, 1.038257238, 1.486932051, 1.037399291, 1.487218838, 1.036339441, 1.48835076, 1.032259893, 1.489337383, 1.028839168, 1.489697107, 1.027623364, 1.489777289, 1.027354654, 1.489777449, 1.027354119, 1.490273657, 1.025709788, 1.490965873, 1.02346945, 1.491455929, 1.021921153, 1.493574474, 1.015588991, 1.494960431, 1.011765096, 1.495446776, 1.010483198, 1.495693019, 1.009846047, 1.497113281, 1.006327488, 1.497811565, 1.004695453, 1.498208998, 1.003795439, 1.499718902, 1.000567459, 1.49993011, 1.000140105, 1.502048655, 0.996182665, 1.502117779, 0.996063643, 1.502621706, 0.995215266, 1.504167201, 0.992825554, 1.505916752, 0.990507313, 1.506040081, 0.990359429, 1.506285746, 0.990070955, 1.508385994, 0.987936785, 1.508404292, 0.987920807, 1.510522837, 0.98637681, 1.510630411, 0.986314608, 1.510851135, 0.986191886, 1.511253215, 0.985985289, 1.511612283, 0.985819305, 1.512011306, 0.98565535, 1.512641382, 0.985440415, 1.512835783, 0.98538497, 1.513429421, 0.985247395, 1.514759928, 0.985112831, 2.052067548, 0.980863769, 2.052501045, 0.972837924, 2.052870447, 0.966009129, 2.053632561, 0.951951173, 2.053633247, 0.951938536, 2.054182121, 0.941839819, 2.054912438, 0.928436768, 2.054988993, 0.927034086, 2.055168011, 0.923755687, 2.055637353, 0.915171856, 2.056650436, 0.896700119, 2.057010511, 0.890153692, 2.057107538, 0.888391383, 2.057649622, 0.878558927, 2.057995875, 0.872290521, 2.058139868, 0.869686541, 2.059226083, 0.850096432, 2.0593859, 0.847222116, 2.05954268, 0.844404415, 2.061344629, 0.812164537, 2.06312976, 0.780495336, 2.063374784, 0.776169947, 2.063463174, 0.774610882, 2.063546335, 0.773144679, 2.065581719, 0.737450533, 2.065824549, 0.733216986, 2.067582859, 0.702724221, 2.067656809, 0.701448078, 2.067700265, 0.700698424, 2.068480389, 0.687270778, 2.06981881, 0.664369354, 2.071568036, 0.63470268, 2.071937355, 0.628477981, 2.072727939, 0.615199396, 2.07303992, 0.609976863, 2.074055901, 0.593038816, 2.074438497, 0.586688037, 2.075335536, 0.571858101, 2.076174446, 0.558066214, 2.077539054, 0.535793172, 2.078292992, 0.523574371, 2.07852233, 0.519869971, 2.079323233, 0.506979048, 2.080411537, 0.489577318, 2.08193238, 0.465484642, 2.082088441, 0.463027416, 2.082530082, 0.456088912, 2.082730516, 0.452947444, 2.082863551, 0.450864919, 2.08393995, 0.434091388, 2.084534914, 0.424878809, 2.084648628, 0.423122832, 2.086767173, 0.390692572, 2.086782682, 0.390457174, 2.088324371, 0.367204715, 2.088885718, 0.358811438, 2.089072882, 0.356021729, 2.089328656, 0.352216477, 2.090763936, 0.331016677, 2.091004264, 0.327492538, 2.091386856, 0.321897535, 2.093122809, 0.296748781, 2.095155317, 0.267805938, 2.095196274, 0.267228345, 2.095241354, 0.266592866, 2.097314573, 0.237663259, 2.0973599, 0.237037281, 2.098278926, 0.224405851, 2.099055424, 0.213823964, 2.099427977, 0.208776558, 2.09945392, 0.208425793, 2.099478445, 0.208094294, 2.099845351, 0.203144847, 2.100920756, 0.188746502, 2.100937171, 0.188527987, 2.101135634, 0.185889038, 2.10159699, 0.179775952, 2.103715536, 0.152094071, 2.105834081, 0.125060232, 2.105902302, 0.124200588, 2.106626914, 0.115112187, 2.107523112, 0.103979117, 2.107952626, 0.098685778, 2.109752438, 0.07680567, 2.110071172, 0.072981807, 2.112189717, 0.047959168, 2.112503167, 0.044315443, 2.11351324, 0.032677227, 2.114308263, 0.023628454, 2.114679178, 0.019440572, 2.114930512, 0.016615121, 2.115302919, 0.012446829, 2.115308422, 0.012385399, 2.116426808, 0.0 }; break;
    23         case "Fonseca": data = new double[] { 1.76662688E-4, 0.9808196953, 2.622482087E-4, 0.9804637139, 4.757736926E-4, 0.9801036725, 6.892535714E-4, 0.9797369958, 9.026878548E-4, 0.9793635615, 0.001243925512, 0.9789859349, 0.001585046622, 0.9786013982, 0.001926051222, 0.9782098248, 0.002394641013, 0.9778139261, 0.002863010803, 0.9774108343, 0.003331160697, 0.977000419, 0.003926596353, 0.9765855441, 0.00452167628, 0.9761631856, 0.005116400691, 0.9757332084, 0.005838030675, 0.9752986372, 0.006559137231, 0.9748562836, 0.007279720739, 0.9744060083, 0.00812674948, 0.9739510039, 0.008973055502, 0.9734879105, 0.009818639422, 0.9730165844, 0.01079012882, 0.9725403942, 0.01176066507, 0.9720558005, 0.01273024911, 0.9715626548, 0.01382512033, 0.9710645104, 0.01491877735, 0.9705576398, 0.01601122151, 0.9700418902, 0.017228257, 0.9695210077, 0.01844378722, 0.9689910686, 0.01965781402, 0.9684519154, 0.02099565984, 0.967907496, 0.02233167993, 0.9673536817, 0.0236658768, 0.9667903103, 0.02512304517, 0.9662215409, 0.02657803872, 0.9656430303, 0.02803086072, 0.9650546119, 0.0296057328, 0.9644606651, 0.03117805314, 0.9638566234, 0.03274782586, 0.9632423151, 0.03443865486, 0.9626223504, 0.03612652816, 0.9619919293, 0.03781145094, 0.9613508752, 0.03961636531, 0.9607040392, 0.04141789396, 0.9600463777, 0.04321604321, 0.9593777095, 0.04513305022, 0.9587031367, 0.04704621631, 0.958017362, 0.0489555492, 0.9573201994, 0.05098253857, 0.956617013, 0.05300520776, 0.955902241, 0.05502356598, 0.9551756926, 0.05715831386, 0.9544430053, 0.05928823925, 0.9536983417, 0.06141335303, 0.952941506, 0.06365352609, 0.9521784208, 0.06588835242, 0.9514029616, 0.06811784477, 0.9506149279, 0.07046100449, 0.9498205391, 0.07279827248, 0.949013372, 0.07512966355, 0.9481932211, 0.07757327066, 0.9473666151, 0.0800104215, 0.9465268202, 0.08244113312, 0.9456736259, 0.08498255227, 0.9448138827, 0.0875169323, 0.9439405335, 0.09004429269, 0.9430533632, 0.0926807972, 0.942159557, 0.09530966269, 0.941251722, 0.09793091132, 0.9403296381, 0.1006596881, 0.9394008389, 0.1033802102, 0.9384575824, 0.1060925027, 0.9374996436, 0.1089106573, 0.9365349181, 0.1117199272, 0.9355553016, 0.1145203405, 0.9345605641, 0.1174249021, 0.9335589774, 0.1203199361, 0.9325420608, 0.1232054737, 0.9315095798, 0.1261934006, 0.9304701964, 0.1291711452, 0.9294150398, 0.1321387424, 0.9283438706, 0.1352069272, 0.9272657562, 0.1382642649, 0.926171421, 0.1413107939, 0.9250606207, 0.1444560691, 0.9239428437, 0.1475898234, 0.9228083941, 0.1507120992, 0.9216570234, 0.1539312422, 0.920498656, 0.1571381834, 0.9193231611, 0.1603329689, 0.9181302855, 0.1636227081, 0.9169304058, 0.1668995584, 0.9157129408, 0.1701635703, 0.9144776326, 0.1735205902, 0.9132353263, 0.1768640296, 0.9119749742, 0.1801939435, 0.9106963141, 0.1836148905, 0.9094106763, 0.1870215624, 0.9081065301, 0.1904140186, 0.906783609, 0.1938955065, 0.9054537456, 0.1973620229, 0.9041049098, 0.2008136321, 0.9027368309, 0.2043522477, 0.901361861, 0.2078751951, 0.8999674536, 0.2113825437, 0.8985533341, 0.2149748521, 0.8971323917, 0.218550797, 0.8956915464, 0.2221104526, 0.8942305195, 0.2257530033, 0.8927627555, 0.2293784974, 0.8912746234, 0.2329870147, 0.8897658404, 0.2366763464, 0.8882504249, 0.2403479324, 0.8867141766, 0.2440018582, 0.8851568092, 0.2477345046, 0.8835929333, 0.2514487216, 0.8820077613, 0.2551446002, 0.8804010033, 0.2589170954, 0.8787878814, 0.262670484, 0.8771530021, 0.2664048626, 0.875496072, 0.2702137463, 0.873832944, 0.2740028539, 0.8721475999, 0.2777722882, 0.8704397429, 0.2816141105, 0.8687258765, 0.2854354966, 0.8669893384, 0.2892365553, 0.8652298289, 0.2931078825, 0.8634645216, 0.2969581237, 0.8616760912, 0.3007873938, 0.8598642348, 0.3046848129, 0.8580468166, 0.3085605078, 0.8562058284, 0.3124145995, 0.8543409645, 0.3163347232, 0.8524708001, 0.3202324971, 0.8505766241, 0.3241080487, 0.8486581281, 0.3280475201, 0.8467346191, 0.3319640301, 0.8447866629, 0.3358577125, 0.8428139488, 0.3398132097, 0.8408365364, 0.3437451487, 0.8388342479, 0.3476536699, 0.8368067705, 0.3516219105, 0.8347749374, 0.3555660121, 0.832717807, 0.3594861217, 0.8306350644, 0.3634638669, 0.8285483379, 0.3674169094, 0.8264359011, 0.3713454026, 0.8242974371, 0.3753294618, 0.822155391, 0.3792882723, 0.8199872304, 0.3832219941, 0.8177926372, 0.3872092284, 0.8155948943, 0.3911706867, 0.8133706427, 0.3951065358, 0.8111195628, 0.399093862, 0.8088657975, 0.4030549046, 0.8065851399, 0.4069898368, 0.8042772689, 0.410974231, 0.8019672096, 0.4149318543, 0.7996298854, 0.4188628866, 0.7972649745, 0.4228413876, 0.7948984058, 0.4267926516, 0.7925042117, 0.4307168649, 0.7900820697, 0.4346865776, 0.7876588349, 0.4386286088, 0.7852076269, 0.4425431514, 0.7827281229, 0.4465012497, 0.7802481262, 0.4504312444, 0.7777398222, 0.454333335, 0.7752028877, 0.4582770646, 0.7726660967, 0.4621922915, 0.7701006784, 0.4660792217, 0.7675063099, 0.4700059031, 0.7649127576, 0.4739037061, 0.7622902733, 0.477772843, 0.7596385341, 0.4816798738, 0.7569883214, 0.4855576743, 0.7543088875, 0.4894064631, 0.7515999103, 0.4932913201, 0.7488932079, 0.4971466191, 0.7461570117, 0.500972585, 0.7433910004, 0.5048328265, 0.7406280509, 0.508663207, 0.7378353523, 0.5124639575, 0.7350125843, 0.516297225, 0.7321937045, 0.5201003534, 0.7293448381, 0.5238735795, 0.726465666, 0.5276775997, 0.7235912484, 0.5314512276, 0.7206866253, 0.535194706, 0.7177514791, 0.5389672918, 0.7148219942, 0.5427092575, 0.7118621039, 0.5464208515, 0.7088714927, 0.5501599037, 0.7058874904, 0.5538681332, 0.7028729027, 0.5575457942, 0.6998274162, 0.5612493022, 0.6967895276, 0.5649218105, 0.6937208941, 0.5685635786, 0.6906212045, 0.5722296217, 0.6875301434, 0.5758645135, 0.6844081988, 0.5794685184, 0.6812550624, 0.5830952663, 0.6781116267, 0.5866907364, 0.6749371907, 0.5902551984, 0.6717314487, 0.5938409115, 0.668536522, 0.5973952457, 0.6653105001, 0.6009184756, 0.6620530805, 0.6044615056, 0.6588076329, 0.6079730807, 0.6555310179, 0.6114534802, 0.6522229362, 0.61495227, 0.6489280257, 0.618419554, 0.6456018985, 0.6218556156, 0.6422442589, 0.6253086998, 0.638901032, 0.6287302515, 0.6355265626, 0.6321205588, 0.6321205588, 0.6355265626, 0.6287302515, 0.638901032, 0.6253086998, 0.6422442589, 0.6218556156, 0.6456018985, 0.618419554, 0.6489280257, 0.61495227, 0.6522229362, 0.6114534802, 0.6555310179, 0.6079730807, 0.6588076329, 0.6044615056, 0.6620530805, 0.6009184756, 0.6653105001, 0.5973952457, 0.668536522, 0.5938409115, 0.6717314487, 0.5902551984, 0.6749371907, 0.5866907364, 0.6781116267, 0.5830952663, 0.6812550624, 0.5794685184, 0.6844081988, 0.5758645135, 0.6875301434, 0.5722296217, 0.6906212045, 0.5685635786, 0.6937208941, 0.5649218105, 0.6967895276, 0.5612493022, 0.6998274162, 0.5575457942, 0.7028729027, 0.5538681332, 0.7058874904, 0.5501599037, 0.7088714927, 0.5464208515, 0.7118621039, 0.5427092575, 0.7148219942, 0.5389672918, 0.7177514791, 0.535194706, 0.7206866253, 0.5314512276, 0.7235912484, 0.5276775997, 0.726465666, 0.5238735795, 0.7293448381, 0.5201003534, 0.7321937045, 0.516297225, 0.7350125843, 0.5124639575, 0.7378353523, 0.508663207, 0.7406280509, 0.5048328265, 0.7433910004, 0.500972585, 0.7461570117, 0.4971466191, 0.7488932079, 0.4932913201, 0.7515999103, 0.4894064631, 0.7543088875, 0.4855576743, 0.7569883214, 0.4816798738, 0.7596385341, 0.477772843, 0.7622902733, 0.4739037061, 0.7649127576, 0.4700059031, 0.7675063099, 0.4660792217, 0.7701006784, 0.4621922915, 0.7726660967, 0.4582770646, 0.7752028877, 0.454333335, 0.7777398222, 0.4504312444, 0.7802481262, 0.4465012497, 0.7827281229, 0.4425431514, 0.7852076269, 0.4386286088, 0.7876588349, 0.4346865776, 0.7900820697, 0.4307168649, 0.7925042117, 0.4267926516, 0.7948984058, 0.4228413876, 0.7972649745, 0.4188628866, 0.7996298854, 0.4149318543, 0.8019672096, 0.410974231, 0.8042772689, 0.4069898368, 0.8065851399, 0.4030549046, 0.8088657975, 0.399093862, 0.8111195628, 0.3951065358, 0.8133706427, 0.3911706867, 0.8155948943, 0.3872092284, 0.8177926372, 0.3832219941, 0.8199872304, 0.3792882723, 0.822155391, 0.3753294618, 0.8242974371, 0.3713454026, 0.8264359011, 0.3674169094, 0.8285483379, 0.3634638669, 0.8306350644, 0.3594861217, 0.832717807, 0.3555660121, 0.8347749374, 0.3516219105, 0.8368067705, 0.3476536699, 0.8388342479, 0.3437451487, 0.8408365364, 0.3398132097, 0.8408365364, 0.3398132097, 0.8428139488, 0.3358577125, 0.8447866629, 0.3319640301, 0.8467346191, 0.3280475201, 0.8486581281, 0.3241080487, 0.8505766241, 0.3202324971, 0.8524708001, 0.3163347232, 0.8543409645, 0.3124145995, 0.8562058284, 0.3085605078, 0.8580468166, 0.3046848129, 0.8598642348, 0.3007873938, 0.8616760912, 0.2969581237, 0.8634645216, 0.2931078825, 0.8652298289, 0.2892365553, 0.8669893384, 0.2854354966, 0.8687258765, 0.2816141105, 0.8704397429, 0.2777722882, 0.8721475999, 0.2740028539, 0.873832944, 0.2702137463, 0.875496072, 0.2664048626, 0.8771530021, 0.262670484, 0.8787878814, 0.2589170954, 0.8804010033, 0.2551446002, 0.8820077613, 0.2514487216, 0.8835929333, 0.2477345046, 0.8851568092, 0.2440018582, 0.8867141766, 0.2403479324, 0.8882504249, 0.2366763464, 0.8897658404, 0.2329870147, 0.8912746234, 0.2293784974, 0.8927627555, 0.2257530033, 0.8942305195, 0.2221104526, 0.8956915464, 0.218550797, 0.8971323917, 0.2149748521, 0.8985533341, 0.2113825437, 0.8999674536, 0.2078751951, 0.901361861, 0.2043522477, 0.9027368309, 0.2008136321, 0.9041049098, 0.1973620229, 0.9054537456, 0.1938955065, 0.906783609, 0.1904140186, 0.9081065301, 0.1870215624, 0.9094106763, 0.1836148905, 0.9106963141, 0.1801939435, 0.9119749742, 0.1768640296, 0.9132353263, 0.1735205902, 0.9144776326, 0.1701635703, 0.9157129408, 0.1668995584, 0.9169304058, 0.1636227081, 0.9181302855, 0.1603329689, 0.9193231611, 0.1571381834, 0.920498656, 0.1539312422, 0.9216570234, 0.1507120992, 0.9228083941, 0.1475898234, 0.9239428437, 0.1444560691, 0.9250606207, 0.1413107939, 0.926171421, 0.1382642649, 0.9272657562, 0.1352069272, 0.9283438706, 0.1321387424, 0.9294150398, 0.1291711452, 0.9304701964, 0.1261934006, 0.9315095798, 0.1232054737, 0.9325420608, 0.1203199361, 0.9335589774, 0.1174249021, 0.9345605641, 0.1145203405, 0.9355553016, 0.1117199272, 0.9365349181, 0.1089106573, 0.9374996436, 0.1060925027, 0.9384575824, 0.1033802102, 0.9394008389, 0.1006596881, 0.9403296381, 0.09793091132, 0.941251722, 0.09530966269, 0.942159557, 0.0926807972, 0.9430533632, 0.09004429269, 0.9439405335, 0.0875169323, 0.9448138827, 0.08498255227, 0.9456736259, 0.08244113312, 0.9465268202, 0.0800104215, 0.9473666151, 0.07757327066, 0.9481932211, 0.07512966355, 0.949013372, 0.07279827248, 0.9498205391, 0.07046100449, 0.9506149279, 0.06811784477, 0.9514029616, 0.06588835242, 0.9521784208, 0.06365352609, 0.952941506, 0.06141335303, 0.9536983417, 0.05928823925, 0.9544430053, 0.05715831386, 0.9551756926, 0.05502356598, 0.955902241, 0.05300520776, 0.956617013, 0.05098253857, 0.9573201994, 0.0489555492, 0.958017362, 0.04704621631, 0.9587031367, 0.04513305022, 0.9593777095, 0.04321604321, 0.9600463777, 0.04141789396, 0.9607040392, 0.03961636531, 0.9613508752, 0.03781145094, 0.9619919293, 0.03612652816, 0.9626223504, 0.03443865486, 0.9632423151, 0.03274782586, 0.9638566234, 0.03117805314, 0.9644606651, 0.0296057328, 0.9650546119, 0.02803086072, 0.9656430303, 0.02657803872, 0.9662215409, 0.02512304517, 0.9667903103, 0.0236658768, 0.9673536817, 0.02233167993, 0.967907496, 0.02099565984, 0.9684519154, 0.01965781402, 0.9689910686, 0.01844378722, 0.9695210077, 0.017228257, 0.9700418902, 0.01601122151, 0.9705576398, 0.01491877735, 0.9710645104, 0.01382512033, 0.9715626548, 0.01273024911, 0.9720558005, 0.01176066507, 0.9725403942, 0.01079012882, 0.9730165844, 0.009818639422, 0.9734879105, 0.008973055502, 0.9739510039, 0.00812674948, 0.9744060083, 0.007279720739, 0.9748562836, 0.006559137231, 0.9752986372, 0.005838030675, 0.9757332084, 0.005116400691, 0.9761631856, 0.00452167628, 0.9765855441, 0.003926596353, 0.977000419, 0.003331160697, 0.9774108343, 0.002863010803, 0.9778139261, 0.002394641013, 0.9782098248, 0.001926051222, 0.9786013982, 0.001585046622, 0.9789859349, 0.001243925512, 0.9793635615, 9.026878548E-4, 0.9797369958, 6.892535714E-4, 0.9801036725, 4.757736926E-4, 0.9804637139, 2.622482087E-4, 0.9808196953, 1.76662688E-4, 0.9811691901, 9.106984058E-5, 0.9815123166, 5.469665695E-6, 5.469665695E-6, 0.9815123166, 9.106984058E-5, 0.9811691901 }; break;
    24         case "Kursawe": data = new double[] { -20.0, 8.180035271E-11, -19.01225297, -0.1080697151, -19.03029552, -0.07779104234, -19.04837418, -0.04902448937, -19.06648904, -0.02174786463, -19.06648904, -0.02174786463, -18.00915364, -3.810091895, -18.00915364, -3.810091895, -18.02518798, -3.777701496, -18.02518798, -3.777701496, -18.04125442, -3.739708509, -18.05735302, -3.696507436, -18.05735302, -3.696507436, -18.07348385, -3.648483493, -18.07348385, -3.648483493, -18.08964698, -3.59601178, -18.10584246, -3.53945657, -18.12207037, -3.479170725, -18.13833076, -3.415495219, -18.15462371, -3.348758763, -18.15462371, -3.348758763, -18.17094928, -3.279277522, -18.17094928, -3.279277522, -18.18730753, -3.207354924, -18.20369853, -3.133281537, -18.22012235, -3.057335028, -18.23657904, -2.979780177, -18.25306868, -2.900868953, -18.25306868, -2.900868953, -18.26959134, -2.820840641, -18.26959134, -2.820840641, -18.28614707, -2.739922013, -18.30273595, -2.658327536, -18.31935804, -2.576259622, -18.3360134, -2.4939089, -18.35270211, -2.411454518, -18.36942423, -2.329064462, -18.38617983, -2.246895899, -18.38617983, -2.246895899, -18.40296898, -2.165095526, -18.40296898, -2.165095526, -18.41979173, -2.083799937, -18.43664817, -2.00313599, -18.45353835, -1.923221187, -18.47046234, -1.84416405, -18.48742022, -1.766064503, -18.50441205, -1.68901425, -18.52143789, -1.61309715, -18.53849782, -1.538389585, -18.5555919, -1.464960831, -18.57272021, -1.392873411, -18.58988281, -1.322183448, -18.60707976, -1.252941004, -18.62431115, -1.185190416, -18.64157703, -1.118970613, -18.65887748, -1.054315433, -18.67621256, -0.9912539178, -18.69358235, -0.9298106093, -18.71098692, -0.870005823, -18.71098692, -0.870005823, -18.72842632, -0.8118559173, -18.74590065, -0.7553735491, -18.74590065, -0.7553735491, -18.76340995, -0.7005679181, -18.78095431, -0.6474450005, -18.79853379, -0.5960077704, -18.79853379, -0.5960077704, -18.81614847, -0.5462564117, -18.83379841, -0.4981885184, -18.85148369, -0.4517992843, -18.86920437, -0.4070816833, -18.88696053, -0.3640266386, -18.90475223, -0.3226231835, -18.92257956, -0.2828586119, -18.94044258, -0.2447186203, -18.94044258, -0.2447186203, -18.95834135, -0.2081874415, -18.97627596, -0.1732479687, -18.97627596, -0.1732479687, -18.99424648, -0.1398818735, -17.00146394, -3.950949465, -17.00340012, -3.949973769, -17.00540432, -3.944546604, -17.00747653, -3.934237505, -17.00961678, -3.918609163, -17.02140662, -3.91816161, -17.02344686, -3.914267931, -17.0255552, -3.905470952, -17.02773164, -3.891332538, -17.03944916, -3.887882937, -17.04152552, -3.885501378, -17.04367005, -3.878194327, -17.94533603, -3.875471082, -17.9612426, -3.869584673, -17.97718102, -3.856446463, -17.99315134, -3.836476889, -16.00230499, -7.646568784, -16.002369, -7.634147959, -16.01830729, -7.62018379, -16.01833932, -7.614178385, -16.01843543, -7.596154972, -16.03434162, -7.587793392, -16.03440576, -7.576185398, -16.05037596, -7.555402993, -16.05040806, -7.549800405, -16.05050436, -7.532984325, -16.0664424, -7.517410006, -16.06650666, -7.506599331, -16.06663519, -7.484960382, -16.08250883, -7.479417019, -16.082541, -7.474208933, -16.08263749, -7.458575388, -16.09860744, -7.436215946, -16.09867183, -7.42618499, -16.09880062, -7.406103675, -16.11470604, -7.393014872, -16.11473827, -7.388192003, -16.11483496, -7.373713276, -16.1149961, -7.349548465, -16.13083687, -7.34499093, -16.13090139, -7.335720289, -16.13103044, -7.317158066, -16.1469677, -7.296966987, -16.14699999, -7.292519216, -16.14709688, -7.279165079, -16.14725835, -7.256872221, -16.16313083, -7.244495273, -16.16319548, -7.235964006, -16.16332478, -7.218879234, -16.16351874, -7.193196715, -16.17929395, -7.19202356, -16.17932631, -7.187940063, -16.17942339, -7.175678161, -16.17958518, -7.155203728, -16.19548944, -7.13546835, -16.19555422, -7.127654218, -16.19568378, -7.112002655, -16.19587813, -7.088467272, -16.21168492, -7.078913139, -16.21171734, -7.075182505, -16.21181461, -7.063978712, -16.21197673, -7.045266199, -16.2122037, -7.018986032, -16.22791283, -7.018627294, -16.22797774, -7.011506999, -16.22810756, -6.997242256, -16.2283023, -6.975784958, -16.24414073, -6.958341449, -16.24417322, -6.954951788, -16.24427069, -6.944770543, -16.24443313, -6.927761016, -16.24466055, -6.90386236, -16.26040113, -6.894665943, -16.26046617, -6.888215332, -16.26059626, -6.875289302, -16.26079138, -6.855838417, -16.27666153, -6.830990438, -16.27669408, -6.827929487, -16.27679174, -6.818734092, -16.27695451, -6.803366704, -16.27718238, -6.781765031, -16.29295447, -6.764253981, -16.29301965, -6.758448247, -16.29314999, -6.746811494, -16.29334551, -6.729293317, -16.2936062, -6.705818522, -16.30924742, -6.697517525, -16.30928004, -6.694772741, -16.3093779, -6.686525649, -16.30954099, -6.672738107, -16.30976932, -6.653346808, -16.31006289, -6.62826367, -16.32557299, -6.628036285, -16.32563829, -6.622850143, -16.3257689, -6.612452262, -16.32596481, -6.596791598, -16.32622602, -6.575791957, -16.34189856, -6.558555045, -16.34193124, -6.556113687, -16.34202929, -6.548776756, -16.34219271, -6.536505753, -16.3424215, -6.519236746, -16.34271566, -6.496880733, -16.35825681, -6.486632446, -16.35832224, -6.4820403, -16.35845311, -6.472830247, -16.35864941, -6.458950901, -16.35891114, -6.440325523, -16.35923832, -6.416852421, -16.37461506, -6.414709848, -16.37464781, -6.41255906, -16.37474606, -6.406093791, -16.37490981, -6.395275396, -16.37513905, -6.380039678, -16.3754338, -6.360297211, -16.39100606, -6.340636461, -16.39107163, -6.33661255, -16.39120275, -6.328538939, -16.39139945, -6.316364172, -16.39166171, -6.300011366, -16.39198953, -6.279378582, -16.40739706, -6.266563075, -16.40742988, -6.264689952, -16.40752832, -6.259057699, -16.4076924, -6.249627716, -16.4079221, -6.23633586, -16.40821744, -6.219092737, -16.40857841, -6.197784106, -16.42382088, -6.190616565, -16.42388657, -6.187135101, -16.42401796, -6.180146475, -16.42421505, -6.169599404, -16.42447784, -6.155417232, -16.42480632, -6.137498261, -16.4252005, -6.115716192, -16.44024469, -6.114670056, -16.44027757, -6.113061714, -16.44037622, -6.108223877, -16.44054062, -6.100118163, -16.44077078, -6.088680775, -16.44106671, -6.073822755, -16.44142841, -6.055430347, -16.45670139, -6.037115205, -16.45676722, -6.03415049, -16.45689887, -6.028195565, -16.45709635, -6.019199535, -16.45735966, -6.007086299, -16.4576888, -5.991754841, -16.45808377, -5.973079625, -16.47315809, -5.959560354, -16.47319103, -5.958203981, -16.47328987, -5.954122178, -16.4734546, -5.947276937, -16.47368523, -5.937605058, -16.47398175, -5.925018385, -16.47434417, -5.909404119, -16.47477248, -5.890625242, -16.48964773, -5.88064913, -16.48971369, -5.878175669, -16.4898456, -5.87320355, -16.49004348, -5.86568246, -16.49030732, -5.855537144, -16.49063712, -5.842667663, -16.49103288, -5.826949736, -16.4914946, -5.808235186, -16.50613737, -5.801737906, -16.50617038, -5.800620818, -16.50626942, -5.797257041, -16.50643448, -5.791609073, -16.50666557, -5.783614546, -16.50696268, -5.773186422, -16.50732583, -5.76021328, -16.507755, -5.744559681, -16.5082502, -5.726066623, -16.52266002, -5.721709594, -16.52272612, -5.719702189, -16.5228583, -5.715662564, -16.52305657, -5.709541159, -16.52332093, -5.701263824, -16.52365139, -5.69073204, -16.52404795, -5.677823224, -16.5245106, -5.662391118, -16.52503934, -5.644266251, -16.53918268, -5.641681282, -16.53921576, -5.640790966, -16.53931499, -5.638107713, -16.53948039, -5.63359465, -16.53971194, -5.627190437, -16.54000964, -5.618809442, -16.54037351, -5.608341984, -16.54080355, -5.595654661, -16.54129974, -5.580590745, -16.5418621, -5.562970662, -16.55573841, -5.560762654, -16.55580463, -5.559196489, -16.55593708, -5.556039799, -16.55613575, -5.551243928, -16.55640065, -5.544736055, -16.55673177, -5.536419386, -16.55712911, -5.526173421, -16.55759269, -5.513854289, -16.55812249, -5.499295156, -16.55871853, -5.482306715, -16.57229414, -5.479844025, -16.57232729, -5.479168177, -16.57242672, -5.477128575, -16.57259245, -5.473689077, -16.57282446, -5.468789546, -16.57312277, -5.462345999, -16.57348736, -5.454250823, -16.57391826, -5.444373049, -16.57441544, -5.4325587, -16.57497893, -5.418631209, -16.57560871, -5.402391911, -16.58888302, -5.398249549, -16.58894938, -5.397100263, -16.58908209, -5.394777853, -16.58928116, -5.391234694, -16.58954658, -5.38639949, -16.58987836, -5.380177436, -16.59027651, -5.37245045, -16.59074101, -5.363077459, -16.59127188, -5.351894753, -16.59186911, -5.338716406, -16.59253271, -5.323334774, -16.6054719, -5.316655072, -16.60550511, -5.316181635, -16.60560474, -5.314749541, -16.6057708, -5.312323471, -16.60600328, -5.308844639, -16.60630218, -5.304230927, -16.60666751, -5.298377064, -16.60709926, -5.291154861, -16.60759745, -5.282413512, -16.60816206, -5.271979949, -16.6087931, -5.259659269, -16.60949059, -5.245235228, -16.62209399, -5.234587158, -16.62216048, -5.233830913, -16.62229345, -5.232295159, -16.62249292, -5.229933415, -16.62275888, -5.226676076, -16.62309132, -5.222430554, -16.62349026, -5.217081474, -16.6239557, -5.210490914, -16.62448763, -5.202498709, -16.62508605, -5.192922812, -16.62575098, -5.181559722, -16.62648241, -5.168184975, -16.62728035, -5.152553719, -16.63871608, -5.152519244, -16.63874935, -5.152236436, -16.63884919, -5.15137653, -16.63901557, -5.149905103, -16.63924852, -5.147764852, -16.63954802, -5.144875703, -16.63991408, -5.141134965, -16.6403467, -5.136417527, -16.64084588, -5.130576111, -16.64141162, -5.123441572, -16.64204393, -5.114823266, -16.64274281, -5.104509469, -16.64350826, -5.092267874, -16.64434028, -5.077846155, -16.65537144, -5.070168522, -16.65543806, -5.069782054, -16.65557131, -5.068986474, -16.65577117, -5.06773654, -16.65603766, -5.065964479, -16.65637077, -5.063580114, -16.65677051, -5.060471018, -16.65723688, -5.056502724, -16.65776987, -5.051518974, -16.6583695, -5.045342025, -16.65903576, -5.037773013, -16.65976865, -5.028592369, -16.66056819, -5.01756031, -16.66143436, -5.004417401, -16.66236719, -4.988885191, -16.67202681, -4.9878178, -16.67206015, -4.98771414, -16.67216018, -4.987391998, -16.67232691, -4.986817911, -16.67256032, -4.985936167, -16.67286042, -4.98466889, -16.67322721, -4.982916167, -16.67366069, -4.980556215, -16.67416087, -4.977445587, -16.67472775, -4.973419427, -16.67536132, -4.968291773, -16.6760616, -4.961855912, -16.67682858, -4.953884804, -16.67766227, -4.944131556, -16.67856267, -4.932329981, -16.67952978, -4.918195228, -16.68871552, -4.905363418, -16.68878227, -4.905324084, -16.68891578, -4.905223435, -16.68911605, -4.905017539, -16.68938307, -4.904640578, -16.68971685, -4.904004943, -16.69011739, -4.903001364, -16.69058469, -4.901499078, -16.69111875, -4.89934604, -16.69171958, -4.896369174, -16.69238717, -4.892374672, -16.69312153, -4.887148348, -16.69392267, -4.88045605, -16.69479058, -4.872044136, -16.69572527, -4.861640018, -16.69672674, -4.848952784, -16.697795, -4.83367391, -16.70660703, -4.82409014, -16.70704138, -4.823944227, -16.70754257, -4.823399531, -16.70811058, -4.822295788, -16.70874542, -4.820452074, -16.7094471, -4.817667107, -16.71021562, -4.813719594, -16.71105097, -4.80836863, -16.71195317, -4.801354173, -16.71292222, -4.792397574, -16.71395813, -4.781202196, -16.71506088, -4.767454107, -16.7162305, -4.750822869, -16.72513642, -4.746378687, -16.72580535, -4.745744509, -16.72654118, -4.744238354, -16.72734392, -4.741632174, -16.72821357, -4.737678667, -16.72915013, -4.732111729, -16.73015361, -4.724646986, -16.73122401, -4.714982393, -16.73236133, -4.702798926, -16.73236133, -4.702798926, -16.73356558, -4.687761354, -16.74289943, -4.672315755, -16.74366949, -4.672150934, -16.74450652, -4.670942211, -16.74541053, -4.668436223, -16.74638152, -4.664361141, -16.74741949, -4.658427183, -16.74852446, -4.650327213, -16.74969642, -4.639737411, -16.75093537, -4.626318045, -16.75224133, -4.609714333, -16.76170348, -4.601699767, -16.76264191, -4.600685635, -16.7636474, -4.598141338, -16.76471994, -4.593772002, -16.76585954, -4.587265698, -16.7670662, -4.578294103, -16.76833994, -4.566513259, -16.76968074, -4.551564427, -16.77990779, -4.534465832, -16.78094785, -4.533486157, -16.78205502, -4.530710488, -16.78322933, -4.525822389, -16.78447077, -4.518489316, -16.78577934, -4.508363353, -16.78715506, -4.495082059, -16.78859793, -4.478269415, -16.79828293, -4.470424643, -16.79828293, -4.470424643, -16.79942481, -4.469267179, -16.80063389, -4.466017603, -16.80191018, -4.460339411, -16.80325366, -4.451880985, -16.80466437, -4.440276428, -16.80614229, -4.425146497, -16.80614229, -4.425146497, -16.81682938, -4.409462393, -16.8180733, -4.407867697, -16.8193845, -4.403857043, -16.82076297, -4.397075354, -16.82220873, -4.38715351, -16.82372177, -4.373709267, -16.82530211, -4.356348307, -16.83554762, -4.351385329, -16.8368938, -4.349051412, -16.83830733, -4.343952437, -16.83978821, -4.33571628, -16.84133645, -4.323957908, -16.84295205, -4.308280414, -16.85305693, -4.296579698, -16.85443816, -4.295928494, -16.85443816, -4.295928494, -16.85588681, -4.292515207, -16.85740288, -4.285964921, -16.85898639, -4.275890015, -16.86063733, -4.261891179, -16.87201764, -4.244491264, -16.87350149, -4.242763848, -16.87505283, -4.237897028, -16.87667166, -4.229500781, -16.87835801, -4.217173578, -16.88011187, -4.200503527, -16.88963232, -4.194739905, -16.89115143, -4.194695955, -16.8927381, -4.191507794, -16.89439235, -4.18478318, -16.89611417, -4.174118534, -16.89790358, -4.159100072, -16.9088367, -4.14830672, -16.91045878, -4.146790193, -16.91214851, -4.141728135, -16.91390588, -4.132715079, -16.9157309, -4.119335501, -16.92821494, -4.103735148, -16.92994021, -4.10032468, -16.9317332, -4.092950507, -16.93359392, -4.081195509, -16.93552237, -4.064633904, -16.94600665, -4.062331693, -16.94776754, -4.060560108, -16.94959622, -4.054810515, -16.9514927, -4.04466433, -16.95345698, -4.029694431, -16.96383398, -4.022567121, -16.96563055, -4.022420117, -16.967495, -4.018279337, -16.96942731, -4.009724858, -16.9714275, -3.996328336, -16.98352933, -3.985888938, -16.98542961, -3.983339864, -16.98739782, -3.976358762, -16.98943399, -3.964516178, -15.0001297, -10.21385551, -15.00263349, -10.19783594, -15.00855446, -10.17613796, -15.01137813, -10.16583157, -15.01378531, -10.14536423, -15.01675233, -10.13774455, -15.01989795, -10.13293688, -15.02262656, -10.11780763, -15.02816253, -10.09454348, -15.03121332, -10.08491294, -15.03384551, -10.06533591, -15.03619769, -10.05567664, -15.03957273, -10.05134241, -15.04252869, -10.036889, -15.04506446, -10.0128642, -15.04767481, -10.01247557, -15.05095527, -10.00331847, -15.05381503, -9.984417286, -15.05554495, -9.973325919, -15.05915193, -9.969274494, -15.06233781, -9.955294523, -15.06510137, -9.931945573, -15.06708919, -9.930124846, -15.07060187, -9.921250552, -15.07369178, -9.902822809, -15.07479198, -9.890871537, -15.07863344, -9.886923772, -15.0820518, -9.873226609, -15.08504576, -9.850351096, -15.08640354, -9.847670463, -15.09015099, -9.83889983, -15.09347365, -9.820754895, -15.09393662, -9.808481481, -15.09801511, -9.80446939, -15.10166854, -9.790875887, -15.1048955, -9.768283182, -15.10561569, -9.765280407, -15.10960048, -9.756445447, -15.11315849, -9.738404174, -15.11729476, -9.722079334, -15.12118584, -9.708421504, -15.12464843, -9.68593246, -15.12472345, -9.683111844, -15.12894815, -9.674055391, -15.13274411, -9.655949791, -15.13647021, -9.639910771, -15.14060154, -9.626031449, -15.14430238, -9.603478078, -15.1481918, -9.591886828, -15.15222833, -9.573559735, -15.15553921, -9.558110399, -15.15583263, -9.546922867, -15.15991339, -9.543862886, -15.16385513, -9.521088022, -15.16732918, -9.510086456, -15.17160891, -9.491391172, -15.17449952, -9.476814809, -15.17545441, -9.464532811, -15.17911916, -9.462062513, -15.18139811, -9.439351936, -15.18330444, -9.438919459, -15.18635804, -9.428790867, -15.1908836, -9.4095908, -15.19334885, -9.396150862, -15.19497297, -9.382364248, -15.19821656, -9.380766924, -15.20006589, -9.359437132, -15.20264804, -9.357119086, -15.20527608, -9.34812692, -15.2100501, -9.328295211, -15.21208491, -9.316236059, -15.21438602, -9.300563876, -15.2172033, -9.300102977, -15.21861792, -9.280379995, -15.22188363, -9.275823497, -15.22408097, -9.268212116, -15.2291061, -9.247631264, -15.23070534, -9.237178922, -15.23607704, -9.220188174, -15.23705188, -9.202280449, -15.24100889, -9.19515955, -15.24277038, -9.189154979, -15.24314087, -9.16843127, -15.24804925, -9.16771646, -15.24920779, -9.159079375, -15.25483543, -9.141131037, -15.25536538, -9.125230196, -15.26002147, -9.115244747, -15.26134193, -9.111055433, -15.2668772, -9.088659323, -15.26758989, -9.082029123, -15.27347607, -9.06303149, -15.27355602, -9.049313095, -15.27891897, -9.03618761, -15.27979322, -9.03400518, -15.28558753, -9.010559777, -15.2858492, -9.006112022, -15.29199656, -8.985981237, -15.29812183, -8.958088079, -15.30417783, -8.933509524, -15.31039446, -8.910064137, -15.3163253, -8.883380515, -15.3163591, -8.88103781, -15.32198973, -8.857975703, -15.32264564, -8.857592423, -15.3286673, -8.835356572, -15.33440116, -8.809951761, -15.33489681, -8.80512071, -15.33986599, -8.785888284, -15.34098847, -8.782884859, -15.34681259, -8.761927818, -15.34712562, -8.748565499, -15.3523469, -8.737864341, -15.35330965, -8.730413145, -15.35760958, -8.71519832, -15.35920384, -8.709456105, -15.35935444, -8.692010289, -15.36482781, -8.689840398, -15.3656091, -8.673857935, -15.37016, -8.667174378, -15.37159509, -8.656984391, -15.37521796, -8.645955877, -15.37728919, -8.637368685, -15.37998247, -8.621406362, -15.38271042, -8.619150435, -15.38396525, -8.600429181, -15.38446901, -8.598387632, -15.3878379, -8.597931934, -15.38975058, -8.584896971, -15.39268856, -8.578205288, -15.39524198, -8.566678722, -15.39724391, -8.555186559, -15.40045785, -8.549907991, -15.40151877, -8.533732452, -15.40537804, -8.530181346, -15.40777355, -8.514207008, -15.41001882, -8.511985486, -15.41305962, -8.497436278, -15.41436244, -8.490531378, -15.41806751, -8.482157403, -15.41842307, -8.470670937, -15.4227778, -8.463961543, -15.42720612, -8.447330305, -15.4307395, -8.42968569, -15.43133545, -8.427469864, -15.43553679, -8.4159376, -15.44003458, -8.399306362, -15.44424784, -8.38426879, -15.44816032, -8.366026555, -15.44827899, -8.363465887, -15.45286304, -8.35128242, -15.45714572, -8.336244847, -15.46114133, -8.322825482, -15.46483439, -8.306221769, -15.46567544, -8.298810706, -15.46823707, -8.291272936, -15.47004361, -8.288220905, -15.47410857, -8.274801539, -15.47788392, -8.263020695, -15.481355, -8.248071863, -15.48292615, -8.235749191, -15.48453327, -8.234790568, -15.48707581, -8.226777596, -15.48740652, -8.217977924, -15.49092042, -8.214996753, -15.49447293, -8.20487079, -15.49771946, -8.191589495, -15.50067077, -8.179984937, -15.50395693, -8.16697281, -15.50757859, -8.156846847, -15.51090566, -8.148388421, -15.51392507, -8.136783864, -15.51664689, -8.12686202, -15.51697956, -8.114501096, -15.51906056, -8.113417776, -15.52068425, -8.108822904, -15.52117398, -8.101659405, -15.52408034, -8.100364479, -15.52717937, -8.09358279, -15.52996911, -8.083660946, -15.5324589, -8.075424789, -15.53463903, -8.063666418, -15.53651668, -8.053591511, -15.53725502, -8.052340536, -15.54042292, -8.045558848, -15.54329133, -8.040459873, -15.54584884, -8.032223716, -15.54810408, -8.025673431, -15.55004818, -8.015598524, -15.5516876, -8.007202277, -15.55366648, -7.997534905, -15.55660359, -7.99243593, -15.55923879, -7.989022643, -15.56156152, -7.982472357, -15.56357969, -7.977605538, -15.56528528, -7.96920929, -15.56668404, -7.962484676, -15.56777045, -7.95182003, -15.56991584, -7.944411987, -15.57261954, -7.9409987, -15.57501896, -7.939271284, -15.57710437, -7.934404464, -15.57888297, -7.931216303, -15.58034759, -7.924491689, -15.58150325, -7.919429632, -15.58234532, -7.910416575, -15.58287666, -7.903042402, -15.5860003, -7.892974757, -15.58846801, -7.891247341, -15.59062906, -7.891203391, -15.59247463, -7.88801523, -15.59401115, -7.886498702, -15.59523236, -7.881436645, -15.59614251, -7.878026177, -15.59673787, -7.870652004, -15.59702055, -7.864902411, -15.60606629, -7.844814157, -15.60896147, -7.843443658, -15.60993682, -7.84003319, -15.61059907, -7.838261605, -15.61094537, -7.832512012, -15.6109771, -7.828371232, -15.61097733, -7.822365827, -15.61097798, -7.804342414, -15.62373114, -7.802040203, -15.62445822, -7.800268618, -15.62487019, -7.800121613, -15.6249651, -7.795980833, -15.63895311, -7.763590435, -15.89067205, -7.750942164, -15.90657862, -7.745055755, -15.9224852, -7.739169347, -15.92251704, -7.731917545, -15.93842362, -7.726031136, -15.95436203, -7.712892925, -15.95439394, -7.706061562, -15.97033236, -7.692923351, -15.97039624, -7.679676568, -15.98630269, -7.672953778, -15.98633466, -7.666538358, -15.98643058, -7.64728617, -14.44665867, -11.62641325, -14.46705912, -11.62052684, -14.47731848, -11.61464043, -14.48757784, -11.60875402, -14.49771689, -11.60150222, -14.50803567, -11.59561581, -14.51832428, -11.5824776, -14.52843108, -11.57564624, -14.5286129, -11.56933939, -14.53877967, -11.56250802, -14.54912827, -11.54936981, -14.55917137, -11.53612303, -14.55944623, -11.52940024, -14.56958023, -11.52298482, -14.56976419, -11.50943067, -14.57949778, -11.50373263, -14.57995874, -11.50301525, -14.58996717, -11.49059442, -14.59033726, -11.48304567, -14.60040653, -11.47062485, -14.60068465, -11.45666068, -14.6102875, -11.45260143, -14.61084589, -11.45065527, -14.62078799, -11.43263186, -14.62125443, -11.42427028, -14.63128847, -11.41266229, -14.63166296, -11.39788529, -14.64110147, -11.38943079, -14.64175844, -11.38627729, -14.65166335, -11.36946121, -14.65222841, -11.3598923, -14.66219504, -11.34307622, -14.66266706, -11.3275019, -14.67196887, -11.32143727, -14.67272672, -11.31669123, -14.67310571, -11.2951115, -14.68256256, -11.29505228, -14.68322741, -11.28430083, -14.69220336, -11.26896556, -14.69315624, -11.26866728, -14.6937281, -11.25191043, -14.70285931, -11.24258056, -14.70371925, -11.23627689, -14.71351527, -11.21619557, -14.71428227, -11.20388649, -14.72308359, -11.18602535, -14.72414089, -11.18380517, -14.72481378, -11.1658935, -14.73380209, -11.15964036, -14.73476651, -11.15141477, -14.7353453, -11.12790051, -14.7444906, -11.12724996, -14.74536097, -11.11342179, -14.75401495, -11.09935451, -14.75517911, -11.09485956, -14.75595543, -11.0754288, -14.76476662, -11.06696412, -14.7658368, -11.05686658, -14.7741521, -11.03567901, -14.7755183, -11.03457372, -14.77649449, -11.01887359, -14.7849672, -11.00328861, -14.78623951, -10.99658073, -14.78712052, -10.97567252, -14.79578231, -10.97089821, -14.79696071, -10.95858774, -14.80509053, -10.93655215, -14.80656731, -10.93290522, -14.80765061, -10.91538667, -14.81596933, -10.90416176, -14.81735231, -10.89491224, -14.8183405, -10.8721856, -14.82513479, -10.86707091, -14.82681841, -10.86616877, -14.82810636, -10.85171116, -14.83607755, -10.83468052, -14.83766748, -10.82817578, -14.83886041, -10.80851009, -14.84699096, -10.79668753, -14.84848597, -10.78497471, -14.8561051, -10.76275792, -14.85790437, -10.75869454, -14.85930446, -10.74177363, -14.86708311, -10.72476493, -14.86878758, -10.71549347, -14.8700915, -10.69374969, -14.87605011, -10.68868453, -14.87806112, -10.68677194, -14.87967078, -10.67229239, -14.88709297, -10.65069154, -14.88900932, -10.64357087, -14.89052292, -10.62426845, -14.89591067, -10.61273802, -14.89813584, -10.61269856, -14.89995752, -10.6003698, -14.90137505, -10.57624451, -14.90701864, -10.57474503, -14.90914929, -10.56949748, -14.91087503, -10.55234585, -14.91812661, -10.53675205, -14.92016275, -10.52629641, -14.92179254, -10.50432191, -14.92685818, -10.49719018, -14.92920558, -10.49355097, -14.93114592, -10.47827247, -14.93803149, -10.4591972, -14.94028455, -10.4503499, -14.94212909, -10.43024852, -14.94660962, -10.41827896, -14.94917623, -10.41599612, -14.95133365, -10.40232596, -14.95784851, -10.38028597, -14.96032097, -10.37279505, -14.96238275, -10.35430201, -14.96627097, -10.33825065, -14.96905927, -10.3370849, -14.97143626, -10.32477111, -14.97340107, -10.3018303, -14.97757568, -10.30025766, -14.98027003, -10.29388383, -14.98255155, -10.27674716, -14.98584023, -10.25733202, -14.98885269, -10.25705659, -14.99145176, -10.24585988, -14.99363648, -10.22427545, -14.99721097, -10.21933903 }; break;
    25         case "Schaffer": data = new double[] { 3.999999694E-4, 3.920400003, 8.999999541E-4, 3.880900003, 0.001599999939, 3.841600003, 0.002499999924, 3.802500003, 0.003599999908, 3.763600003, 0.004899999893, 3.724900003, 0.006399999878, 3.686400003, 0.008099999862, 3.648100003, 0.009999999847, 3.610000003, 0.01209999983, 3.572100003, 0.01439999982, 3.534400003, 0.0168999998, 3.496900003, 0.01959999979, 3.459600003, 0.02249999977, 3.422500003, 0.02559999976, 3.385600003, 0.02889999974, 3.348900003, 0.03239999972, 3.312400003, 0.03609999971, 3.276100003, 0.03999999969, 3.240000003, 0.04409999968, 3.204100003, 0.04839999966, 3.168400003, 0.05289999965, 3.132900003, 0.05759999963, 3.097600003, 0.06249999962, 3.062500003, 0.0675999996, 3.027600003, 0.07289999959, 2.992900003, 0.07839999957, 2.958400003, 0.08409999956, 2.924100003, 0.08999999954, 2.890000003, 0.09609999953, 2.856100003, 0.1023999995, 2.822400003, 0.1088999995, 2.788900003, 0.1155999995, 2.755600003, 0.1224999995, 2.722500003, 0.1295999994, 2.689600003, 0.1368999994, 2.656900002, 0.1443999994, 2.624400002, 0.1520999994, 2.592100002, 0.1599999994, 2.560000002, 0.1680999994, 2.528100002, 0.1763999994, 2.496400002, 0.1848999993, 2.464900002, 0.1935999993, 2.433600002, 0.2024999993, 2.402500002, 0.2115999993, 2.371600002, 0.2208999993, 2.340900002, 0.2303999993, 2.310400002, 0.2400999993, 2.280100002, 0.2499999992, 2.250000002, 0.2600999992, 2.220100002, 0.2703999992, 2.190400002, 0.2808999992, 2.160900002, 0.2915999992, 2.131600002, 0.3024999992, 2.102500002, 0.3135999991, 2.073600002, 0.3248999991, 2.044900002, 0.3363999991, 2.016400002, 0.3480999991, 1.988100002, 0.3599999991, 1.960000002, 0.3720999991, 1.932100002, 0.3843999991, 1.904400002, 0.396899999, 1.876900002, 0.409599999, 1.849600002, 0.422499999, 1.822500002, 0.435599999, 1.795600002, 0.448899999, 1.768900002, 0.462399999, 1.742400002, 0.4760999989, 1.716100002, 0.4899999989, 1.690000002, 0.5040999989, 1.664100002, 0.5183999989, 1.638400002, 0.5328999989, 1.612900002, 0.5475999989, 1.587600002, 0.5624999989, 1.562500002, 0.5775999988, 1.537600002, 0.5928999988, 1.512900002, 0.6083999988, 1.488400002, 0.6240999988, 1.464100002, 0.6399999988, 1.440000002, 0.6560999988, 1.416100002, 0.6723999987, 1.392400002, 0.6888999987, 1.368900002, 0.7055999987, 1.345600002, 0.7224999987, 1.322500002, 0.7395999987, 1.299600002, 0.7568999987, 1.276900002, 0.7743999987, 1.254400002, 0.7920999986, 1.232100002, 0.8099999986, 1.210000002, 0.8280999986, 1.188100002, 0.8463999986, 1.166400002, 0.8648999986, 1.144900002, 0.8835999986, 1.123600002, 0.9024999985, 1.102500002, 0.9215999985, 1.081600002, 0.9408999985, 1.060900002, 0.9603999985, 1.040400002, 0.9800999985, 1.020100002, 0.9999999985, 1.000000002, 1.020099998, 0.9801000015, 1.040399998, 0.9604000015, 1.060899998, 0.9409000015, 1.081599998, 0.9216000015, 1.102499998, 0.9025000015, 1.123599998, 0.8836000014, 1.144899998, 0.8649000014, 1.166399998, 0.8464000014, 1.188099998, 0.8281000014, 1.209999998, 0.8100000014, 1.232099998, 0.7921000014, 1.254399998, 0.7744000013, 1.276899998, 0.7569000013, 1.299599998, 0.7396000013, 1.322499998, 0.7225000013, 1.345599998, 0.7056000013, 1.368899998, 0.6889000013, 1.392399998, 0.6724000013, 1.416099998, 0.6561000012, 1.439999998, 0.6400000012, 1.464099998, 0.6241000012, 1.488399998, 0.6084000012, 1.512899998, 0.5929000012, 1.537599998, 0.5776000012, 1.562499998, 0.5625000011, 1.587599998, 0.5476000011, 1.612899998, 0.5329000011, 1.638399998, 0.5184000011, 1.664099998, 0.5041000011, 1.689999998, 0.4900000011, 1.716099998, 0.4761000011, 1.742399998, 0.462400001, 1.768899998, 0.448900001, 1.795599998, 0.435600001, 1.822499998, 0.422500001, 1.849599998, 0.409600001, 1.876899998, 0.396900001, 1.904399998, 0.3844000009, 1.932099998, 0.3721000009, 1.959999998, 0.3600000009, 1.988099998, 0.3481000009, 2.016399998, 0.3364000009, 2.044899998, 0.3249000009, 2.073599998, 0.3136000009, 2.102499998, 0.3025000008, 2.131599998, 0.2916000008, 2.160899998, 0.2809000008, 2.190399998, 0.2704000008, 2.220099998, 0.2601000008, 2.249999998, 0.2500000008, 2.280099998, 0.2401000007, 2.310399998, 0.2304000007, 2.340899998, 0.2209000007, 2.371599998, 0.2116000007, 2.402499998, 0.2025000007, 2.433599998, 0.1936000007, 2.464899998, 0.1849000007, 2.496399998, 0.1764000006, 2.528099998, 0.1681000006, 2.559999998, 0.1600000006, 2.592099998, 0.1521000006, 2.624399998, 0.1444000006, 2.656899998, 0.1369000006, 2.689599997, 0.1296000006, 2.722499997, 0.1225000005, 2.755599997, 0.1156000005, 2.788899997, 0.1089000005, 2.822399997, 0.1024000005, 2.856099997, 0.09610000047, 2.889999997, 0.09000000046, 2.924099997, 0.08410000044, 2.958399997, 0.07840000043, 2.992899997, 0.07290000041, 3.027599997, 0.0676000004, 3.062499997, 0.06250000038, 3.097599997, 0.05760000037, 3.132899997, 0.05290000035, 3.168399997, 0.04840000034, 3.204099997, 0.04410000032, 3.239999997, 0.04000000031, 3.276099997, 0.03610000029, 3.312399997, 0.03240000028, 3.348899997, 0.02890000026, 3.385599997, 0.02560000024, 3.422499997, 0.02250000023, 3.459599997, 0.01960000021, 3.496899997, 0.0169000002, 3.534399997, 0.01440000018, 3.572099997, 0.01210000017, 3.609999997, 0.01000000015, 3.648099997, 0.008100000138, 3.686399997, 0.006400000122, 3.724899997, 0.004900000107, 3.763599997, 0.003600000092, 3.802499997, 0.002500000076, 3.841599997, 0.001600000061, 3.880899997, 9.000000459E-4, 3.920399997, 4.000000306E-4, 3.960099997, 1.000000153E-4, 3.999999997, 5.844575628E-19, 5.844598067E-19, 4.000000003, 9.999998471E-5, 3.960100003 }; break;
    26         case "ZDT1": data = new double[] { 0.0, 1.0, 0.001, 0.968377, 0.002, 0.955279, 0.003, 0.945228, 0.004, 0.936754, 0.005, 0.929289, 0.006, 0.92254, 0.007, 0.916334, 0.008, 0.910557, 0.009, 0.905132, 0.01, 0.9, 0.011, 0.895119, 0.012, 0.890455, 0.013, 0.885982, 0.014, 0.881678, 0.015, 0.877526, 0.016, 0.873509, 0.017, 0.869616, 0.018, 0.865836, 0.019, 0.86216, 0.02, 0.858579, 0.021, 0.855086, 0.022, 0.851676, 0.023, 0.848342, 0.024, 0.845081, 0.025, 0.841886, 0.026, 0.838755, 0.027, 0.835683, 0.028, 0.832668, 0.029, 0.829706, 0.03, 0.826795, 0.031, 0.823932, 0.032, 0.821115, 0.033, 0.818341, 0.034, 0.815609, 0.035, 0.812917, 0.036, 0.810263, 0.037, 0.807646, 0.038, 0.805064, 0.039, 0.802516, 0.04, 0.8, 0.041, 0.797515, 0.042, 0.795061, 0.043, 0.792636, 0.044, 0.790238, 0.045, 0.787868, 0.046, 0.785524, 0.047, 0.783205, 0.048, 0.780911, 0.049, 0.778641, 0.05, 0.776393, 0.051, 0.774168, 0.052, 0.771965, 0.053, 0.769783, 0.054, 0.767621, 0.055, 0.765479, 0.056, 0.763357, 0.057, 0.761253, 0.058, 0.759168, 0.059, 0.757101, 0.06, 0.755051, 0.061, 0.753018, 0.062, 0.751002, 0.063, 0.749002, 0.064, 0.747018, 0.065, 0.745049, 0.066, 0.743095, 0.067, 0.741156, 0.068, 0.739232, 0.069, 0.737321, 0.07, 0.735425, 0.071, 0.733542, 0.072, 0.731672, 0.073, 0.729815, 0.074, 0.727971, 0.075, 0.726139, 0.076, 0.724319, 0.077, 0.722511, 0.078, 0.720715, 0.079, 0.718931, 0.08, 0.717157, 0.081, 0.715395, 0.082, 0.713644, 0.083, 0.711903, 0.084, 0.710172, 0.085, 0.708452, 0.086, 0.706742, 0.087, 0.705042, 0.088, 0.703352, 0.089, 0.701671, 0.09, 0.7, 0.091, 0.698338, 0.092, 0.696685, 0.093, 0.695041, 0.094, 0.693406, 0.095, 0.691779, 0.096, 0.690161, 0.097, 0.688552, 0.098, 0.68695, 0.099, 0.685357, 0.1, 0.683772, 0.101, 0.682195, 0.102, 0.680626, 0.103, 0.679064, 0.104, 0.67751, 0.105, 0.675963, 0.106, 0.674424, 0.107, 0.672891, 0.108, 0.671366, 0.109, 0.669849, 0.11, 0.668338, 0.111, 0.666833, 0.112, 0.665336, 0.113, 0.663845, 0.114, 0.662361, 0.115, 0.660884, 0.116, 0.659412, 0.117, 0.657947, 0.118, 0.656489, 0.119, 0.655036, 0.12, 0.65359, 0.121, 0.652149, 0.122, 0.650715, 0.123, 0.649286, 0.124, 0.647864, 0.125, 0.646447, 0.126, 0.645035, 0.127, 0.643629, 0.128, 0.642229, 0.129, 0.640834, 0.13, 0.639445, 0.131, 0.638061, 0.132, 0.636682, 0.133, 0.635308, 0.134, 0.63394, 0.135, 0.632577, 0.136, 0.631218, 0.137, 0.629865, 0.138, 0.628516, 0.139, 0.627173, 0.14, 0.625834, 0.141, 0.6245, 0.142, 0.623171, 0.143, 0.621847, 0.144, 0.620527, 0.145, 0.619211, 0.146, 0.617901, 0.147, 0.616594, 0.148, 0.615292, 0.149, 0.613995, 0.15, 0.612702, 0.151, 0.611413, 0.152, 0.610128, 0.153, 0.608848, 0.154, 0.607572, 0.155, 0.6063, 0.156, 0.605032, 0.157, 0.603768, 0.158, 0.602508, 0.159, 0.601252, 0.16, 0.6, 0.161, 0.598752, 0.162, 0.597508, 0.163, 0.596267, 0.164, 0.595031, 0.165, 0.593798, 0.166, 0.592569, 0.167, 0.591344, 0.168, 0.590122, 0.169, 0.588904, 0.17, 0.587689, 0.171, 0.586479, 0.172, 0.585271, 0.173, 0.584067, 0.174, 0.582867, 0.175, 0.58167, 0.176, 0.580476, 0.177, 0.579286, 0.178, 0.5781, 0.179, 0.576916, 0.18, 0.575736, 0.181, 0.574559, 0.182, 0.573385, 0.183, 0.572215, 0.184, 0.571048, 0.185, 0.569884, 0.186, 0.568723, 0.187, 0.567565, 0.188, 0.56641, 0.189, 0.565259, 0.19, 0.56411, 0.191, 0.562965, 0.192, 0.561822, 0.193, 0.560682, 0.194, 0.559546, 0.195, 0.558412, 0.196, 0.557281, 0.197, 0.556153, 0.198, 0.555028, 0.199, 0.553906, 0.2, 0.552786, 0.201, 0.55167, 0.202, 0.550556, 0.203, 0.549445, 0.204, 0.548336, 0.205, 0.547231, 0.206, 0.546128, 0.207, 0.545027, 0.208, 0.54393, 0.209, 0.542835, 0.21, 0.541742, 0.211, 0.540653, 0.212, 0.539565, 0.213, 0.538481, 0.214, 0.537399, 0.215, 0.536319, 0.216, 0.535242, 0.217, 0.534167, 0.218, 0.533095, 0.219, 0.532026, 0.22, 0.530958, 0.221, 0.529894, 0.222, 0.528831, 0.223, 0.527771, 0.224, 0.526714, 0.225, 0.525658, 0.226, 0.524605, 0.227, 0.523555, 0.228, 0.522507, 0.229, 0.521461, 0.23, 0.520417, 0.231, 0.519375, 0.232, 0.518336, 0.233, 0.517299, 0.234, 0.516265, 0.235, 0.515232, 0.236, 0.514202, 0.237, 0.513174, 0.238, 0.512148, 0.239, 0.511124, 0.24, 0.510102, 0.241, 0.509082, 0.242, 0.508065, 0.243, 0.50705, 0.244, 0.506036, 0.245, 0.505025, 0.246, 0.504016, 0.247, 0.503009, 0.248, 0.502004, 0.249, 0.501001, 0.25, 0.5, 0.251, 0.499001, 0.252, 0.498004, 0.253, 0.497009, 0.254, 0.496016, 0.255, 0.495025, 0.256, 0.494036, 0.257, 0.493048, 0.258, 0.492063, 0.259, 0.49108, 0.26, 0.490098, 0.261, 0.489118, 0.262, 0.488141, 0.263, 0.487165, 0.264, 0.486191, 0.265, 0.485218, 0.266, 0.484248, 0.267, 0.48328, 0.268, 0.482313, 0.269, 0.481348, 0.27, 0.480385, 0.271, 0.479423, 0.272, 0.478464, 0.273, 0.477506, 0.274, 0.47655, 0.275, 0.475596, 0.276, 0.474643, 0.277, 0.473692, 0.278, 0.472743, 0.279, 0.471795, 0.28, 0.47085, 0.281, 0.469906, 0.282, 0.468963, 0.283, 0.468023, 0.284, 0.467083, 0.285, 0.466146, 0.286, 0.46521, 0.287, 0.464276, 0.288, 0.463344, 0.289, 0.462413, 0.29, 0.461484, 0.291, 0.460556, 0.292, 0.45963, 0.293, 0.458705, 0.294, 0.457782, 0.295, 0.456861, 0.296, 0.455941, 0.297, 0.455023, 0.298, 0.454106, 0.299, 0.453191, 0.3, 0.452277, 0.301, 0.451365, 0.302, 0.450455, 0.303, 0.449546, 0.304, 0.448638, 0.305, 0.447732, 0.306, 0.446827, 0.307, 0.445924, 0.308, 0.445023, 0.309, 0.444122, 0.31, 0.443224, 0.311, 0.442326, 0.312, 0.44143, 0.313, 0.440536, 0.314, 0.439643, 0.315, 0.438751, 0.316, 0.437861, 0.317, 0.436972, 0.318, 0.436085, 0.319, 0.435199, 0.32, 0.434315, 0.321, 0.433431, 0.322, 0.43255, 0.323, 0.431669, 0.324, 0.43079, 0.325, 0.429912, 0.326, 0.429036, 0.327, 0.428161, 0.328, 0.427287, 0.329, 0.426415, 0.33, 0.425544, 0.331, 0.424674, 0.332, 0.423806, 0.333, 0.422938, 0.334, 0.422073, 0.335, 0.421208, 0.336, 0.420345, 0.337, 0.419483, 0.338, 0.418622, 0.339, 0.417763, 0.34, 0.416905, 0.341, 0.416048, 0.342, 0.415192, 0.343, 0.414338, 0.344, 0.413485, 0.345, 0.412633, 0.346, 0.411782, 0.347, 0.410933, 0.348, 0.410085, 0.349, 0.409238, 0.35, 0.408392, 0.351, 0.407547, 0.352, 0.406704, 0.353, 0.405862, 0.354, 0.405021, 0.355, 0.404181, 0.356, 0.403343, 0.357, 0.402505, 0.358, 0.401669, 0.359, 0.400834, 0.36, 0.4, 0.361, 0.399167, 0.362, 0.398336, 0.363, 0.397505, 0.364, 0.396676, 0.365, 0.395848, 0.366, 0.395021, 0.367, 0.394195, 0.368, 0.39337, 0.369, 0.392546, 0.37, 0.391724, 0.371, 0.390902, 0.372, 0.390082, 0.373, 0.389263, 0.374, 0.388445, 0.375, 0.387628, 0.376, 0.386812, 0.377, 0.385997, 0.378, 0.385183, 0.379, 0.38437, 0.38, 0.383559, 0.381, 0.382748, 0.382, 0.381939, 0.383, 0.38113, 0.384, 0.380323, 0.385, 0.379516, 0.386, 0.378711, 0.387, 0.377907, 0.388, 0.377104, 0.389, 0.376301, 0.39, 0.3755, 0.391, 0.3747, 0.392, 0.373901, 0.393, 0.373103, 0.394, 0.372306, 0.395, 0.37151, 0.396, 0.370715, 0.397, 0.369921, 0.398, 0.369128, 0.399, 0.368336, 0.4, 0.367544, 0.401, 0.366754, 0.402, 0.365965, 0.403, 0.365177, 0.404, 0.36439, 0.405, 0.363604, 0.406, 0.362819, 0.407, 0.362034, 0.408, 0.361251, 0.409, 0.360469, 0.41, 0.359688, 0.411, 0.358907, 0.412, 0.358128, 0.413, 0.357349, 0.414, 0.356572, 0.415, 0.355795, 0.416, 0.355019, 0.417, 0.354245, 0.418, 0.353471, 0.419, 0.352698, 0.42, 0.351926, 0.421, 0.351155, 0.422, 0.350385, 0.423, 0.349615, 0.424, 0.348847, 0.425, 0.34808, 0.426, 0.347313, 0.427, 0.346548, 0.428, 0.345783, 0.429, 0.345019, 0.43, 0.344256, 0.431, 0.343494, 0.432, 0.342733, 0.433, 0.341973, 0.434, 0.341213, 0.435, 0.340455, 0.436, 0.339697, 0.437, 0.33894, 0.438, 0.338184, 0.439, 0.337429, 0.44, 0.336675, 0.441, 0.335922, 0.442, 0.335169, 0.443, 0.334418, 0.444, 0.333667, 0.445, 0.332917, 0.446, 0.332168, 0.447, 0.331419, 0.448, 0.330672, 0.449, 0.329925, 0.45, 0.32918, 0.451, 0.328435, 0.452, 0.327691, 0.453, 0.326947, 0.454, 0.326205, 0.455, 0.325463, 0.456, 0.324722, 0.457, 0.323982, 0.458, 0.323243, 0.459, 0.322505, 0.46, 0.321767, 0.461, 0.32103, 0.462, 0.320294, 0.463, 0.319559, 0.464, 0.318825, 0.465, 0.318091, 0.466, 0.317358, 0.467, 0.316626, 0.468, 0.315895, 0.469, 0.315164, 0.47, 0.314435, 0.471, 0.313706, 0.472, 0.312977, 0.473, 0.31225, 0.474, 0.311523, 0.475, 0.310798, 0.476, 0.310072, 0.477, 0.309348, 0.478, 0.308625, 0.479, 0.307902, 0.48, 0.30718, 0.481, 0.306458, 0.482, 0.305738, 0.483, 0.305018, 0.484, 0.304299, 0.485, 0.303581, 0.486, 0.302863, 0.487, 0.302146, 0.488, 0.30143, 0.489, 0.300715, 0.49, 0.3, 0.491, 0.299286, 0.492, 0.298573, 0.493, 0.29786, 0.494, 0.297149, 0.495, 0.296438, 0.496, 0.295727, 0.497, 0.295018, 0.498, 0.294309, 0.499, 0.293601, 0.5, 0.292893, 0.501, 0.292186, 0.502, 0.29148, 0.503, 0.290775, 0.504, 0.29007, 0.505, 0.289366, 0.506, 0.288663, 0.507, 0.287961, 0.508, 0.287259, 0.509, 0.286558, 0.51, 0.285857, 0.511, 0.285157, 0.512, 0.284458, 0.513, 0.28376, 0.514, 0.283062, 0.515, 0.282365, 0.516, 0.281669, 0.517, 0.280973, 0.518, 0.280278, 0.519, 0.279583, 0.52, 0.27889, 0.521, 0.278197, 0.522, 0.277504, 0.523, 0.276813, 0.524, 0.276122, 0.525, 0.275431, 0.526, 0.274741, 0.527, 0.274052, 0.528, 0.273364, 0.529, 0.272676, 0.53, 0.271989, 0.531, 0.271303, 0.532, 0.270617, 0.533, 0.269932, 0.534, 0.269247, 0.535, 0.268563, 0.536, 0.26788, 0.537, 0.267197, 0.538, 0.266515, 0.539, 0.265834, 0.54, 0.265153, 0.541, 0.264473, 0.542, 0.263794, 0.543, 0.263115, 0.544, 0.262436, 0.545, 0.261759, 0.546, 0.261082, 0.547, 0.260406, 0.548, 0.25973, 0.549, 0.259055, 0.55, 0.25838, 0.551, 0.257706, 0.552, 0.257033, 0.553, 0.25636, 0.554, 0.255688, 0.555, 0.255017, 0.556, 0.254346, 0.557, 0.253676, 0.558, 0.253006, 0.559, 0.252337, 0.56, 0.251669, 0.561, 0.251001, 0.562, 0.250333, 0.563, 0.249667, 0.564, 0.249001, 0.565, 0.248335, 0.566, 0.24767, 0.567, 0.247006, 0.568, 0.246342, 0.569, 0.245679, 0.57, 0.245017, 0.571, 0.244355, 0.572, 0.243693, 0.573, 0.243032, 0.574, 0.242372, 0.575, 0.241712, 0.576, 0.241053, 0.577, 0.240395, 0.578, 0.239737, 0.579, 0.23908, 0.58, 0.238423, 0.581, 0.237766, 0.582, 0.237111, 0.583, 0.236456, 0.584, 0.235801, 0.585, 0.235147, 0.586, 0.234494, 0.587, 0.233841, 0.588, 0.233188, 0.589, 0.232537, 0.59, 0.231885, 0.591, 0.231235, 0.592, 0.230585, 0.593, 0.229935, 0.594, 0.229286, 0.595, 0.228638, 0.596, 0.22799, 0.597, 0.227342, 0.598, 0.226695, 0.599, 0.226049, 0.6, 0.225403, 0.601, 0.224758, 0.602, 0.224113, 0.603, 0.223469, 0.604, 0.222826, 0.605, 0.222183, 0.606, 0.22154, 0.607, 0.220898, 0.608, 0.220256, 0.609, 0.219615, 0.61, 0.218975, 0.611, 0.218335, 0.612, 0.217696, 0.613, 0.217057, 0.614, 0.216418, 0.615, 0.215781, 0.616, 0.215143, 0.617, 0.214507, 0.618, 0.21387, 0.619, 0.213234, 0.62, 0.212599, 0.621, 0.211964, 0.622, 0.21133, 0.623, 0.210697, 0.624, 0.210063, 0.625, 0.209431, 0.626, 0.208798, 0.627, 0.208167, 0.628, 0.207535, 0.629, 0.206905, 0.63, 0.206275, 0.631, 0.205645, 0.632, 0.205016, 0.633, 0.204387, 0.634, 0.203759, 0.635, 0.203131, 0.636, 0.202504, 0.637, 0.201877, 0.638, 0.201251, 0.639, 0.200625, 0.64, 0.2, 0.641, 0.199375, 0.642, 0.198751, 0.643, 0.198127, 0.644, 0.197504, 0.645, 0.196881, 0.646, 0.196259, 0.647, 0.195637, 0.648, 0.195016, 0.649, 0.194395, 0.65, 0.193774, 0.651, 0.193154, 0.652, 0.192535, 0.653, 0.191916, 0.654, 0.191297, 0.655, 0.190679, 0.656, 0.190062, 0.657, 0.189445, 0.658, 0.188828, 0.659, 0.188212, 0.66, 0.187596, 0.661, 0.186981, 0.662, 0.186366, 0.663, 0.185752, 0.664, 0.185138, 0.665, 0.184525, 0.666, 0.183912, 0.667, 0.183299, 0.668, 0.182687, 0.669, 0.182076, 0.67, 0.181465, 0.671, 0.180854, 0.672, 0.180244, 0.673, 0.179634, 0.674, 0.179025, 0.675, 0.178416, 0.676, 0.177808, 0.677, 0.1772, 0.678, 0.176592, 0.679, 0.175985, 0.68, 0.175379, 0.681, 0.174773, 0.682, 0.174167, 0.683, 0.173562, 0.684, 0.172957, 0.685, 0.172353, 0.686, 0.171749, 0.687, 0.171145, 0.688, 0.170542, 0.689, 0.16994, 0.69, 0.169338, 0.691, 0.168736, 0.692, 0.168135, 0.693, 0.167534, 0.694, 0.166933, 0.695, 0.166333, 0.696, 0.165734, 0.697, 0.165135, 0.698, 0.164536, 0.699, 0.163938, 0.7, 0.16334, 0.701, 0.162743, 0.702, 0.162146, 0.703, 0.161549, 0.704, 0.160953, 0.705, 0.160357, 0.706, 0.159762, 0.707, 0.159167, 0.708, 0.158573, 0.709, 0.157979, 0.71, 0.157385, 0.711, 0.156792, 0.712, 0.156199, 0.713, 0.155607, 0.714, 0.155015, 0.715, 0.154423, 0.716, 0.153832, 0.717, 0.153241, 0.718, 0.152651, 0.719, 0.152061, 0.72, 0.151472, 0.721, 0.150883, 0.722, 0.150294, 0.723, 0.149706, 0.724, 0.149118, 0.725, 0.148531, 0.726, 0.147944, 0.727, 0.147357, 0.728, 0.146771, 0.729, 0.146185, 0.73, 0.1456, 0.731, 0.145015, 0.732, 0.14443, 0.733, 0.143846, 0.734, 0.143262, 0.735, 0.142679, 0.736, 0.142096, 0.737, 0.141513, 0.738, 0.140931, 0.739, 0.140349, 0.74, 0.139767, 0.741, 0.139186, 0.742, 0.138606, 0.743, 0.138026, 0.744, 0.137446, 0.745, 0.136866, 0.746, 0.136287, 0.747, 0.135708, 0.748, 0.13513, 0.749, 0.134552, 0.75, 0.133975, 0.751, 0.133397, 0.752, 0.132821, 0.753, 0.132244, 0.754, 0.131668, 0.755, 0.131093, 0.756, 0.130517, 0.757, 0.129943, 0.758, 0.129368, 0.759, 0.128794, 0.76, 0.12822, 0.761, 0.127647, 0.762, 0.127074, 0.763, 0.126501, 0.764, 0.125929, 0.765, 0.125357, 0.766, 0.124786, 0.767, 0.124215, 0.768, 0.123644, 0.769, 0.123074, 0.77, 0.122504, 0.771, 0.121934, 0.772, 0.121365, 0.773, 0.120796, 0.774, 0.120227, 0.775, 0.119659, 0.776, 0.119091, 0.777, 0.118524, 0.778, 0.117957, 0.779, 0.11739, 0.78, 0.116824, 0.781, 0.116258, 0.782, 0.115692, 0.783, 0.115127, 0.784, 0.114562, 0.785, 0.113998, 0.786, 0.113434, 0.787, 0.11287, 0.788, 0.112306, 0.789, 0.111743, 0.79, 0.111181, 0.791, 0.110618, 0.792, 0.110056, 0.793, 0.109495, 0.794, 0.108933, 0.795, 0.108372, 0.796, 0.107812, 0.797, 0.107251, 0.798, 0.106692, 0.799, 0.106132, 0.8, 0.105573, 0.801, 0.105014, 0.802, 0.104455, 0.803, 0.103897, 0.804, 0.10334, 0.805, 0.102782, 0.806, 0.102225, 0.807, 0.101668, 0.808, 0.101112, 0.809, 0.100556, 0.81, 0.1, 0.811, 0.0994446, 0.812, 0.0988896, 0.813, 0.0983349, 0.814, 0.0977805, 0.815, 0.0972265, 0.816, 0.0966728, 0.817, 0.0961195, 0.818, 0.0955665, 0.819, 0.0950138, 0.82, 0.0944615, 0.821, 0.0939095, 0.822, 0.0933578, 0.823, 0.0928065, 0.824, 0.0922555, 0.825, 0.0917049, 0.826, 0.0911546, 0.827, 0.0906046, 0.828, 0.0900549, 0.829, 0.0895056, 0.83, 0.0889566, 0.831, 0.088408, 0.832, 0.0878597, 0.833, 0.0873117, 0.834, 0.086764, 0.835, 0.0862167, 0.836, 0.0856696, 0.837, 0.085123, 0.838, 0.0845766, 0.839, 0.0840306, 0.84, 0.0834849, 0.841, 0.0829395, 0.842, 0.0823944, 0.843, 0.0818497, 0.844, 0.0813053, 0.845, 0.0807612, 0.846, 0.0802174, 0.847, 0.079674, 0.848, 0.0791308, 0.849, 0.078588, 0.85, 0.0780456, 0.851, 0.0775034, 0.852, 0.0769615, 0.853, 0.07642, 0.854, 0.0758788, 0.855, 0.0753379, 0.856, 0.0747973, 0.857, 0.0742571, 0.858, 0.0737171, 0.859, 0.0731775, 0.86, 0.0726382, 0.861, 0.0720991, 0.862, 0.0715604, 0.863, 0.0710221, 0.864, 0.070484, 0.865, 0.0699462, 0.866, 0.0694088, 0.867, 0.0688717, 0.868, 0.0683348, 0.869, 0.0677983, 0.87, 0.0672621, 0.871, 0.0667262, 0.872, 0.0661906, 0.873, 0.0656553, 0.874, 0.0651203, 0.875, 0.0645857, 0.876, 0.0640513, 0.877, 0.0635172, 0.878, 0.0629835, 0.879, 0.06245, 0.88, 0.0619168, 0.881, 0.061384, 0.882, 0.0608514, 0.883, 0.0603192, 0.884, 0.0597873, 0.885, 0.0592556, 0.886, 0.0587243, 0.887, 0.0581932, 0.888, 0.0576625, 0.889, 0.057132, 0.89, 0.0566019, 0.891, 0.056072, 0.892, 0.0555425, 0.893, 0.0550132, 0.894, 0.0544843, 0.895, 0.0539556, 0.896, 0.0534272, 0.897, 0.0528992, 0.898, 0.0523714, 0.899, 0.0518439, 0.9, 0.0513167, 0.901, 0.0507898, 0.902, 0.0502632, 0.903, 0.0497369, 0.904, 0.0492109, 0.905, 0.0486851, 0.906, 0.0481597, 0.907, 0.0476345, 0.908, 0.0471097, 0.909, 0.0465851, 0.91, 0.0460608, 0.911, 0.0455368, 0.912, 0.0450131, 0.913, 0.0444897, 0.914, 0.0439665, 0.915, 0.0434437, 0.916, 0.0429211, 0.917, 0.0423988, 0.918, 0.0418768, 0.919, 0.0413551, 0.92, 0.0408337, 0.921, 0.0403126, 0.922, 0.0397917, 0.923, 0.0392711, 0.924, 0.0387508, 0.925, 0.0382308, 0.926, 0.0377111, 0.927, 0.0371916, 0.928, 0.0366724, 0.929, 0.0361535, 0.93, 0.0356349, 0.931, 0.0351166, 0.932, 0.0345985, 0.933, 0.0340807, 0.934, 0.0335632, 0.935, 0.033046, 0.936, 0.0325291, 0.937, 0.0320124, 0.938, 0.031496, 0.939, 0.0309799, 0.94, 0.030464, 0.941, 0.0299485, 0.942, 0.0294332, 0.943, 0.0289181, 0.944, 0.0284034, 0.945, 0.0278889, 0.946, 0.0273747, 0.947, 0.0268607, 0.948, 0.0263471, 0.949, 0.0258337, 0.95, 0.0253206, 0.951, 0.0248077, 0.952, 0.0242951, 0.953, 0.0237828, 0.954, 0.0232708, 0.955, 0.022759, 0.956, 0.0222475, 0.957, 0.0217362, 0.958, 0.0212253, 0.959, 0.0207145, 0.96, 0.0202041, 0.961, 0.0196939, 0.962, 0.019184, 0.963, 0.0186744, 0.964, 0.018165, 0.965, 0.0176559, 0.966, 0.017147, 0.967, 0.0166384, 0.968, 0.0161301, 0.969, 0.015622, 0.97, 0.0151142, 0.971, 0.0146067, 0.972, 0.0140994, 0.973, 0.0135924, 0.974, 0.0130856, 0.975, 0.0125791, 0.976, 0.0120729, 0.977, 0.0115669, 0.978, 0.0110612, 0.979, 0.0105557, 0.98, 0.0100505, 0.981, 0.00954556, 0.982, 0.00904087, 0.983, 0.00853644, 0.984, 0.00803226, 0.985, 0.00752834, 0.986, 0.00702467, 0.987, 0.00652126, 0.988, 0.00601811, 0.989, 0.00551521, 0.99, 0.00501256, 0.991, 0.00451017, 0.992, 0.00400803, 0.993, 0.00350615, 0.994, 0.00300451, 0.995, 0.00250313, 0.996, 0.002002, 0.997, 0.00150113, 0.998, 0.0010005, 0.999, 5.00125E-4, 1.0, 0.0 }; break;
    27         case "ZDT2": data = new double[] { 0.0, 1.0, 0.003754873, 0.999985901, 0.00563231, 0.999968277, 0.007200271, 0.999948156, 0.008597509, 0.999926083, 0.009882778, 0.999902331, 0.011102102, 0.999876743, 0.012264475, 0.999849583, 0.013371765, 0.999821196, 0.014455677, 0.999791033, 0.015498951, 0.999759783, 0.016519826, 0.999727095, 0.017509158, 0.999693429, 0.018479218, 0.999658519, 0.019438356, 0.99962215, 0.020399442, 0.999583863, 0.021350237, 0.999544167, 0.022279862, 0.999503608, 0.023213525, 0.999461132, 0.024128412, 0.99941782, 0.025054514, 0.999372271, 0.0259635, 0.999325897, 0.026883532, 0.999277276, 0.027787821, 0.999227837, 0.028698894, 0.999176374, 0.029595506, 0.999124106, 0.030500201, 0.999069738, 0.031391478, 0.999014575, 0.032299982, 0.998956711, 0.03319571, 0.998898045, 0.034102435, 0.998837024, 0.035015421, 0.99877392, 0.035916506, 0.998710005, 0.036828477, 0.998643663, 0.037729156, 0.998576511, 0.038623319, 0.998508239, 0.039534786, 0.998437001, 0.040435746, 0.99836495, 0.041383829, 0.998287379, 0.042321051, 0.998208929, 0.043259865, 0.998128584, 0.044188493, 0.998047377, 0.045127464, 0.997963512, 0.046056667, 0.997878783, 0.04699368, 0.997791594, 0.047928593, 0.99770285, 0.048854387, 0.997613249, 0.049804185, 0.997519543, 0.050755861, 0.997423843, 0.051698616, 0.997327253, 0.052643509, 0.997228661, 0.053600651, 0.99712697, 0.054549248, 0.99702438, 0.055491619, 0.99692068, 0.056449778, 0.996813423, 0.057399805, 0.996705262, 0.058367844, 0.996593195, 0.059337093, 0.996479109, 0.060298425, 0.9963641, 0.061262107, 0.996246954, 0.062218209, 0.996128895, 0.063192226, 0.996006743, 0.064158736, 0.995883657, 0.065127027, 0.99575847, 0.066097858, 0.995631073, 0.06706156, 0.995502747, 0.068027936, 0.9953722, 0.06900275, 0.995238621, 0.069970678, 0.995104104, 0.070947611, 0.994966437, 0.071917818, 0.994827828, 0.072888719, 0.994687235, 0.073866674, 0.994543715, 0.074838154, 0.994399251, 0.075810462, 0.994252774, 0.076793322, 0.994102786, 0.077769892, 0.993951844, 0.078752878, 0.993797984, 0.079735311, 0.99364228, 0.080711692, 0.993485623, 0.081695026, 0.993325923, 0.082672441, 0.993165268, 0.083652072, 0.993002331, 0.084632485, 0.992837342, 0.085612208, 0.99267055, 0.086591595, 0.992501896, 0.087565443, 0.992332293, 0.088548617, 0.992159143, 0.089526332, 0.991985036, 0.090515945, 0.991806864, 0.091500147, 0.991627723, 0.092482981, 0.991446898, 0.093471389, 0.9912631, 0.094454571, 0.991078334, 0.095446004, 0.99089006, 0.096432288, 0.990700814, 0.097423173, 0.990508725, 0.098409018, 0.990315665, 0.099393339, 0.990120964, 0.100389139, 0.989922021, 0.101380001, 0.989722096, 0.102371646, 0.989520046, 0.103358489, 0.989317023, 0.104345726, 0.98911197, 0.105336658, 0.988904189, 0.106322929, 0.988695435, 0.107317147, 0.98848303, 0.108306759, 0.988269646, 0.109294222, 0.988054773, 0.110287174, 0.987836739, 0.111279209, 0.987616938, 0.112270294, 0.987395381, 0.113257005, 0.987172851, 0.114242858, 0.986948569, 0.115228703, 0.986722346, 0.116224291, 0.986491914, 0.117217614, 0.986260031, 0.118206729, 0.986027169, 0.119200574, 0.985791223, 0.120193704, 0.985553473, 0.121182732, 0.985314746, 0.122173842, 0.985073552, 0.12316743, 0.984829784, 0.124157011, 0.984585037, 0.125151374, 0.984337134, 0.126141787, 0.98408825, 0.127130573, 0.983837817, 0.128118845, 0.983585562, 0.129112035, 0.983330083, 0.130101405, 0.983073625, 0.131098167, 0.982813271, 0.13209114, 0.982551931, 0.133082833, 0.98228896, 0.134075717, 0.982023702, 0.135066754, 0.981756972, 0.136064006, 0.981486586, 0.137057604, 0.981215213, 0.138048207, 0.980942692, 0.13904423, 0.980666702, 0.140036685, 0.980389727, 0.141028521, 0.980110956, 0.14202975, 0.97982755, 0.143027982, 0.979542996, 0.14402273, 0.979257453, 0.145020141, 0.978969159, 0.146014123, 0.978679876, 0.147010677, 0.978387861, 0.148003855, 0.978094859, 0.149000804, 0.977798761, 0.149998797, 0.977500361, 0.15099347, 0.977200972, 0.151989217, 0.976899278, 0.152984544, 0.976595729, 0.153982473, 0.976289398, 0.154981253, 0.975980811, 0.155976814, 0.975671234, 0.156973257, 0.975359397, 0.157968263, 0.975046028, 0.158963578, 0.974730581, 0.159960237, 0.974412723, 0.160953791, 0.974093877, 0.161950816, 0.973771933, 0.162944771, 0.973449002, 0.163942018, 0.973123015, 0.164936232, 0.972796039, 0.16592856, 0.972467713, 0.166926342, 0.972135596, 0.167924272, 0.971801439, 0.168919236, 0.971466292, 0.169914381, 0.971129103, 0.170913665, 0.970788519, 0.171910027, 0.970446943, 0.172909107, 0.970102441, 0.17390752, 0.969756175, 0.174903996, 0.969408592, 0.175897633, 0.969060023, 0.176893081, 0.968708838, 0.177888598, 0.968355647, 0.178885793, 0.967999873, 0.179880967, 0.967642838, 0.180873388, 0.967284818, 0.181873751, 0.966921939, 0.182871362, 0.966558065, 0.183867528, 0.966192732, 0.18486473, 0.965825032, 0.185859242, 0.965456342, 0.186857876, 0.965084134, 0.187853842, 0.964710934, 0.18884802, 0.964336425, 0.18984793, 0.963957763, 0.190845207, 0.963578107, 0.191842618, 0.96319641, 0.192837437, 0.962813723, 0.193838641, 0.962426581, 0.194837261, 0.962038442, 0.195834564, 0.961648823, 0.196834867, 0.961256035, 0.197833873, 0.960861759, 0.198830357, 0.960466489, 0.199825584, 0.960069736, 0.200822724, 0.959670233, 0.201818526, 0.959269283, 0.202816943, 0.958865288, 0.203816095, 0.958459, 0.204812798, 0.958051718, 0.20580886, 0.957642713, 0.206808496, 0.957230246, 0.207805717, 0.956816784, 0.208805291, 0.956400351, 0.209802472, 0.955982923, 0.210799601, 0.955563528, 0.211801571, 0.955140095, 0.212801691, 0.954715441, 0.213800967, 0.954289146, 0.214797909, 0.953861858, 0.215794037, 0.953432934, 0.216796225, 0.952999397, 0.217798065, 0.952564003, 0.218797601, 0.95212761, 0.219796813, 0.951689361, 0.220796814, 0.951248767, 0.22179455, 0.950807178, 0.222793474, 0.950363068, 0.223790159, 0.949917965, 0.224786745, 0.949470919, 0.225787374, 0.949020062, 0.226787411, 0.94856747, 0.227787098, 0.948113038, 0.228784592, 0.947657611, 0.229781757, 0.947200344, 0.230781535, 0.946739883, 0.231779147, 0.946278427, 0.23278029, 0.945813337, 0.233780267, 0.945346787, 0.234778866, 0.944878884, 0.235775341, 0.944409988, 0.236770468, 0.943939746, 0.237771074, 0.943464917, 0.238769574, 0.94298909, 0.239769543, 0.942510566, 0.240768517, 0.942030521, 0.241765419, 0.941549482, 0.242765057, 0.941065127, 0.243763858, 0.940579182, 0.244760612, 0.940092243, 0.24575992, 0.939602062, 0.246757197, 0.939110886, 0.247753048, 0.938618427, 0.248753037, 0.938121926, 0.249751017, 0.93762443, 0.250752523, 0.937123172, 0.251754378, 0.936619733, 0.25275424, 0.936115294, 0.253754466, 0.935608671, 0.254754003, 0.935100398, 0.255752123, 0.934590852, 0.256753691, 0.934077542, 0.257754454, 0.933562642, 0.258753847, 0.933046447, 0.25975131, 0.932529257, 0.260749971, 0.932009453, 0.26174904, 0.93148744, 0.262746202, 0.930964433, 0.263745095, 0.930438525, 0.264745097, 0.929910033, 0.265744597, 0.929379809, 0.266742217, 0.92884859, 0.267739351, 0.92831564, 0.26873679, 0.927780538, 0.269737189, 0.927241849, 0.270735732, 0.926702163, 0.271736809, 0.926159107, 0.272736189, 0.925614971, 0.273736513, 0.925068322, 0.274735008, 0.924520675, 0.275735703, 0.923969822, 0.276734582, 0.923417971, 0.277735073, 0.92286323, 0.278733762, 0.92230749, 0.279733956, 0.921748914, 0.28073421, 0.921188303, 0.281733604, 0.920626176, 0.282732653, 0.920062247, 0.283729936, 0.919497324, 0.284730615, 0.918928477, 0.28573122, 0.91835767, 0.286731613, 0.917784982, 0.287730261, 0.917211297, 0.288729785, 0.916635111, 0.289729257, 0.916056958, 0.290727841, 0.915477322, 0.291724711, 0.914896693, 0.292724743, 0.914312225, 0.293723068, 0.91372676, 0.294724221, 0.913137633, 0.295723675, 0.912547508, 0.296722291, 0.911955882, 0.29772264, 0.91136123, 0.298722642, 0.910764783, 0.29972097, 0.91016734, 0.300721162, 0.909566783, 0.301719691, 0.908965228, 0.302721345, 0.908359787, 0.3037216, 0.90775319, 0.304722428, 0.907144242, 0.30572272, 0.906533618, 0.306721376, 0.905921998, 0.307721926, 0.905307216, 0.308721783, 0.90469086, 0.309720022, 0.904073508, 0.310720442, 0.903452807, 0.311719252, 0.902831108, 0.312720231, 0.902206057, 0.313720091, 0.901579705, 0.314718357, 0.900952356, 0.315718924, 0.900321561, 0.316718644, 0.8996893, 0.317716787, 0.899056044, 0.318716733, 0.898419644, 0.31971511, 0.897782248, 0.320715026, 0.897141872, 0.321713384, 0.896500499, 0.322712288, 0.895856779, 0.323713455, 0.895209599, 0.324714549, 0.894560462, 0.3257141, 0.893910325, 0.326713269, 0.89325844, 0.32771091, 0.89260556, 0.328710354, 0.891949504, 0.329708278, 0.891292452, 0.330710659, 0.89063046, 0.33171152, 0.889967467, 0.332711717, 0.889302913, 0.333712099, 0.888636235, 0.334711776, 0.887968027, 0.335713107, 0.88729671, 0.336712945, 0.886624393, 0.337714502, 0.885948915, 0.338714573, 0.885272438, 0.33971371, 0.884594595, 0.340713135, 0.88391456, 0.341713432, 0.88323193, 0.342712758, 0.882547965, 0.343710627, 0.881863005, 0.34471121, 0.881174182, 0.345711904, 0.88048328, 0.346711149, 0.879791379, 0.347711385, 0.879096793, 0.348710182, 0.878401209, 0.3497106, 0.877702497, 0.350709586, 0.877002786, 0.351709326, 0.87630055, 0.352708223, 0.875596909, 0.353706861, 0.874891456, 0.354708467, 0.874181903, 0.355708658, 0.87347135, 0.356709672, 0.87275821, 0.357709281, 0.87204407, 0.358708778, 0.871328013, 0.359706882, 0.870610959, 0.360704206, 0.869892476, 0.361705825, 0.869168897, 0.362706056, 0.868444317, 0.363707305, 0.867716996, 0.364707177, 0.866988675, 0.365707057, 0.866258349, 0.366708627, 0.865524783, 0.367709949, 0.864789393, 0.368709935, 0.864052984, 0.369710507, 0.863314141, 0.370709726, 0.862574299, 0.371710152, 0.861831563, 0.372709539, 0.861087599, 0.373707587, 0.86034264, 0.374708412, 0.859593606, 0.375709292, 0.858842528, 0.376708838, 0.858090452, 0.377709619, 0.857335444, 0.378709074, 0.856579437, 0.379708581, 0.855821393, 0.380709731, 0.855060101, 0.381709968, 0.854297501, 0.382708893, 0.853533903, 0.38371038, 0.852766345, 0.384710559, 0.851997786, 0.385711472, 0.851226661, 0.386711085, 0.850454537, 0.387710012, 0.849680947, 0.388711615, 0.848903281, 0.389711927, 0.848124614, 0.390713005, 0.847343348, 0.391713425, 0.846560592, 0.392712568, 0.845776839, 0.393711968, 0.844990887, 0.394714017, 0.844200844, 0.395714795, 0.843409801, 0.396714891, 0.842617295, 0.397715214, 0.841822609, 0.398715654, 0.841025827, 0.399716216, 0.840226947, 0.400715525, 0.839427068, 0.401716743, 0.838623658, 0.402717603, 0.837818533, 0.403717218, 0.837012408, 0.404718153, 0.836203216, 0.405719194, 0.835391936, 0.406719, 0.834579655, 0.407718505, 0.833765621, 0.40871811, 0.832949506, 0.409716971, 0.832132004, 0.410715569, 0.831312722, 0.411717243, 0.830488912, 0.4127177, 0.8296641, 0.413717405, 0.828837909, 0.414718759, 0.828008351, 0.415718903, 0.827177793, 0.416718532, 0.826345665, 0.417718333, 0.825511395, 0.418719508, 0.824673973, 0.419719487, 0.823835552, 0.420719825, 0.822994829, 0.421720476, 0.82215184, 0.42271994, 0.821307852, 0.423719721, 0.820461598, 0.42472109, 0.819611996, 0.425721279, 0.818761393, 0.426722224, 0.817908143, 0.427723227, 0.817052841, 0.428723394, 0.816196252, 0.429723685, 0.815337555, 0.430723457, 0.814477304, 0.431722069, 0.813616055, 0.432722721, 0.812751047, 0.433724258, 0.811883268, 0.434724639, 0.811014488, 0.435725666, 0.810143144, 0.436725543, 0.8092708, 0.437725425, 0.808396452, 0.438725986, 0.807519509, 0.43972581, 0.806641213, 0.440726782, 0.805759904, 0.441726618, 0.804877595, 0.442728245, 0.803991701, 0.443728738, 0.803104807, 0.444728523, 0.802216541, 0.44572962, 0.801325106, 0.446729592, 0.800432672, 0.447730039, 0.799537812, 0.44873086, 0.798640615, 0.449730565, 0.797742419, 0.45073117, 0.796841413, 0.451730664, 0.795939407, 0.452730964, 0.795034674, 0.453730159, 0.794128943, 0.454731775, 0.793219013, 0.455732287, 0.792308082, 0.456733155, 0.791394825, 0.457732927, 0.790480568, 0.458734191, 0.789562942, 0.459734994, 0.788643735, 0.460735867, 0.787722461, 0.461735653, 0.786800187, 0.462735513, 0.785875845, 0.463735666, 0.784949233, 0.464737346, 0.7840192, 0.46573913, 0.783087063, 0.466740352, 0.782153444, 0.4677405, 0.781218825, 0.468741043, 0.780281834, 0.46974148, 0.779342942, 0.470740851, 0.778403051, 0.471741786, 0.777459687, 0.472741659, 0.776515324, 0.473742137, 0.775568388, 0.474742491, 0.774619567, 0.475741792, 0.773669747, 0.476742717, 0.772716382, 0.47774312, 0.771761512, 0.478742475, 0.770805643, 0.479743722, 0.769845962, 0.480744695, 0.768884539, 0.481745407, 0.767921363, 0.48274508, 0.766957188, 0.483744498, 0.765991261, 0.484744139, 0.765023119, 0.48574275, 0.764053981, 0.486743929, 0.763080348, 0.487744078, 0.762105715, 0.488744689, 0.761128629, 0.489744275, 0.760150545, 0.490743488, 0.759170829, 0.491742974, 0.758188848, 0.492744023, 0.757203328, 0.493744056, 0.756216808, 0.494744825, 0.755227558, 0.495745017, 0.754236879, 0.496745892, 0.753243519, 0.497745759, 0.75224916, 0.498746847, 0.751251583, 0.49974693, 0.750253006, 0.50074794, 0.749251501, 0.501747949, 0.748248996, 0.502748091, 0.747244357, 0.503747238, 0.74623872, 0.504747963, 0.745229494, 0.505747696, 0.744219269, 0.506748794, 0.74320566, 0.507748903, 0.742191051, 0.508748294, 0.741175173, 0.509749451, 0.740155497, 0.510750455, 0.739133973, 0.511751386, 0.738110519, 0.512751339, 0.737086065, 0.513751222, 0.736059682, 0.514752509, 0.735029854, 0.515752905, 0.733998941, 0.516752331, 0.732967028, 0.517754385, 0.731930397, 0.51875547, 0.730892763, 0.519757093, 0.729852564, 0.520757751, 0.728811365, 0.521759212, 0.727767324, 0.522759713, 0.726722283, 0.523761102, 0.725674308, 0.524762492, 0.724624327, 0.525762927, 0.723573345, 0.526764149, 0.722519531, 0.52776442, 0.721464717, 0.528765629, 0.72040691, 0.529767331, 0.719346575, 0.530768086, 0.718285239, 0.531768474, 0.71722229, 0.532769073, 0.716157115, 0.533770758, 0.715088778, 0.534771504, 0.714019439, 0.535771803, 0.712948575, 0.536772146, 0.711875663, 0.537772898, 0.71080031, 0.538772719, 0.709723957, 0.539773599, 0.708644462, 0.540773551, 0.707563966, 0.541774944, 0.70647991, 0.542775412, 0.705394852, 0.543775105, 0.704308636, 0.544776405, 0.703218668, 0.545776786, 0.7021277, 0.546777926, 0.7010339, 0.547778149, 0.699939099, 0.548779716, 0.698840823, 0.549780369, 0.697741546, 0.550780882, 0.69664042, 0.551782293, 0.695536301, 0.552782795, 0.694431182, 0.553782752, 0.693324663, 0.554783735, 0.692215008, 0.555783933, 0.69110422, 0.556783231, 0.689992434, 0.557784579, 0.688876364, 0.558785028, 0.687759292, 0.559785073, 0.686640672, 0.560786101, 0.685518949, 0.561786236, 0.684396225, 0.562786869, 0.68327094, 0.563786613, 0.682144655, 0.564786981, 0.681015666, 0.565786463, 0.679885678, 0.566786368, 0.678753213, 0.567788081, 0.677616695, 0.568788911, 0.676479174, 0.569790337, 0.675338972, 0.570791424, 0.67419715, 0.571791633, 0.673054328, 0.572792209, 0.671909085, 0.573791911, 0.670762842, 0.574792856, 0.669613173, 0.575794003, 0.668461266, 0.57679428, 0.667308359, 0.577795454, 0.666152414, 0.57879576, 0.664995468, 0.579795893, 0.663836723, 0.580795729, 0.662676321, 0.581796603, 0.661512713, 0.582796997, 0.660347661, 0.583796532, 0.659181609, 0.584798669, 0.658010517, 0.585799946, 0.656838423, 0.586801736, 0.655663723, 0.58780267, 0.654488021, 0.588803081, 0.653310931, 0.589804416, 0.652130751, 0.5908049, 0.65094957, 0.591806087, 0.649765556, 0.592806427, 0.648580541, 0.593807246, 0.647392954, 0.594808719, 0.646202588, 0.595809913, 0.645010548, 0.596810265, 0.643817507, 0.597810315, 0.642622827, 0.5988106, 0.641425866, 0.599812183, 0.640225345, 0.60081293, 0.639023824, 0.601813408, 0.637820622, 0.602814301, 0.636614919, 0.60381475, 0.635407748, 0.60481437, 0.634199578, 0.605815641, 0.632987409, 0.606816516, 0.631773716, 0.607816566, 0.630559023, 0.608817453, 0.629341309, 0.609817517, 0.628122596, 0.610818444, 0.626900829, 0.61181855, 0.625678062, 0.6128192, 0.624452629, 0.613819032, 0.623226196, 0.614818956, 0.621997651, 0.615819256, 0.620766644, 0.616820073, 0.619532997, 0.617820079, 0.618298351, 0.618821265, 0.617060242, 0.619821642, 0.615821133, 0.620822948, 0.614578867, 0.621824386, 0.613334433, 0.622825282, 0.612088668, 0.623825373, 0.610841904, 0.624824926, 0.609593812, 0.625825621, 0.608342292, 0.626825515, 0.607089774, 0.62782689, 0.605833397, 0.628827466, 0.604576019, 0.629827741, 0.603317017, 0.630828463, 0.602055451, 0.63182839, 0.600792885, 0.632829773, 0.599526478, 0.633830364, 0.59825907, 0.634831438, 0.596989045, 0.635831724, 0.595718019, 0.636832296, 0.594444627, 0.637833406, 0.593168546, 0.638833731, 0.591891464, 0.639834603, 0.59061168, 0.640835203, 0.589330243, 0.641835022, 0.588047805, 0.642836181, 0.586761645, 0.64383656, 0.585474484, 0.644838265, 0.584183612, 0.645839811, 0.582890939, 0.646841199, 0.581596463, 0.647841812, 0.580300986, 0.648841777, 0.579004349, 0.649843084, 0.577703966, 0.65084362, 0.576402582, 0.651844427, 0.575098843, 0.652845346, 0.573792954, 0.653845497, 0.572486066, 0.654845762, 0.571177028, 0.655846618, 0.569865214, 0.656846709, 0.568552401, 0.65784831, 0.567235601, 0.658849149, 0.565917799, 0.65984954, 0.564598585, 0.660850682, 0.563276376, 0.66185203, 0.561951891, 0.66285262, 0.560626404, 0.663853235, 0.559298882, 0.664854656, 0.557968286, 0.665855748, 0.556636122, 0.66685616, 0.555302863, 0.667857028, 0.553966991, 0.668857741, 0.552629322, 0.669857706, 0.551290654, 0.670858959, 0.549948258, 0.671860472, 0.548603506, 0.672861743, 0.547257074, 0.67386227, 0.545909642, 0.674863134, 0.544559751, 0.67586426, 0.543207502, 0.676864645, 0.541854252, 0.677865707, 0.540498083, 0.67886603, 0.539140914, 0.679867373, 0.537780355, 0.680867979, 0.536418795, 0.681868987, 0.535054685, 0.682870006, 0.533688555, 0.683870291, 0.532321425, 0.684871641, 0.530950836, 0.685872258, 0.529579246, 0.686873381, 0.528204959, 0.687873774, 0.526829671, 0.688874369, 0.525452104, 0.689875499, 0.524071796, 0.690876238, 0.522690023, 0.691877025, 0.521306182, 0.692877089, 0.51992134, 0.693877201, 0.51853443, 0.694877811, 0.517144827, 0.695878921, 0.515752528, 0.69687931, 0.514359228, 0.697880198, 0.512963229, 0.698880923, 0.511565456, 0.699881174, 0.510166342, 0.700880711, 0.508766229, 0.701882425, 0.507361061, 0.702883424, 0.505954892, 0.703884444, 0.50454669, 0.704884751, 0.503137488, 0.705885202, 0.501726082, 0.706885916, 0.500312301, 0.707885923, 0.49889752, 0.708887585, 0.497478392, 0.70988854, 0.496058261, 0.710888883, 0.494636996, 0.711890387, 0.493212077, 0.712891186, 0.491786156, 0.713891983, 0.490358237, 0.71489308, 0.488927884, 0.71589424, 0.487495438, 0.716895377, 0.486061018, 0.717895816, 0.484625598, 0.718896235, 0.483188204, 0.719896551, 0.481748956, 0.720896837, 0.48030775, 0.721896915, 0.478864844, 0.722898044, 0.477418418, 0.723898479, 0.475970992, 0.724898547, 0.474522096, 0.725898573, 0.473071263, 0.726899566, 0.471617021, 0.72789987, 0.47016178, 0.728900017, 0.468704766, 0.729900778, 0.467244855, 0.730901397, 0.465783149, 0.731901331, 0.464320442, 0.732901797, 0.462854955, 0.733902934, 0.461386483, 0.734903388, 0.45991701, 0.735904183, 0.458445033, 0.736905089, 0.456970889, 0.737905316, 0.455495745, 0.738906028, 0.454017882, 0.739906062, 0.452539019, 0.74090681, 0.451057099, 0.741908464, 0.449571832, 0.742909441, 0.448085562, 0.743910566, 0.44659707, 0.744911017, 0.445107577, 0.745912131, 0.443615093, 0.746912572, 0.44212161, 0.747913078, 0.440626028, 0.748914323, 0.439127336, 0.74991549, 0.437626758, 0.750915988, 0.436125179, 0.751916409, 0.434621713, 0.752917706, 0.433114928, 0.753919107, 0.43160598, 0.754919843, 0.430096031, 0.755921335, 0.428582935, 0.756922489, 0.427068346, 0.75792298, 0.425552757, 0.758924612, 0.424033433, 0.759925584, 0.422513107, 0.760926564, 0.420990764, 0.761927881, 0.419465904, 0.762929097, 0.417939193, 0.763929656, 0.416411481, 0.764930115, 0.41488192, 0.765930379, 0.413350654, 0.766930206, 0.41181806, 0.767930802, 0.410282284, 0.768930746, 0.408745508, 0.769931032, 0.407206206, 0.770932927, 0.405662421, 0.771934172, 0.404117635, 0.772935253, 0.402571094, 0.773936362, 0.401022507, 0.774936824, 0.399472919, 0.7759378, 0.397920531, 0.776938321, 0.396366846, 0.777938197, 0.394812161, 0.778939265, 0.393253621, 0.779940598, 0.391692664, 0.78094147, 0.390130421, 0.7819417, 0.388567177, 0.782942825, 0.387000533, 0.783943309, 0.385432888, 0.784944705, 0.383861811, 0.785946188, 0.382288589, 0.786947034, 0.380714366, 0.787947541, 0.379138673, 0.788947796, 0.377561375, 0.78994862, 0.375981177, 0.790949167, 0.374399416, 0.791949081, 0.372816654, 0.792949772, 0.371230659, 0.793949832, 0.369643664, 0.794950314, 0.368053999, 0.795950301, 0.366463118, 0.796951572, 0.364868192, 0.797952893, 0.363271181, 0.798953585, 0.361673169, 0.7999548, 0.360072318, 0.800955389, 0.358470465, 0.801956101, 0.356866413, 0.802956327, 0.355261137, 0.803957644, 0.353652107, 0.804958925, 0.352041128, 0.805959584, 0.350429149, 0.80696091, 0.348814089, 0.807961615, 0.347198029, 0.808962869, 0.345579076, 0.809963578, 0.343959003, 0.81096477, 0.342336142, 0.811965852, 0.340711455, 0.812966317, 0.339085767, 0.813967717, 0.337456556, 0.8149685, 0.335826344, 0.815969566, 0.334193668, 0.816970017, 0.332559991, 0.817970544, 0.33092419, 0.818971763, 0.329285252, 0.819972946, 0.327644368, 0.820973518, 0.326002483, 0.821974056, 0.324358651, 0.822974511, 0.322712955, 0.823976062, 0.321063449, 0.824977005, 0.319412941, 0.825977698, 0.317760843, 0.826978852, 0.316105978, 0.827980067, 0.314449009, 0.828980967, 0.312790556, 0.829981264, 0.311131102, 0.830981249, 0.309470164, 0.831981775, 0.307806327, 0.832983045, 0.306139247, 0.833983844, 0.304470949, 0.834984042, 0.302801649, 0.835985856, 0.301127649, 0.83698707, 0.299452645, 0.837987785, 0.297776473, 0.838988823, 0.296097755, 0.839989264, 0.294418036, 0.8409906, 0.292734811, 0.841991339, 0.291050584, 0.842991804, 0.289364819, 0.843992911, 0.287675966, 0.844993425, 0.285986111, 0.845994522, 0.28429327, 0.846995025, 0.282599427, 0.847996062, 0.28090268, 0.848996507, 0.279204932, 0.849997551, 0.277504163, 0.850998006, 0.275802394, 0.851998515, 0.27409853, 0.852999578, 0.27239172, 0.854000053, 0.27068391, 0.85500024, 0.26897459, 0.856000438, 0.267263251, 0.85700194, 0.265547676, 0.858002856, 0.263831099, 0.859003705, 0.262112634, 0.860003971, 0.260393169, 0.861005182, 0.258670077, 0.86200581, 0.256945983, 0.863006709, 0.25521942, 0.864008061, 0.25349007, 0.865008833, 0.251759719, 0.866009708, 0.250027186, 0.867010643, 0.248292544, 0.868011255, 0.246556462, 0.869011289, 0.244819379, 0.870013027, 0.243077333, 0.871014188, 0.241334285, 0.872015265, 0.239589377, 0.873016412, 0.237842345, 0.874017562, 0.236093302, 0.875018138, 0.234343258, 0.876018719, 0.232591204, 0.877019239, 0.230837254, 0.878020612, 0.229079804, 0.879021414, 0.227321353, 0.880021966, 0.225561339, 0.881022588, 0.2237992, 0.882023921, 0.222033803, 0.883024686, 0.220267404, 0.884025646, 0.218498658, 0.885026039, 0.21672891, 0.886027052, 0.214956064, 0.887027498, 0.213182217, 0.888028349, 0.211405652, 0.889028636, 0.209628085, 0.8900303, 0.207846065, 0.89103184, 0.206062261, 0.892032816, 0.204277455, 0.893034066, 0.202490156, 0.894034755, 0.200701857, 0.895036084, 0.198910408, 0.896036854, 0.197117957, 0.897037773, 0.195323233, 0.898038573, 0.193526722, 0.899039795, 0.191727446, 0.90004046, 0.18992717, 0.901040657, 0.188125735, 0.902041837, 0.186320525, 0.903042461, 0.184514313, 0.904043745, 0.182704907, 0.905044608, 0.180894259, 0.90604568, 0.179081225, 0.90704685, 0.177266012, 0.908047468, 0.175449797, 0.909048183, 0.173631401, 0.91004892, 0.171810963, 0.911049968, 0.169987955, 0.912050467, 0.168163946, 0.913051277, 0.166337365, 0.914052372, 0.164508262, 0.915052917, 0.162678158, 0.916053465, 0.160846049, 0.917054716, 0.159010648, 0.91805542, 0.157174245, 0.919056296, 0.155335526, 0.920057176, 0.153494793, 0.921057513, 0.151653059, 0.922058521, 0.149808085, 0.923058985, 0.14796211, 0.924059762, 0.146113556, 0.925060848, 0.144262428, 0.92606148, 0.142410135, 0.927061572, 0.140556841, 0.928063085, 0.13869891, 0.929064058, 0.136839977, 0.930065542, 0.134978088, 0.931066487, 0.133115197, 0.932067584, 0.13125002, 0.93306875, 0.129382708, 0.934069379, 0.127514396, 0.935070073, 0.125643959, 0.936070232, 0.123772521, 0.937071063, 0.121897822, 0.938071361, 0.120022122, 0.939072121, 0.118143552, 0.940072347, 0.116263982, 0.941073834, 0.11438004, 0.942074787, 0.112495096, 0.943076449, 0.110606812, 0.944077578, 0.108717526, 0.945078749, 0.106826158, 0.946080071, 0.1049325, 0.947080862, 0.103037841, 0.948081834, 0.101140836, 0.949082278, 0.099242831, 0.95008348, 0.097341382, 0.95108451, 0.095438255, 0.952085014, 0.093534126, 0.953085938, 0.091627194, 0.954086337, 0.089719261, 0.955086801, 0.087809202, 0.95608777, 0.085896177, 0.957088214, 0.083982151, 0.958088406, 0.082066607, 0.959088616, 0.080149026, 0.960089678, 0.078227811, 0.961090218, 0.076305594, 0.962090446, 0.074381974, 0.963091572, 0.072454624, 0.964092178, 0.070526272, 0.965092398, 0.068596663, 0.966092367, 0.066665539, 0.967092831, 0.064731456, 0.968092778, 0.062796373, 0.969092824, 0.060859099, 0.970092534, 0.058920476, 0.971092416, 0.056979519, 0.972091784, 0.055037563, 0.97309151, 0.053092913, 0.974091408, 0.051145929, 0.975090792, 0.049197947, 0.976089889, 0.047248528, 0.977088565, 0.045297937, 0.978087703, 0.043344446, 0.979086331, 0.041389957, 0.980085274, 0.039432855, 0.981083709, 0.037474756, 0.982081926, 0.035515091, 0.983080131, 0.033553455, 0.984078117, 0.03159026, 0.985075596, 0.029626071, 0.986072881, 0.027660274, 0.987069661, 0.025693484, 0.988066574, 0.023724446, 0.989062984, 0.021754414, 0.99005913, 0.01978292, 0.991054774, 0.017810435, 0.992050319, 0.015836164, 0.993045365, 0.013860904, 0.994040223, 0.011884036, 0.995034586, 0.009906173, 0.996028452, 0.007927323, 0.99702199, 0.005947151, 0.998015124, 0.003965813, 0.999007809, 0.001983399, 1.0, 0.0 }; break;
    28         case "ZDT3": data = new double[] { 0.0, 1.0, 1.66987E-4, 0.98707679, 3.55607E-4, 0.981138473, 5.02083E-4, 0.977584873, 5.93637E-4, 0.975624266, 8.52686E-4, 0.970776381, 9.59449E-4, 0.968996105, 0.001538384, 0.960703436, 0.002057097, 0.954511926, 0.00260491, 0.94874874, 0.003076769, 0.944234435, 0.003418068, 0.941169425, 0.003671756, 0.938982376, 0.003888964, 0.937164487, 0.004263428, 0.934135735, 0.004567716, 0.931761905, 0.004802503, 0.929978078, 0.004949127, 0.928883571, 0.005223175, 0.926875232, 0.005634825, 0.923942232, 0.005996533, 0.921439721, 0.006230375, 0.919855557, 0.006430139, 0.918521724, 0.006619943, 0.917270109, 0.006821484, 0.91595702, 0.00722916, 0.913347789, 0.00767417, 0.910565357, 0.008063922, 0.908179559, 0.008526856, 0.90540208, 0.008878581, 0.903329273, 0.009136669, 0.90182738, 0.009368111, 0.900493519, 0.009552807, 0.899437484, 0.00965735, 0.898842941, 0.00997842, 0.897030893, 0.010232227, 0.895612687, 0.01053175, 0.893954332, 0.010777834, 0.892603659, 0.011084912, 0.890932402, 0.011424811, 0.889099967, 0.011681606, 0.887727089, 0.011937598, 0.886367931, 0.012245012, 0.884747627, 0.01245631, 0.883641137, 0.012669429, 0.882530827, 0.012868345, 0.881499526, 0.013058329, 0.880518917, 0.013198679, 0.879797165, 0.013410387, 0.87871264, 0.013642969, 0.877526811, 0.01393321, 0.876054973, 0.014132701, 0.875048293, 0.014306897, 0.874172453, 0.014495654, 0.873226671, 0.014929326, 0.87106616, 0.01534834, 0.868994346, 0.015631348, 0.867603294, 0.015834666, 0.866607901, 0.016201026, 0.864822344, 0.01663272, 0.862731102, 0.017053711, 0.86070434, 0.01731916, 0.859432527, 0.017534487, 0.858404212, 0.01773941, 0.857428309, 0.018109615, 0.855671816, 0.018592095, 0.853394764, 0.01895565, 0.85168768, 0.019277794, 0.850181042, 0.019469022, 0.849289282, 0.019803716, 0.847733007, 0.020297467, 0.845447337, 0.020654696, 0.84380096, 0.020983165, 0.84229237, 0.021248701, 0.841076395, 0.021501877, 0.839919934, 0.021735923, 0.838853341, 0.021935899, 0.837943868, 0.022188499, 0.836797477, 0.022411883, 0.835785892, 0.022514211, 0.835323187, 0.022705336, 0.834460097, 0.022860718, 0.833759504, 0.022957917, 0.833321737, 0.02302251, 0.833031029, 0.023195636, 0.832252667, 0.023211686, 0.832180567, 0.023512383, 0.830831629, 0.023875195, 0.829208665, 0.024226921, 0.827640058, 0.024566863, 0.826128388, 0.025031393, 0.824069562, 0.02541358, 0.822381551, 0.025656404, 0.821311788, 0.025845806, 0.820478834, 0.02595436, 0.82000201, 0.026171246, 0.819050581, 0.026266265, 0.818634276, 0.026503558, 0.817596017, 0.026906984, 0.815835372, 0.027285938, 0.814186694, 0.027627037, 0.812706966, 0.027962482, 0.8112557, 0.028138623, 0.810495202, 0.028183847, 0.81030012, 0.028824322, 0.807544896, 0.029343034, 0.805323904, 0.029767499, 0.803513427, 0.030183699, 0.80174433, 0.030529693, 0.800278293, 0.030710755, 0.799512794, 0.030833156, 0.798995962, 0.031215392, 0.797385439, 0.031486063, 0.796248163, 0.031711983, 0.795300944, 0.032068078, 0.79381172, 0.032327483, 0.792729788, 0.032558413, 0.791768721, 0.032754558, 0.790953974, 0.032908932, 0.790313749, 0.03308775, 0.789573275, 0.033257419, 0.788871802, 0.033414587, 0.788222994, 0.03370838, 0.787012714, 0.033940435, 0.786059118, 0.034109669, 0.785365001, 0.034432558, 0.784043777, 0.034752839, 0.782737301, 0.034960108, 0.78189401, 0.035343349, 0.780339336, 0.035582444, 0.779372453, 0.035812793, 0.778443172, 0.036043283, 0.777515538, 0.036224065, 0.776789524, 0.036259701, 0.776646573, 0.036498492, 0.775690081, 0.03667653, 0.774978527, 0.037017204, 0.773620794, 0.037503679, 0.771690792, 0.03786989, 0.77024487, 0.038221355, 0.76886287, 0.038563285, 0.767523807, 0.038816341, 0.766536293, 0.038923575, 0.766118732, 0.039223535, 0.76495361, 0.039419386, 0.764195196, 0.039726415, 0.763009979, 0.039899223, 0.762344913, 0.040076221, 0.761665242, 0.040255145, 0.760979754, 0.040572065, 0.759769509, 0.040801967, 0.758894741, 0.040928906, 0.758412893, 0.041108833, 0.757731332, 0.041131237, 0.757646584, 0.041426647, 0.756531547, 0.041781592, 0.755197841, 0.042092169, 0.754036333, 0.042332294, 0.753141856, 0.042467291, 0.752640358, 0.042755635, 0.751572532, 0.042937985, 0.750899599, 0.043319976, 0.749495937, 0.043731912, 0.747991475, 0.044003434, 0.747005143, 0.044172662, 0.746392565, 0.044504403, 0.745196573, 0.044779942, 0.744208141, 0.045025348, 0.743331624, 0.045346338, 0.742190623, 0.045659982, 0.741081808, 0.04604502, 0.73972891, 0.046332549, 0.73872467, 0.046563732, 0.73792102, 0.046861215, 0.736891913, 0.047143253, 0.735921507, 0.047408718, 0.735012859, 0.047583404, 0.734417455, 0.047660632, 0.734154875, 0.047904707, 0.733327603, 0.048022761, 0.732928897, 0.048243242, 0.732186771, 0.048603076, 0.730982666, 0.048890205, 0.730028212, 0.049026409, 0.729577443, 0.049122619, 0.729259808, 0.049290632, 0.728706672, 0.049455762, 0.728164952, 0.049476271, 0.728097805, 0.049680579, 0.727430517, 0.049993754, 0.726413417, 0.050141461, 0.725936144, 0.050348432, 0.725270023, 0.050447723, 0.724951561, 0.050721169, 0.724078242, 0.050994146, 0.723211887, 0.051411166, 0.721899044, 0.051699361, 0.720999363, 0.051933356, 0.720273499, 0.052013819, 0.720024859, 0.052365544, 0.718943803, 0.052709439, 0.717896033, 0.053050501, 0.716865981, 0.053324767, 0.716044294, 0.053552203, 0.715367421, 0.053696186, 0.714941044, 0.053922679, 0.714273687, 0.054272946, 0.713249772, 0.054571875, 0.712383813, 0.054842235, 0.711606918, 0.054980734, 0.711211266, 0.0552523, 0.710440094, 0.055424561, 0.709954103, 0.055464203, 0.709842615, 0.05573551, 0.709083139, 0.055925162, 0.708555926, 0.056277246, 0.707585265, 0.056795959, 0.706174565, 0.057285635, 0.704864199, 0.057650742, 0.703900825, 0.057872275, 0.703322019, 0.057982618, 0.703035347, 0.05832337, 0.70215691, 0.058510706, 0.701678398, 0.058668316, 0.701278258, 0.058915217, 0.700655939, 0.059171206, 0.700016555, 0.059331341, 0.699619621, 0.059567926, 0.699037486, 0.059687989, 0.69874403, 0.059791927, 0.698491056, 0.059853201, 0.698342393, 0.060142042, 0.697646276, 0.060373687, 0.697093609, 0.060576078, 0.69661484, 0.060764734, 0.696172023, 0.060883573, 0.695894798, 0.06114813, 0.695282435, 0.06139336, 0.694720733, 0.061625241, 0.694194873, 0.06171148, 0.694000608, 0.062079059, 0.693180594, 0.062371947, 0.692536518, 0.062586013, 0.692071027, 0.063098731, 0.690974247, 0.063506117, 0.69012114, 0.06378443, 0.689547729, 0.064091898, 0.688923166, 0.064470128, 0.68816777, 0.064702344, 0.687711078, 0.065024953, 0.687085594, 0.065233003, 0.686687783, 0.065342354, 0.686480448, 0.065448848, 0.686279693, 0.06561723, 0.685964618, 0.065656787, 0.685891016, 0.065832723, 0.685565591, 0.066007489, 0.685245453, 0.066199541, 0.684897247, 0.066307406, 0.684703333, 0.066509473, 0.684343279, 0.06676994, 0.683885355, 0.067143616, 0.683240613, 0.067362159, 0.682870231, 0.067654875, 0.682381906, 0.068047857, 0.681740336, 0.068327052, 0.681294333, 0.068733556, 0.680659564, 0.069030097, 0.680207468, 0.069329314, 0.679760689, 0.069550522, 0.679436478, 0.069753229, 0.679143933, 0.070026135, 0.678756964, 0.070391767, 0.678250932, 0.070772901, 0.677738621, 0.071291613, 0.677066344, 0.071677462, 0.676584983, 0.071977312, 0.676221963, 0.072271235, 0.67587552, 0.072496024, 0.675616854, 0.072887544, 0.675179364, 0.073236447, 0.674803474, 0.073586173, 0.674439936, 0.073837978, 0.674186404, 0.074016656, 0.674010677, 0.074221533, 0.673813454, 0.074535368, 0.673520196, 0.074832473, 0.673252448, 0.075221067, 0.672916761, 0.075596574, 0.672608015, 0.075868863, 0.672393751, 0.076078364, 0.6722344, 0.07620904, 0.67213743, 0.076272069, 0.672091324, 0.076418791, 0.671985675, 0.076574713, 0.671875976, 0.076601145, 0.671857642, 0.076749759, 0.671755982, 0.07680785, 0.6717169, 0.077048547, 0.671558887, 0.077427398, 0.671322979, 0.077699377, 0.671163272, 0.078280084, 0.670849264, 0.078852518, 0.67057567, 0.079299756, 0.670386711, 0.079703425, 0.670234809, 0.0799847, 0.670139411, 0.080152442, 0.670086598, 0.080435941, 0.67000426, 0.080671154, 0.669942539, 0.080907606, 0.669886512, 0.081119257, 0.669841473, 0.081421147, 0.669785578, 0.081690826, 0.66974393, 0.081918188, 0.669714879, 0.082376525, 0.669673142, 0.082847367, 0.66965362, 0.182474708, 0.668295783, 0.182737304, 0.666837918, 0.18299342, 0.665406486, 0.183200883, 0.664240102, 0.183532581, 0.662362557, 0.184013092, 0.65961518, 0.184413656, 0.657300308, 0.184654795, 0.65589608, 0.185032765, 0.653679022, 0.185551477, 0.650604919, 0.185903232, 0.64849978, 0.186257144, 0.646365211, 0.186578122, 0.644415102, 0.186738136, 0.643437942, 0.187056738, 0.641482507, 0.187350681, 0.639666921, 0.187590821, 0.63817555, 0.187757285, 0.637137494, 0.187838695, 0.636628564, 0.18827652, 0.633877463, 0.188844126, 0.63027599, 0.189296192, 0.627379928, 0.189647918, 0.625109988, 0.189921684, 0.623333209, 0.19015968, 0.62178157, 0.190502156, 0.619537458, 0.190743768, 0.617946329, 0.190854193, 0.617216964, 0.191001563, 0.616241472, 0.191059222, 0.615859163, 0.191379553, 0.613728563, 0.191602209, 0.612241076, 0.191854249, 0.610550892, 0.192063063, 0.609145494, 0.192270735, 0.607743247, 0.192357481, 0.607156192, 0.192539948, 0.60591882, 0.192712783, 0.604743624, 0.193225647, 0.60123866, 0.193730363, 0.597764016, 0.194412306, 0.593030527, 0.194931018, 0.58940117, 0.195290765, 0.586869861, 0.195542823, 0.585089515, 0.195733895, 0.583736269, 0.19595069, 0.582197082, 0.196147625, 0.580795474, 0.19635128, 0.579342656, 0.196534641, 0.57803171, 0.196803376, 0.576105495, 0.197060737, 0.574255442, 0.197478125, 0.571244137, 0.197823048, 0.568745736, 0.19834176, 0.564972203, 0.198758541, 0.561926491, 0.199031193, 0.559927655, 0.199235808, 0.558424367, 0.199361432, 0.557500077, 0.1995662, 0.55599132, 0.199775161, 0.554448959, 0.199966729, 0.553032619, 0.200256494, 0.550886081, 0.200381105, 0.549961464, 0.200603841, 0.548306528, 0.201002182, 0.545339927, 0.20123379, 0.543611105, 0.201529007, 0.541403419, 0.201886037, 0.538727626, 0.202086476, 0.537222712, 0.20241467, 0.534754552, 0.202772174, 0.532060486, 0.202965291, 0.53060293, 0.203649433, 0.525427306, 0.203791847, 0.524347696, 0.204075937, 0.52219192, 0.204254597, 0.520834769, 0.20437345, 0.519931356, 0.204644532, 0.517869154, 0.204856106, 0.516258108, 0.205407351, 0.512054736, 0.205497218, 0.511368733, 0.205665061, 0.510086965, 0.206061814, 0.507054551, 0.206349903, 0.504850604, 0.206380699, 0.504614919, 0.206528998, 0.503479703, 0.206538678, 0.503405596, 0.206765283, 0.501670195, 0.206875627, 0.500824856, 0.207202589, 0.498318984, 0.207986536, 0.492305658, 0.208055274, 0.491778134, 0.208232458, 0.490418221, 0.208276792, 0.490077919, 0.208457259, 0.48869258, 0.2084982, 0.488378283, 0.20890796, 0.485232354, 0.209052098, 0.484125676, 0.209632053, 0.479673102, 0.209760646, 0.478685982, 0.210321845, 0.47437924, 0.210543329, 0.472680258, 0.210613331, 0.472143388, 0.211256944, 0.467210172, 0.211466017, 0.465608973, 0.212318702, 0.459087165, 0.213171388, 0.452582414, 0.214024073, 0.446099191, 0.214174486, 0.44495813, 0.214742981, 0.440653153, 0.214876759, 0.43964198, 0.215022657, 0.438540054, 0.215161001, 0.437496031, 0.215588042, 0.434278733, 0.215671537, 0.433650675, 0.215729444, 0.433215281, 0.215769498, 0.432914223, 0.215819374, 0.432539441, 0.21640192, 0.428171299, 0.21658213, 0.426823601, 0.216586863, 0.426788226, 0.216638298, 0.426403906, 0.216671689, 0.426154487, 0.216897192, 0.424471674, 0.217434816, 0.420471452, 0.217728662, 0.418292397, 0.218287501, 0.414163347, 0.219140187, 0.4079038, 0.219209247, 0.407399092, 0.219325954, 0.406546968, 0.219773905, 0.403285809, 0.219840681, 0.402800985, 0.219992872, 0.401697314, 0.220043496, 0.401330601, 0.220366451, 0.398995998, 0.220845558, 0.395548386, 0.221185767, 0.393112115, 0.221698243, 0.3894615, 0.222484163, 0.383910018, 0.222550929, 0.383441118, 0.223070856, 0.379804712, 0.223403614, 0.377491688, 0.223674904, 0.375614414, 0.224170567, 0.372204697, 0.2242563, 0.371617627, 0.224701246, 0.368583833, 0.225108986, 0.365823328, 0.225484697, 0.363296681, 0.225638039, 0.362270235, 0.225961671, 0.36011315, 0.226814357, 0.354491415, 0.226903761, 0.353907269, 0.227667042, 0.348962408, 0.228110395, 0.346125656, 0.228452638, 0.343954153, 0.228519728, 0.343530368, 0.229320072, 0.338523727, 0.229339646, 0.338402424, 0.229372413, 0.338199488, 0.229496885, 0.337430013, 0.229680017, 0.336302018, 0.229757772, 0.335824577, 0.230027525, 0.334175127, 0.230225099, 0.33297391, 0.23047802, 0.331444766, 0.230913944, 0.328832102, 0.231077784, 0.327857722, 0.231644752, 0.324518398, 0.231746689, 0.323923423, 0.23193047, 0.322854953, 0.232264618, 0.320926277, 0.23226751, 0.320909664, 0.232616519, 0.318914886, 0.232783155, 0.317969572, 0.233412283, 0.314442588, 0.233618536, 0.313300932, 0.233635841, 0.313205479, 0.234488527, 0.308566509, 0.235078588, 0.305431554, 0.235341212, 0.304056423, 0.235357477, 0.303971672, 0.235710637, 0.302143383, 0.236149458, 0.299903715, 0.236193898, 0.299678906, 0.236215739, 0.29956855, 0.236245157, 0.299420056, 0.236522235, 0.298029408, 0.236548616, 0.297897757, 0.237046583, 0.295437562, 0.237241238, 0.29448879, 0.237354798, 0.293938661, 0.237494398, 0.293265818, 0.237899269, 0.291335917, 0.238751954, 0.287377405, 0.239147527, 0.285590538, 0.239509683, 0.283982539, 0.239580135, 0.283672852, 0.23960464, 0.283565376, 0.240457325, 0.279903083, 0.24114905, 0.277044304, 0.241310011, 0.276393686, 0.241433614, 0.275897847, 0.242088241, 0.273326775, 0.242162697, 0.273040247, 0.242573067, 0.271482807, 0.243015382, 0.269845722, 0.24320279, 0.269165198, 0.243341945, 0.268664967, 0.243365194, 0.268581816, 0.243367401, 0.268573925, 0.243710539, 0.267360942, 0.24372179, 0.267321618, 0.243732037, 0.267285827, 0.243868068, 0.266812966, 0.243983042, 0.266416564, 0.244720753, 0.263944725, 0.244892805, 0.263386164, 0.244951724, 0.263196453, 0.245176962, 0.262478615, 0.245281604, 0.262149119, 0.245381017, 0.261838439, 0.245573439, 0.261243633, 0.245573649, 0.261242988, 0.245809229, 0.260526552, 0.245877827, 0.260320377, 0.246314, 0.259035308, 0.246414109, 0.258746694, 0.246426124, 0.258712214, 0.24727881, 0.256352872, 0.247387089, 0.2560657, 0.247575938, 0.255571586, 0.248018966, 0.254446183, 0.248089183, 0.254272174, 0.248131495, 0.254167895, 0.248202017, 0.253995061, 0.248684471, 0.252845147, 0.248984181, 0.252159448, 0.249255301, 0.251558164, 0.24933718, 0.251380135, 0.24934575, 0.251361596, 0.249410452, 0.251222222, 0.249437841, 0.251163535, 0.249688818, 0.250634393, 0.249755203, 0.25049704, 0.249836866, 0.250329575, 0.249880786, 0.250240195, 0.250090145, 0.24982072, 0.250525197, 0.248983982, 0.250689552, 0.248680191, 0.2510572, 0.248025174, 0.251542238, 0.247213084, 0.251662074, 0.247021602, 0.251840664, 0.246742991, 0.252259607, 0.246121201, 0.252311552, 0.246047218, 0.252394923, 0.245929912, 0.25243763, 0.24587051, 0.252566344, 0.245694291, 0.253247609, 0.244832201, 0.253532537, 0.244506982, 0.253563943, 0.244472413, 0.253564435, 0.244471874, 0.253907663, 0.24411071, 0.254100294, 0.243921341, 0.254662195, 0.243423853, 0.25495298, 0.243198586, 0.255048859, 0.243129132, 0.255193693, 0.243028756, 0.255374261, 0.242911274, 0.255805665, 0.242665054, 0.255910039, 0.242612794, 0.256421635, 0.242397911, 0.256576675, 0.242346346, 0.256658351, 0.24232172, 0.256658883, 0.242321565, 0.257018098, 0.242234124, 0.257298927, 0.242189415, 0.257511036, 0.242169419, 0.409858202, 0.234882855, 0.410004029, 0.232936869, 0.41014175, 0.231100335, 0.41019868, 0.230341545, 0.410414178, 0.227471313, 0.410883322, 0.221234432, 0.410994436, 0.219759724, 0.411171494, 0.217411815, 0.411240429, 0.216498381, 0.411308599, 0.215595475, 0.411482978, 0.213287588, 0.411847121, 0.20847667, 0.412039628, 0.205938132, 0.412699807, 0.197259221, 0.413552492, 0.186115408, 0.413911521, 0.181447193, 0.414010512, 0.180162712, 0.414106986, 0.178911997, 0.414405178, 0.175053238, 0.415143107, 0.165551901, 0.415198612, 0.164840093, 0.415257863, 0.164080693, 0.415603732, 0.159657348, 0.415646676, 0.159109279, 0.415721443, 0.158155682, 0.415808949, 0.157040612, 0.416110549, 0.153205718, 0.416546684, 0.14768362, 0.416963234, 0.142436218, 0.41781592, 0.131780053, 0.418321705, 0.125515908, 0.418668606, 0.12124503, 0.418678787, 0.121120006, 0.418681451, 0.121087295, 0.418757318, 0.120156245, 0.419521291, 0.110838895, 0.419691299, 0.108780218, 0.419744699, 0.108134704, 0.420373977, 0.100569333, 0.421226662, 0.090443955, 0.422079348, 0.080470297, 0.422842526, 0.071678352, 0.422932033, 0.070655812, 0.422937657, 0.070591623, 0.423019187, 0.069661919, 0.42315616, 0.068103432, 0.423784719, 0.061007865, 0.424065876, 0.057864389, 0.424500296, 0.053045104, 0.424637404, 0.051533726, 0.424650785, 0.051386476, 0.425416907, 0.043030888, 0.425439343, 0.042788451, 0.425457917, 0.042587835, 0.42549009, 0.042240565, 0.425917092, 0.037657025, 0.426342776, 0.033135446, 0.427195461, 0.02422532, 0.427458565, 0.021516447, 0.427714154, 0.018903541, 0.428048147, 0.015517025, 0.428797384, 0.008037128, 0.428900832, 0.007017271, 0.429092668, 0.00513442, 0.429147886, 0.004594495, 0.429268776, 0.003415588, 0.429705028, -8.02113E-4, 0.429753518, -0.001267358, 0.429843984, -0.002133433, 0.429904663, -0.002712936, 0.43007071, -0.004292968, 0.430606203, -0.00933041, 0.430799144, -0.011123474, 0.430963078, -0.012637751, 0.431045881, -0.013399377, 0.431419174, -0.016805793, 0.431458889, -0.017165575, 0.431871141, -0.020870121, 0.432311574, -0.024766686, 0.432364093, -0.025227061, 0.432377828, -0.025347319, 0.432498439, -0.026400589, 0.432663257, -0.027832104, 0.43316426, -0.032127725, 0.433216403, -0.032569945, 0.433255957, -0.032904779, 0.433290822, -0.033199489, 0.433381994, -0.033968187, 0.433442658, -0.034478095, 0.43373407, -0.036910037, 0.43382585, -0.037669938, 0.433900165, -0.038283118, 0.434016946, -0.03924283, 0.434547667, -0.04354466, 0.434662882, -0.044465534, 0.434847861, -0.04593424, 0.434869631, -0.046106296, 0.435374956, -0.050052754, 0.435563236, -0.051499854, 0.435722317, -0.052712585, 0.436253906, -0.056698616, 0.436337888, -0.057318923, 0.436380779, -0.057634727, 0.436464632, -0.058250176, 0.436575002, -0.059056326, 0.437427688, -0.065132323, 0.437452968, -0.065308322, 0.437894024, -0.068340237, 0.438037418, -0.069310115, 0.438280373, -0.070935559, 0.438353457, -0.071420105, 0.438378751, -0.071587332, 0.438739844, -0.073947844, 0.439133059, -0.076461196, 0.439133288, -0.076462644, 0.43938526, -0.078041651, 0.439388854, -0.078063992, 0.439628825, -0.079544432, 0.439782203, -0.080478844, 0.439808569, -0.080638544, 0.439985744, -0.081704588, 0.440102581, -0.082400812, 0.440472457, -0.084569264, 0.44083843, -0.086661275, 0.441181065, -0.088571306, 0.44152638, -0.090448467, 0.441556108, -0.09060782, 0.441691115, -0.091326997, 0.441696609, -0.091356104, 0.441781296, -0.091803262, 0.441785162, -0.091823609, 0.442165858, -0.093797085, 0.442298595, -0.094471262, 0.442303225, -0.094494649, 0.442419999, -0.095081564, 0.442441563, -0.095189334, 0.442543801, -0.095697689, 0.442683391, -0.096384829, 0.442744746, -0.096684314, 0.443396487, -0.099769491, 0.443466635, -0.10009105, 0.443795099, -0.101569413, 0.443883056, -0.101957639, 0.444200092, -0.103330062, 0.444249172, -0.103538749, 0.4447258, -0.10551255, 0.445101858, -0.107002019, 0.44588935, -0.109925908, 0.445954543, -0.110156069, 0.446122009, -0.110738928, 0.446134283, -0.11078117, 0.446256835, -0.111199414, 0.446807229, -0.112997885, 0.446886282, -0.113245437, 0.447030093, -0.113688821, 0.447085841, -0.113858285, 0.447232033, -0.114296263, 0.447273521, -0.114418864, 0.447608723, -0.11538191, 0.447616724, -0.115404298, 0.447659914, -0.115524671, 0.448359614, -0.117360979, 0.4485126, -0.117733856, 0.448722179, -0.118227946, 0.449152622, -0.119181974, 0.449365285, -0.11962309, 0.44964936, -0.120181069, 0.449735342, -0.120342897, 0.449753698, -0.12037702, 0.449803967, -0.1204697, 0.450151561, -0.121079808, 0.450217971, -0.121190255, 0.450810413, -0.12208848, 0.450876298, -0.122178682, 0.451070657, -0.122433459, 0.451384306, -0.12280892, 0.45173611, -0.123177537, 0.451923342, -0.123351044, 0.452222849, -0.123595801, 0.452454762, -0.123757567, 0.452547099, -0.123815226, 0.452776028, -0.123941588, 0.452803217, -0.123955024, 0.45312425, -0.124088423, 0.453158182, -0.124099801, 0.45319617, -0.124111922, 0.453628713, -0.124203902, 0.618402076, -0.124310619, 0.618445487, -0.125067997, 0.61904971, -0.135553838, 0.619667106, -0.146157829, 0.619902396, -0.15016878, 0.6199588, -0.151127773, 0.620755081, -0.164560037, 0.620793444, -0.165202077, 0.620998308, -0.168622612, 0.621250878, -0.172820815, 0.621607767, -0.178716943, 0.621972709, -0.184701751, 0.621987621, -0.184945336, 0.622460452, -0.192628973, 0.622574606, -0.194472313, 0.623313138, -0.206285752, 0.623982575, -0.216822072, 0.623983971, -0.216843879, 0.624071076, -0.218202494, 0.62409674, -0.218602248, 0.624165823, -0.219677064, 0.624319238, -0.222057469, 0.624537804, -0.225433235, 0.624663148, -0.227360901, 0.625018509, -0.232792857, 0.625221019, -0.235866238, 0.625255576, -0.236389081, 0.625641517, -0.242195923, 0.625659114, -0.242459265, 0.625871194, -0.245623254, 0.625953237, -0.246842338, 0.62672388, -0.258158559, 0.627576566, -0.270389265, 0.627727026, -0.272515118, 0.628429251, -0.28230606, 0.628696132, -0.285969929, 0.628732575, -0.286467768, 0.629281937, -0.293899839, 0.62993944, -0.302613581, 0.630134622, -0.305161704, 0.630409901, -0.308725143, 0.630754612, -0.313136869, 0.630987308, -0.316082979, 0.631048751, -0.316856567, 0.631305113, -0.32006461, 0.631839993, -0.326655209, 0.631899944, -0.32738518, 0.632127644, -0.330141534, 0.632515107, -0.33477276, 0.632692679, -0.336870175, 0.633247821, -0.343324826, 0.633420462, -0.345300228, 0.633545364, -0.346719893, 0.633657346, -0.347985893, 0.633697176, -0.348434639, 0.633977389, -0.351568494, 0.63439805, -0.356196624, 0.634438846, -0.356640557, 0.634860799, -0.361180802, 0.635250736, -0.365292884, 0.635615442, -0.36906553, 0.636103421, -0.37400144, 0.636445264, -0.37738227, 0.636858305, -0.38138199, 0.636956107, -0.382315329, 0.636970575, -0.382452955, 0.637084518, -0.383532757, 0.637508025, -0.387483096, 0.637808792, -0.390227852, 0.638202022, -0.393739828, 0.638219477, -0.393893695, 0.638661478, -0.397732588, 0.6387381, -0.398386782, 0.638963837, -0.400294638, 0.639191805, -0.402191754, 0.639514163, -0.404823393, 0.640366849, -0.411494411, 0.64046511, -0.412235929, 0.640762708, -0.414447184, 0.640763819, -0.414455341, 0.641219534, -0.417740075, 0.642029206, -0.423272167, 0.64207222, -0.423555114, 0.642253232, -0.42473367, 0.642499118, -0.426303088, 0.642924905, -0.428934556, 0.643777591, -0.433873734, 0.643779673, -0.433885252, 0.643823459, -0.434126861, 0.644630277, -0.438368288, 0.644800747, -0.439213155, 0.644982075, -0.440092115, 0.645482962, -0.442414173, 0.646059821, -0.444894956, 0.646335648, -0.446007657, 0.646426477, -0.446363636, 0.647188333, -0.449145331, 0.647509136, -0.450207161, 0.64787214, -0.45133014, 0.648041019, -0.451824106, 0.648368061, -0.452729184, 0.64867364, -0.45351336, 0.648893704, -0.454041222, 0.649044596, -0.454385298, 0.649076965, -0.454457214, 0.649669178, -0.455654672, 0.649714196, -0.455736514, 0.64974639, -0.455794244, 0.650226236, -0.456575881, 0.650401406, -0.456824369, 0.650599075, -0.457081074, 0.65089151, -0.457414715, 0.651214227, -0.457718941, 0.651356164, -0.457831477, 0.651451761, -0.457899944, 0.651814836, -0.458106205, 0.652304447, -0.458249422, 0.823694242, -0.465639917, 0.824461132, -0.481028081, 0.824546928, -0.482730763, 0.82478499, -0.487435079, 0.824937958, -0.490442119, 0.825276478, -0.497052495, 0.82530525, -0.497611505, 0.825399613, -0.499441756, 0.825490092, -0.501192148, 0.825610895, -0.503522296, 0.825990152, -0.510785938, 0.826252299, -0.515760379, 0.826378122, -0.518134394, 0.826399899, -0.518544394, 0.826487909, -0.520198639, 0.826632393, -0.522904915, 0.826660917, -0.523437804, 0.826749317, -0.525086378, 0.826962482, -0.529043477, 0.827104985, -0.531674373, 0.827105862, -0.531690539, 0.827163132, -0.532744564, 0.82795767, -0.547171744, 0.828634118, -0.559161909, 0.828667588, -0.559748076, 0.828810356, -0.56224078, 0.82891172, -0.564003118, 0.829368248, -0.571862811, 0.829663041, -0.57687005, 0.830218057, -0.586150711, 0.830515727, -0.591048422, 0.830812672, -0.59587814, 0.831049984, -0.599697387, 0.831368412, -0.604765067, 0.832221098, -0.618009467, 0.832642596, -0.624378856, 0.833073783, -0.630771426, 0.833169062, -0.632167043, 0.83355794, -0.637799185, 0.833596218, -0.638347983, 0.833926469, -0.643041076, 0.834375646, -0.649303256, 0.83454594, -0.651640715, 0.834779154, -0.654808885, 0.834925395, -0.656776046, 0.83563184, -0.666065666, 0.835757056, -0.667675143, 0.836484526, -0.676802583, 0.836808855, -0.680748253, 0.836833229, -0.68104167, 0.837003108, -0.683074672, 0.837185378, -0.685232406, 0.837337211, -0.687011159, 0.837962168, -0.694153078, 0.838092858, -0.695609864, 0.838189897, -0.696683282, 0.838209485, -0.696899111, 0.838735166, -0.702583553, 0.838798229, -0.703251491, 0.839042582, -0.705811211, 0.83937427, -0.709213286, 0.839785209, -0.71331186, 0.839831249, -0.713762993, 0.839895268, -0.714387586, 0.840097618, -0.716341089, 0.840747953, -0.722405428, 0.841091873, -0.725479746, 0.841249875, -0.726861199, 0.841600639, -0.729858153, 0.84171139, -0.730784356, 0.842453324, -0.736739569, 0.84330601, -0.743043886, 0.843878956, -0.746953078, 0.844158696, -0.748765722, 0.844274793, -0.74949945, 0.84483828, -0.752905542, 0.845011381, -0.753900105, 0.845813994, -0.758192171, 0.845864067, -0.758442477, 0.846236939, -0.760241703, 0.846409879, -0.761037402, 0.846716752, -0.762388701, 0.846729749, -0.762444219, 0.846786533, -0.762685141, 0.847569438, -0.765735063, 0.847587321, -0.765798799, 0.847995837, -0.767182433, 0.848198255, -0.767816616, 0.848422123, -0.768478277, 0.848671685, -0.769166632, 0.848888334, -0.76972206, 0.848946663, -0.769864902, 0.849042471, -0.770093354, 0.849274809, -0.770615484, 0.849894076, -0.771786369, 0.84989561, -0.77178887, 0.850127494, -0.772144262, 0.85098018, -0.773062621, 0.851195663, -0.773197886, 0.851378205, -0.773281878, 0.851720144, -0.773363655, 0.851832865, -0.773369012 }; break;
    29         case "ZDT4": data = new double[] { 1.0E-10, 0.999989473, 2.10548E-4, 0.985489736, 6.31265E-4, 0.974875018, 0.00116308, 0.965896038, 0.001774631, 0.957873636, 0.00245054, 0.950497073, 0.003176897, 0.943636034, 0.003950327, 0.93714837, 0.004762835, 0.930986705, 0.005613309, 0.925077984, 0.006484427, 0.91947406, 0.007382509, 0.91407847, 0.008304651, 0.908870141, 0.009251322, 0.903816209, 0.010223535, 0.898888505, 0.011203702, 0.894152457, 0.012206301, 0.889517873, 0.013228986, 0.88498267, 0.01425332, 0.880612732, 0.015286695, 0.876360627, 0.01633815, 0.872179227, 0.017392079, 0.86812097, 0.018448234, 0.864175724, 0.019514877, 0.86030434, 0.020596508, 0.856485163, 0.021666651, 0.852804038, 0.022738313, 0.849207716, 0.023822908, 0.845653286, 0.024901955, 0.842196467, 0.025992952, 0.838776702, 0.027066063, 0.835482331, 0.028150028, 0.8322203, 0.029233371, 0.829022309, 0.030312873, 0.825894074, 0.031402162, 0.822793449, 0.032491107, 0.819747104, 0.03357658, 0.816760867, 0.03467097, 0.813798576, 0.035737015, 0.810957638, 0.03681113, 0.808137732, 0.03788959, 0.805347514, 0.038953278, 0.802634151, 0.040024329, 0.799939187, 0.041089496, 0.79729456, 0.042161656, 0.794666963, 0.043221344, 0.792102563, 0.044287608, 0.789553788, 0.045341209, 0.787065248, 0.046390983, 0.784614338, 0.047446765, 0.782177217, 0.048498354, 0.779776582, 0.049545006, 0.777412925, 0.050585378, 0.775088066, 0.051631155, 0.7727751, 0.052667329, 0.770506363, 0.053708651, 0.768248731, 0.054736876, 0.766040867, 0.055769976, 0.763843323, 0.056803762, 0.761664603, 0.057831465, 0.759518266, 0.058863774, 0.757381422, 0.059898497, 0.755258305, 0.060929865, 0.753160245, 0.061960671, 0.751080995, 0.062983676, 0.749034513, 0.064010869, 0.746996307, 0.065029993, 0.74499021, 0.066045076, 0.743007634, 0.06706409, 0.741032647, 0.06808259, 0.739073593, 0.069103523, 0.737124511, 0.070117914, 0.735202127, 0.071136, 0.733286671, 0.07215315, 0.731386616, 0.073170602, 0.729499349, 0.074180682, 0.727638692, 0.075192429, 0.72578762, 0.076206216, 0.723945266, 0.077223398, 0.722109018, 0.078242556, 0.720281291, 0.079251094, 0.718484292, 0.080262861, 0.716692992, 0.081275997, 0.714910545, 0.082288448, 0.713140369, 0.083301273, 0.711380401, 0.084317196, 0.709625766, 0.085333422, 0.707881152, 0.086341193, 0.706161281, 0.087351923, 0.704446413, 0.08836372, 0.702739644, 0.089373262, 0.701046389, 0.090385671, 0.699357902, 0.09139497, 0.69768399, 0.09240707, 0.696014688, 0.093420016, 0.694353118, 0.094427542, 0.692709353, 0.095437769, 0.691069961, 0.096447533, 0.689439968, 0.097455926, 0.687820683, 0.098466941, 0.686205576, 0.099473278, 0.684606154, 0.100480551, 0.683013327, 0.101490361, 0.681424481, 0.102494993, 0.679851609, 0.103502098, 0.678282581, 0.104507411, 0.676723939, 0.105512033, 0.675173842, 0.106519058, 0.673627425, 0.107523642, 0.672092022, 0.108530584, 0.670560196, 0.109535909, 0.669037904, 0.110543551, 0.667519096, 0.11155123, 0.666007141, 0.112557001, 0.664504842, 0.113563938, 0.663007511, 0.114573116, 0.661513493, 0.115578425, 0.66003173, 0.116585929, 0.658553183, 0.117589244, 0.657087119, 0.118593086, 0.655626531, 0.119599062, 0.654169028, 0.120604064, 0.652719041, 0.12161117, 0.65127207, 0.122616893, 0.64983305, 0.123622273, 0.648400408, 0.124629705, 0.646970674, 0.125634334, 0.645550661, 0.126640979, 0.644133482, 0.127647198, 0.642722519, 0.128651341, 0.641320002, 0.129656428, 0.639921636, 0.13066347, 0.638525976, 0.131666848, 0.637140733, 0.132672144, 0.635758124, 0.13367795, 0.634380048, 0.134682449, 0.633008925, 0.135685348, 0.631645079, 0.136687337, 0.630287494, 0.13769117, 0.628932392, 0.138694059, 0.627583488, 0.139696789, 0.626239664, 0.140700662, 0.624899131, 0.141703883, 0.623564238, 0.142708885, 0.622231704, 0.143711339, 0.620907216, 0.144714066, 0.619586979, 0.145718537, 0.618269026, 0.146724196, 0.616954055, 0.147728198, 0.61564574, 0.148731772, 0.614342416, 0.149737046, 0.613041287, 0.150739561, 0.61174807, 0.151743749, 0.610457, 0.152749142, 0.609168653, 0.153752109, 0.607887633, 0.154756717, 0.606608698, 0.155759238, 0.605336552, 0.156762243, 0.604067881, 0.157766859, 0.602801236, 0.158768745, 0.601542041, 0.159772217, 0.60028483, 0.160774263, 0.599033339, 0.161776554, 0.597785438, 0.162780402, 0.596539467, 0.163784477, 0.595297051, 0.164786301, 0.59406121, 0.165789653, 0.592827244, 0.166791964, 0.591598282, 0.167795785, 0.590371162, 0.168799926, 0.589147318, 0.169802577, 0.587928917, 0.170806713, 0.586712312, 0.171809342, 0.585501096, 0.172813438, 0.584291644, 0.173818632, 0.583084382, 0.174821177, 0.581883776, 0.175823924, 0.580686366, 0.176826582, 0.579492471, 0.177830666, 0.578300266, 0.178833215, 0.577113237, 0.179835826, 0.575929456, 0.18083984, 0.574747323, 0.18184185, 0.573570815, 0.182845244, 0.572395926, 0.183846892, 0.571226293, 0.184849371, 0.570058875, 0.185853213, 0.568893038, 0.186855933, 0.567731643, 0.187859267, 0.56657265, 0.188862007, 0.565417433, 0.189866082, 0.564263748, 0.190867468, 0.563116185, 0.191870172, 0.561970125, 0.192873765, 0.560826043, 0.193876162, 0.559686291, 0.194878919, 0.558549075, 0.19588297, 0.55741332, 0.196883948, 0.556283933, 0.197885174, 0.555157136, 0.19888767, 0.554031762, 0.1998904, 0.552908958, 0.2008923, 0.551789893, 0.201895452, 0.550672222, 0.202898908, 0.549556987, 0.203900702, 0.548446346, 0.204901152, 0.547339916, 0.205902825, 0.546234835, 0.2069049, 0.545131997, 0.207908192, 0.544030492, 0.208909166, 0.542934178, 0.209911342, 0.541839175, 0.210913267, 0.540747056, 0.21191524, 0.539657475, 0.212918401, 0.538569181, 0.213919823, 0.537485327, 0.21492242, 0.536402739, 0.215925047, 0.535322643, 0.216927737, 0.534244982, 0.217931589, 0.533168565, 0.218935326, 0.532094747, 0.219940216, 0.531022158, 0.220940657, 0.52995675, 0.221942232, 0.528892547, 0.222944499, 0.527830011, 0.223946892, 0.526769726, 0.22495041, 0.525710626, 0.225951107, 0.524656853, 0.226952915, 0.523604246, 0.227954623, 0.522554063, 0.228956432, 0.52150608, 0.229958345, 0.520460278, 0.230960855, 0.519416131, 0.231964455, 0.518373116, 0.232965995, 0.51733449, 0.233968613, 0.516296979, 0.234970711, 0.515262225, 0.23597182, 0.514230693, 0.236973993, 0.513200254, 0.237975164, 0.512173019, 0.238976269, 0.511148009, 0.239977453, 0.510125064, 0.240978726, 0.509104159, 0.241980564, 0.5080848, 0.24298344, 0.507066495, 0.243985524, 0.506051091, 0.24498864, 0.505036729, 0.245990666, 0.504025539, 0.246992576, 0.503016524, 0.247995503, 0.502008532, 0.248997051, 0.501003957, 0.249999608, 0.500000392, 0.251001917, 0.498999085, 0.252003884, 0.498000116, 0.253005796, 0.497003185, 0.254008701, 0.496007241, 0.255010347, 0.495014508, 0.256012979, 0.494022749, 0.257015263, 0.493033272, 0.25801714, 0.492046124, 0.259019991, 0.491059934, 0.260020818, 0.490077636, 0.261022609, 0.489096282, 0.262025236, 0.488115994, 0.26302678, 0.487138635, 0.264029279, 0.486162205, 0.265031961, 0.485187451, 0.266033348, 0.484215793, 0.267034712, 0.483245985, 0.268035788, 0.482278271, 0.269037101, 0.481312135, 0.270039347, 0.480346897, 0.271041823, 0.479383228, 0.272044069, 0.47842156, 0.273045414, 0.477462524, 0.274047173, 0.476504849, 0.27504985, 0.475548049, 0.276052615, 0.474592906, 0.277056293, 0.473638629, 0.278056966, 0.472688929, 0.279057792, 0.471740791, 0.280059517, 0.470793503, 0.281060578, 0.469848533, 0.282062532, 0.468904404, 0.283063367, 0.467963002, 0.284065089, 0.467022431, 0.285066238, 0.466084054, 0.286068267, 0.4651465, 0.287069858, 0.464210995, 0.288071283, 0.463277276, 0.289073579, 0.462344368, 0.290075702, 0.461413237, 0.291078351, 0.460483225, 0.292079886, 0.459555843, 0.293082282, 0.458629256, 0.294084239, 0.457704658, 0.295085698, 0.456782089, 0.296087073, 0.455861164, 0.297088637, 0.45494162, 0.298091048, 0.454022851, 0.299093643, 0.453105456, 0.300095032, 0.452190697, 0.301096755, 0.45127716, 0.302099312, 0.450364382, 0.303101439, 0.449453509, 0.304102902, 0.448544742, 0.305105191, 0.447636722, 0.306106738, 0.446730864, 0.307108005, 0.445826737, 0.30811009, 0.444923348, 0.30911189, 0.444021682, 0.310112773, 0.4431223, 0.311114464, 0.442223644, 0.312116751, 0.441325899, 0.313118627, 0.440429963, 0.314119953, 0.439535949, 0.31512117, 0.438643455, 0.316122977, 0.437751855, 0.317125578, 0.43686096, 0.318126401, 0.43597305, 0.319128012, 0.435085837, 0.320130103, 0.434199591, 0.321131311, 0.43331551, 0.322133301, 0.432432118, 0.323135178, 0.431550197, 0.324135816, 0.430670732, 0.325137227, 0.429791944, 0.326137921, 0.428915137, 0.327139383, 0.428039003, 0.328140137, 0.427164826, 0.329141031, 0.426291859, 0.330142687, 0.425419556, 0.331144334, 0.424548583, 0.332144619, 0.423680107, 0.333145658, 0.422812285, 0.334146954, 0.421945545, 0.335148809, 0.421079618, 0.336151033, 0.420214667, 0.337152451, 0.419351698, 0.338154615, 0.418489369, 0.339156631, 0.417628442, 0.34015939, 0.416768151, 0.341160455, 0.415910576, 0.34216203, 0.415053823, 0.343164338, 0.414197697, 0.344165195, 0.413344058, 0.345166256, 0.412491485, 0.346167658, 0.411639857, 0.347169785, 0.410788845, 0.348170901, 0.409939917, 0.349172738, 0.409091599, 0.350174624, 0.408244456, 0.351175766, 0.407399152, 0.352177419, 0.40655462, 0.353179786, 0.405710688, 0.354182695, 0.404867498, 0.355182773, 0.404027876, 0.356183556, 0.403188844, 0.35718499, 0.402350445, 0.35818578, 0.401513759, 0.35918727, 0.400677658, 0.360188287, 0.399843115, 0.36119, 0.399009152, 0.362190867, 0.398177047, 0.363192426, 0.397345517, 0.364193638, 0.39651542, 0.365195539, 0.395685894, 0.366196905, 0.394857947, 0.367198467, 0.394030969, 0.368200712, 0.393204555, 0.36920194, 0.392380102, 0.370203847, 0.391556209, 0.371205538, 0.390733607, 0.372207905, 0.38991156, 0.373208988, 0.38909167, 0.374210008, 0.38827293, 0.375211699, 0.387454737, 0.376213324, 0.38663769, 0.377214826, 0.385821829, 0.378215706, 0.385007556, 0.379217249, 0.384193822, 0.3802181, 0.383381723, 0.381219611, 0.382570157, 0.382220602, 0.381760078, 0.383222249, 0.380950528, 0.384223571, 0.380142298, 0.385225176, 0.379334892, 0.386227434, 0.378528011, 0.387228228, 0.377723351, 0.388229669, 0.376919211, 0.389230742, 0.376116404, 0.390232458, 0.375314112, 0.39123468, 0.374512446, 0.392236807, 0.373711881, 0.393237813, 0.372913233, 0.394239457, 0.372115093, 0.395240585, 0.371318376, 0.396242347, 0.370522164, 0.397243596, 0.369727364, 0.398245477, 0.368933065, 0.399247219, 0.368139874, 0.400248048, 0.367348399, 0.401248956, 0.366557851, 0.402249684, 0.36576843, 0.403250353, 0.364980037, 0.404251643, 0.364192134, 0.405252743, 0.363405354, 0.406254463, 0.36261906, 0.407255769, 0.361834059, 0.408257691, 0.36104954, 0.409258995, 0.360266465, 0.410260913, 0.35948387, 0.411262607, 0.358702404, 0.412263632, 0.35792241, 0.413265265, 0.357142889, 0.414267443, 0.356363889, 0.41526888, 0.355586406, 0.416270921, 0.354809392, 0.417272012, 0.354034047, 0.418273704, 0.353259168, 0.419274758, 0.352485708, 0.420276411, 0.35171271, 0.421277298, 0.350941221, 0.422278781, 0.350170191, 0.423280403, 0.349399967, 0.424281319, 0.348631196, 0.425282826, 0.347862878, 0.426283754, 0.347095908, 0.427284657, 0.346329856, 0.428285633, 0.345564646, 0.429287194, 0.344799882, 0.430288825, 0.344035958, 0.431290432, 0.343272939, 0.432291034, 0.342511571, 0.433291987, 0.341750817, 0.434293518, 0.340990502, 0.435295398, 0.3402308, 0.436297352, 0.339471915, 0.437298238, 0.338714708, 0.438299698, 0.337957934, 0.439300627, 0.337202424, 0.440302126, 0.336447345, 0.44130349, 0.335693226, 0.442305422, 0.334939535, 0.443306896, 0.334187041, 0.444308574, 0.333435244, 0.445309687, 0.332684717, 0.446310797, 0.331935035, 0.44731247, 0.331185773, 0.448313026, 0.330438184, 0.44931414, 0.329691011, 0.450315579, 0.328944429, 0.451316367, 0.328199162, 0.452317635, 0.327454362, 0.453319459, 0.326709974, 0.454320405, 0.325967059, 0.455321904, 0.325224553, 0.456323793, 0.324482574, 0.457324275, 0.323742449, 0.458325305, 0.323002729, 0.459326281, 0.322263856, 0.460327802, 0.321525386, 0.461329145, 0.32078785, 0.462331031, 0.320050714, 0.463332062, 0.319315005, 0.464333635, 0.318579693, 0.465335654, 0.317844846, 0.466336105, 0.317111938, 0.467337093, 0.316379423, 0.46833784, 0.315647868, 0.469339123, 0.314916704, 0.470340235, 0.314186443, 0.471341017, 0.313457199, 0.472342332, 0.312728342, 0.473343453, 0.312000398, 0.474345104, 0.311272838, 0.475346708, 0.31054608, 0.47634731, 0.309820814, 0.477348437, 0.309095928, 0.478349542, 0.308371818, 0.479351171, 0.307648087, 0.480352287, 0.306925482, 0.481353925, 0.306203254, 0.482355569, 0.305481772, 0.483356552, 0.304761514, 0.484358054, 0.304041629, 0.485358432, 0.303323294, 0.486358965, 0.302605589, 0.487360013, 0.301888252, 0.488361214, 0.301171542, 0.489362079, 0.300455807, 0.490363455, 0.299740437, 0.491364286, 0.299026188, 0.492365388, 0.298312471, 0.493367, 0.297599117, 0.494368883, 0.296886294, 0.49537009, 0.296174673, 0.496371804, 0.295463412, 0.497373252, 0.294753056, 0.498375204, 0.294043058, 0.499377073, 0.293333832, 0.5003794, 0.292624994, 0.501379872, 0.291918174, 0.502380844, 0.291211707, 0.503381784, 0.290505966, 0.504383223, 0.289800576, 0.505384188, 0.289096218, 0.50638565, 0.288392208, 0.507386833, 0.287689089, 0.508387758, 0.286986846, 0.509389176, 0.286284948, 0.510390754, 0.285583627, 0.511392083, 0.284883168, 0.512393903, 0.284183052, 0.513395464, 0.283483801, 0.51439631, 0.28278573, 0.515397288, 0.282088245, 0.516398318, 0.281391402, 0.517399834, 0.280694895, 0.5184014, 0.279999028, 0.519402336, 0.27930427, 0.52040323, 0.278610209, 0.521404345, 0.277916663, 0.522405453, 0.277223788, 0.52340704, 0.276531245, 0.524408322, 0.275839575, 0.525410081, 0.275148235, 0.526410989, 0.274458141, 0.527412373, 0.273768375, 0.528413336, 0.273079553, 0.529414427, 0.272391295, 0.53041535, 0.271703803, 0.531416746, 0.271016636, 0.532417804, 0.270330346, 0.533419333, 0.269644379, 0.534420269, 0.268959461, 0.535421675, 0.268274864, 0.536422998, 0.267590963, 0.537424788, 0.266907381, 0.538425652, 0.266225067, 0.539426564, 0.265543355, 0.54042794, 0.264861959, 0.541428973, 0.264181427, 0.542430468, 0.26350121, 0.543431388, 0.262822011, 0.544432768, 0.262143125, 0.545433211, 0.261465498, 0.546434114, 0.260788181, 0.547435307, 0.260111288, 0.548436619, 0.259434933, 0.54943722, 0.258759675, 0.550437921, 0.258084964, 0.551439077, 0.25741056, 0.552440331, 0.256736702, 0.553441948, 0.25606321, 0.554443144, 0.25539061, 0.555444447, 0.254718545, 0.556445625, 0.25404717, 0.557447254, 0.253376096, 0.55844788, 0.252706296, 0.559448954, 0.252036796, 0.560449962, 0.25136794, 0.561451256, 0.250699489, 0.562452996, 0.250031337, 0.563454172, 0.249364155, 0.564455029, 0.248697778, 0.56545633, 0.248031696, 0.56645738, 0.247366371, 0.567458873, 0.246701339, 0.568460314, 0.246036928, 0.569461129, 0.245373517, 0.570462383, 0.244710398, 0.571463437, 0.244047993, 0.57246493, 0.243385878, 0.573465981, 0.242724633, 0.57446747, 0.242063677, 0.575468208, 0.241403791, 0.576469382, 0.240744192, 0.577470407, 0.240085263, 0.578471866, 0.23942662, 0.579472971, 0.23876878, 0.580474509, 0.238111223, 0.581475587, 0.237454534, 0.582477098, 0.236798128, 0.583478177, 0.236142568, 0.584479686, 0.235487288, 0.585481248, 0.234832536, 0.586481962, 0.234178897, 0.587482637, 0.23352584, 0.588483348, 0.232873317, 0.589484485, 0.23222107, 0.590485656, 0.231569355, 0.591486649, 0.230918308, 0.592487852, 0.230267675, 0.593489183, 0.229617508, 0.594490938, 0.228967616, 0.595491798, 0.22831885, 0.596492587, 0.227670675, 0.597493795, 0.227022772, 0.598495325, 0.226375204, 0.599496559, 0.225728369, 0.600498211, 0.225081804, 0.601500218, 0.224435549, 0.602501343, 0.2237904, 0.603502294, 0.223145899, 0.604503365, 0.222501855, 0.605504674, 0.221858192, 0.606506397, 0.221214794, 0.607506771, 0.220572793, 0.608507557, 0.219931057, 0.60950842, 0.219289798, 0.610509695, 0.218648802, 0.611510758, 0.218008467, 0.612512231, 0.217368394, 0.613513664, 0.21672887, 0.614514997, 0.216089931, 0.615516738, 0.215451252, 0.616517872, 0.21481348, 0.617519412, 0.214175966, 0.618520247, 0.213539418, 0.619521071, 0.212903392, 0.620522299, 0.212267622, 0.621523514, 0.211632374, 0.62252478, 0.210997605, 0.623526449, 0.210363091, 0.624527035, 0.209729771, 0.625527608, 0.209096967, 0.626528581, 0.208464416, 0.627529817, 0.207832204, 0.628531179, 0.207200417, 0.629532032, 0.206569454, 0.630533283, 0.205938741, 0.631534416, 0.205308603, 0.632535485, 0.204679005, 0.633536951, 0.204049656, 0.634537941, 0.203421102, 0.635539029, 0.202792983, 0.636540511, 0.202165111, 0.637541408, 0.201538099, 0.638542217, 0.200911634, 0.639543418, 0.200285415, 0.640544112, 0.199660002, 0.641545197, 0.199034834, 0.64254649, 0.198410024, 0.643547294, 0.197786005, 0.644548487, 0.197162229, 0.645549807, 0.196538858, 0.646550989, 0.195916056, 0.647552064, 0.195293803, 0.648553526, 0.19467179, 0.6495552, 0.194050126, 0.650556178, 0.193429372, 0.651557168, 0.192809088, 0.652558542, 0.192189043, 0.653559927, 0.191569467, 0.654560847, 0.190950652, 0.65556215, 0.190332074, 0.656563074, 0.189714202, 0.657564379, 0.189096566, 0.658565016, 0.188479812, 0.659565663, 0.187863519, 0.66056669, 0.187247461, 0.661567466, 0.186632023, 0.66256849, 0.186016898, 0.663569892, 0.185402006, 0.664570991, 0.184787763, 0.665572467, 0.184173752, 0.666574278, 0.183559997, 0.667575358, 0.182947151, 0.668576814, 0.182334534, 0.669577622, 0.181722772, 0.670578805, 0.181111238, 0.671579758, 0.180500301, 0.672580737, 0.179889802, 0.67358209, 0.17927953, 0.674583469, 0.178669696, 0.675585005, 0.178060218, 0.676586221, 0.177451387, 0.677587808, 0.176842781, 0.67858923, 0.176234724, 0.679591021, 0.175626892, 0.680591809, 0.175020116, 0.681592966, 0.174413562, 0.682594232, 0.173807388, 0.68359508, 0.173201911, 0.684596293, 0.172596656, 0.685597419, 0.171991897, 0.686598911, 0.171387358, 0.687599545, 0.170783777, 0.688600269, 0.17018058, 0.689601358, 0.169577603, 0.690602536, 0.168975009, 0.691603432, 0.168373021, 0.692604692, 0.167771251, 0.693605477, 0.1671702, 0.694606261, 0.166569583, 0.695607223, 0.165969292, 0.696608545, 0.165369216, 0.697610045, 0.164769466, 0.698610572, 0.164170728, 0.699611457, 0.163572204, 0.700612126, 0.162974238, 0.701613152, 0.162376485, 0.702614378, 0.16177904, 0.703615646, 0.161181995, 0.704616604, 0.160585559, 0.705617918, 0.159989335, 0.706618814, 0.159393782, 0.707619794, 0.158798601, 0.708621129, 0.15820363, 0.709622548, 0.157609029, 0.710624199, 0.15701471, 0.711625281, 0.156421147, 0.712626376, 0.155827994, 0.713627823, 0.155235049, 0.714628796, 0.1546428, 0.71563012, 0.154050758, 0.716631665, 0.153459, 0.717632687, 0.152867964, 0.718634058, 0.152277134, 0.719635024, 0.151686954, 0.720636339, 0.151096979, 0.721636966, 0.150507819, 0.72263794, 0.149918863, 0.723638853, 0.14933035, 0.724640112, 0.148742041, 0.725640761, 0.148154497, 0.726641698, 0.147567188, 0.727642981, 0.146980082, 0.728644331, 0.14639334, 0.729645722, 0.145806976, 0.730647141, 0.145220999, 0.731647945, 0.144635783, 0.732649091, 0.144050766, 0.733650241, 0.143466147, 0.734651733, 0.142881728, 0.735652824, 0.14229794, 0.736654257, 0.14171435, 0.73765549, 0.141131273, 0.738656039, 0.14054899, 0.739656926, 0.139966904, 0.740657753, 0.139385247, 0.741658918, 0.138803787, 0.742659881, 0.138222836, 0.743661181, 0.137642081, 0.744662119, 0.137061926, 0.745663393, 0.136481967, 0.746664314, 0.135902601, 0.747665571, 0.13532343, 0.748666737, 0.134744699, 0.749667809, 0.134166408, 0.750669216, 0.13358831, 0.751670091, 0.133010905, 0.752671298, 0.132433692, 0.753672654, 0.131856778, 0.754673667, 0.131280444, 0.755675013, 0.130704301, 0.756675972, 0.130128762, 0.757677262, 0.129553413, 0.758678308, 0.128978584, 0.759679684, 0.128403944, 0.760680729, 0.127829874, 0.761682104, 0.127255992, 0.762683589, 0.126682424, 0.763684422, 0.126109605, 0.764685583, 0.125536975, 0.765686692, 0.124964748, 0.766688128, 0.124392709, 0.767689005, 0.123821362, 0.768689889, 0.123250384, 0.7696911, 0.122679591, 0.770692133, 0.12210927, 0.771693493, 0.121539134, 0.77269404, 0.12096983, 0.773694911, 0.12040071, 0.774695721, 0.119831993, 0.775696499, 0.119263661, 0.7766976, 0.118695512, 0.777698621, 0.118127775, 0.778699964, 0.117560221, 0.779701391, 0.116992984, 0.780702839, 0.116426099, 0.781703234, 0.115860173, 0.782703818, 0.115294502, 0.783704723, 0.114729012, 0.784705817, 0.114163775, 0.785706744, 0.113598994, 0.786707661, 0.113034577, 0.787708897, 0.11247034, 0.788710123, 0.111906468, 0.789711097, 0.111343094, 0.790712141, 0.110780038, 0.791713502, 0.11021716, 0.792714519, 0.109654832, 0.793715852, 0.10909268, 0.794716824, 0.108531087, 0.79571811, 0.10796967, 0.796719447, 0.107408578, 0.797720293, 0.106848113, 0.798721454, 0.106287824, 0.799722298, 0.105728062, 0.800723456, 0.105168476, 0.801724835, 0.104609116, 0.802725503, 0.104050502, 0.803726484, 0.103492062, 0.804727656, 0.102933862, 0.805728455, 0.102376218, 0.806729565, 0.101818746, 0.807730547, 0.101261692, 0.808731439, 0.100705032, 0.809732641, 0.100148545, 0.810734043, 0.099592291, 0.811735538, 0.099036328, 0.812736432, 0.098481042, 0.813737634, 0.097925927, 0.814738943, 0.097371093, 0.815739877, 0.096816809, 0.816741119, 0.096262694, 0.817741965, 0.095709137, 0.818743117, 0.09515575, 0.819744154, 0.094602764, 0.820745167, 0.09405013, 0.821746485, 0.093497664, 0.82274736, 0.092945779, 0.823748245, 0.092394224, 0.824749433, 0.091842837, 0.825750629, 0.09129178, 0.826752045, 0.090740936, 0.827753079, 0.090190636, 0.828754415, 0.089640502, 0.82975574, 0.089090707, 0.830757366, 0.088541078, 0.831758642, 0.087991973, 0.832759871, 0.087443223, 0.833761401, 0.086894638, 0.83476259, 0.08634657, 0.835763692, 0.085798878, 0.836765094, 0.085251349, 0.837766409, 0.084704196, 0.838767089, 0.084157716, 0.839768067, 0.083611399, 0.840769119, 0.083065368, 0.841770221, 0.082519635, 0.842771621, 0.081974063, 0.843772283, 0.081429217, 0.844773242, 0.080884533, 0.845774443, 0.08034004, 0.846775502, 0.079795945, 0.847776858, 0.079252012, 0.848777719, 0.078708668, 0.849778876, 0.078165483, 0.850780088, 0.077622589, 0.851781595, 0.077079855, 0.852782292, 0.076537877, 0.853783283, 0.075996059, 0.854784193, 0.075454602, 0.855785231, 0.074913393, 0.856786562, 0.074372342, 0.857787302, 0.073831926, 0.858788335, 0.073291667, 0.859789487, 0.072751658, 0.860790301, 0.072212146, 0.861791407, 0.071672791, 0.86279227, 0.071133879, 0.863793424, 0.070595124, 0.864794379, 0.070056787, 0.865795501, 0.069518672, 0.866796913, 0.068980713, 0.867797847, 0.068443321, 0.86879907, 0.067906083, 0.869799865, 0.067369385, 0.870800744, 0.06683295, 0.871801652, 0.066296807, 0.872802848, 0.065760819, 0.873804073, 0.065225122, 0.87480493, 0.064689928, 0.875806074, 0.064154888, 0.876807161, 0.063620183, 0.877808238, 0.063085789, 0.878809601, 0.062551548, 0.879810501, 0.062017857, 0.880811362, 0.06148449, 0.881812507, 0.060951275, 0.882813614, 0.060418384, 0.88381461, 0.059885853, 0.884815527, 0.059353665, 0.885816728, 0.058821628, 0.886817538, 0.058290099, 0.88781863, 0.05775872, 0.888819906, 0.057227543, 0.8898209, 0.056696814, 0.890822176, 0.056166235, 0.891822967, 0.05563621, 0.892824039, 0.055106334, 0.893824892, 0.054576871, 0.894825699, 0.054047729, 0.895826786, 0.053518734, 0.896827827, 0.05299006, 0.897828832, 0.052461699, 0.898830116, 0.051933486, 0.899831131, 0.051405708, 0.900832425, 0.050878077, 0.901833502, 0.050350853, 0.902834379, 0.049824027, 0.903835533, 0.049297348, 0.904836832, 0.048770884, 0.905838142, 0.048244705, 0.906839163, 0.047718969, 0.907840035, 0.0471936, 0.908841183, 0.046668377, 0.909842365, 0.046143426, 0.910843129, 0.045618981, 0.91184408, 0.045094727, 0.912845306, 0.044570617, 0.913846175, 0.044046981, 0.914847317, 0.043523489, 0.91584854, 0.04300024, 0.916849703, 0.04247731, 0.917850803, 0.041954697, 0.918852008, 0.041432315, 0.919853485, 0.040910074, 0.920854219, 0.040388506, 0.921855225, 0.039867079, 0.92285629, 0.039345905, 0.923857541, 0.038824917, 0.924858469, 0.038304378, 0.925859668, 0.037783981, 0.926860612, 0.037263997, 0.927861825, 0.036744154, 0.92886271, 0.036224762, 0.929863864, 0.03570551, 0.930865196, 0.035186445, 0.931866615, 0.034667614, 0.932867402, 0.034149389, 0.933868458, 0.033631304, 0.934869383, 0.033113563, 0.935870577, 0.03259596, 0.936871497, 0.032078775, 0.937872686, 0.031561729, 0.938874082, 0.031044851, 0.939874896, 0.030528548, 0.940875818, 0.030012465, 0.941877007, 0.029496519, 0.942878304, 0.028980791, 0.943879368, 0.028465457, 0.94488035, 0.027950439, 0.945881425, 0.027435645, 0.946882764, 0.026920988, 0.947883916, 0.026406699, 0.948885333, 0.025892546, 0.949886316, 0.025378886, 0.950887563, 0.024865362, 0.951888409, 0.024352313, 0.952889519, 0.023839399, 0.953890777, 0.023326679, 0.954892066, 0.022814211, 0.955893, 0.022302194, 0.956894195, 0.021790311, 0.957895178, 0.021278805, 0.958896422, 0.020767432, 0.959897632, 0.020256344, 0.960898621, 0.019745635, 0.961899872, 0.019235058, 0.962900965, 0.018724827, 0.963902319, 0.018214729, 0.964903805, 0.017704828, 0.965905057, 0.017195311, 0.966906568, 0.016685926, 0.967907673, 0.016177011, 0.968909038, 0.015668228, 0.96991048, 0.015159668, 0.970912181, 0.014651239, 0.971914114, 0.014142955, 0.97291547, 0.013635225, 0.973916926, 0.013127705, 0.97491864, 0.012620316, 0.975920408, 0.01211316, 0.976922433, 0.011606135, 0.977924167, 0.011099516, 0.978926069, 0.010593072, 0.979928199, 0.010086772, 0.980930586, 0.009580601, 0.981933085, 0.009074632, 0.982935517, 0.008568955, 0.983938206, 0.008063407, 0.984941084, 0.00755802, 0.985943789, 0.007052978, 0.986946632, 0.006548123, 0.987949729, 0.006043397, 0.988952849, 0.005538915, 0.989956223, 0.005034562, 0.990959736, 0.004530394, 0.991963354, 0.004026429, 0.992967226, 0.003522592, 0.993971225, 0.003018945, 0.994975478, 0.002515425, 0.995979929, 0.00201206, 0.996984613, 0.001508832, 0.997989495, 0.001005758, 0.998994621, 5.02816E-4, 1.0, 0.0 }; break;
    30         case "ZDT6": data = new double[] { 0.280775319, 0.92116522, 0.281499068, 0.920758275, 0.282222229, 0.920350613, 0.282944464, 0.91994243, 0.283665793, 0.919533718, 0.284387387, 0.919123814, 0.285109031, 0.91871284, 0.285829762, 0.918301347, 0.286549863, 0.917889176, 0.287269615, 0.917476168, 0.287989783, 0.917061885, 0.28870905, 0.916647084, 0.289429667, 0.916230468, 0.290150028, 0.915812961, 0.290869496, 0.915394937, 0.291588714, 0.914976022, 0.292308153, 0.914555944, 0.293028387, 0.914134364, 0.293747736, 0.913712268, 0.294468657, 0.91328821, 0.295188697, 0.912863634, 0.295909219, 0.912437734, 0.296628864, 0.912011317, 0.297348605, 0.911583807, 0.298068798, 0.911154992, 0.298788994, 0.910725137, 0.299508759, 0.910294503, 0.300227658, 0.909863353, 0.300948579, 0.909429953, 0.301669222, 0.908995681, 0.302389003, 0.908560891, 0.303109371, 0.908124709, 0.303828883, 0.90768801, 0.3045484, 0.907250272, 0.305268871, 0.906810916, 0.305988492, 0.906371043, 0.306708669, 0.905929793, 0.307428, 0.905488025, 0.308148104, 0.905044746, 0.308867366, 0.90460095, 0.309587509, 0.904155574, 0.310306815, 0.903709681, 0.311026996, 0.903262208, 0.311746779, 0.902813946, 0.312465731, 0.902365167, 0.313185512, 0.901914835, 0.313905711, 0.901463204, 0.314626023, 0.901010466, 0.315345509, 0.90055721, 0.316065112, 0.900102845, 0.316785545, 0.899646918, 0.317505159, 0.899190474, 0.318225646, 0.898732438, 0.318945318, 0.898273884, 0.319665319, 0.897814084, 0.320385434, 0.897353174, 0.32110474, 0.896891746, 0.321825549, 0.896428316, 0.322545551, 0.895964367, 0.323265416, 0.895499471, 0.323984746, 0.895033884, 0.324705403, 0.894566402, 0.32542526, 0.8940984, 0.326146153, 0.893628687, 0.326866249, 0.893158455, 0.327585737, 0.892687585, 0.328305373, 0.892215582, 0.32902613, 0.891741806, 0.329746098, 0.891267511, 0.330466369, 0.890791979, 0.331186705, 0.890315367, 0.331906257, 0.889838236, 0.332625465, 0.8893603, 0.333345893, 0.888880516, 0.334065542, 0.888400214, 0.334785756, 0.887918498, 0.335505195, 0.887436264, 0.33622541, 0.886952474, 0.336944854, 0.886468166, 0.337664781, 0.885982496, 0.338383941, 0.885496309, 0.33910425, 0.885008308, 0.339824202, 0.884519512, 0.340544537, 0.884029418, 0.341264111, 0.883538807, 0.341983154, 0.883047522, 0.342703317, 0.882554436, 0.343423772, 0.882060113, 0.344143712, 0.881565105, 0.3448629, 0.88106958, 0.345582548, 0.880572703, 0.346302137, 0.88007483, 0.347022403, 0.879575452, 0.347743009, 0.8790748, 0.348462869, 0.878573629, 0.349183069, 0.878071184, 0.349903006, 0.877567886, 0.350622546, 0.87706383, 0.351341348, 0.876559257, 0.352061845, 0.876052458, 0.352782289, 0.875544656, 0.353501998, 0.875036337, 0.354222955, 0.874526098, 0.354943179, 0.87401534, 0.355662955, 0.873503863, 0.356382569, 0.872991465, 0.35710254, 0.872477776, 0.357823192, 0.871962564, 0.358543117, 0.871446833, 0.359263435, 0.870929784, 0.359983032, 0.870412217, 0.360702707, 0.869893557, 0.361421665, 0.86937438, 0.362142066, 0.868853124, 0.362862305, 0.868330948, 0.36358183, 0.867808253, 0.364301196, 0.867284639, 0.365020451, 0.86676007, 0.365740585, 0.866233825, 0.36646001, 0.865707061, 0.367179589, 0.865179149, 0.367900454, 0.864649256, 0.368620672, 0.8641188, 0.3693408, 0.863587373, 0.370060227, 0.863055429, 0.370779936, 0.862522239, 0.371498946, 0.861988533, 0.372218264, 0.861453564, 0.372936887, 0.860918078, 0.373657933, 0.860379749, 0.374378283, 0.859840901, 0.375098148, 0.85930138, 0.375817997, 0.858760834, 0.376537156, 0.85821977, 0.377258115, 0.857676314, 0.377978386, 0.85713234, 0.378698031, 0.856587802, 0.379417552, 0.856042322, 0.380138236, 0.855494921, 0.380858238, 0.854947003, 0.381579057, 0.854397423, 0.382299701, 0.853846939, 0.383019666, 0.853295935, 0.38373946, 0.852744027, 0.384459889, 0.852190594, 0.385179643, 0.851636642, 0.385899355, 0.851081688, 0.386618396, 0.850526216, 0.387337639, 0.849969554, 0.388057454, 0.849411413, 0.388777149, 0.848852329, 0.389496177, 0.848292728, 0.390216268, 0.847731264, 0.390936155, 0.847168923, 0.39165538, 0.846606064, 0.392376004, 0.846041072, 0.393095966, 0.845475562, 0.39381683, 0.844908305, 0.394537034, 0.844340529, 0.395257448, 0.84377155, 0.39597735, 0.843201938, 0.396697341, 0.84263122, 0.397416678, 0.842059984, 0.398136719, 0.841487153, 0.398856558, 0.840913446, 0.399575747, 0.840339222, 0.40029527, 0.839763697, 0.401015708, 0.839186402, 0.401736077, 0.838608125, 0.4024558, 0.838029329, 0.403175458, 0.83744955, 0.40389572, 0.836868248, 0.404615635, 0.836286188, 0.405335108, 0.83570345, 0.406053942, 0.835120196, 0.406774652, 0.834534382, 0.407494724, 0.83394805, 0.408214975, 0.833360535, 0.40893459, 0.832772501, 0.40965434, 0.832183322, 0.41037509, 0.831592286, 0.411095598, 0.831000409, 0.411815475, 0.830408015, 0.412535718, 0.829814282, 0.413255633, 0.829219782, 0.413975929, 0.828623931, 0.414695598, 0.828027561, 0.415415679, 0.827429813, 0.41613594, 0.82683088, 0.416855577, 0.826231428, 0.417575823, 0.825630433, 0.418295986, 0.825028468, 0.419015529, 0.824425987, 0.419735696, 0.823821945, 0.420455686, 0.823217017, 0.421175058, 0.82261157, 0.421895113, 0.822004514, 0.422614981, 0.821396578, 0.423335018, 0.820787463, 0.424054443, 0.82017783, 0.424774038, 0.819567017, 0.42549453, 0.818954405, 0.426214412, 0.818341275, 0.4269345, 0.817726933, 0.427654348, 0.817111759, 0.428373589, 0.816496068, 0.429092594, 0.815879546, 0.429812895, 0.815260876, 0.430533279, 0.814641095, 0.431253062, 0.814020797, 0.43197293, 0.813399388, 0.432692908, 0.812776847, 0.433412793, 0.812153351, 0.434132332, 0.811529118, 0.43485231, 0.810903468, 0.435571692, 0.810277301, 0.436291514, 0.809649715, 0.437011463, 0.809020982, 0.437731468, 0.808391162, 0.438451463, 0.807760314, 0.439170867, 0.80712895, 0.43989148, 0.806495486, 0.440611502, 0.805861504, 0.441332152, 0.805225932, 0.442052342, 0.804589727, 0.442772313, 0.803952679, 0.443491699, 0.803315113, 0.44421222, 0.802675504, 0.444932157, 0.802035376, 0.445651744, 0.801394523, 0.446371908, 0.80075212, 0.44709208, 0.800108672, 0.447811967, 0.799464442, 0.448532274, 0.798818799, 0.4492525, 0.798172191, 0.449972149, 0.797525065, 0.450692414, 0.796876348, 0.451412815, 0.796226471, 0.45213264, 0.795576076, 0.452853116, 0.794924055, 0.45357302, 0.794271516, 0.454292866, 0.793617992, 0.455012393, 0.792963722, 0.455731792, 0.792308534, 0.456451547, 0.791651985, 0.457171639, 0.790994093, 0.457891163, 0.790335683, 0.458610237, 0.78967665, 0.459330328, 0.78901565, 0.460049855, 0.788354131, 0.460770106, 0.787690909, 0.461489795, 0.787027169, 0.462209778, 0.786362122, 0.462929554, 0.785696228, 0.463649678, 0.785028976, 0.464369243, 0.784361206, 0.46508959, 0.783691673, 0.465809379, 0.783021622, 0.466529455, 0.782350268, 0.467248974, 0.781678396, 0.467969159, 0.781004867, 0.468689412, 0.780330235, 0.469409112, 0.779655086, 0.470128882, 0.778978834, 0.470848171, 0.778302, 0.471568624, 0.777623033, 0.472289087, 0.776943018, 0.47300944, 0.776262069, 0.473729245, 0.775580602, 0.474449523, 0.77489765, 0.475170063, 0.774213411, 0.475890057, 0.773528653, 0.476609926, 0.772842979, 0.477329903, 0.772156164, 0.478049337, 0.771468831, 0.478768882, 0.770780358, 0.479489194, 0.770090113, 0.480208964, 0.769399351, 0.480929234, 0.768707072, 0.481648965, 0.768014275, 0.482368899, 0.767320245, 0.483089055, 0.766624965, 0.483808675, 0.765929167, 0.484529217, 0.765231438, 0.485249507, 0.764532916, 0.485969262, 0.763833877, 0.48668874, 0.763134071, 0.487408762, 0.762432698, 0.488128253, 0.761730809, 0.488847778, 0.76102785, 0.489567255, 0.760323903, 0.490287164, 0.759618497, 0.4910075, 0.758911635, 0.491727307, 0.758204255, 0.492447587, 0.757495374, 0.49316734, 0.756785975, 0.493887251, 0.756075384, 0.49460738, 0.755363539, 0.495327846, 0.754650325, 0.496047788, 0.753936592, 0.496768153, 0.753221402, 0.497487995, 0.752505694, 0.49820804, 0.751788749, 0.498927564, 0.751071286, 0.499646927, 0.750352949, 0.500367235, 0.74963263, 0.501087299, 0.748911519, 0.501807256, 0.748189477, 0.502526698, 0.747466918, 0.503246034, 0.746743429, 0.503966512, 0.746017755, 0.504686907, 0.745291126, 0.505406788, 0.744563979, 0.506126445, 0.743836022, 0.506846167, 0.743106963, 0.507566505, 0.742376243, 0.508286331, 0.741645006, 0.509005835, 0.740913061, 0.509725902, 0.740179505, 0.510445462, 0.739445431, 0.51116529, 0.738710046, 0.511884612, 0.737974144, 0.512604924, 0.737236192, 0.513325271, 0.736497166, 0.514045384, 0.735757344, 0.5147657, 0.735016274, 0.515485512, 0.734274687, 0.516205843, 0.733531527, 0.516925672, 0.73278785, 0.517645313, 0.73204333, 0.518365146, 0.731297575, 0.51908448, 0.730551303, 0.519804909, 0.729802857, 0.520524991, 0.729053734, 0.521245296, 0.728303341, 0.521965104, 0.72755243, 0.522685136, 0.726800249, 0.523405048, 0.726047155, 0.524124466, 0.725293544, 0.524844433, 0.724538322, 0.525564561, 0.723781892, 0.526284197, 0.723024944, 0.527003472, 0.722267341, 0.527723858, 0.72150753, 0.528443753, 0.720747201, 0.529163406, 0.71998609, 0.529883944, 0.719223006, 0.530603991, 0.718459404, 0.531323778, 0.717695043, 0.53204353, 0.716929682, 0.53276325, 0.716163319, 0.533483447, 0.715395412, 0.534203659, 0.714626451, 0.534923385, 0.713856972, 0.535643343, 0.713086209, 0.536362818, 0.712314928, 0.537083413, 0.711541407, 0.537803575, 0.710767315, 0.538523254, 0.709992705, 0.539243552, 0.709216392, 0.539963369, 0.70843956, 0.540684104, 0.7076607, 0.541404461, 0.706881209, 0.54212434, 0.7061012, 0.542843977, 0.705320417, 0.54356319, 0.704539058, 0.54428352, 0.70375545, 0.545003373, 0.702971323, 0.545723475, 0.702185889, 0.546443553, 0.701399444, 0.547163156, 0.70061248, 0.547883081, 0.69982413, 0.548602532, 0.699035262, 0.54932259, 0.698244692, 0.550042176, 0.697453605, 0.550762423, 0.696660754, 0.551482199, 0.695867385, 0.5522019, 0.695073061, 0.552922253, 0.694276982, 0.553642137, 0.693480384, 0.554362493, 0.692682226, 0.555082381, 0.69188355, 0.555802685, 0.691083375, 0.556522523, 0.690282682, 0.557242353, 0.68948096, 0.557962353, 0.688678013, 0.558681888, 0.687874548, 0.559401678, 0.687069763, 0.560121005, 0.686264459, 0.560841093, 0.685457268, 0.561561269, 0.684648941, 0.562280984, 0.683840095, 0.563001208, 0.68302964, 0.563721434, 0.682218145, 0.564441199, 0.681406133, 0.565160966, 0.680593083, 0.565881572, 0.679778046, 0.56660172, 0.678962491, 0.567321445, 0.678146378, 0.568041456, 0.677328904, 0.568761011, 0.676510912, 0.569480963, 0.675691433, 0.570200904, 0.674870929, 0.570920391, 0.674049907, 0.571639868, 0.673227861, 0.572360008, 0.672404021, 0.57308021, 0.671579073, 0.57379996, 0.670753606, 0.574520201, 0.669926539, 0.575240453, 0.669098421, 0.575960255, 0.668269785, 0.576680542, 0.667439553, 0.577400379, 0.666608803, 0.578120718, 0.665776436, 0.578840608, 0.664943551, 0.579560618, 0.66410949, 0.580280181, 0.663274912, 0.580999991, 0.66243901, 0.581719565, 0.661602348, 0.582438694, 0.660765168, 0.583159249, 0.65992529, 0.583879359, 0.659084894, 0.584599654, 0.658243244, 0.585319506, 0.657401077, 0.586039405, 0.656557815, 0.586758863, 0.655714036, 0.587479261, 0.654868118, 0.588199217, 0.654021682, 0.588919204, 0.653174171, 0.589638823, 0.652326058, 0.590358967, 0.65147629, 0.591078672, 0.650626003, 0.591798025, 0.649775098, 0.592517803, 0.648922654, 0.593238327, 0.648068288, 0.593958413, 0.647213403, 0.594678581, 0.646357385, 0.595398313, 0.645500849, 0.596118406, 0.644642846, 0.596838604, 0.643783681, 0.597558367, 0.642923998, 0.598278646, 0.642062662, 0.598998491, 0.641200808, 0.599718578, 0.640337627, 0.600438687, 0.639473383, 0.601158364, 0.638608621, 0.601878333, 0.637742472, 0.602597871, 0.636875805, 0.603317849, 0.636007573, 0.604037397, 0.635138823, 0.604757117, 0.63426883, 0.605476508, 0.633398198, 0.606197287, 0.632524849, 0.606917638, 0.631650981, 0.607637693, 0.630776435, 0.608357706, 0.629900901, 0.609077604, 0.629024472, 0.609797701, 0.628146764, 0.610517373, 0.627268537, 0.611237245, 0.62638903, 0.611957367, 0.625508182, 0.612677458, 0.624626333, 0.613397126, 0.623743966, 0.614116937, 0.622860387, 0.614836327, 0.621976291, 0.615556648, 0.621090014, 0.616276547, 0.620203218, 0.616996626, 0.619315164, 0.617716589, 0.618426215, 0.618436134, 0.617536749, 0.619156226, 0.616645568, 0.619875899, 0.61575387, 0.620595816, 0.614860833, 0.621316243, 0.613966126, 0.622036668, 0.613070384, 0.622756901, 0.612173842, 0.623476718, 0.611276782, 0.624196934, 0.610378187, 0.624916735, 0.609479075, 0.625636149, 0.60857941, 0.626356178, 0.607677939, 0.627075876, 0.606775846, 0.627795371, 0.605872973, 0.62851513, 0.604968732, 0.629234477, 0.604063973, 0.629954089, 0.603157846, 0.630674305, 0.602249921, 0.63139411, 0.601341477, 0.63211444, 0.600431334, 0.63283436, 0.599520673, 0.633554509, 0.598608684, 0.634274556, 0.597695788, 0.634995022, 0.596781322, 0.635715079, 0.595866338, 0.63643539, 0.594949995, 0.637155535, 0.594032824, 0.637875274, 0.593115136, 0.638595066, 0.592196342, 0.639314452, 0.591277031, 0.640033652, 0.590356925, 0.640753919, 0.589434416, 0.641473802, 0.588511362, 0.642194044, 0.58758681, 0.642913882, 0.58666174, 0.643634079, 0.585735172, 0.644353913, 0.584808035, 0.645073968, 0.583879575, 0.645794069, 0.58295002, 0.646513768, 0.582019947, 0.647233766, 0.581088453, 0.647953362, 0.58015644, 0.648673815, 0.579222281, 0.649393943, 0.578287506, 0.650113672, 0.577352213, 0.650833279, 0.576416043, 0.651553738, 0.575477727, 0.652273798, 0.574538893, 0.652993817, 0.573599075, 0.65371344, 0.572658739, 0.654433576, 0.571716695, 0.655153315, 0.570774134, 0.655873467, 0.569829996, 0.656593223, 0.56888534, 0.657313018, 0.567939597, 0.658032904, 0.566992697, 0.658752989, 0.5660445, 0.659472679, 0.565095785, 0.660192648, 0.564145668, 0.660912224, 0.563195032, 0.661631805, 0.562243354, 0.662351781, 0.561290118, 0.663071748, 0.560335857, 0.66379214, 0.559379995, 0.664512141, 0.558423614, 0.665231956, 0.557466445, 0.665951894, 0.556508075, 0.666671442, 0.555549188, 0.667391397, 0.554588724, 0.668110963, 0.553627741, 0.668831342, 0.552664636, 0.669551333, 0.551701013, 0.670270945, 0.55073686, 0.670991047, 0.549771016, 0.671710762, 0.548804653, 0.672430881, 0.547836711, 0.67315135, 0.54686726, 0.673871605, 0.54589706, 0.674591475, 0.544926342, 0.675311131, 0.543954877, 0.676031102, 0.542981949, 0.67675069, 0.542008503, 0.67747112, 0.541032881, 0.678191384, 0.540056446, 0.678911266, 0.539079494, 0.679631201, 0.538101431, 0.680350754, 0.537122851, 0.681070857, 0.536142487, 0.68179058, 0.535161606, 0.682510189, 0.534179842, 0.683230422, 0.53319619, 0.683950276, 0.53221202, 0.684670518, 0.531226282, 0.685390381, 0.530240026, 0.686110612, 0.529252228, 0.686830465, 0.528263912, 0.687550502, 0.527274307, 0.688270679, 0.526283473, 0.688990479, 0.52529212, 0.68971042, 0.524299537, 0.690430162, 0.523306192, 0.691149881, 0.522311842, 0.691870038, 0.521315851, 0.692589926, 0.520319194, 0.69330944, 0.51932202, 0.694029111, 0.518323593, 0.694749245, 0.517323486, 0.695469006, 0.516322862, 0.696189274, 0.515320495, 0.696909169, 0.51431761, 0.697629439, 0.513313166, 0.698349361, 0.51230817, 0.699069513, 0.511301815, 0.699789295, 0.510294943, 0.700509308, 0.50928671, 0.701229481, 0.508277215, 0.701949424, 0.507267007, 0.702668997, 0.506256281, 0.703388933, 0.505244009, 0.704108886, 0.504230677, 0.704828471, 0.503216827, 0.705548328, 0.502201557, 0.706268057, 0.501185431, 0.70698742, 0.500168788, 0.707707659, 0.49914987, 0.708427531, 0.498130433, 0.709147857, 0.497109316, 0.709868203, 0.496087134, 0.710588183, 0.495064434, 0.711308327, 0.494040464, 0.712028107, 0.493015975, 0.712747888, 0.491990448, 0.713467838, 0.490963645, 0.714187424, 0.489936324, 0.714907453, 0.488907333, 0.715627684, 0.487877019, 0.716347551, 0.486846186, 0.717067687, 0.485813933, 0.717787627, 0.484780923, 0.718507206, 0.483747396, 0.719227364, 0.482712, 0.719947377, 0.481675774, 0.720667467, 0.480638402, 0.721387197, 0.479600512, 0.72210727, 0.478561091, 0.722826984, 0.477521152, 0.723546964, 0.476479791, 0.724266586, 0.475437912, 0.724986899, 0.474393996, 0.725706855, 0.473349561, 0.726426656, 0.472304314, 0.727146832, 0.471257484, 0.727866653, 0.470210136, 0.728586473, 0.469161751, 0.729305939, 0.468112848, 0.730026104, 0.467061888, 0.730746398, 0.466009702, 0.731466337, 0.464956999, 0.732186576, 0.463902818, 0.732906461, 0.462848119, 0.733626088, 0.461792763, 0.734346273, 0.460735552, 0.735066104, 0.459677823, 0.735786087, 0.458618834, 0.736506325, 0.457558433, 0.737226398, 0.456497239, 0.737946295, 0.455435265, 0.738665842, 0.454372774, 0.739385646, 0.453308867, 0.7401051, 0.452244442, 0.740825242, 0.45117796, 0.741545245, 0.45011065, 0.742265222, 0.44904234, 0.74298485, 0.447973512, 0.743704903, 0.446903018, 0.744424607, 0.445832005, 0.74514441, 0.444759808, 0.745864321, 0.443686415, 0.746584344, 0.442611818, 0.747304178, 0.441536466, 0.748023665, 0.440460596, 0.748743831, 0.439382676, 0.749464118, 0.438303536, 0.750184059, 0.437223878, 0.750904501, 0.43614243, 0.751624599, 0.435060463, 0.752344894, 0.433977161, 0.753064844, 0.432893341, 0.753785101, 0.431808022, 0.754505013, 0.430722185, 0.75522507, 0.429635093, 0.75594524, 0.428546794, 0.756665553, 0.427457242, 0.757385522, 0.426367171, 0.758105437, 0.425276146, 0.758825011, 0.424184603, 0.759544622, 0.423091967, 0.760264555, 0.421997806, 0.760984418, 0.420902716, 0.761704589, 0.41980612, 0.762424419, 0.418709005, 0.763144089, 0.4176111, 0.763863902, 0.41651194, 0.764583618, 0.415411891, 0.765302996, 0.414311324, 0.766023383, 0.413208177, 0.76674343, 0.412104512, 0.76746323, 0.41100019, 0.768182873, 0.409895073, 0.768903203, 0.408787864, 0.769623196, 0.407680137, 0.7703434, 0.406571046, 0.771063268, 0.405461436, 0.771783301, 0.404350537, 0.772502998, 0.403239119, 0.773223112, 0.402126019, 0.773942891, 0.401012401, 0.774662735, 0.399897647, 0.775382811, 0.398781496, 0.776102932, 0.397664239, 0.776822719, 0.396546463, 0.777542552, 0.39542758, 0.778262363, 0.394307695, 0.778982203, 0.393186727, 0.779701711, 0.392065242, 0.780421856, 0.390941726, 0.781141988, 0.389817194, 0.781861788, 0.388692144, 0.782581911, 0.387565553, 0.783302085, 0.386437844, 0.784021928, 0.385309617, 0.78474212, 0.384179805, 0.785461982, 0.383049475, 0.78618181, 0.381918162, 0.786901984, 0.380785268, 0.787622198, 0.379651273, 0.788342083, 0.37851676, 0.789061759, 0.377381541, 0.789781344, 0.37624543, 0.790501423, 0.3751075, 0.791221175, 0.373969052, 0.791941198, 0.37282914, 0.792661003, 0.371688535, 0.793380701, 0.370547063, 0.79410048, 0.369404428, 0.794820884, 0.368259763, 0.795540961, 0.367114579, 0.796261015, 0.365968396, 0.796981136, 0.364821068, 0.797700932, 0.363673223, 0.798420795, 0.362524234, 0.799141056, 0.361373573, 0.799861131, 0.360222171, 0.800581306, 0.359069572, 0.801301157, 0.357916455, 0.802021108, 0.356762142, 0.802740896, 0.355607054, 0.803460946, 0.354450509, 0.804180673, 0.353293445, 0.804900614, 0.352135002, 0.805620379, 0.350975805, 0.806340305, 0.349815312, 0.80705991, 0.348654301, 0.807779676, 0.347491994, 0.808499969, 0.3463278, 0.809219941, 0.345163087, 0.809939772, 0.343997566, 0.810659981, 0.342830396, 0.81137987, 0.341662707, 0.812099883, 0.34049378, 0.812819578, 0.339324334, 0.813539103, 0.338154129, 0.814259122, 0.336982083, 0.81497908, 0.3358091, 0.815698719, 0.334635599, 0.816418395, 0.333461004, 0.817138554, 0.332284584, 0.817858395, 0.331107646, 0.818578526, 0.329929197, 0.819298695, 0.328749649, 0.820018547, 0.327569583, 0.820738132, 0.326388918, 0.821458447, 0.32520602, 0.822178446, 0.324022603, 0.822898598, 0.322837897, 0.823618694, 0.321652247, 0.824338475, 0.320466079, 0.8250582, 0.319278967, 0.825777883, 0.318090888, 0.826498198, 0.316900729, 0.8272182, 0.31571005, 0.827938273, 0.314518216, 0.828658033, 0.313325865, 0.829377739, 0.312132567, 0.830097636, 0.310937916, 0.83081722, 0.309742746, 0.831537703, 0.308545049, 0.832257873, 0.307346832, 0.832977931, 0.306147766, 0.833697993, 0.304947656, 0.834417744, 0.303747028, 0.8351375, 0.302545356, 0.835857665, 0.301341964, 0.836577519, 0.300138055, 0.837297617, 0.2989327, 0.838017577, 0.29772654, 0.838737228, 0.296519862, 0.839457369, 0.295311325, 0.840177202, 0.29410227, 0.840897458, 0.292891466, 0.841617405, 0.291680143, 0.84233717, 0.290468092, 0.843056879, 0.289255099, 0.843777079, 0.288040241, 0.844497074, 0.286824693, 0.845216761, 0.285608627, 0.845937093, 0.284390434, 0.846657163, 0.283171649, 0.847376926, 0.281952345, 0.848096871, 0.280731697, 0.848816511, 0.279510531, 0.84953662, 0.278287531, 0.850256424, 0.277064014, 0.850976572, 0.275838874, 0.851696667, 0.274612787, 0.852416457, 0.273386183, 0.853136403, 0.272158277, 0.853856045, 0.270929854, 0.854575664, 0.269700434, 0.855295949, 0.26846884, 0.85601593, 0.267236727, 0.856735769, 0.266003823, 0.857455369, 0.264770291, 0.858175456, 0.263534886, 0.858895242, 0.262298963, 0.859615427, 0.261061318, 0.86033531, 0.259823154, 0.861055335, 0.258583709, 0.861775476, 0.257343028, 0.862495553, 0.256101422, 0.863215329, 0.254859296, 0.863935041, 0.253616246, 0.864655336, 0.252371151, 0.865375331, 0.251125537, 0.866095351, 0.249878842, 0.866815073, 0.248631629, 0.867535266, 0.247382563, 0.868255483, 0.246132417, 0.868975401, 0.244881753, 0.869695164, 0.243630322, 0.870414917, 0.242377872, 0.871135112, 0.241123617, 0.871855252, 0.239868419, 0.872575095, 0.238612703, 0.873294957, 0.237355919, 0.874014521, 0.236098617, 0.874734274, 0.23483995, 0.875454392, 0.233579608, 0.876174691, 0.232317911, 0.876894694, 0.231055695, 0.877614574, 0.22979266, 0.878334671, 0.228528205, 0.879054653, 0.227262917, 0.87977434, 0.225997111, 0.880493912, 0.224730471, 0.881213845, 0.22346216, 0.881933716, 0.22219292, 0.882653595, 0.220922632, 0.88337318, 0.219651825, 0.884092947, 0.21837966, 0.884813276, 0.217105467, 0.885533608, 0.21583023, 0.886253646, 0.214554475, 0.886973496, 0.213278017, 0.887693373, 0.212000475, 0.888413313, 0.210721785, 0.889132961, 0.209442578, 0.889853017, 0.208161608, 0.890573126, 0.206879507, 0.891292944, 0.205596888, 0.892013125, 0.204312585, 0.892733015, 0.203027764, 0.893452924, 0.201741873, 0.894173085, 0.200454494, 0.894892956, 0.199166597, 0.895612805, 0.197877704, 0.896332775, 0.196587557, 0.897052781, 0.195296308, 0.897772499, 0.19400454, 0.898492409, 0.19271139, 0.899212568, 0.191416757, 0.899932526, 0.190121449, 0.900652196, 0.188825622, 0.901371665, 0.187529122, 0.902091707, 0.186230552, 0.902811462, 0.184931464, 0.903531337, 0.183631124, 0.904251405, 0.182329398, 0.904971186, 0.181027153, 0.905691252, 0.179723357, 0.906411031, 0.178419043, 0.907131418, 0.17711259, 0.907851519, 0.17580562, 0.908571502, 0.174497827, 0.909291671, 0.173188658, 0.910011593, 0.171878902, 0.910731695, 0.17056778, 0.911451513, 0.16925614, 0.912171596, 0.16794298, 0.912891394, 0.166629302, 0.913610993, 0.165314953, 0.914330915, 0.163998978, 0.91505089, 0.162681869, 0.915770581, 0.161364243, 0.916490671, 0.160044851, 0.917210806, 0.158724338, 0.917930928, 0.157402811, 0.918650768, 0.156080766, 0.919370597, 0.154757706, 0.920090525, 0.153433426, 0.920810171, 0.152108628, 0.921530541, 0.150781462, 0.922250629, 0.149453778, 0.922970826, 0.148124854, 0.923690743, 0.146795412, 0.924410652, 0.145464946, 0.925130608, 0.144133359, 0.92585056, 0.14280074, 0.926570233, 0.141467603, 0.927289903, 0.140133435, 0.928010009, 0.138797423, 0.928729835, 0.137460893, 0.929449835, 0.136123003, 0.930169557, 0.134784596, 0.930889867, 0.133444056, 0.931609898, 0.132102998, 0.93232984, 0.13076107, 0.933049674, 0.129418305, 0.933769652, 0.128074237, 0.934489352, 0.126729651, 0.935209535, 0.125383126, 0.935929628, 0.124035731, 0.936649752, 0.122687242, 0.937369599, 0.121338234, 0.938089327, 0.119988414, 0.938809222, 0.118637246, 0.939529243, 0.117284801, 0.940248989, 0.115931839, 0.940968671, 0.114577961, 0.9416885, 0.113222769, 0.942408655, 0.111865927, 0.943128535, 0.110508567, 0.943848578, 0.109149861, 0.944568569, 0.107790219, 0.945288285, 0.106430058, 0.946007949, 0.105068961, 0.946728064, 0.103705973, 0.947448213, 0.102341885, 0.948168087, 0.100977278, 0.948887996, 0.099611571, 0.94960831, 0.098244058, 0.950328351, 0.096876026, 0.951048301, 0.09550713, 0.951767978, 0.094137716, 0.952488054, 0.092766508, 0.953207857, 0.091394782, 0.95392805, 0.090021275, 0.95464825, 0.088646719, 0.955368178, 0.087271644, 0.956088114, 0.085895519, 0.9568081, 0.08451826, 0.957527815, 0.083140483, 0.958247949, 0.081760869, 0.958967989, 0.080380395, 0.95968776, 0.078999404, 0.960407437, 0.077617554, 0.961127634, 0.07623367, 0.961847636, 0.074849125, 0.962567368, 0.073464062, 0.963287571, 0.072077055, 0.964007505, 0.07068953, 0.964727265, 0.069301304, 0.96544734, 0.067911434, 0.966167147, 0.066521045, 0.966887145, 0.065129248, 0.967606876, 0.063736934, 0.968326861, 0.06234309, 0.969046579, 0.060948728, 0.969766384, 0.059553161, 0.970485937, 0.058157046, 0.971205224, 0.056760413, 0.971925803, 0.055360234, 0.972646115, 0.053959536, 0.973366468, 0.052557719, 0.974086555, 0.051155383, 0.97480661, 0.049752073, 0.975526658, 0.04834774, 0.976246439, 0.04694289, 0.976966397, 0.045536659, 0.977686326, 0.044129448, 0.978406108, 0.042721488, 0.979125626, 0.04131301, 0.979845639, 0.039902524, 0.980565589, 0.038491125, 0.981285785, 0.037078208, 0.982005717, 0.035664772, 0.982725894, 0.034249817, 0.983446051, 0.032833865, 0.984165944, 0.031417394, 0.984885748, 0.030000064, 0.985605798, 0.028581211, 0.986325585, 0.027161841, 0.987045123, 0.025741926, 0.987765355, 0.024319604, 0.988485324, 0.022896765, 0.989205132, 0.021473206, 0.989925181, 0.020048137, 0.990644967, 0.01862255, 0.991364789, 0.017195855, 0.99208481, 0.015767731, 0.992804569, 0.014339088, 0.993524516, 0.012909036, 0.994244202, 0.011478466, 0.994964247, 0.010046147, 0.995684151, 0.008613071, 0.996403807, 0.007179454, 0.9971234, 0.005744926, 0.997842733, 0.00430988, 0.998562004, 0.002873923, 0.999281132, 0.00143722, 1.0, 0.0 }; break;
    31         default: break;
     43      if (!contained) return null;
     44
     45      //read from file
     46      var ressourceReader = new StreamReader(assembly.GetManifestResourceStream(ressourcename));
     47      String s;
     48      while ((s = ressourceReader.ReadLine()) != null) {
     49        var tokens = s.Split(new char[0], StringSplitOptions.RemoveEmptyEntries);
     50        double[] point = new double[tokens.Length];
     51        for (int i = 0; i < point.Length; i++) {
     52          point[i] = Double.Parse(tokens[i], CultureInfo.InvariantCulture);
     53        }
     54        data.Add(point);
    3255      }
    33       if (data == null) throw new NotImplementedException();
    34       double[][] front = new double[data.Length / 2][];
    35       for (int i = 0; i < data.Length; i += 2) {
    36         front[i / 2] = new double[2];
    37         front[i / 2][0] = data[i];
    38         front[i / 2][1] = data[i + 1];
    39       }
    40       c_name = filename;
    41       c_data = front;
    42 
    43       return front;
     56      return data;
    4457    }
    4558  }
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Testfunctions/DTLZ/DTLZ.cs

    r13620 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
    221using System.Collections.Generic;
    322using HeuristicLab.Common;
     
    1130
    1231    public override IEnumerable<double[]> OptimalParetoFront(int objectives) {
    13       if (objectives == 2) return PFStore.get(this.ItemName);
    14       throw new NotImplementedException();
     32      if (objectives == 2) return PFStore.get(this.ItemName + ".2D");
     33      return null;
    1534    }
    1635
    1736    public override double[,] Bounds(int objectives) {
    18         return new double[,] { { 0, 1 } };
     37      return new double[,] { { 0, 1 } };
    1938    }
    2039
     
    2746    }
    2847    public override int MaximumSolutionLength {
    29       get {return int.MaxValue;}
     48      get { return int.MaxValue; }
    3049    }
    3150
     
    3554    }
    3655    public override int MaximumObjectives {
    37       get {return int.MaxValue;}
     56      get { return int.MaxValue; }
    3857    }
    3958
    4059    public override double[] ReferencePoint(int objectives) {
    4160      double[] rp = new double[objectives];
    42       for(int i = 0; i< objectives; i++) {
     61      for (int i = 0; i < objectives; i++) {
    4362        rp[i] = 11;
    4463      }
     
    4867    [StorableConstructor]
    4968    protected DTLZ(bool deserializing) : base(deserializing) { }
    50     protected DTLZ(DTLZ original, Cloner cloner) : base(original, cloner) {}
    51     public DTLZ() : base() {
    52     }
     69    protected DTLZ(DTLZ original, Cloner cloner) : base(original, cloner) { }
     70    public DTLZ() : base() { }
    5371
    5472    public abstract override double[] Evaluate(RealVector r, int objecitves);
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Testfunctions/DTLZ/DTLZ1.cs

    r13620 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using System;
    222using HeuristicLab.Common;
    323using HeuristicLab.Core;
     
    1131
    1232    public override double BestKnownHypervolume(int objectives) {
    13       if (objectives == 2)  return 120 + 7.0 / 8;
     33      if (objectives == 2) return 120 + 7.0 / 8;
    1434      return -1;
    1535    }
     
    1737    [StorableConstructor]
    1838    protected DTLZ1(bool deserializing) : base(deserializing) { }
    19     protected DTLZ1(DTLZ1 original, Cloner cloner) : base(original, cloner) {}
     39    protected DTLZ1(DTLZ1 original, Cloner cloner) : base(original, cloner) { }
    2040    public DTLZ1() : base() {
    2141    }
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Testfunctions/DTLZ/DTLZ2.cs

    r13620 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using System;
    222using HeuristicLab.Common;
    323using HeuristicLab.Core;
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Testfunctions/DTLZ/DTLZ3.cs

    r13620 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using System;
    222using HeuristicLab.Common;
    323using HeuristicLab.Core;
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Testfunctions/DTLZ/DTLZ4.cs

    r13620 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using System;
    222using HeuristicLab.Common;
    323using HeuristicLab.Core;
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Testfunctions/DTLZ/DTLZ5.cs

    r13620 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using System;
    222using HeuristicLab.Common;
    323using HeuristicLab.Core;
     
    2949      for (int i = objectives; i < r.Length; i++) {
    3050        double d = r[i] - 0.5;
    31         g += d*d;
     51        g += d * d;
    3252      }
    3353
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Testfunctions/DTLZ/DTLZ6.cs

    r13620 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using System;
    222using HeuristicLab.Common;
    323using HeuristicLab.Core;
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Testfunctions/DTLZ/DTLZ7.cs

    r13620 r13672  
    1 using System;
    2 using System.Collections.Generic;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21
     22using System;
    323using HeuristicLab.Common;
    424using HeuristicLab.Core;
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Testfunctions/DTLZ/DTLZ8.cs

    r13620 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using System;
    222using HeuristicLab.Common;
    323using HeuristicLab.Core;
     
    1939    public DTLZ8() : base() { }
    2040
    21     public  double[] Evaluate2(RealVector r, int objectives) {
     41    public double[] Evaluate2(RealVector r, int objectives) {
    2242      if (r.Length < objectives) {
    2343        throw new Exception("The dimensionality of the problem(ProblemSize) must be larger than or equal to ten times the dimensionality of the solution(SolutionSize) ");
     
    3656        if (c != 0) {
    3757          d *= 1.0 / c;
    38         } 
     58        }
    3959        res[i - 1] = d;
    4060      }
     
    5676
    5777    public override double[] Evaluate(RealVector r, int objectives) {
    58       if (r.Length < 10*objectives) throw new Exception("The dimensionality of the problem(ProblemSize) must be larger than or equal to ten times the dimensionality of the solution(SolutionSize) ");
     78      if (r.Length < 10 * objectives) throw new Exception("The dimensionality of the problem(ProblemSize) must be larger than ten times the number of objectives ");
    5979      double n = r.Length;
    6080      double M = objectives;
    6181      double ratio = n / M;
    6282      double[] res = new double[objectives];
    63       for(int j =0; j < objectives; j++) {
     83      for (int j = 0; j < objectives; j++) {
    6484        double sum = 0;
    65         for(int i = (int) (j*ratio); i < (j+1)+ratio; i++) {
    66           sum+=r[i];
     85        for (int i = (int)(j * ratio); i < (j + 1) + ratio; i++) {
     86          sum += r[i];
    6787        }
    68         sum /= (int) ratio;
     88        sum /= (int)ratio;
    6989        res[j] = sum;
    7090      }
    71       for(int j = 0; j < M - 1; j++) {
    72         if(res[objectives - 1]+4*res[j]-1<0) return MultiObjectiveTestFunction.IllegalValue(objectives, Maximization(objectives));
     91      for (int j = 0; j < M - 1; j++) {
     92        if (res[objectives - 1] + 4 * res[j] - 1 < 0) return MultiObjectiveTestFunction.IllegalValue(objectives, Maximization(objectives));
    7393      }
    7494      double min = Double.PositiveInfinity;
    75       for(int i =0; i < res.Length - 1; i++) {
    76         for(int j = 0;j< i; j++) {
     95      for (int i = 0; i < res.Length - 1; i++) {
     96        for (int j = 0; j < i; j++) {
    7797          double d = res[i] + res[j];
    7898          if (min < d) min = d;
     
    80100      }
    81101
    82       if (2*res[objectives-1]+min-1<0) return MultiObjectiveTestFunction.IllegalValue(objectives, Maximization(objectives));
     102      if (2 * res[objectives - 1] + min - 1 < 0) return MultiObjectiveTestFunction.IllegalValue(objectives, Maximization(objectives));
    83103      return res;
    84104    }
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Testfunctions/Fonseca.cs

    r13620 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21
     22using System;
    223using System.Collections.Generic;
    324using HeuristicLab.Common;
    425using HeuristicLab.Core;
    5 using HeuristicLab.Data;
    626using HeuristicLab.Encodings.RealVectorEncoding;
    727using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     
    1333
    1434    public override double[,] Bounds(int objectives) {
    15         return new double[,] { { -4, 4 } };
     35      return new double[,] { { -4, 4 } };
    1636    }
    1737
     
    2141
    2242    public override int MaximumSolutionLength {
    23       get {return int.MaxValue; }
     43      get { return int.MaxValue; }
    2444    }
    2545
     
    2949
    3050    public override int MinimumObjectives {
    31       get { return 2;  }
     51      get { return 2; }
    3252    }
    3353
     
    3858
    3959    public override IEnumerable<double[]> OptimalParetoFront(int objectives) {
    40         return PFStore.get(this.ItemName);
     60      return PFStore.get(this.ItemName);
    4161    }
    4262    public override double BestKnownHypervolume(int objectives) {
    43         return new Hypervolume(ReferencePoint(objectives), Maximization(2)).GetHypervolume(OptimalParetoFront(objectives));
     63      return Hypervolume.Calculate(OptimalParetoFront(objectives), ReferencePoint(objectives), Maximization(objectives));
    4464    }
    4565
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Testfunctions/Kursawe.cs

    r13620 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using System;
    222using System.Collections.Generic;
    323using HeuristicLab.Common;
    424using HeuristicLab.Core;
    5 using HeuristicLab.Data;
    625using HeuristicLab.Encodings.RealVectorEncoding;
    726using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     
    2443    }
    2544    public override int MaximumObjectives {
    26       get {return 2;}
     45      get { return 2; }
    2746    }
    2847
    2948    public override int MinimumSolutionLength {
    30       get {return 3;}
     49      get { return 3; }
    3150    }
    3251    public override int MaximumSolutionLength {
     
    3554
    3655    public override IEnumerable<double[]> OptimalParetoFront(int objecitves) {
    37         return PFStore.get(this.ItemName);
     56      return PFStore.get(this.ItemName);
    3857    }
    39     public override double BestKnownHypervolume(int objecitves) {
    40         return new Hypervolume(ReferencePoint(objecitves), Maximization(2)).GetHypervolume(OptimalParetoFront(objecitves));
     58    public override double BestKnownHypervolume(int objectives) {
     59      return Hypervolume.Calculate(OptimalParetoFront(objectives), ReferencePoint(objectives), Maximization(objectives));
    4160    }
    4261    public override double[] ReferencePoint(int objectives) {
     
    5271    public Kursawe() : base() { }
    5372
    54    
     73
    5574
    5675
     
    6079      //objective 1
    6180      double f0 = 0.0;
    62       for (int i = 0; i < r.Length-1; i++) {
     81      for (int i = 0; i < r.Length - 1; i++) {
    6382        f0 += -10 * Math.Exp(-0.2 * Math.Sqrt(r[i] * r[i] + r[i + 1] * r[i + 1]));
    6483      }
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Testfunctions/MultiObjectiveTestFunction.cs

    r13620 r13672  
    11#region License Information
    22/* HeuristicLab
    3  * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
    44 *
    55 * This file is part of HeuristicLab.
     
    2323using HeuristicLab.Common;
    2424using HeuristicLab.Core;
     25using HeuristicLab.Data;
    2526using HeuristicLab.Encodings.RealVectorEncoding;
     27using HeuristicLab.Parameters;
    2628using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2729
     
    3537    public static double[] IllegalValue(int size, bool[] maximization) {
    3638      double[] res = new double[size];
    37       for(int i =0; i< size; i++) {
     39      for (int i = 0; i < size; i++) {
    3840        res[i] = maximization[i] ? double.MinValue : double.MaxValue;
    3941      }
     
    103105    protected MultiObjectiveTestFunction(MultiObjectiveTestFunction original, Cloner cloner) : base(original, cloner) {
    104106      this.objectives = original.objectives;
     107      Parameters.Add(new FixedValueParameter<IntValue>("MinimumObjectives", "The dimensionality of the problem instance (number of variables in the function).", new IntValue(MinimumObjectives)));
     108      Parameters.Add(new FixedValueParameter<IntValue>("MaximumObjectives", "The dimensionality of the problem instance (number of variables in the function).", new IntValue(MaximumObjectives)));
     109      Parameters.Add(new FixedValueParameter<IntValue>("MinimumSolutionLength", "The dimensionality of the problem instance (number of variables in the function).", new IntValue(MinimumSolutionLength)));
     110      Parameters.Add(new FixedValueParameter<IntValue>("MaximumSolutionLength", "The dimensionality of the problem instance (number of variables in the function).", new IntValue(MaximumSolutionLength)));
    105111    }
    106112    protected MultiObjectiveTestFunction() : base() { }
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Testfunctions/SchafferN1.cs

    r13620 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using System;
    222using System.Collections.Generic;
    323using HeuristicLab.Common;
    424using HeuristicLab.Core;
    5 using HeuristicLab.Data;
    625using HeuristicLab.Encodings.RealVectorEncoding;
    726using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     
    3857
    3958    public override double[] ReferencePoint(int objecitves) {
    40         return new double[] { 1e5, 1e5 };
     59      return new double[] { 1e5, 1e5 };
    4160    }
    4261
    4362
    4463    public override IEnumerable<double[]> OptimalParetoFront(int objecitves) {
    45         return PFStore.get("Schaffer");
     64      return PFStore.get("Schaffer");
    4665    }
    47     public override double BestKnownHypervolume(int objecitves) {
    48         return new Hypervolume(ReferencePoint(objecitves), Maximization(2)).GetHypervolume(OptimalParetoFront(objecitves));
     66    public override double BestKnownHypervolume(int objectives) {
     67      return Hypervolume.Calculate(OptimalParetoFront(objectives), ReferencePoint(objectives), Maximization(objectives));
    4968
    5069    }
     
    5877
    5978    public SchafferN1() : base() { }
    60 
    61 
    62 
    63 
    6479
    6580    public override double[] Evaluate(RealVector r, int objectives) {
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Testfunctions/SchafferN2.cs

    r13620 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using System;
    222using System.Collections.Generic;
    323using HeuristicLab.Common;
    424using HeuristicLab.Core;
    5 using HeuristicLab.Data;
    625using HeuristicLab.Encodings.RealVectorEncoding;
    726using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Testfunctions/ZDT/ZDT.cs

    r13622 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using System;
    222using System.Collections.Generic;
    323using HeuristicLab.Common;
     
    727namespace HeuristicLab.Problems.MultiObjectiveTestFunctions {
    828  [StorableClass]
    9   public abstract class ZDT:MultiObjectiveTestFunction {
     29  public abstract class ZDT : MultiObjectiveTestFunction {
    1030
    1131
    1232    public override IEnumerable<double[]> OptimalParetoFront(int objectives) {
    13       if(objectives==2)  return PFStore.get(this.ItemName);
    14       throw new NotImplementedException();
     33      return PFStore.get(this.ItemName);
    1534    }
    1635
     
    1938    }
    2039
    21     public override bool[] Maximization (int objectives){
    22        return new bool[objectives];
     40    public override bool[] Maximization(int objectives) {
     41      return new bool[objectives];
    2342    }
    2443
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Testfunctions/ZDT/ZDT1.cs

    r13620 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using System;
    222using HeuristicLab.Common;
    323using HeuristicLab.Core;
     
    828  [Item("ZDT1", "ZDT1 function as defined in http://www.tik.ee.ethz.ch/sop/download/supplementary/testproblems/ [30.11.2015]")]
    929  [StorableClass]
    10   public class ZDT1 : ZDT{
     30  public class ZDT1 : ZDT {
    1131
    1232    public override double BestKnownHypervolume(int objectives) {
     
    2040      return new ZDT1(this, cloner);
    2141    }
    22  
     42
    2343    public ZDT1() : base() { }
    2444
     
    2747      for (int i = 1; i < r.Length; i++) g += r[i];
    2848      g = 1.0 + 9.0 * g / (r.Length - 1);
     49      double f0 = r[0];
    2950      double f1 = g * (1.0 - Math.Sqrt(r[0] / g));
    30       return new double[] { r[0], f1};
     51      return new double[] { f0, f1 };
    3152    }
    3253  }
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Testfunctions/ZDT/ZDT2.cs

    r13620 r13672  
    1 using HeuristicLab.Common;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using HeuristicLab.Common;
    222using HeuristicLab.Core;
    323using HeuristicLab.Encodings.RealVectorEncoding;
     
    828  [StorableClass]
    929  public class ZDT2 : ZDT {
    10                                                                    
     30
    1131    public override double BestKnownHypervolume(int objectives) {
    12       return 120+1.0/3;
     32      return 120 + 1.0 / 3;
    1333    }
    1434
     
    2646      g = 1.0 + 9.0 * g / (r.Length - 1);
    2747      double d = r[0] / g;
    28       return new double[] { r[0], g * (1.0 - d * d) };
     48      double f0 = r[0];
     49      double f1 = g * (1.0 - d * d);
     50      return new double[] { f0, f1 };
    2951    }
    3052  }
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Testfunctions/ZDT/ZDT3.cs

    r13620 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using System;
    222using HeuristicLab.Common;
    323using HeuristicLab.Core;
     
    2848      g = 1.0 + 9.0 * g / (r.Length - 1);
    2949      double d = r[0] / g;
    30       return new double[] { r[0], g * (1.0 - Math.Sqrt(d) - d * Math.Sin(10 * Math.PI * r[0])) };
     50      double f0 = r[0];
     51      double f1 = g * (1.0 - Math.Sqrt(d) - d * Math.Sin(10 * Math.PI * r[0]));
     52      return new double[] { f0, f1 };
    3153    }
    3254  }
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Testfunctions/ZDT/ZDT4.cs

    r13620 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using System;
    222using HeuristicLab.Common;
    323using HeuristicLab.Core;
     
    4161      g = 1.0 + 10.0 * (r.Length - 1) + g;
    4262      double d = r[0] / g;
    43       return new double[] { r[0], 1-Math.Sqrt(d) };
     63      double f0 = r[0];
     64      double f1 = 1 - Math.Sqrt(d);
     65      return new double[] { f0, f1 };
    4466    }
    4567  }
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Testfunctions/ZDT/ZDT6.cs

    r13620 r13672  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21using System;
    222using HeuristicLab.Common;
    323using HeuristicLab.Core;
     
    2848      double f1 = 1 - Math.Exp(-4 * r[0]) * Math.Pow(Math.Sin(6 * Math.PI * r[0]), 6);
    2949      double d = f1 / g;
    30       return new double[] { f1, g*(1.0 - d * d) };
     50      double f2 = g * (1.0 - d * d);
     51      return new double[] { f1, f2 };
    3152    }
    3253  }
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/MultiObjectiveTestFunctions.sln

    r13421 r13672  
    1111  EndProjectSection
    1212EndProject
     13Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MultiObjectiveTestfunctionTests", "MultiObjectiveTestfunctionTests\MultiObjectiveTestfunctionTests.csproj", "{2E42C743-37B3-494F-B30D-EDB0069D73C1}"
     14EndProject
    1315Global
     16  GlobalSection(SubversionScc) = preSolution
     17    Svn-Managed = True
     18    Manager = AnkhSVN - Subversion Support for Visual Studio
     19  EndGlobalSection
    1420  GlobalSection(SolutionConfigurationPlatforms) = preSolution
    1521    Debug|Any CPU = Debug|Any CPU
     
    2127    {D53E8E48-CFAA-4F57-AC35-63BEF4476159}.Release|Any CPU.ActiveCfg = Release|Any CPU
    2228    {D53E8E48-CFAA-4F57-AC35-63BEF4476159}.Release|Any CPU.Build.0 = Release|Any CPU
     29    {2E42C743-37B3-494F-B30D-EDB0069D73C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
     30    {2E42C743-37B3-494F-B30D-EDB0069D73C1}.Debug|Any CPU.Build.0 = Debug|Any CPU
     31    {2E42C743-37B3-494F-B30D-EDB0069D73C1}.Release|Any CPU.ActiveCfg = Release|Any CPU
     32    {2E42C743-37B3-494F-B30D-EDB0069D73C1}.Release|Any CPU.Build.0 = Release|Any CPU
    2333  EndGlobalSection
    2434  GlobalSection(SolutionProperties) = preSolution
Note: See TracChangeset for help on using the changeset viewer.