[SCIP] search direction from custom constraint function

Brannon King countprimes at gmail.com
Fri Oct 20 17:24:52 CEST 2023


Suppose I want to solve a problem of this form:
min z : z >= g_i(Y) for all i, Y in D
where Y is a binary matrix and z a real number.

The problem: I can represent g as a linear function but not for all
possible values of Y. (A SIP problem requires that the constraint be
valid for all possible values of Y.) In other words, I need to see the
Y to make a few adjustments before returning from g. The restrictions
for Y in D are quite severe, significantly limiting the space of Y,
but they don't provide any direction to the objective.

It seems that I could build a constraint handler to execute g.
However, this seems like it would be slow, as it would not provide any
search direction either, and that it would have to execute g on a huge
number of possible Y values. How can I make this be performant? Is
there some other values I can set in the constraint handler to give
further clues about the search direction?

I can compute g for fractional/relaxed values of Y (helpful?), or I
could compute it only for feasible MIP solutions. I can set minimum
bounds on z rather than adding constraints, which seems useful.


More information about the Scip mailing list