[Scip] best solution is not feasible in original problem

Ramón Casero Cañas rcasero at gmail.com
Tue Jun 17 22:33:54 CEST 2014


Hi Gerald,

Thanks for the extra info. It's clearer now how it works.

Best regards,

Ramon.


On 3 June 2014 10:42, Gerald Gamrath <gamrath at zib.de> wrote:

> Dear Ramón,
>
> also, the relative tolerance used for the feasibility check of a
> constraints works as follows. For ax <= b, you check that b - ax is
> smaller or equal to feastol * max(1,|b|). This means that the tolerance
> is always relative to the maximum of b and one, i.e., if |b| is smaller
> than 1 and b - ax <= feastol, the constraint is fulfilled.
>
> Therefore, I would recommend to rather scale your constraint such that
> it gets a larger right-hand side instead of changing the feasibility
> tolerance.
>
> Best,
> Gerald
>
> On 29.05.2014 20:57, Stefan Vigerske wrote:
> > Hi,
> >
> > setting the feastol that small is not supported.
> > There is another tolerance (numerics/epsilon) that is (silently)
> > assumed to be smaller than feastol, and by default 1e-9. Numbers
> > smaller than epsilon are treated as 0.
> > Further, a feastol of 1e-10 while still having values like 1e4 in your
> > problem might give issues when having to use double precision.
> > The limited precision of the floating point numbers is also the reason
> > why -0.166666666666667 ends up as -0.16666666666666699048.
> >
> > Bottomline: Don't set feastol too small.
> >
> > Stefan
> >
> > On 05/27/2014 10:32 PM, Ramón Casero Cañas wrote:
> >> Dear all,
> >>
> >> Sorry to bother you again, but a couple results more that I don't
> >> understand.
> >>
> >> With the attached model, in scip-3.1.0.linux.x86_64.gnu.opt.spx with
> >> parameters
> >>
> >> set limits time 300
> >> set limits solutions 1
> >> set numerics feastol 1.0037e-10
> >>
> >> I get a solution within 2.4 sec, but with the message
> >>
> >>    2.4s|     1 |     0 | 32458 |     - |2458k|   0 |   0 | 139 | 205
> >> | 139
> >> |1703 |1669 |   0 |   0 |-2.225883e+04 |-2.049845e+04 |   8.59%
> >>    2.4s|     1 |     1 | 32458 |     - |2458k|   0 |   0 | 139 | 205
> >> | 139
> >> |1703 |1669 |   0 |   0 |-2.225883e+04 |-2.049845e+04 |   8.59%
> >>
> >> SCIP Status        : solving was interrupted [solution limit reached]
> >> Solving Time (sec) : 2.41
> >> Solving Nodes      : 1
> >> Primal Bound       : -2.04984451262525e+04 (1 solutions)
> >> Dual Bound         : -2.22588342256900e+04
> >> Gap                : 8.59 %
> >>    [linear] <c83>:  +0.0781485688398752<x91>[C]
> >> +0.0698489436914697<y91>[C]
> >> +0.0680134372629892<z91>[C] >= 2.50934406412487e-10;
> >> violation: left hand side is violated by 2.50934366513847e-10
> >> best solution is not feasible in original problem
> >>
> >>
> >> This is not the same case as with the feasibility tolerance from
> >> yesterday,
> >> is it? If I write the solution to a file, it comes out as a perfectly
> >> valid
> >> solution.
> >>
> >>
> >> ************************
> >>
> >> The second issue is that if I look at a constraint, e.g. c89, in the PIP
> >> file that I'm providing,
> >>
> >> c89: -0.166666666666667 x88 y91 z41 + 0.166666666666667 x91 y88 z41 +
> >> 0.166666666666667 x88 y41 z91 + -0.166666666666667 x41 y88 z91 +
> >> -0.166666666666667 x91 y41 z88 + 0.166666666666667 x41 y91 z88 >=
> >> 2.50934406412487e-10
> >>
> >> and after reading it in SCIP, using display problem, I see
> >>
> >>    [nonlinear] <c89>: ( -0.16666666666666699048 * <x88> * <y91> * <z41>
> >> +0.16666666666666699048 * <x91> * <y88> * <z41>
> >> +0.16666666666666699048 *
> >> <x88> * <y41> * <z91> -0.16666666666666699048 * <x41> * <y88> * <z91>
> >> -0.16666666666666699048 * <x91> * <y41> * <z88>
> >> +0.16666666666666699048 *
> >> <x41> * <y91> * <z88>) >= 2.50934406412487e-10;
> >>
> >>
> >> I thought that if I provide the scalar
> >>
> >> -0.166666666666667
> >>
> >> and the internal representation has more precision, I'd get
> >>
> >> -0.16666666666666700000
> >>
> >> instead of
> >>
> >> -0.16666666666666699048
> >>
> >> Is this also to be expected?
> >>
> >> Best regards,
> >>
> >> Ramon.
> >>
> >>
> >>
> >> _______________________________________________
> >> 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
>
>


-- 
Dr. Ramón Casero Cañas

Institute of Biomedical Engineering
Department of Engineering Science, University of Oxford
Old Road Campus Research Building, Headington
Oxford
OX3 7DQ
UK

tlf         +44 (0) 1865 617716
twitter   @Ramon_Casero
web      http://www.cs.ox.ac.uk/people/Ramon.CaseroCanas/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20140617/e72c6d5e/attachment.html>


More information about the Scip mailing list