[SCIP] column generation while cutting?

James Cussens james.cussens at york.ac.uk
Tue Sep 29 22:28:54 CEST 2015


Dear Gerald,

Further to my earlier email, I've done a bit more digging. It looks as if
the problem is not what I though but instead that the LP upper objective
limit gets set very low early on (before either my new variable or the cut
containing it is created):

[src/scip/lp.c:12485] debug: setting LP upper objective limit from 1e+20 to
0.0001

and this means that my desired solution with objective value 2 is cut off...

....
  0.0s|     1 |     0 |     0 |     - | 197k|   0 |   - |   1 |   1 |   1 |
  0 |   1 |   0 |   0 |    cutoff    |      --      |   0.00%
[src/scip/solve.c:2619] debug:  -> final lower bound: 1e+20 (LP status: 4,
LP obj: 1e+20)
[src/scip/solve.c:3500] debug:  -> LP status: 4, LP obj: 1e+20, iter: 0,
count: 3
[src/scip/solve.c:2663] debug:  -> lower bound: 1e+20 [1e+20] (pseudoobj: 2
[2]), cutoff bound: 0.0001 [0.0001]
[src/scip/solve.c:2672] debug: node is cut off by bounding (lower=1e+20,
upper=0.0001)
[src/scip/conflict.c:6800] debug: analyzing pseudo solution (obj: 2) that
exceeds objective limit (0.0001)
....

James



On 18 September 2015 at 14:52, Gerald Gamrath <gamrath at zib.de> wrote:

> Dear James,
>
> you are only allowed to call SCIPaddPricedVar() during pricing, but you
> could add the variables just via SCIPaddVar(). You could even set the
> initial flag of the variable to FALSE so that SCIP will automatically price
> it into the LP (only) if needed.
>
> Best,
> Gerald
>
> On 18.09.2015 11:28, James Cussens wrote:
>
> I have an application where I generate cuts which include variables which
> do not exist yet. At present, I follow the normal two-stage approach: the
> cut is generated without the missing variables, and later a pricer deduces
> that they are worth adding and my application ensures they are added to the
> previously generated cuts.
>
> My pricer only ever generates variables which appear in the cuts I
> generate, so I suspect it will be more efficient to generate the missing
> variables *as soon as my cutting plane algorithm (CPA) has generated the
> cut*. That is, the idea is to create them just before adding the cut (which
> would then contain all its variables). My CPA generates (a representation
> of) the cut with all its variables, including those not already created (so
> it does a sort of pricing), so we have these variables immediately to hand
> at the point of adding the cut. It is true that, since we are generating
> variables unconditionally, we may end up with more variables than if we
> priced them in, but my guess is that we won't get too many unnecessary
> variables created.
>
> The CPA is implemented as the separator for a certain constraint handler.
> So presumably I could just add suitable calls to SCIPaddPricedVar in the
> separator callback, just before creating and adding the row (ie cut).
>
> Does anyone see a problem with doing this? It just seems an odd approach
> ....
>
> James
>
> --
> James Cussens
> Dept of Computer Science &
> York Centre for Complex Systems Analysis
> Room 326, The Hub, Deramore Lane            Tel    +44 (0)1904 325371
> University of York                                        Fax  +44
> (0)1904 500159
> York YO10 5GE, UK
> <http://www.cs.york.ac.uk/%7Ejc>http://www.cs.york.ac.uk/~jc
> http://www.york.ac.uk/docs/disclaimer/email.htm
>
>
> _______________________________________________
> Scip mailing listScip at zib.dehttp://listserv.zib.de/mailman/listinfo/scip
>
>
>
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> http://listserv.zib.de/mailman/listinfo/scip
>
>


-- 
James Cussens
Dept of Computer Science &
York Centre for Complex Systems Analysis
Room 326, The Hub, Deramore Lane            Tel    +44 (0)1904 325371
University of York                                        Fax  +44 (0)1904
500159
York YO10 5GE, UK                               http://www.cs.york.ac.uk/~jc
http://www.york.ac.uk/docs/disclaimer/email.htm
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20150929/edf7ed34/attachment.html>


More information about the Scip mailing list