---
name: "cbc"
section: "1"
platform: "linux"
package: "coinor-cbc"
version: "2.10.12+ds-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/cbc"
---

# cbc(1)

Cbc mixed integer programming solver

## NAME

cbc - Cbc mixed integer programming solver

## SYNOPSIS

**cbc** \[ options \] filename\
 **cbc** \[ commands \]\

## DESCRIPTION

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++.

## OPTIONS

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

- **-csv**

  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\

## INTERACTIVE MODE

In interactive mode one command per line is expected (no leading -).

- **?**

  lists all available commands

- **\<command\>?**

  gives list of possibilities, if only one + explanation

- **\<command\>??**

  adds explanation, if only one fuller help

- **\<command\>**

  without value (where expected) gives current value

- **\<command\> \<value\>**

   sets value\

## AVAILABLE COMMANDS

- **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  \

## EXAMPLES

cbc problem.mps

cbc -thread 2 -import problem.mps -solve\

## SEE ALSO

[**glpsol**(1)](/glpsol/1.md),[**dsdp5**(1)](/dsdp5/1.md),[**clp**(1)](/clp/1.md)

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.

## AUTHOR

cbc was written by John J. Forrest \<jjforre@us.ibm.com\> et.al.

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