From 2476bbe8d7e62fc22f1c964978538b1d0094493e Mon Sep 17 00:00:00 2001 From: krunalchande Date: Thu, 25 Dec 2014 00:00:22 -0500 Subject: [PATCH] can pass debug flag as parameter. --- gtsam_unstable/nonlinear/LCNLPSolver.cpp | 10 ++++++---- gtsam_unstable/nonlinear/LCNLPSolver.h | 6 +++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/gtsam_unstable/nonlinear/LCNLPSolver.cpp b/gtsam_unstable/nonlinear/LCNLPSolver.cpp index 720ee569d..99022ff5d 100644 --- a/gtsam_unstable/nonlinear/LCNLPSolver.cpp +++ b/gtsam_unstable/nonlinear/LCNLPSolver.cpp @@ -70,19 +70,21 @@ VectorValues LCNLPSolver::initializeDuals() const { } /* ************************************************************************* */ -std::pair LCNLPSolver::optimize(const Values& initialValues) const { +std::pair LCNLPSolver::optimize(const Values& initialValues, bool debug) const { LCNLPState state(initialValues); state.duals = initializeDuals(); while (!state.converged && state.iterations < 100) { - state = iterate(state); + if (debug) + std::cout << "state: iteration " << state.iterations << std::endl; + state = iterate(state, debug); } + if (debug) std::cout << "Number of iterations: " << state.iterations << std::endl; return std::make_pair(state.values, state.duals); } /* ************************************************************************* */ -LCNLPState LCNLPSolver::iterate(const LCNLPState& state) const { - static const bool debug = true; +LCNLPState LCNLPSolver::iterate(const LCNLPState& state, bool debug) const { // construct the qp subproblem QP qp; diff --git a/gtsam_unstable/nonlinear/LCNLPSolver.h b/gtsam_unstable/nonlinear/LCNLPSolver.h index a31a04928..047fca38b 100644 --- a/gtsam_unstable/nonlinear/LCNLPSolver.h +++ b/gtsam_unstable/nonlinear/LCNLPSolver.h @@ -104,13 +104,13 @@ public: /** * Single iteration of SQP */ - LCNLPState iterate(const LCNLPState& state) const; + LCNLPState iterate(const LCNLPState& state, bool debug = false) const; VectorValues initializeDuals() const; /** - * Main optimization function. + * Main optimization function. new */ - std::pair optimize(const Values& initialValues) const; + std::pair optimize(const Values& initialValues, bool debug = false) const; }; }