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: Solution.h:30
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