Originally posted by: SystemAdmin
Hi,
I am using CPLEX 12.4 with C to solve a special Mixed-Integer Quadratic Programming (MIQP)
with the form: min {q(x): x\in X}, where X is a mixed-integer set and q(x) is a convex quadratic function.
The special structure of the problem allows me to dynamically generate special cuts at each node of the
branch-and-cut process, but the cut (valid inequality) expression has an additional variable v and the
the objective function q'(x,v) of the subproblem at each node is different from q(x), it is a relaxation:
q'(x,v)<=q(x). If I feed CPLEX with q'(x,v) as an objective function, then CPLEX only gives me a
feasible solution to the original problem, not the optimal one, because the objective function q(x)
has been changed to q'(x,v).
In order to get the correct optimal solution to the original problem, I need to change
the upper bound from q'(x,v) to q(x) whenever CPLEX finds a feasible solution x.
My question: Is it possible to do this using cutcallback (or incumbent callback, branching callback),
or implement this using other tricks?
Thanks a lot!
Xiaojing Zheng
#AIX-Forum