can pass debug flag as parameter.

release/4.3a0
krunalchande 2014-12-25 00:00:22 -05:00 committed by thduynguyen
parent 3e352f109e
commit 2476bbe8d7
2 changed files with 9 additions and 7 deletions

View File

@ -70,19 +70,21 @@ VectorValues LCNLPSolver::initializeDuals() const {
} }
/* ************************************************************************* */ /* ************************************************************************* */
std::pair<Values, VectorValues> LCNLPSolver::optimize(const Values& initialValues) const { std::pair<Values, VectorValues> LCNLPSolver::optimize(const Values& initialValues, bool debug) const {
LCNLPState state(initialValues); LCNLPState state(initialValues);
state.duals = initializeDuals(); state.duals = initializeDuals();
while (!state.converged && state.iterations < 100) { 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; std::cout << "Number of iterations: " << state.iterations << std::endl;
return std::make_pair(state.values, state.duals); return std::make_pair(state.values, state.duals);
} }
/* ************************************************************************* */ /* ************************************************************************* */
LCNLPState LCNLPSolver::iterate(const LCNLPState& state) const { LCNLPState LCNLPSolver::iterate(const LCNLPState& state, bool debug) const {
static const bool debug = true;
// construct the qp subproblem // construct the qp subproblem
QP qp; QP qp;

View File

@ -104,13 +104,13 @@ public:
/** /**
* Single iteration of SQP * Single iteration of SQP
*/ */
LCNLPState iterate(const LCNLPState& state) const; LCNLPState iterate(const LCNLPState& state, bool debug = false) const;
VectorValues initializeDuals() const; VectorValues initializeDuals() const;
/** /**
* Main optimization function. * Main optimization function. new
*/ */
std::pair<Values, VectorValues> optimize(const Values& initialValues) const; std::pair<Values, VectorValues> optimize(const Values& initialValues, bool debug = false) const;
}; };
} }