Scroll to navigation

CBC(1) General Commands Manual CBC(1)


cbc - Cbc mixed integer programming solver


cbc [ options ] filename


This manual page documents briefly the cbc command.

cbc -- Cbc (Coin-or branch and cut) is an open-source mixed integer programming solver written in C++.


When no options are given cbc enters the interactive command line mode. Otherwise the program enters a batch mode, for which a summary of options is included below. Note that the 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.

For a complete description, see /usr/share/doc/coinor-libcbc-doc.

Read input from stdin instead of filename
The option "-csv <filename>" causes cbc to print one line of key output statics in comma 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.
-threads <num_threads>
Run cbc in parallel using <num_threads> many CPUs


In interactive mode one command per line is expected (no leading -).
lists all available commands
gives list of possibilities, if only one + explanation
adds explanation, if only one fuller help
without value (where expected) gives current value
<command> <value>
sets value


Double parameters:
dualB(ound) dualT(olerance) primalT(olerance) primalW(eight)
Branch and Cut double parameters:
allow(ableGap) cuto(ff) inc(rement) inf(easibilityWeight) integerT(olerance) preT(olerance) ratio(Gap) sec(onds)
Integer parameters:
cpp(Generate) force(Solution) idiot(Crash) maxF(actor) maxIt(erations) output(Format) slog(Level) sprint(Crash)
Branch and Cut integer parameters:
cutD(epth) log(Level) maxN(odes) maxS(olutions) passC(uts) passF(easibilityPump) passT(reeCuts) pumpT(une) strong(Branching) trust(PseudoCosts)
Keyword parameters:
chol(esky) crash cross(over) direction dualP(ivot) error(sAllowed) keepN(ames) mess(ages) perturb(ation) presolve primalP(ivot) printi(ngOptions) scal(ing)
Branch and Cut keyword parameters:
clique(Cuts) combine(Solutions) cost(Strategy) cuts(OnOff) Dins DivingS(ome) DivingC(oefficient) DivingF(ractional) DivingG(uided) DivingL(ineSearch) DivingP(seudoCost) DivingV(ectorLength) feas(ibilityPump) flow(CoverCuts) gomory(Cuts) greedy(Heuristic) heur(isticsOnOff) knapsack(Cuts) lift(AndProjectCuts) local(TreeSearch) mixed(IntegerRoundingCuts) node(Strategy) preprocess probing(Cuts) reduce(AndSplitCuts) residual(CapacityCuts) Rens Rins round(ingHeuristic) sos(Options) two(MirCuts)
Actions or string parameters:
allS(lack) barr(ier) basisI(n) basisO(ut) directory dirSample dirNetlib dirMiplib dualS(implex) either(Simplex) end exit export help import initialS(olve) max(imize) min(imize) netlib netlibD(ual) netlibP(rimal) netlibT(une) primalS(implex) printM(ask) quit restore(Model) saveM(odel) saveS(olution) solu(tion) stat(istics) stop unitTest userClp
Branch and Cut actions:
branch(AndCut) doH(euristic) miplib prio(rityIn) solv(e) strengthen userCbc



This program is fully documented in the accompanying html documentation which can be found in /usr/share/doc/coinor-libcbc-doc if the coinor-libcbc-doc package is installed.


cbc was written by John J. Forrest <>

This manual page was written by Soeren Sonnenburg <>, for the Debian project (but may be used by others).

August 26, 2009