<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>