KFloatVarBranchingScheme¶
-
class KFloatVarBranchingScheme : public KBranchingScheme¶
This branching scheme is suited for branching on KFloatVar objects.
- See
KBranchingScheme KIntVarBranchingScheme KAssignAndForbidd KSplitDomain KSettleDisjunction KProbe
- Since
2016.1
Public Functions
-
KFloatVarBranchingScheme()¶
Constructor.
-
KFloatVarBranchingScheme(const KFloatVarBranchingScheme &toCopy)¶
Copy constructor.
-
virtual ~KFloatVarBranchingScheme()¶
Destructor.
-
virtual KNumVar *selectNextBranchingVar()¶
Select the next KNumVar to branch on when one branch has been explored
-
virtual bool finishedBranching(KNumVar *branchingObject, double *branchingInformation, int currentBranchNumber)¶
Return true IFF branching is completed on one specific branch of the branch and bound
- Parameters
branchingObject – the branching object
branchingInformation – the branching information
currentBranchNumber – the current branch number
-
virtual double *getNextBranch(KNumVar *branchingObject, double *branchingInformation, int currentBranchNumber)¶
Return the next branch
- Parameters
branchingObject – the branching object
branchingInformation – the branching information
currentBranchNumber – the current branch number
-
virtual void goDownBranch(KNumVar *branchingObject, double *branchingInformation, int currentBranchNumber)¶
This method is called once a branch has been selected and a decision must be taken
- Parameters
branchingObject – the branching object
branchingInformation – the branching information
currentBranchNumber – the current branch number
-
virtual void goUpBranch(KNumVar *branchingObject, double *branchingInformation, int currentBranchNumber)¶
This method is called upon backtrack on a specific branch
- Parameters
branchingObject – the branching object
branchingInformation – the branching information
currentBranchNumber – the current branch number
-
virtual void freeAllocatedObjectsForBranching(KNumVar *branchingObject, double *branchingInformation)¶
This method is called upon finishing branching for the current node and allows freeing objects created at the current node
- Parameters
branchingObject – the branching object
branchingInformation – the branching information
-
virtual void *selectNextBranchingObject()¶
Select the next object (variable in general) to branch on when one branch has been explored.
-
virtual bool finishedBranching(void *branchingObject, void *branchingInformation, int currentBranchNumber)¶
Return true IFF branching is completed on one specific branch of the branch and bound.
- Parameters
branchingObject – the branching object
branchingInformation – the branching information
currentBranchNumber – the current branch number
-
virtual void *getNextBranch(void *branchingObject, void *branchingInformation, int currentBranchNumber)¶
Return the next branch to explore
- Parameters
branchingObject – the branching object
branchingInformation – the branching information
currentBranchNumber – the current branch number
-
virtual void goDownBranch(void *branchingObject, void *branchingInformation, int currentBranchNumber)¶
This method is called once a branch has been selected and a decision must be taken.
- Parameters
branchingObject – the branching object
branchingInformation – the branching information
currentBranchNumber – the current branch number
-
virtual void goUpBranch(void *branchingObject, void *branchingInformation, int currentBranchNumber)¶
This method is called upon backtrack on a specific branch
- Parameters
branchingObject – the branching object
branchingInformation – the branching information
currentBranchNumber – the current branch number
-
virtual void freeAllocatedObjectsForBranching(void *branchingObject, void *branchingInformation)¶
This method is called upon finishing branching for the current node and allows freeing objects created at the current node.
- Parameters
branchingObject – the branching object
branchingInformation – the branching information