Lessons from the Trenches

Did you ever hear the adage, "There's no such thing as a dumb question?" or "If you have a question, it's likely that others have it too?" Well, in that spirit I've decided to start this wiki to collect and organize the little cbc-factoids that should be migrated into the real documentation. If you have a lesson from the trenches, post-way! This is a work-in-progress.

  1. The "-csv" option
    The option "-csv <filename>" causes cbc to print one line of key output statics in commma separated format in a file named <filename>. This option isn't currently included in the list of commands given by the "?" command in interactive mode.

  2. The "-csv" command works great with one data file. Is there a way to make it work with the "-miplib" option?
    At present not, according to John. (That's vindicating becuase I tried more things than I'd like to admit under the flawed assumption it did.) John sugggests creating a CbcCsv class and putting some code to do it in there. Sounds like a great enhancement, if someone's looking to contribute <hint, hint>.

  3. Order of options in the command line of the cbc executable matter
    The command line of the cbc executable is parsed as if it were in the interactive mode. The take-away is that if your using the command line, and things aren't working as you think they should, try ordering the commands in the sequence you'd use if you were interactive mode. (I don't have any specific examples right now, but I know others have run into this too.)

  4. How does one build and run a parallel version of cbc?
    To build a parallel enabled version of cbc when running "configure" add the option "--enable-cbc-parallel".
    To run in parallel use the "-threads" option with cbc:
    ./cbc -threads 6 -unitTest -dirMiplib=_MIPLIB3DIR_ -miplib
    where _MIPLIB3DIR_ is the name of the directory containing the miplib3 mps files.

  5. For a miplib example, say egout, should the output related to egout produced by the command "./cbc - miplib" match what I'd get from executing cbc on egout directly?
    No. There's more to -miplib than simply running cbc on each of the miplib datasets (but I don't know exactly what all the differences are).

Is there a difference in the default parameter settings when you solve a problem in Cbc's interactive mode versus the command-line mode?

Should not be any difference - the commands are read at a single point in code, switching over after command line ones. <July 8, 2009>

Last modified 12 years ago Last modified on Jul 8, 2009 5:44:28 PM