[Cbc] Question about memory usage & std::string

John Forrest john.forrest at fastercoin.com
Mon Oct 10 12:50:39 EDT 2016


Christoph,

The initial solve will have names (unless they were dropped earlier) but 
inside Cbc the default is to get rid of names.  You have to force 
keeping names by setting OsiNameDiscipline.

To check- why not switch off names completely by

cbc -keepnames off -import ...mps

and see what happens to time.

John
On 10/10/16 11:47, Christoph Cullmann wrote:
> Hi,
>
> I just profile the memory usage of the solving of some of our large scale ILPs.
>
> The biggest usage is by far the stored column/row names (>> 70-80% of used memory).
>
> It seems that they are internally coppied a lot (e.g. during presolving, simplex, ...).
> That seems to be ok, for std::strings that are copy-on-write, like older GCCs,
> but with more recent GCCs (and libstdc++) versions or clang/MSVC, you have no copy-on-write.
>
> Is that a known issue or is there an easy way to rectify this?
>
> Greetings
> Christoph
>



More information about the Cbc mailing list