Base class for branching rules.
Abstract base class for all branching rules.
The linear program of a subproblem.
The master of the optimization.
Implements a branching rule for setting a variable to a certain value.
int variable() const
Returns the number of the branching variable.
int variable_
The branching variable.
virtual void extract(LpSub *lp) override
Overloaded to modify directly the linear programming relaxation.
ValBranchRule(Master *master, int variable, double value)
Creates a branching rule for setting variable to value.
virtual int extract(Sub *sub) override
Modifies a subproblem by setting the branching variable.
double value() const
Returns the value of the branching variable.
double value_
The value the branching variable is set to.
virtual void unExtract(LpSub *lp) override
Should undo the modifictions of the linear programming relaxtion |lp|.
friend std::ostream & operator<<(std::ostream &out, const ValBranchRule &rhs)
Output operator for val branching rules.