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 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 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