[Scip] Assert when calling SCIPfree(scip) and question about restart

Stefan Vigerske stefan at math.hu-berlin.de
Fri Jan 27 17:40:01 MET 2012


Hi,

> Hi,
>
> I'm using SCIP for solving Mixed-Integer SDPs with my own relaxator and my own constraint handler. After solving I call SCIPfree(&scip) for freeing the memory and I get a strange assert about transformed fixed variables. I don't have any idea what I can do to avoid this assert. Do I have to implement some additional methods?
> Here is the assert:
> Assertion failed: (SCIPvarGetTransVar(var) == NULL), function SCIPvarResetBounds, file src/scip/var.c, line 8081.

Often, this kind of assert is triggered if you capture transformed 
variables but do not release them before the transformed problem is 
freed. That is, if you capture the variables of a constraint, then you 
should make sure that they are released either when you remove the 
variable from the constraint (because it may be fixed) or when the 
constraint is deleted (SCIP_CONSDELETE).
Similar if you capture the variables in the relaxator.

> Related to that question I would like to know, if I have to consider special things for making my constraint handler restartable. I don't have an example yet, where the full restart is done, but I'm not sure if it is possible with my constraints, because for example I am changing their data in a scip_exitpre-method. Are there any rules what is needed?

Difficult to say (for me).
When SCIP decides to do an restart during the solving process, first the 
EXITSOL callback will be called. Next will be INITPRE, PRESOL, EXITPRE, 
INITSOL.
So, you may need to restore some data during EXITSOL in order to 
participate in presolve again.

There are also methods like SCIPisInRestart and SCIPgetNRuns that 
indicate whether SCIP is or has restarted. E.g., if SCIPgetNRuns>1, then 
you may do nothing in PRESOL and EXITPRE.

Hope this helps,
Stefan


>
> Thanks,
> Sonja
>
>
>
>
> ----
> Sonja Mars, Friedrich-Alexander-Universität Erlangen-Nürnberg,
> Lehrstuhl für Wirtschaftsmathematik, Forschungsgebiet Diskrete Optimierung
> Cauerstraße 11 (03.383), 91058 Erlangen
> Tel: +49 9131 85-67 185
> www.am.uni-erlangen.de/wima
>
>
>
>
>
>
>
>
>
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> http://listserv.zib.de/mailman/listinfo/scip


-- 
Stefan Vigerske
Humboldt University Berlin, Numerical Mathematics
http://www.math.hu-berlin.de/~stefan


More information about the Scip mailing list