[Scip] Problems with call SCIPseparateSol in relaxator

Sonja Mars sonja.mars at math.uni-erlangen.de
Wed Jan 18 18:14:30 MET 2012


Hi,

I have some problems using the new scip release and separate solutions. I've written a relaxator for solving SDPs. It worked fine with scip-2.0.1. I'm using the c++ Interface and I call the sdp-solver in the scip_exec method of my relaxator. 

Before I solve the node, I call SCIPconstructLP, SCIPflushLP and copy the data out of scip into the sdp-solver. After solving, if the sdp-solver converged with a feasible solution, I call SCIPupdateLocalLowerbound, I create a SCIP_SOL with the values in it. At that point I call SCIPseparateSol. 

This works fine in the old version. Now there occurs an assert in lp.c:5547. I think the value col->primsol which is used in SCIProwGetLPEfficacy (used in computeScore of sepatore.c) is wrong. In the old scip-version the score was not computed that way and in sepastoreAddCut there SCIProwGetSolEfficacy was computed if a solution was available.

What is my problem? Do I have to update the value of col->primsol somewhere and how? Do I need to call another function after solving? If it is not possible to call SCIPseparateSol at that point, how or where can I produce cuts?

Thanks
Sonja


More information about the Scip mailing list