[SCIP] heur_fixandinfer solval for fixing variables

Chuen Teck See see_chuenteck at yahoo.com.sg
Tue Aug 27 03:02:49 CEST 2019


Dear Scip,
In heur_fixandinfer, fixVariable() function, there is the line
solval = SCIPgetVarSol(scip, var);
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.
I encountered the below case. solvalOrig are all zero while using relaxedSolVal result in a good solution. (In fact it is the optimal sol).

starting fix-and-infer heuristic with 14 unfixed integral variables
 -> fixed variable <t_y#1#4>[-0,1] = 1 (13 candidates left) relaxedSolVal = 1.000000 solvalOrig = -0.000000 
 -> fixed variable <t_y#2#6>[-0,1] = 1 (10 candidates left) relaxedSolVal = 0.590350 solvalOrig = -0.000000 
 -> fixed variable <t_y#4#7>[-0,1] = 1 (7 candidates left) relaxedSolVal = 0.505877 solvalOrig = -0.000000 
 -> fixed variable <t_y#6#7>[-0,1] = 0 (5 candidates left) relaxedSolVal = 0.494123 solvalOrig = -0.000000 
f 0.0s|     2 |     1 |    430 |  143.3 |   0.00%|   0.00%| 479k| 834k| 4.995623e-02 | 6.000000e-02 |  20.11%
found primal feasible solution



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20190827/8afb71bf/attachment.html>


More information about the Scip mailing list