8#ifndef CbcFullNodeInfo_H
9#define CbcFullNodeInfo_H
14#include "CoinWarmStartBasis.hpp"
15#include "CoinSearchTree.hpp"
19class OsiSolverInterface;
24class OsiRowCutDebugger;
25class CoinWarmStartBasis;
30class CbcGeneralBranchingObject;
94 int ¤tNumberCuts)
const;
110 int numberRowsAtContinuous);
OsiRowCut augmented with bookkeeping.
const double * upper() const
Upper bounds.
virtual CbcNodeInfo * clone() const
Clone.
virtual void applyToModel(CbcModel *model, CoinWarmStartBasis *&basis, CbcCountRowCut **addCuts, int ¤tNumberCuts) const
Modify model according to information at node.
void setColUpper(int sequence, double value)
Set a bound.
CoinWarmStartBasis * basis_
Full basis.
CbcFullNodeInfo & operator=(const CbcFullNodeInfo &rhs)
Illegal Assignment operator.
virtual int applyBounds(int iColumn, double &lower, double &upper, int force)
Just apply bounds to one variable - force means overwrite by lower,upper (1=>infeasible)
const double * lower() const
Lower bounds.
double * mutableLower() const
Mutable lower bounds.
void setColLower(int sequence, double value)
Set a bound.
virtual CbcNodeInfo * buildRowBasis(CoinWarmStartBasis &basis) const
Builds up row basis backwards (until original model).
CbcFullNodeInfo(const CbcFullNodeInfo &)
double * mutableUpper() const
Mutable upper bounds.
CbcFullNodeInfo(CbcModel *model, int numberRowsAtContinuous)
Constructor from continuous or satisfied.
Simple Branch and bound class.
CbcNodeInfo()
Default Constructor.
void addCuts(OsiCuts &cuts, int numberToBranch, int numberPointingToThis)
Information required while the node is live.