#include <BonQpBranchingSolver.hpp>
Inheritance diagram for Bonmin::QpBranchingSolver:
Public Member Functions | |
QpBranchingSolver (OsiTMINLPInterface *solver) | |
Constructor from solver (so we can set up arrays etc). | |
QpBranchingSolver (const QpBranchingSolver &) | |
Copy constructor. | |
QpBranchingSolver & | operator= (const QpBranchingSolver &rhs) |
Assignment operator. | |
virtual | ~QpBranchingSolver () |
Destructor. | |
virtual void | markHotStart (OsiTMINLPInterface *tminlp_interface) |
Called to initialize solver before a bunch of strong branching solves. | |
virtual TNLPSolver::ReturnStatus | solveFromHotStart (OsiTMINLPInterface *tminlp_interface) |
Called to solve the current TMINLP (with changed bound information). | |
virtual void | unmarkHotStart (OsiTMINLPInterface *tminlp_interface) |
Called after all strong branching solves in a node. | |
Private Member Functions | |
QpBranchingSolver () | |
Default Constructor. | |
Private Attributes | |
Ipopt::SmartPtr< BranchingTQP > | branching_tqp_ |
Ipopt::SmartPtr< TNLPSolver > | tqp_solver_ |
bool | first_solve_ |
This implementation solves the Qp model for different branches (strong branching).
Definition at line 23 of file BonQpBranchingSolver.hpp.
Bonmin::QpBranchingSolver::QpBranchingSolver | ( | OsiTMINLPInterface * | solver | ) |
Constructor from solver (so we can set up arrays etc).
Definition at line 22 of file BonQpBranchingSolver.cpp.
Bonmin::QpBranchingSolver::QpBranchingSolver | ( | const QpBranchingSolver & | ) |
Bonmin::QpBranchingSolver::~QpBranchingSolver | ( | ) | [virtual] |
Bonmin::QpBranchingSolver::QpBranchingSolver | ( | ) | [private] |
Default Constructor.
QpBranchingSolver & Bonmin::QpBranchingSolver::operator= | ( | const QpBranchingSolver & | rhs | ) |
Assignment operator.
Definition at line 32 of file BonQpBranchingSolver.cpp.
References Bonmin::StrongBranchingSolver::operator=().
void Bonmin::QpBranchingSolver::markHotStart | ( | OsiTMINLPInterface * | tminlp_interface | ) | [virtual] |
Called to initialize solver before a bunch of strong branching solves.
Implements Bonmin::StrongBranchingSolver.
Definition at line 53 of file BonQpBranchingSolver.cpp.
References branching_tqp_, Bonmin::TNLPSolver::clone(), first_solve_, Bonmin::StrongBranchingSolver::Jnlst(), Bonmin::StrongBranchingSolver::Options(), Bonmin::OsiTMINLPInterface::prefix(), Bonmin::OsiTMINLPInterface::problem(), Bonmin::StrongBranchingSolver::RegOptions(), Bonmin::TNLPSolver::solvedOptimal, Bonmin::TNLPSolver::solvedOptimalTol, Bonmin::OsiTMINLPInterface::solver(), and tqp_solver_.
TNLPSolver::ReturnStatus Bonmin::QpBranchingSolver::solveFromHotStart | ( | OsiTMINLPInterface * | tminlp_interface | ) | [virtual] |
Called to solve the current TMINLP (with changed bound information).
Implements Bonmin::StrongBranchingSolver.
Definition at line 99 of file BonQpBranchingSolver.cpp.
References branching_tqp_, first_solve_, Bonmin::TNLPSolver::solvedOptimal, Bonmin::TNLPSolver::solvedOptimalTol, and tqp_solver_.
void Bonmin::QpBranchingSolver::unmarkHotStart | ( | OsiTMINLPInterface * | tminlp_interface | ) | [virtual] |
Called after all strong branching solves in a node.
Implements Bonmin::StrongBranchingSolver.
Definition at line 87 of file BonQpBranchingSolver.cpp.
References branching_tqp_, and tqp_solver_.
Ipopt::SmartPtr<BranchingTQP> Bonmin::QpBranchingSolver::branching_tqp_ [private] |
Definition at line 54 of file BonQpBranchingSolver.hpp.
Referenced by markHotStart(), solveFromHotStart(), and unmarkHotStart().
Ipopt::SmartPtr<TNLPSolver> Bonmin::QpBranchingSolver::tqp_solver_ [private] |
Definition at line 56 of file BonQpBranchingSolver.hpp.
Referenced by markHotStart(), solveFromHotStart(), and unmarkHotStart().
bool Bonmin::QpBranchingSolver::first_solve_ [private] |
Definition at line 62 of file BonQpBranchingSolver.hpp.
Referenced by markHotStart(), and solveFromHotStart().