[Coin-discuss] BCP variable pool handling

Jörg Herbers herbers at hotmail.com
Fri Jan 9 05:51:33 EST 2004


I have a question about the variable pool implemented in BCP. As far as I 
know, variable pools are commonly used as bidirectional buffers between 
generated columns and the LP: Newly generated variables are first written to 
the buffer. In every iteration, a given number of best variables is inserted 
from the variable pool into the LP. Furthermore, “old” variables (which were 
not used in the LP for a number of iterations) are taken out and written to 
the variable pool because they could have negative reduced costs in later 
iterations.

In BCP, there is a variable pool (BCP_lp_prob::local_var_pool) which is not 
quite the same. Newly generated variables are first written to the pool, and 
the number of variables inserted from the pool into the LP can be controlled 
(parameter MaxVarsAddedPerIteration). But in every iteration, all columns 
with positive reduced costs are deleted from the variable pool. Furthermore, 
variables which are marked as deleted in the LP are not written to the pool 
by default. Implementing such a feature manually (by overriding 
BCP_lp_user::select_vars_to_delete) will not have much effect as long as 
variables with positive reduced costs are deleted in a subsequent step. The 
local_var_pool thus currently serves as a buffer for variable insertions, 
avoiding variables to be inserted which would have positive reduced costs 
after insertion of a more promising subset of variables.

Therefore my question: Have I overseen anything? Are there features to 
implement a pool strategy as described above? Or is there anything planned 
in the future?

Many thanks,
Jörg

_________________________________________________________________
MSN 8 with e-mail virus protection service: 2 months FREE* 
http://join.msn.com/?page=features/virus




More information about the Coin-discuss mailing list