62 const static std::string me_;
109 std::vector<ConstraintPtr> nlCons_;
123 std::stack<Modification *> mods_;
125 void cutToCons_(
const double *nlpx,
const double *lpx,
130 void addCut_(
const double *nlpx,
const double *lpx,
134 void linearAt_(
FunctionPtr f,
double fval,
const double *x,
137 FunctionPtr newObj_(
const double * x0,
const double * x);
143 void relMods_(
const double *x);
156 std::vector<SolutionPtr> & infSols,
157 std::vector<SolutionPtr> & limSols);
158 void ifOnlyNonlinObj_();
160 void ifNonlinCons_();
162 void improveSol_(
const double * x0);
166 void fixInts_(
const double *x);
177 typedef MultiSolHeur* MultiSolHeurPtr;
Manages addition and deletion of cuts to problem.
Define abstract base class for heuristics of various kinds.
Declare the class MILPEngine for solving MILPs and getting solution.
Declare the class Relaxation for storing and manipulating relaxations.
Implement base class Solution.
Declare important 'types' used in Minotaur.
The Constraint class is used to manage a constraint.
Definition: Constraint.h:61
Definition: Environment.h:28
Definition: Function.h:37
Definition: Heuristic.h:30
The base class linear function is of the form c'x.
Definition: LinearFunction.h:31
Definition: MILPEngine.h:28
Definition: MultiSolHeur.h:38
void solve(NodePtr, RelaxationPtr, SolutionPoolPtr)
Use this heuristic.
Definition: MultiSolHeur.h:54
void writeStats(std::ostream &out) const
write statistic to the logger
Definition: MultiSolHeur.cpp:1201
virtual ~MultiSolHeur()
default destructor
Definition: MultiSolHeur.cpp:110
MultiSolHeur()
default constructor
Definition: MultiSolHeur.cpp:46
void solveAtSol(ConstSolutionPtr sol, RelaxationPtr rel, SolutionPoolPtr sPool)
call to the heuristic and find solutions with value less than or equal
Definition: MultiSolHeur.cpp:184
Definition: Relaxation.h:53
Definition: SolutionPool.h:28
Definition: Solution.h:30
Definition: Variable.h:31
Definition: ActiveNodeStore.h:20
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
statistics for heuristic
Definition: MultiSolHeur.h:28
UInt nlpS
Number of MILPs solved in the heuristic.
Definition: MultiSolHeur.h:30
double time
Number of cuts generated.
Definition: MultiSolHeur.h:35
UInt nlpInf
Number of NLPs hit engine limit.
Definition: MultiSolHeur.h:32
UInt nlpLim
Number of NLPs solved in the heuristic.
Definition: MultiSolHeur.h:31
UInt cuts
Number of NLPs other than opt and inf.
Definition: MultiSolHeur.h:34
UInt nlpOthr
Number of infeasible NLPs.
Definition: MultiSolHeur.h:33