Originally posted by: davidoff
Thanks Daniel
'Reversible' means here that if I explore the right branch, I indeed backtrack on the décisions taken on the left (the first one).
I tried to implement first goals cause I want to branch on a set of constraints. Indeed, I have a set of 8 range constraints whose coefficients and bounds depend on the local bounds of 4 variables. Now, if for instance, the current value of x is 1.6, I would create the following branching scheme :
x<=1.6-epsilon
change the coefficients of those of the 8 constraints depending on the upper bound of x (which is now set to 1.6-epsilon). If let's say 2 constraints are impacted, we can say than this left branch is made of 3 constraints (these 2 + the new upper bound constraint on x)
I don't remember if a branch callback would allow that branching scheme ?
The goals seemed to be more adapted to this branching scheme since there is an api goal (in Java : IloCplex.constraintGoal(IloRange[]) ). However, it generates a core dump when I generate this new set of constraints.
#CPLEXOptimizers#DecisionOptimization