<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div>Hello folks,<br>
</div>
<div><br>
</div>
<div>I am trying to add some cuts to my Branch-Cut and Price problem and unfortunately SCIP is reporting that a few cuts that I am adding are non-efficacious even though, I think they are efficacious. The way I have designed my code is that it is impossible
to add non-efficacious cuts. <br>
</div>
<div><br>
</div>
<div>I am using the code from TSP example which I modified very slightly for my use case,<br>
</div>
<div> <br>
</div>
<div> <span style="font-family: Consolas, Courier, monospace;"> if (SCIPisCutEfficacious(scip, sol, row))</span><br>
</div>
<div><span style="font-family: Consolas, Courier, monospace;"> {</span><br>
</div>
<div><span style="font-family: Consolas, Courier, monospace;"> SCIP_Bool infeasible;</span><br>
</div>
<div><span style="font-family: Consolas, Courier, monospace;"> SCIP_CALL(SCIPaddRow(scip, row, true, &infeasible));</span><br>
</div>
<div><span style="font-family: Consolas, Courier, monospace;"> </span></div>
<div><span style="font-family: Consolas, Courier, monospace;"> if (infeasible)</span><br>
</div>
<div><span style="font-family: Consolas, Courier, monospace;"> {</span><br>
</div>
<div><span style="font-family: Consolas, Courier, monospace;"> *result = SCIP_CUTOFF;</span><br>
</div>
<div><span style="font-family: Consolas, Courier, monospace;"> std::cout << "Added cut is infeasible" << "\n";</span><br>
</div>
<div><span style="font-family: Consolas, Courier, monospace;"> }</span><br>
</div>
<div><span style="font-family: Consolas, Courier, monospace;"> else</span><br>
</div>
<div><span style="font-family: Consolas, Courier, monospace;"> {</span><br>
</div>
<div><span style="font-family: Consolas, Courier, monospace;"> *result = SCIP_SEPARATED;</span><br>
</div>
<div><span style="font-family: Consolas, Courier, monospace;"> }</span><br>
</div>
<div><span style="font-family: Consolas, Courier, monospace;"> }</span><br>
</div>
<div><span style="font-family: Consolas, Courier, monospace;"> else</span><br>
</div>
<div><span style="font-family: Consolas, Courier, monospace;"> {</span><br>
</div>
<div><span style="font-family: Consolas, Courier, monospace;"> SCIP_CALL(SCIPprintRow(scip, row, nullptr));</span><br>
</div>
<div><span style="font-family: Consolas, Courier, monospace;"> SCIP_CALL(SCIPreleaseRow(scip, &row));</span><br>
</div>
<div><span style="font-family: Consolas, Courier, monospace;"> SCIPprintSol(scip, sol, nullptr, 0);</span><br>
</div>
<div><span style="font-family: Consolas, Courier, monospace;"> std::cout << "The cut is not Efficacious " << \n";</span><br>
</div>
<div><span style="font-family: Consolas, Courier, monospace;"> }</span><br>
</div>
<div><br>
</div>
<div>This is one such cut I am trying to add <br>
</div>
<div><br>
</div>
<div><b>sepa_con_1_CUT_IF158:</b><span style="font-family: Consolas, Courier, monospace;">
</span><span style="font-family: Consolas, Courier, monospace;">1 <= +1<t_z[13,4]> +1<t_z[17,4]> +1<t_z[4,36]> +1<t_z[4,15]> -1<x[2][1]> -1<x[72][2]> -1<x[107][3]> <= 1e+20</span><br>
</div>
<div><br>
</div>
<div>and the result of <span style="font-family: Consolas, Courier, monospace;">+1<t_z[13,4]> +1<t_z[17,4]> +1<t_z[4,36]> +1<t_z[4,15]> -1<x[2][1]> -1<x[72][2]> -1<x[107][3]></span> is 0.999777059 and I think it is above the SCIP tolerance and should be added.
The values of the above variables are given here<br>
</div>
<div><br>
</div>
<div>z[13,4] 0.626832074793241 (obj:65)
<div>z[17,4] 0.577612369651203 (obj:54)</div>
<div>z[4,36] 0.239442646530025 (obj:70)</div>
<div>z[4,15] 0.612387630348795 (obj:69)</div>
<div>x[2][1] 0.239442646530025 (obj:18)</div>
<div>x[72][2] 0.577612369651203 (obj:22)</div>
x[107][3] 0.239442646530025 (obj:29)<br>
</div>
<div><br>
</div>
<div>I am attaching the output of SCIPprintSol, just in case if someone is wondering. I feel like I am missing something very trivial (and I hope it is not a calculation error). I am wondering if someone can help me debug this. <br>
</div>
<div><br>
</div>
<div>Regards,<br>
</div>
<div>Naga<br>
</div>
<div><br>
</div>
</body>
</html>