@Override
  public void defaultInit(InterfaceOptimizationProblem prob) {
    double[][][] range = initializationRange;
    if ((prob != null)
        && (prob instanceof InterfaceHasInitRange)
        && (((InterfaceHasInitRange) prob).getInitializationRange() != null)) {
      range = (double[][][]) ((InterfaceHasInitRange) prob).getInitializationRange();
    }

    for (int i = 0; i < this.genotype.length; i++) {
      ESIndividualDoubleData.defaultInit(genotype[i], range[i]);
    }
  }
 /** This method performs a one element mutation on every permutation coded by a double vector. */
 @Override
 public void defaultMutate() {
   for (int i = 0; i < genotype.length; i++) {
     ESIndividualDoubleData.defaultMutate(genotype[i], initializationRange[i]);
   }
 }