[Scip] Computing primal solution after fixing

Demetrio Laganà demetrio.lagana at unical.it
Thu Oct 23 10:54:42 CEST 2014


Dear SCIP list,
I have a NonLinear 0/1 Programming problem modeled with SCIP callable
library. I need to use a continuous relaxation of such a problem in a
dynamic programming algorithm that requires to solve it at each status by
fixing some variables to be binary and other to be equal to 1, moreover
some constraints belonging to the continuous relaxation must be dropped and
new constraints added progressively, as well as the dynamic system
progresses. I have look at the way to fix to 1 some continuous variables
through SCIPfix Var(), but I don't know how to change the type of some
continuous variables to be binary(SCIP_VARTYPE_BINARY instead of
SCIP_VARTYPE_CONTINUOUS). Finally, I don't know how to drop o make inactive
some constraints in a given state of the dynamic programming algortihm. Is
there a way to do this without clearing the model and re-create it at each
status?
Thank you in advance
Regards
Demetrio Laganà


2014-10-23 0:58 GMT+02:00 Gerald Gamrath <gamrath at zib.de>:

> 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
>>
>
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> http://listserv.zib.de/mailman/listinfo/scip
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20141023/fb74f432/attachment.html>


More information about the Scip mailing list