#include <setbranchrule.h>
Inheritance diagram for ABA_SETBRANCHRULE:

Public Member Functions | |
| ABA_SETBRANCHRULE (ABA_MASTER *master, int variable, ABA_FSVARSTAT::STATUS status) | |
| virtual | ~ABA_SETBRANCHRULE () |
| The destructor. | |
| virtual int | extract (ABA_SUB *sub) |
| virtual void | extract (ABA_LPSUB *lp) |
| The function extract() is overloaded to modify directly the linear programming relaxation. | |
| virtual void | unExtract (ABA_LPSUB *lp) |
| The function unExtract(). | |
| virtual bool | branchOnSetVar () |
| Redefines the virtual function of the base class ABA_BRANCHRULE as this branching rule is setting a binary variable. | |
| bool | setToUpperBound () const |
| int | variable () const |
Private Attributes | |
| int | variable_ |
| ABA_FSVARSTAT::STATUS | status_ |
| double | oldLpBound_ |
Friends | |
| ostream & | operator<< (ostream &out, const ABA_SETBRANCHRULE &rhs) |
| The output operator writes the number of the branching variable and its status on an output stream. | |
| int | variable_ The branching variable. | |
| ABA_FSVARSTAT::STATUS | status_ The status of the branching variable (SetToLowerBound or SetToUpperBound). | |
| double | oldLpbound_ The bound of the branching variable in the linear program, before it is temporarily modified for testing the quality of this branching rule. |
Definition at line 43 of file setbranchrule.h.
| ABA_SETBRANCHRULE::ABA_SETBRANCHRULE | ( | ABA_MASTER * | master, | |
| int | variable, | |||
| ABA_FSVARSTAT::STATUS | status | |||
| ) |
The constructor.
| master | A pointer to the corresponding master of the optimization. | |
| variable | The branching variable. | |
| status | The status the variable is set to (SetToLowerBound or SetToUpperBound). |
| virtual ABA_SETBRANCHRULE::~ABA_SETBRANCHRULE | ( | ) | [virtual] |
The destructor.
| virtual int ABA_SETBRANCHRULE::extract | ( | ABA_SUB * | sub | ) | [virtual] |
Modifies a subproblem by setting the branching variable.
1 If a contradiction occurs.
| sub | The subproblem being modified. |
Implements ABA_BRANCHRULE.
| virtual void ABA_SETBRANCHRULE::extract | ( | ABA_LPSUB * | lp | ) | [virtual] |
The function extract() is overloaded to modify directly the linear programming relaxation.
This required to evaluate the quality of a branching rule with linear programming methods. The changes have to be undone with the function unextract() before the next linear program is solved.
| lp | A pointer to the linear programming relaxation of a subproblem. |
Reimplemented from ABA_BRANCHRULE.
| virtual void ABA_SETBRANCHRULE::unExtract | ( | ABA_LPSUB * | lp | ) | [virtual] |
| virtual bool ABA_SETBRANCHRULE::branchOnSetVar | ( | ) | [virtual] |
Redefines the virtual function of the base class ABA_BRANCHRULE as this branching rule is setting a binary variable.
Reimplemented from ABA_BRANCHRULE.
| bool ABA_SETBRANCHRULE::setToUpperBound | ( | ) | const |
false otherwise.
| int ABA_SETBRANCHRULE::variable | ( | ) | const [inline] |
| ostream& operator<< | ( | ostream & | out, | |
| const ABA_SETBRANCHRULE & | rhs | |||
| ) | [friend] |
The output operator writes the number of the branching variable and its status on an output stream.
| out | The output stream. | |
| rhs | The branching rule being output. |
int ABA_SETBRANCHRULE::variable_ [private] |
Definition at line 144 of file setbranchrule.h.
Definition at line 145 of file setbranchrule.h.
double ABA_SETBRANCHRULE::oldLpBound_ [private] |
Definition at line 146 of file setbranchrule.h.
1.5.1