[Coin-lpsolver] St9bad_alloc from executable

John J Forrest jjforre at us.ibm.com
Wed Aug 3 03:43:47 EDT 2005





Adam,

That is a very dense problem and you may run into accuracy problems anyway.
Does anyone know if 32 bit Linux allows more than 2gb a process?

I could try catching some of these memory allocation exceptions but at
present I do not.  Are you using presolve?  If not see if it makes problem
significantly smaller.  If it does not make much smaller then make sure you
do not use it as that will be taking a lot of memory.  If it helps to some
extent then try presolving to file.

Otherwise look at line 612 of CoinFactorization1.cpp.  Clp may be thinking
it needs more memory but it may be over-estimating what it needs so you
could let it print that message (and maybe values of lengthAreaU_ and L_).
If areaFactor is increasing you could try using something like
CoinMin(2.0,areaFactor) rather than areaFactor_ itself.

I doubt whether any of that will work but it may be worth a try.  Probably
the best way of solving your problem would be to use an interior point
method - you could try Clp after downloading wssmp or a similar high
quality cholesky code.  But again you may need too much memory.

Sorry I can not help more but you are at the boundary of what is possible.

John Forrest


                                                                           
             "Adam Smith"                                                  
             <adam at viratech.co                                             
             m>                                                         To 
             Sent by:                                                      
             coin-lpsolver-bou         <coin-lpsolver at list.coin-or.org>    
             nces at list.coin-or                                          cc 
             .org                                                          
                                                                           
                                                                           
             08/02/2005 08:11                                              
             PM                                                            
                                                                   Subject 
                                       [Coin-lpsolver] St9bad_alloc from   
                                       executable                          
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




Hello All,

I have a problem with about 60 million nonzero entries (roughly 2e5 by
2e5).
I tried solving it using the out-of-the-box Clp executable, running on
Fedora Core 4.  I got the following message after roughly 10 hours:

terminate called after throwing an instance of 'std::bad_alloc'
  what():  St9bad_alloc
Aborted

I tried it on two different computers, both with 2GB of RAM, and got that
error at the same point in both (in terms of the objective value).  I tried
it on a computer with 4GB of RAM, and the execution got just *slightly*
further (not twice as far!).

Unfortunately, I'm not very used to linux, much less debugging via ssh!

Any hints?  Is it hitting an address space limit?  If so, why did doubling
the memory only let it get slightly further?

Thanks for any help.

Best,
Adam Smith

_______________________________________________
Coin-lpsolver mailing list
Coin-lpsolver at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/coin-lpsolver






More information about the Clp mailing list