diff --git a/resources/F13Problem.html b/resources/F13Problem.html new file mode 100644 index 00000000..37f85f66 --- /dev/null +++ b/resources/F13Problem.html @@ -0,0 +1,30 @@ + +
++Schwefel's (sine root) function is highly multimodal and has no global basin of attraction. The optimum at a fitness of f(x*)=0 lies at x*=420.9687. Schwefel's sine root is a tough challenge for any global optimizer due to the multiple distinct optima. Especially, there is a deceptive nearly optimal solution close to x=(-420.9687)n. + +
+ +
+
+
+
+Schwefels's sine root function in 2D within the co-domain -500 <= x <= 500.
+
+ +
+David. H. Ackley. A connection machine for genetic hillclimbing. Kluwer Academic Publishers, Boston, 1987. +
+Thomas Baeck. Evolutionary Algorithms in Theory and Practice. Oxford University Press, 1996. + + + diff --git a/resources/images/f13-schwefels-sine-root.jpg b/resources/images/f13-schwefels-sine-root.jpg new file mode 100755 index 00000000..8835c94a Binary files /dev/null and b/resources/images/f13-schwefels-sine-root.jpg differ diff --git a/resources/images/f13-tex-500.jpg b/resources/images/f13-tex-500.jpg new file mode 100644 index 00000000..9992c249 Binary files /dev/null and b/resources/images/f13-tex-500.jpg differ diff --git a/src/eva2/server/go/problems/F13Problem.java b/src/eva2/server/go/problems/F13Problem.java index 1091eb1a..d884d72e 100644 --- a/src/eva2/server/go/problems/F13Problem.java +++ b/src/eva2/server/go/problems/F13Problem.java @@ -13,6 +13,7 @@ public class F13Problem extends F1Problem implements InterfaceMultimodalProblem public F13Problem() { this.m_Template = new ESIndividualDoubleData(); + setDefaultRange(500); } public F13Problem(F13Problem b) { super(b); @@ -29,14 +30,14 @@ public class F13Problem extends F1Problem implements InterfaceMultimodalProblem return (Object) new F13Problem(this); } - public double[][] makeRange() { - double[][] range = new double[this.m_ProblemDimension][2]; - for (int i = 0; i < range.length; i++) { - range[i][0] = -512.03; - range[i][1] = 511.97; - } - return range; - } +// public double[][] makeRange() { +// double[][] range = new double[this.m_ProblemDimension][2]; +// for (int i = 0; i < range.length; i++) { +// range[i][0] = -512.03; +// range[i][1] = 511.97; +// } +// return range; +// } /** Ths method allows you to evaluate a double[] to determine the fitness * @param x The n-dimensional input vector