[Scip] SCIPcreateVar - initial
Stefan Vigerske
stefan at math.hu-berlin.de
Fri Apr 15 12:28:04 MEST 2011
Hi,
thanks for the bugreport.
Here is a workaround:
Go to solve.c and search for
/* if the solution was accepted, the root node can be cut off by bounding */
if( stored && set->nactivepricers == 0 )
Then change the second line to
if( stored && set->nactivepricers == 0 && transprob->ncolvars ==
SCIPlpGetNCols(lp) )
What happens is that SCIP checks whether the initial solution of the LP
is feasible. Since it is feasible and there are no active pricers, it
also thinks that it is optimal and cuts off the root node.
Unfortunately, the problem variable pricer does not count as real pricer
and SCIP misses that not all variables are in the LP yet.
Stefan
PS: This is bug 127 in Bugzilla.
Am 14.04.2011 20:03, schrieb Mathieu Larose:
> Hi,
>
> Here is a small LP:
>
> min 99 * var1 + var2
> s.a
> var1 + var2 = 1
> 0<= var1<= 1
> 0<= var2<= 1
>
> Clearly, the optimal solution is var1 = 0, var2 = 1.
>
> Depending if variables are flagged as "initial" or "not initial", SCIP does
> not always find the optimal solution.
>
>
> Case 1: Both variables are flagged as "initial".
>
> Optimal solution found: var1 = 0, var2 = 1.
>
>
> Case 2: Both variables are flagged as "not initial".
>
> Optimal solution found: var1 = 0, var2 = 1.
>
>
> Case 3: var1 is flagged as "initial" and var2 is flagged as "not initial".
>
> Optimal solution found: var1 = 1, var2 = 0.
>
>
> Why does Case 3 find a suboptimal solution?
>
> (Test case is in attachment)
>
> Regards,
> Mathieu
>
>
>
>
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> http://listserv.zib.de/mailman/listinfo/scip
More information about the Scip
mailing list