[Scip] Branching on continuous variables in the quadratic constraint
Timo Berthold
berthold at zib.de
Tue Apr 8 00:25:47 CEST 2014
Hi Wen-Yang,
> Is there a general guideline on the
> advantage (other than finding feasible solutions) using IPOPT?
There are three points in SCIP where Ipopt is used:
- to determine whether quadratic constraints are convex by checking the
signs of their eigenvalues
- for the local search heuristic subNLP
- for the NLP diving heuristic
If none of this is beneficial for you, there is no further added value.
> My question is that, is it still
> algorithmic correct if I set the branching priority of these
> continuous variables (W_j) higher, in order to make SCIP branch on
> them before branching on the integer variables?
I think that this will not have the intended effect; as long as SCIP has a
fractional LP solution, it will keep branching on it.
For SCIP nerds ;-): In SCIPbranchExecLP, branch.c, it is checked whether
there are pseudo candidates of a higher priority than the highest LP
candidate; however, there is no such check for the external candidates. It
is debatable whether this is a bug or a feature. So or so, it seems to
hinder what Wen-Yang tries to implement.
@Wen-Yang, without any warranty (It did not check it myself):
Adding
if( branchcand->externmaxpriority > branchcand->lpmaxpriority )
{
SCIP_CALL( SCIPbranchExecExtern(blkmem, set, stat, prob, tree, lp,
branchcand, eventqueue, cutoffbound, allowaddcons, result) );
if( *result != SCIP_DIDNOTRUN )
return SCIP_OKAY;
}
after the corresponding code block for pseudocands in SCIPbranchExecLP()
might give what you are asking for.
Best regards,
Timo
More information about the Scip
mailing list