[Cbc] Meaning of number of nodes (getNodeCount())

Kish Shen kisshen at cisco.com
Wed Apr 6 11:32:36 EDT 2011


Hi Gabrielle,

Thanks for your reply.

As far as I can tell, CbcModel's getNodeCount() and MIP termination test 
both use numberNode_.

I am still not quite sure I understand: what is happening to the node 
count (numberNode_ I guess) at or near the end of the MIP, when it seem 
to be incremented by a large amount (for my bell3a example, from 
somewhere around 1000 to over 15000)? This seem to be done without 
causing the MIP to terminate early (from the termination test which 
checks numberNode_ against the setting of CbcMaxNumNode)?

Thanks and cheers,

Kish

On 06/04/2011 05:37, Gabrielle A. Grun wrote:
>
> Hi Kish,
>
> There are two neck counts in Cbc, namely numberNodes_ (increments in
> addCuts; basically the number of "while the tree is not empty" loops
> less those instances in which a best node cannot be rebuilt-rare) and
> numberNodes2_ (essentially incremented whenever a node is pushed on the
> tree; the "same" node can be pashed back on the tree provided that there
> are branches remaining).
>
> getNodeCount() and the test with CbcMaxNUMnXNode should both use
> numberNodes+!
>
> Thanks.
> Gabrielle
>
>
>
> /// Cumulative number of nodes
> int numberNodes_;
> /** Cumulative number of nodes for statistics.
> Must fix to match up
> */
> int numberNodes2_;
>
>
>
>
>
> ----- Original Message ----- From: Kish Shen
> To: cbc at list.coin-or.org
> Sent: Tuesday, April 05, 2011 12:37 PM
> Subject: [Cbc] Meaning of number of nodes (getNodeCount())
>
>
> Hi,
>
> I have been looking at terminating the MIP search for Cbc with setting
> of CbcMaxNumNode, and I am not sure I understand how the number of node
> is calculated:
>
> I tried setting CbcMaxNumNode on solving a version of the bell3a
> problem, using CbcSolver. On a normal run of the solve, I used
> getNodeCount() returned 15532, which I assumed is the number of nodes
> (linear solves) performed for the complete MIP.
>
> I then reran the problem, setting CbcMaxNumNode to 2500. However, this
> did not terminate the MIP early, and the problem appears to be solved to
> completion, again with 15532 nodes.
>
> I then noticed that in the message printing, I only saw one status
> message of the form:
>
> "After 1000 nodes, ....."
>
> so it seems that the search finished before 2000 nodes was reached
> (because I didn't see a message "After 2000 nodes...."), and yet
> getNodeCount() is substantially larger than 2000.
>
> When I set CbcMaxNumNode to 200, the MIP search did terminate early at
> 200 nodes.
>
> This seems to suggest that some extra number is added to the node count
> when the MIP is finished -- does anyone know what the extra node count
> is for?
>
> Thanks in advance for any information/help!
>
> Cheers,
>
> Kish
>


-- 
This e-mail may contain confidential and privileged material for the
sole use of the intended recipient. Any review, use, distribution or
disclosure by others is strictly prohibited. If you are not the intended
recipient (or authorized to receive for the recipient), please contact
the sender by reply e-mail and delete all copies of this message.
Cisco Systems Limited (Company Number: 02558939), is registered in
England and Wales with its registered office at 1 Callaghan Square,
Cardiff, South Glamorgan CF10 5BT.



More information about the Cbc mailing list