CPLEX cpxcb USERCUT

From TomWiki
Jump to navigationJump to search

Notice.png

This page is part of the CPLEX Manual. See CPLEX.

CPLEX MIP User cut callback.

The User Cut Callback is enabled by setting callback(15) = 1 in the call to cplex.m, or Prob.M I P.callback(15) = 1 if using tomRun('cplex',...)

This callback is called by CPLEX during MIP branch & cut for every node that has an LP optimal solution with objective value below the cutoff and is integer infeasible. CPLEX also calls the callback when comparing an integer feasible solution, including one provided by a MIP start before any nodes exist, against lazy constraints.

The callback routine can add globally valid cuts to the LP subproblem. A cut is a constraint of the following form:

c1 * x(1) + c2 * x(2) + ... + cn * x(n) <? > rhs

where <? > is exactly one of the relations <=, >= or = and rhs is a scalar right hand side limit. By returning a nonzero value from cpxcb USERCUT, the user can terminate the optimization.

If modifying this file, it is recommended to make a copy of it which is placed before the original file in the MATLAB path. See help cpxcb_USERCUT for more information.