[BCP] BCP 1.2.0 question, BCP_vg_user vs. BCP_tm_user::generate_vars_in_lp

Sebastian Nowozin nowozin at gmail.com
Wed Oct 22 16:26:09 EDT 2008


Hello Laszlo and the others,

first I would like to thank you all for Bcp 1.2.0, it compiles and does
the tests like a charm.

I am using Bcp for a large set-packing like column generation model with
fixed number of rows, a few core variables but the rest being
algorithmic binary variables.

For column generation, I derived from the BCP_vg_user class and return
an object of the same in my derived USER_initalize::vg_init.  However,
this vg_init function is never called.  Where can I enable the use of
BCP_vg_user and vg_init?

I have tried another road: I overwrite BCP_lp_user::generate_vars_in_lp
and BCP_tm_user::init_new_phase and set colgen=BCP_GenerateColumns in
the latter.  Then my generate_vars_in_lp is called and my empty test
does not return new variables, so the output is:

  LinearProgram::generate_vars_in_lp, fathom 0
  LP:   Number of vars received from VG: 0
  LP:   Total number of vars in local pool: 0
  LP:   In iteration 1 BCP generated 0 cuts , 0 vars before calling branch()

then Bcp continues, and fails with:
  LP: Default select_branching_candidates() executed.
  BM: Couldn't branch!

Which could be legit but is still strange as the core variables/columns
I added ensure feasibility and the root node solution is integral.
(Hence without added columns it should be recognized as optimal solution.)

Thanks a lot,
Sebastian

PS: The .hpp documentation of Bcp is quite detailed and understandable,
I am positively surprised!


More information about the BCP mailing list