<html><head></head><body><div class="yahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;"><div dir="ltr" data-setdir="false">Dear Scip,</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">In <span>heur_fixandinfer, <span>fixVariable() function, there is the line</span></span></div><div dir="ltr" data-setdir="false"><span><span><br></span></span></div><div dir="ltr" data-setdir="false"><span><div><div>solval = SCIPgetVarSol(scip, var);</div><div><br></div><div dir="ltr" data-setdir="false">which obtains the solVal that is used to fix the variable. It seems to contain trivial value. I believe changing to solVal = SCIPgetRelaxSolVal(scip, var), and apply rounding makes more sense.</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">I encountered the below case. <span><span>solvalOrig</span></span> are all zero while using <span><span>relaxedSolVal</span></span> result in a good solution. (In fact it is the optimal sol).<br></div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false"><div>starting fix-and-infer heuristic with 14 unfixed integral variables<br> -> fixed variable <t_y#1#4>[-0,1] = 1 (13 candidates left) relaxedSolVal = 1.000000 solvalOrig = -0.000000 <br> -> fixed variable <t_y#2#6>[-0,1] = 1 (10 candidates left) relaxedSolVal = 0.590350 solvalOrig = -0.000000 <br> -> fixed variable <t_y#4#7>[-0,1] = 1 (7 candidates left) relaxedSolVal = 0.505877 solvalOrig = -0.000000 <br> -> fixed variable <t_y#6#7>[-0,1] = 0 (5 candidates left) relaxedSolVal = 0.494123 solvalOrig = -0.000000 <br>f 0.0s|     2 |     1 |    430 |  143.3 |   0.00%|   0.00%| 479k| 834k| 4.995623e-02 | 6.000000e-02 |  20.11%<br>found primal feasible solution</div><div><br></div></div></div></span><div><br></div><span></span><br></div><div dir="ltr" data-setdir="false"><br></div></div></body></html>