[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