MATH-1377 Short-circuit unnecessary computations.
Project: http://git-wip-us.apache.org/repos/asf/commons-math/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-math/commit/a6a48cfd Tree: http://git-wip-us.apache.org/repos/asf/commons-math/tree/a6a48cfd Diff: http://git-wip-us.apache.org/repos/asf/commons-math/diff/a6a48cfd Branch: refs/heads/develop Commit: a6a48cfd370b226955a531e678016db414ebeed9 Parents: 66a775c Author: Gilles <er...@apache.org> Authored: Sat Jun 11 20:31:44 2016 +0200 Committer: Gilles <er...@apache.org> Committed: Sat Jun 11 20:31:44 2016 +0200 ---------------------------------------------------------------------- .../math4/optim/nonlinear/scalar/noderiv/SimplexOptimizer.java | 5 +++++ 1 file changed, 5 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-math/blob/a6a48cfd/src/main/java/org/apache/commons/math4/optim/nonlinear/scalar/noderiv/SimplexOptimizer.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/math4/optim/nonlinear/scalar/noderiv/SimplexOptimizer.java b/src/main/java/org/apache/commons/math4/optim/nonlinear/scalar/noderiv/SimplexOptimizer.java index cd1ca1d..9658944 100644 --- a/src/main/java/org/apache/commons/math4/optim/nonlinear/scalar/noderiv/SimplexOptimizer.java +++ b/src/main/java/org/apache/commons/math4/optim/nonlinear/scalar/noderiv/SimplexOptimizer.java @@ -166,6 +166,11 @@ public class SimplexOptimizer extends MultivariateOptimizer { PointValuePair prev = previous[i]; converged = converged && checker.converged(iteration, prev, simplex.getPoint(i)); + + if (!converged) { + // Short circuit, since "converged" will stay "false". + break; + } } if (converged) { // We have found an optimum.