[Scip] Constraint Handler / CONSENFOLP method
Stefan Vigerske
stefan at math.hu-berlin.de
Thu Oct 20 20:54:19 MEST 2011
Hi,
> I implemented a very short version of a constraint handler for the traveling salesman problem. Hereby, I implemented the "conscheck" method (which just says a solution is feasible or not) and the "consenfolp" method.
>
> Now to point of my question: Is it sufficient, just to return feasible or infeasible, in the enfolp method, again (especially not adding the violated inequalities, for saving programming effort - I just have to solve small instances)? If enfolp just returns feasible/infeasible, is the final solution still guaranteed to be optimal? What happens in detail (at the node) in the (mathematical) branch and bound tree, when a solution is recognised as infeasible?
You can return infeasible in the result pointer, if you are sure that
SCIP knows how to proceed then :-).
That is, if there are still unfixed binary or integer variables left,
then SCIPs branching rules will be applied to branch on one of these
variables.
If all discrete variables are fixed and there are no continuous
variables, then SCIP will cutoff the node.
If all discrete variables are fixed and there are still continuous
variables (I guess not your case), then SCIP would not know how to
proceed and the behavior is "not defined".
If you only declare the current solution as infeasible and there are no
fractional variables in the current node, then SCIP will choose one of
the unfixed variables for branching. However, since the branching rules
do not know your constraints, it may do a useless branch that does not
change anything on the infeasiblity of your constraints. Thus, you may
still want to implement an own branching rule in the ENFOLP/ENFOPS
callbacks. Or you could register the variables in the violated
constraints as "external branching candidates" (SCIPaddExternBranchCand)
and still return infeasible in the result pointer. If there are no
fractional discrete variables, then SCIP should try branching on one of
the external branching candidates before looking at all unfixed discrete
variables.
Stefan
>
> Best Regards
>
> Martin Tieves
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> http://listserv.zib.de/mailman/listinfo/scip
>
--
Stefan Vigerske
Humboldt University Berlin, Numerical Mathematics
http://www.math.hu-berlin.de/~stefan
More information about the Scip
mailing list