14#ifndef MINOTAURKNAPCOVHANDLER_H
15#define MINOTAURKNAPCOVHANDLER_H
28 typedef KnapCovHandler *KnapCovHandlerPtr;
29 typedef const KnapCovHandler *ConstKnapCovHandler;
79 bool &should_prune,
double &inf_meas);
93 ModVector &, BrVarCandSet &,
94 BrCandVector &,
bool &) {};
118 ModVector &, ModVector &)
135 UInt KC_cuts() {
return stats_->
cuts; }
138 UInt KC_gns() {
return stats_->
gns; }
140 double KC_time() {
return stats_->
time; }
162 static const std::string me_;
Declare base class CoverCutGenerator.
Define abstract base class for handlers of various kinds.
Declare the class Relaxation for storing and manipulating relaxations.
Implement base class Solution.
Declare important 'types' used in Minotaur.
Define the Variable class.
Base class for describing candidates for branching on a node in branch-and-bound.
Definition BrCand.h:32
Abstract base class to manage cuts in the relaxation.
Definition CutManager.h:42
Definition Environment.h:28
Base class for handling specific types of constraints or objective.
Definition Handler.h:49
Definition KnapCovHandler.h:52
void relaxInitInc(RelaxationPtr, SolutionPool *, bool *)
Does nothing.
Definition KnapCovHandler.h:67
virtual void getBranchingCandidates(RelaxationPtr, const DoubleVector &, ModVector &, BrVarCandSet &, BrCandVector &, bool &)
Does nothing.
Definition KnapCovHandler.h:92
std::string getName() const
Return the name of the handler.
Definition KnapCovHandler.cpp:156
SolveStatus presolve(PreModQ *, bool *, Solution **)
Does nothing.
Definition KnapCovHandler.h:111
virtual ModificationPtr getBrMod(BrCandPtr, DoubleVector &, RelaxationPtr, BranchDirection)
Does nothing.
Definition KnapCovHandler.h:97
void relaxNodeInc(NodePtr, RelaxationPtr, bool *)
Does nothing.
Definition KnapCovHandler.h:73
void relaxNodeFull(NodePtr, RelaxationPtr, bool *)
Does nothing.
Definition KnapCovHandler.h:70
void separate(ConstSolutionPtr, NodePtr, RelaxationPtr, CutManager *cutman, SolutionPoolPtr, ModVector &p_mods, ModVector &r_mods, bool *, SeparationStatus *status)
Definition KnapCovHandler.cpp:82
UInt KC_knaps()
Definition KnapCovHandler.h:134
~KnapCovHandler()
Destroy.
Definition KnapCovHandler.cpp:64
void writeStats(std::ostream &) const
Show statistics.
Definition KnapCovHandler.cpp:162
void relaxInitFull(RelaxationPtr, SolutionPool *, bool *)
Does nothing.
Definition KnapCovHandler.h:64
virtual Branches getBranches(BrCandPtr, DoubleVector &, RelaxationPtr, SolutionPoolPtr)
Does nothing.
Definition KnapCovHandler.h:104
virtual bool presolveNode(RelaxationPtr, NodePtr, SolutionPoolPtr, ModVector &, ModVector &)
Does nothing.
Definition KnapCovHandler.h:117
bool isFeasible(ConstSolutionPtr sol, RelaxationPtr relaxation, bool &should_prune, double &inf_meas)
Definition KnapCovHandler.cpp:74
KnapCovHandler()
Default constructor.
Definition KnapCovHandler.cpp:31
Definition Modification.h:29
Definition Relaxation.h:53
Definition SolutionPool.h:28
Definition ActiveNodeStore.h:20
BranchDirection
Two directions for branching.
Definition Types.h:201
unsigned int UInt
Unsigned integer.
Definition Types.h:30
SeparationStatus
Status from separation routine:
Definition Types.h:217
SolveStatus
Different states an algorithm like branch-and-bound can be in.
Definition Types.h:158
Definition KnapCovHandler.h:35
UInt cuts
Number of knapsacks solved.
Definition KnapCovHandler.h:37
UInt extended
Number of cover cuts generated.
Definition KnapCovHandler.h:38
UInt singlectwo
Definition KnapCovHandler.h:42
UInt cutdel
Total time used to generate cuts.
Definition KnapCovHandler.h:45
UInt simple
Number of extended cover cuts generated.
Definition KnapCovHandler.h:39
double time
Definition KnapCovHandler.h:44
UInt gns
Number of simple lifted cuts generated.
Definition KnapCovHandler.h:40