[Scip] Computing primal solution after fixing

Gerald Gamrath gamrath at zib.de
Thu Oct 23 00:58:08 CEST 2014


Dear Andrea,

in SCIP a rounding heuristic basically does the following:
1) get the current LP solution
2) round all fractional variables to an integer value
3) check the resulting solution.

How step 2 is performed influences the probability to find feasible 
solutions and also the running time, that's why there are multiple 
heuristics of this kind in SCIP.

So you are right, no further LPs are solved by the heuristic.

If you want to fix some variables, then optimize the resulting LP, fix 
again, solve the LP, and iterate until you found an integer feasible 
solution, you should have a look at the diving heuristics in SCIP, which 
all use this scheme.

Best,
Gerald


Am 22.10.2014 um 19:04 schrieb Andrea Taverna:
> Dear all,
>
> I'm a bit confused on how to implement a "rounding" heuristic.
>
> I'm working on a column generation algorithm.
> Basically my heuristic fixes some fractional binary variables to 0/1 
> by calling SCIPsetSolVal.
>
> What should I do after those fixings to get a feasible solution?
>
> From the examples, e.g. the TSP one, it seems that no LP solver is 
> called explicitly on the working copy of the LP solution to generate a 
> feasible solution . There are just calls to functions like SCIPtrySol 
> or SCIProundSol.
>
> So, if I understand correctly, SCIP reoptimizes in some way the 
> working copy of the LP solution to obtain the actual heuristic 
> solution. Is that so?
>
> TIA
>
> Andrea
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> http://listserv.zib.de/mailman/listinfo/scip



More information about the Scip mailing list