[Scip] assert(SCIPsetIsFeasPositive(set, rayscale));

Ambros Gleixner gleixner at zib.de
Fri Aug 26 17:29:30 MEST 2011


Hi Sebastian,

so it looks like CPLEX returns an unbounded ray which SCIP finds invalid
because one variable is at its upper/lower bound and the ray coordinate
is positive/negative for this variable.  Hence, rayscale, i.e. the
maximum steplength along the ray until a variable or constraint hits its
bounds is 0. (In theory, it should be infinite, numerically it is a
large value.)

If the LP contains only relaxed binary variables then the LP should
never be unbounded. You could try to dump the LP by adding

   SCIP_CALL( SCIPlpiWriteLP(lp->lpi, "unbounded.lp") );

to the top of function SCIPlpGetUnboundedSol and have a look which
bounds the variables have; maybe try to solve it using the CPLEX shell,
seeing what happens.

If you want a workaround for now: From your log output it looks like the
LP causing this problem is not a node relaxation but an LP with modified
objective function from the feaspump heuristic. If you can do without
it, deactivate the feasibility pump:

   SCIP_CALL( SCIPsetIntParam(scip, "heuristics/feaspump/freq", 0) );

ambros


Am 26.08.2011 16:34, schrieb Sebastian Ruther:
> Hello Ambros,
> 
> I get the same error. However, before I was not able to see the
> values of "set" and rayscale. Now my debugger says that the two
> values that are compared are set->num_feastol =
> 9.9999999999999995e-007 and rayscale = 0.0.
> 
> Sebastian ________________________________________ From: Ambros
> Gleixner [gleixner at zib.de] Sent: 26 August 2011 22:44 To:
> scip at zib.de; Sebastian Ruther Subject: Re: [Scip]
> assert(SCIPsetIsFeasPositive(set, rayscale));
> 
> Hi Sebastian,
> 
> could you try with the attached lp.c?  I added some asserts to
> narrow down the source of the problem.
> 
> ambros
> 
> 
> Am 26.08.2011 14:22, schrieb Sebastian Ruther:
>> Hello,
>> 
>> I have had this error for a long time now but usually had more 
>> pressuring issues. However now I get stuck at this. Almost all of
>> my instances produce this error.
>> 
>> assert(SCIPsetIsFeasPositive(set, rayscale)); line 13531 in lp.c
>> 
>> Note that I am using SCIP 2.0.0 with CPLEX 12.3.
>> 
>> I dumped the master problem and solved it with CPLEX and that works
>> fine.
>> 
>> The variables are all binary (but of course they do get relaxed),
>> all constraint coefficients are 1, rhs between 0 and 30 and
>> objective function coefficients range from 100 to 9555.
>> 
>> The call stack is:
>> 
>> msvcr100d.dll!_wassert(const wchar_t * expr=0x0000000140990630, 
>> const wchar_t * filename=0x0000000140990610, unsigned int
>> lineno=13531) Line 153    C binscip.exe!SCIPlpGetUnboundedSol()
>> Line 13531 + 0x34 bytes    C binscip.exe!SCIPlpSolveAndEval()  Line
>> 12259 + 0x1d bytes    C
>>> binscip.exe!SCIPsolveDiveLP()  Line 15130 + 0x96 bytes    C
>> binscip.exe!heurExecFeaspump()  Line 943 + 0x1c bytes    C 
>> binscip.exe!SCIPheurExec()  Line 396 + 0x2f bytes    C 
>> binscip.exe!SCIPprimalHeuristics()  Line 220 + 0x56 bytes    C 
>> binscip.exe!priceAndCutLoop(const __int64 blkmem=7386848)  Line 
>> 1600 + 0x50 bytes    C binscip.exe!solveNodeLP(const __int64
>> blkmem=7386848)  Line 1992 + 0xef bytes    C 
>> binscip.exe!solveNode()  Line 2647 + 0xef bytes    C 
>> binscip.exe!SCIPsolveCIP(const __int64 blkmem=7386848)  Line 3264 +
>> 0x101 bytes    C
>> 
>> binscip.exe!SCIPsolve(std::_Vector_iterator<std::_Vector_val<SCIP_Var
>>
>> 
*,std::allocator<SCIP_Var *> > > (__int64) scip=0x000000000031f3f0,
>> unsigned int restart=0)  Line 6827 + 0x11f bytes    C 
>> binscip.exe!runSCIP(int argc=1, char * * argv=0x0000000000707a20) 
>> Line 264 + 0xa bytes    C++ binscip.exe!main(int argc=1, char * *
>> argv=0x0000000000707a20) Line 356 + 0x14 bytes    C++ 
>> binscip.exe!__tmainCRTStartup()  Line 555 + 0x19 bytes    C 
>> binscip.exe!mainCRTStartup()  Line 371    C
>> 
>> 
>> Thank you for your help.
>> 
>> Sebastian
>> 
>> _______________________________________________ Scip mailing list 
>> Scip at zib.de http://listserv.zib.de/mailman/listinfo/scip
> 
> -- ____________________________________________________________ 
> Ambros M. Gleixner Zuse Institute Berlin - Matheon - Berlin
> Mathematical School http://www.zib.de/gleixner
> 

-- 
____________________________________________________________
Ambros M. Gleixner
Zuse Institute Berlin - Matheon - Berlin Mathematical School
http://www.zib.de/gleixner


More information about the Scip mailing list