|
Open Graph Drawing Framework |
v. 2023.09 (Elderberry)
|
|
|
Base class for branching rules.
virtual int extract(Sub *sub) override
Modifies a subproblem by setting the branching variable.
Implements a branching rule for setting a binary variable to its lower or upper bound.
Abstract base class for all branching rules.
@ SetToUpperBound
The variable is set to its upper bound.
status of fixed and set variables.
virtual void unExtract(LpSub *lp) override
Should undo the modifictions of the linear programming relaxtion |lp|.
bool setToUpperBound() const
Returns true if the branching variable is set to the upper bound, false otherwise.
STATUS
The enumeration defining the different statuses of variables from the point of view of fixing and set...
FSVarStat::STATUS status_
The status of the branching variable.
int variable() const
Returns the number of the branching variable.
int variable_
The branching variable.
The linear program of a subproblem.
virtual bool branchOnSetVar() override
Redefined for returning true, as this branching rule is setting a binary variable.
double oldLpBound_
The bound of the branching variable in the LP before it is temporarily modified for testing the quali...
friend std::ostream & operator<<(std::ostream &out, const SetBranchRule &rhs)
Output operator for set branching rules.
SetBranchRule(Master *master, int variable, FSVarStat::STATUS status)
Creates a branching rule for setting binary variable according to status.
The master of the optimization.