[SCIP] heur_fixandinfer solval for fixing variables

Benjamin Müller benjamin.mueller at zib.de
Thu Aug 29 10:15:22 CEST 2019


Dear Chuen,

the idea of heur_fixandinfer is to sequentially fix an integer variable 
to its pseudo-solution (vector of all variables set to their locally 
best (w.r.t. the objective function) bounds) value and then propagate 
this fixing. Of course, this is a fairly simple heuristic and there 
might be better values for fixing the integer variables in general.

What makes me wonder about your suggestion is that you use 
SCIPgetRelaxSolVal(), which can only be used if you have implemented and 
activated a relaxator in SCIP. Unfortunately, most of SCIP heuristics 
depend on the LP solution and don't utilize the solution of a relaxator. 
So I would guess that in your case using the relaxation solution works 
well in this heuristic.

Best,
Benjamin

On 8/27/19 3:02 AM, Chuen Teck See wrote:
> 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
> 
> 
> 
> 
> 
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> https://listserv.zib.de/mailman/listinfo/scip
> 

-- 
______________________________
Benjamin Müller
Zuse Institute Berlin
Takustr. 7, 14195 Berlin
benjamin.mueller at zib.de
+49 30 841 85-195


More information about the Scip mailing list