11 #ifndef BonCbcNlpStrategy_H
12 #define BonCbcNlpStrategy_H
14 #include "CbcStrategy.hpp"
18 class CoinWarmStartDiff;
30 int pretendFailIsInfeasible);
39 virtual CbcStrategy *
clone()
const;
42 virtual CbcNodeInfo *
fullNodeInfo(CbcModel * model,
int numberRowsAtContinuous)
const;
44 virtual CbcNodeInfo *
partialNodeInfo(CbcModel * model, CbcNodeInfo * parent, CbcNode * owner,
45 int numberChangedBounds,
const int * variables,
46 const double * boundChanges,
47 const CoinWarmStartDiff *basisDiff)
const;
54 virtual int status(CbcModel * model, CbcNodeInfo * parent,
int whereFrom);
71 virtual void setupPrinting(CbcModel & model,
int modelLogLevel);
virtual void setupCutGenerators(CbcModel &model)
Setup cut generators.
void setMaxFailure(int value)
set maximum number of consecutive failures in a branch before giving up
virtual CbcNodeInfo * fullNodeInfo(CbcModel *model, int numberRowsAtContinuous) const
Return a new Full node information pointer (descendant of CbcFullNodeInfo)
int maxInfeasible_
maximum number of consecutive infeasible nodes before giving up
virtual ~CbcNlpStrategy()
void setMaxInfeasible(int value)
maximum number of consecutive infeasible nodes before giving up
virtual int status(CbcModel *model, CbcNodeInfo *parent, int whereFrom)
After a CbcModel::resolve this can return a status -1 no effect 0 treat as optimal 1 as 0 but do not ...
virtual void setupPrinting(CbcModel &model, int modelLogLevel)
Do printing stuff.
int pretendFailIsInfeasible_
If yes when a problem is not solved (failed to be solved) will pretend that it is infeasible...
virtual CbcStrategy * clone() const
Clone.
CbcNlpStrategy & operator=(const CbcNlpStrategy &rhs)
Illegal Assignment operator.
bool hasFailed_
did we fail?
virtual void setupOther(CbcModel &model)
Other stuff e.g. strong branching and preprocessing.
virtual CbcNodeInfo * partialNodeInfo(CbcModel *model, CbcNodeInfo *parent, CbcNode *owner, int numberChangedBounds, const int *variables, const double *boundChanges, const CoinWarmStartDiff *basisDiff) const
Return a new Partial node information pointer (descendant of CbcPartialNodeInfo)
int maxFailure_
maximum number of consecutive failures in a branch before giving up
virtual void setupHeuristics(CbcModel &model)
Setup heuristics.
CbcNlpStrategy(int maxFailures, int maxInfeasibles, int pretendFailIsInfeasible)