<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi Ambros,<div><br></div><div>Thanks for the reply! I used the SCIPwriteMIP, and indeed, when the constraint is added the second time, it is not present in the current LP relaxation. In fact, only the constraints that were added at the same node (node 5) are present. This is strange, since I'm adding the row with local = FALSE. In my understanding, this should mean that every such row is added "globally".</div><div><br></div><div>So to answer your questions:</div><div>1 - I generate the cuts both in the root and at the other nodes.</div><div>2 - I'm creating the row with SCIPcreateEmptyRowConshdlr setting local, modifiable and removable as FALSE.</div><div>3 - I'm adding only rows where the violations is of at least 0.0001.</div><div><br></div><div>Thanks!</div><div>Matheus</div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Em ter., 17 de ago. de 2021 às 13:51, Ambros Gleixner <<a href="mailto:gleixner@zib.de">gleixner@zib.de</a>> escreveu:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Dear Matheus,<br>
<br>
You can write the current LP relaxation with integrality information <br>
using SCIPwriteMIP().<br>
<br>
Maybe check again what is happening and then you can give us also more <br>
details:  Where do you generate the cuts (root/local nodes), with which <br>
flags do you add them exactly, and how big is the violation (efficacy, <br>
i.e., normalized by the 2 norm of the coefficient vector)?<br>
<br>
Best,<br>
Ambros<br>
<br>
<br>
Am 16.08.21 um 01:40 schrieb Matheus Ota:<br>
> Dear Scipers,<br>
> <br>
> I've been implementing a branch-and-cut using SCIP, I already <br>
> implemented the constraint handler and I'm adding the violated rows <br>
> using "SCIPaddRow". I'm also setting forcecut = true, and thus, I would <br>
> suppose that, once a violated row is added, the same row should not be <br>
> added again. However, my program add the same row multiple times.<br>
> <br>
> For example, in one instance it adds this row in the beginning:<br>
> 196 <= +196<t_x_7,2> +196<t_x_7,3> +196<t_x_6,2> +196<t_x_6,3> <br>
> +196<t_x_5,2> +196<t_x_5,3> +196<t_x_4,2> +196<t_x_4,3> -196<t_x_3,2> <br>
> -196<t_x_3,4> -196<t_x_2,3> -196<t_x_2,4> +196<t_x_1,2> +196<t_x_1,3> <br>
> +1<t_y_163> +392 <= 1e+20<br>
> <br>
> Then, after exploring some other solution, it adds the same row again:<br>
> 196 <= +196<t_x_7,2> +196<t_x_7,3> +196<t_x_6,2> +196<t_x_6,3> <br>
> +196<t_x_5,2> +196<t_x_5,3> +196<t_x_4,2> +196<t_x_4,3> -196<t_x_3,2> <br>
> -196<t_x_3,4> -196<t_x_2,3> -196<t_x_2,4> +196<t_x_1,2> +196<t_x_1,3> <br>
> +1<t_y_163> +392 <= 1e+20<br>
> <br>
> I'd appreciate any help! Also, is there any way so that I can print all <br>
> the current rows in the LP? My idea was to print all rows in the LP <br>
> before SCIP adds the same row the second time, so that I can check that <br>
> indeed the row was added the first time.<br>
> <br>
> Thanks,<br>
> Matheus<br>
> <br>
> _______________________________________________<br>
> Scip mailing list<br>
> <a href="mailto:Scip@zib.de" target="_blank">Scip@zib.de</a><br>
> <a href="https://listserv.zib.de/mailman/listinfo/scip" rel="noreferrer" target="_blank">https://listserv.zib.de/mailman/listinfo/scip</a><br>
> <br>
_______________________________________________<br>
Scip mailing list<br>
<a href="mailto:Scip@zib.de" target="_blank">Scip@zib.de</a><br>
<a href="https://listserv.zib.de/mailman/listinfo/scip" rel="noreferrer" target="_blank">https://listserv.zib.de/mailman/listinfo/scip</a><br>
</blockquote></div>