diff --git a/ql/math/optimization/simplex.cpp b/ql/math/optimization/simplex.cpp index 989a82a0bc6..12fa94e9898 100644 --- a/ql/math/optimization/simplex.cpp +++ b/ql/math/optimization/simplex.cpp @@ -102,20 +102,24 @@ namespace QuantLib { = endCriteria.maxStationaryStateIterations(); EndCriteria::Type ecType = EndCriteria::None; P.reset(); + Array x_ = P.currentValue(); + if (!P.constraint().test(x_)) + QL_FAIL("Initial guess " << x_ << " is not in the feasible region."); + Integer iterationNumber_=0; // Initialize vertices of the simplex - Size n = x_.size(), i; + Size n = x_.size(); vertices_ = std::vector(n+1, x_); - for (i=0; i