<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Hi list,<br>
<br>
Eddie and I discussed the subject in person some time ago, I just
repeat the conclusion.<br>
<br>
By separating a constraint such as setppc or knapsack instead of an
LP row, you have more control of the behavior of this constraint
through the use of its flags. After separating a constraint from
within a separator, this constraint will be immediately added as a
row to the LP relaxation, as well, as long as the "separate" flag is
set to TRUE for the new constraints. <br>
It is generally good if you can detect a constraint type that is
more special than just linear, and create the corresponding
constraint. A knapsack constraint, as an example, has much stronger
propagation algorithms than its linear equivalent. In the pricing
context, however, many possible deductions cannot be made on
constraints that are modifiable. <br>
<br>
Contrary to Eddie's assumption, there is no advantage in separating
constraints instead of rows w.r.t. the primal heuristic behavior.
Infact, the default primal heuristics of SCIP consider mostly the LP
relaxation for their decisions, but do not consider specific
constraint types at all. <br>
<br>
Best,<br>
Gregor<br>
<br>
<div class="moz-cite-prefix">Am 19.02.19 um 22:55 schrieb Edward
Lam:<br>
</div>
<blockquote type="cite"
cite="mid:3BC1BF3A-4E61-4662-B9E4-0ADEAD01D08D@ed-lam.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr"><font color="#000000"><span style="caret-color:
rgb(0, 0, 0); background-color: rgba(255, 255, 255, 0);">Hi
all,<br>
<br>
I have a constraint handler that is adding setppc
constraints (not rows/cuts) in the enfolp callback. I expect
the setppc constraint to then add a row into the LP. It
appears that sometimes this row is not in the LP (or
removed) so my separator is adding a duplicate setppc
constraint.</span></font></div>
<div dir="ltr"><font color="#000000"><span style="caret-color:
rgb(0, 0, 0); background-color: rgba(255, 255, 255, 0);"><br>
</span></font></div>
<div dir="ltr"><font color="#000000"><span style="caret-color:
rgb(0, 0, 0); background-color: rgba(255, 255, 255, 0);">This
also occurs when I tried separating rows directly. Sometimes
they are not in the LP, so I’m separating the same rows
again.<br>
<br>
Why does this occur? Is there a way to tell SCIP to simply
add the existing row back into the LP?</span></font></div>
<div dir="ltr"><font color="#000000"><span style="caret-color:
rgb(0, 0, 0); background-color: rgba(255, 255, 255, 0);"><br>
</span></font></div>
<div dir="ltr"><font color="#000000"><span style="caret-color:
rgb(0, 0, 0); background-color: rgba(255, 255, 255, 0);">Also,
is there any benefit to separating constraints vs. rows? I
assume constraints will improve primal heuristics and
propagation. Although I’m not sure what can be propagated in
column generation since setting a variable to 0 will
regenerate that column and setting it to 1 will prevent
future better columns from generating.<br>
<br>
Thanks in advance.<br>
<br>
Cheers<br>
Eddie</span></font></div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
Scip mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Scip@zib.de">Scip@zib.de</a>
<a class="moz-txt-link-freetext" href="https://listserv.zib.de/mailman/listinfo/scip">https://listserv.zib.de/mailman/listinfo/scip</a>
</pre>
</blockquote>
<br>
</body>
</html>