[Coin-discuss] Bcp question

Francois Margot fmargot at andrew.cmu.edu
Tue May 3 13:05:53 EDT 2005


I just looked at the code in Bcp_lp_main_loop.cpp, around lines 216:

   if (gsol) {
          const int size = gsol->_vars.size();
          for (int i = 0; i < size; ++i) {
             if (gsol->_vars[i]->bcpind() == 0)
                gsol->_vars[i]->set_bcpind(-BCP_lp_next_var_index(p));
          }
       }
   }


I have a hard time to understand the block starting with

  if (gsol->_vars[i]->bcpind() == 0)

I am not doing column generation. The core variables are numbered 
(by Bcp) from 0 to nb_core_vars-1. If the variable with bcpind 0 appears in 
the heuristic solution, this block will change the index of the 
variable to a negative number (permanently). I would be interested in
hearing why this is done, since this creates unexpected difficulties.

If I remove the offending block, Bcp is happy (and so am I).

Francois





More information about the Coin-discuss mailing list