Originally posted by: Stidsen
Hi
I have a running branch-and-cut algorithm, using Cplex 11.1,
where I have implemented both cut-callback and branch-callback.
It works nicely, but I have an idea to strengthen my cuts, but
then I need to get information from the branching in my cut-callback.
For this I tried to used the sequence number, i.e. in my branch-callback,
there are three possibilities, two specialized branching routines and
if none of these are applicable, I return control to Cplex to apply
standard branching. For each branch I store the sequence number I give
the branch in my own datastructure. The idea is that I use
CPXgetcallbacknodeinfo to get the current nodes sequence number and then
I can use this number to retrieve the branching information.
However this does not work: In my cut-callback I get a number
which is higher than any number I have entered in my branches.
The problem is probably in the standard-branch ... I dont perform
the standard branch, but when the nodecnt is 2 I assume that
Cplex will generate the next two sequence values, so I have to insert
the two next numbers in my datastructure. But to my surprise
it generates a number which is 3 higher ... When I add the three next
numbers to my datastructure, it works. Problem is that I am
afraid that the size of my datastructure will grow un-controllably,
because only 2 of the three numbers will be deleted ...
I have two questions:
-
which sequence numbers does Cplex generate in the standard branch ?
-
is there a better way to "inform" the cut-callback procedure about
the branching ?
Best Regards Thomas
, but it sometimes
generates a sequence number witch is 4 higher ????? Now it seems to
work if I generate a number of
even though
the nodecnt is 2 the following cut-callback retrieves a number
witch is 4 higher than the highest
#CPLEXOptimizers#DecisionOptimization