[Cbc] Stack usage by CbcSolver?

Kish Shen kisshen at cisco.com
Mon Mar 2 23:42:34 EST 2009


Hi,

I have recently switched my code to calling CbcSolver (via 
CbcMain/CbcMain1) instead of calling Cbc directly. I have noticed that 
calling CbcMain1 seems to use a significant amount of the stack -- I 
found this out when our code was run from within Java on Windows, which 
have quite a small stack size (about 400K), and I got an stack overflow 
error.

I tested to see how much stack is needed on Linux, but using ulimit -s 
to artificially limit the stack size. I found that using the old 
interface of calling Cbc directly, I was able to run with ulimit -s 200, 
i.e. a 200K stack, bur with the new interface, I needed a stack of 1100K 
to avoid stack overflow.

The overflow seem to happen in the call to CbcMain1, even for a very 
simple MIP problem (2 constraints, 2 variables). The ulmit test would
seem to suggest that CbcMain1 needs something like 900K of stack space 
to run. Does anyone know if this is expected, and could this be reduced?

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