[Coin-discuss] Re: Turn off all output by default in bcp (Paul Pacheco)

Francois Margot fmargot at andrew.cmu.edu
Tue Feb 15 04:54:45 EST 2005


> I don't know enough about bcp to explain why Clp0000 message is happening. 
>  It does not when using CBC and setting logLevel 0 should have done it. If 
> you are using ClpSimplex to read mps file then that should work as well. 
> If using CoinMpsIO directly then you can set logLevel there as well.  If 
> you use the stand-alone version of clp you can check that this is possible 
> e.g.
> 
> clp -loglevel 0 -import ../Mps/Netlib/25fv47.mps -duals -loglevel 1 
> -primals 
> 
> switches output off until last bit.

The message that irritates me only appears after restoring the optimal base
at the end of strong branching. I could track it to

BCP_lp_select_branching_object():

     494    // Now just resolve the LP to get what'll be sent to the TM.
     495    p.user->modify_lp_parameters(p.lp_solver, false);
     496    p.lp_solver->initialSolve();
     497    p.lp_result->get_results(*p.lp_solver);
     498    p.node->quality = p.lp_result->objval();

At line 496, printing p.lp_solver->handler_ returns an object having
loglevel = 0. Stepping in initialSolve() and printing solver->handler_
returns an object with loglevel = 1.

p.lp_solver is  of class OsiSolverInterface*
p.lp_solver->handler_ is  of class  CoinMessageHandler*

In initialSolve(),
solver is of class ClpSimplex
solver->handler_ is  of class  CoinMessageHandler*

I have little understanding of the way different classes overlap, but 
apparently information about log level is not passed
correctly between these two objects.

Francois




More information about the Coin-discuss mailing list