|
|
| LogHandler (EnvPtr env, ProblemPtr problem) |
| | Constructor.
|
| |
|
| ~LogHandler () |
| | Destructor.
|
| |
| void | addConstraint (ConstraintPtr newcon, ConstVariablePtr ivar, ConstVariablePtr ovar, char sense='E') |
| |
| void | addConstraint (ConstraintPtr) |
| | Add constraint to be handled by this handler.
|
| |
|
BranchPtr | doBranch_ (BranchDirection UpOrDown, ConstVariablePtr v, double bvalue) |
| |
| void | relaxInitFull (RelaxationPtr, SolutionPool *, bool *) |
| | Full relaxation (unused)
|
| |
| void | relaxInitInc (RelaxationPtr rel, SolutionPool *, bool *is_inf) |
| | Create initial incremental relaxation.
|
| |
| bool | isFeasible (ConstSolutionPtr sol, RelaxationPtr relaxation, bool &should_prune, double &inf_meas) |
| | Check feasibility.
|
| |
| void | separate (ConstSolutionPtr sol, NodePtr node, RelaxationPtr rel, CutManager *cutman, SolutionPoolPtr s_pool, ModVector &p_mods, ModVector &r_mods, bool *sol_found, SeparationStatus *status) |
| | Separation (cuts) — not implemented yet.
|
| |
| void | relaxNodeFull (NodePtr, RelaxationPtr, bool *) |
| | Full relaxation at a node (unused for LogHandler)
|
| |
| void | relaxNodeInc (NodePtr node, RelaxationPtr rel, bool *isInfeasible) |
| | Incremental relaxation at a node.
|
| |
| void | getBranchingCandidates (RelaxationPtr rel, const DoubleVector &x, ModVector &mods, BrVarCandSet &cands, BrCandVector &gencands, bool &is_inf) |
| | Branching candidates.
|
| |
| ModificationPtr | getBrMod (BrCandPtr cand, DoubleVector &x, RelaxationPtr rel, BranchDirection dir) |
| | Branch modification for a variable.
|
| |
| Branches | getBranches (BrCandPtr cand, DoubleVector &x, RelaxationPtr rel, SolutionPoolPtr s_pool) |
| | Generate branches.
|
| |
| SolveStatus | presolve (PreModQ *pre_mods, bool *changed, Solution **sol) |
| | Top-level presolve.
|
| |
| bool | presolveNode (RelaxationPtr p, NodePtr node, SolutionPoolPtr s_pool, ModVector &p_mods, ModVector &r_mods) |
| | Node-level presolve.
|
| |
| std::string | getName () const override |
| | Name of the handler.
|
| |
| void | writeStats (std::ostream &out) const override |
| | Stats.
|
| |
Public Member Functions inherited from Minotaur::Handler |
|
| Handler () |
| | Default constructor.
|
| |
|
virtual | ~Handler () |
| | Destroy.
|
| |
| virtual ConstraintVector::const_iterator | consBegin () const |
| |
| virtual ConstraintVector::const_iterator | consEnd () const |
| |
| virtual int | fixNodeErr (RelaxationPtr, ConstSolutionPtr, SolutionPoolPtr, bool &) |
| |
|
bool | getStrongerMods (RelaxationPtr rel, NodePtr node, SolutionPoolPtr s_pool, ModVector &p_mods, ModVector &r_mods) |
| | do node presolve to get mods for stronger branching All params are presolveNode params.
|
| |
| virtual bool | isNeeded () |
| | Return true if this handler is needed for the problem.
|
| |
| virtual bool | postSolveRootNode (RelaxationPtr, SolutionPoolPtr, ConstSolutionPtr, ModVector &, ModVector &) |
| | At the root node post solve the problem and its relaxation. LP based bound tightening (OBBT) is employed here after filtering variables for which no OBBT is required.
|
| |
| virtual void | removeCuts (RelaxationPtr, ConstSolutionPtr) |
| |
| virtual void | setModFlags (bool mod_prob, bool mod_rel) |
| | Tell the handler whether the problem will be modified or the relaxation will be modified or both. These modifications will be saved in the tree as well.
|
| |
| virtual void | simplePresolve (ProblemPtr, SolutionPoolPtr, ModVector &, SolveStatus &status) |
| |
| void | undoStrongerMods (ProblemPtr p, RelaxationPtr rel, ModVector &p_mods, ModVector &r_mods) |
| | Undo Modifications made during stronger branching.
|
| |