The COIN-OR Branch and Cut (Cbc) solver is an open-source mixed-integer
linear programming solver written in C++. Problems for Cbc can be submitted
on the NEOS server in AMPL, GAMS, or MPS format.
Cbc is intended to be used primarily as a callable library to create
customized branch-and-cut solvers, however, a basic stand-alone executable
is used to solve problems submitted to the NEOS Server.
Cbc utilizes other COIN-OR projects Cgl (Cut Generation Library) to generate
cutting planes and Cpl to solve the linear programs at each node of the tree.
Cbc was developed by John Forrest, now retired from IBM Research. The project
is currently managed by John Forrest and Ted Ralphs.
For more information on Cbc and the COIN-OR initiative, please visit the Cbc COIN-OR website.
The user must submit a model in MPS format to solve a mixed-integer
linear programming problem. The MPS file may be submitted in gzipped
or zipped format; NEOS will uncompress it automatically.
A user also may upload a parameter file that includes Cbc commands to
customize the optimizer's behavior. The format is one command per line and
the available commands are included
below. If there is a parameter file, it must include the solve command.
To print the solution values, include the line solution - after
the solve line in the parameter file.
abcd? gives list of possibilities, if only one + explanation
abcd?? adds explanation, if only one fuller help
abcd without value (where expected) gives current value
abcd value sets value
dualB(ound) dualT(olerance) primalT(olerance) primalW(eight) zeroT(olerance)
Branch and Cut double parameters:
allow(ableGap) cuto(ff) inc(rement) integerT(olerance) preT(olerance) pumpC(utoff)
force(Solution) idiot(Crash) maxF(actor) maxIt(erations) output(Format) randomS(eed)
Branch and Cut integer parameters:
cutD(epth) cutL(ength) depth(MiniBab) hot(StartMaxIts) log(Level) maxN(odes)
maxSaved(Solutions) maxSo(solutions) passC(uts) passF(easbilityPump) passT(reeCuts)
passT(une) randomC(bcSeed) slow(cutpasses) strat(egy) strong(Branching) trust(PseudoCosts)
allC(ommands) chol(esky) crash cross(over) direction error(sAllowed) fact(orization)
keepN(ames) mess(ages) perturb(ation) presolve printi(ngOptions) scal(ing) timeM(ode)
Branch and Cut keyword parameters:
clique(Cuts) combine(Solutions) combine2(Solutions) constraint(fromCutoff) cost(Strategy)
Dins DivingS(ome) DivingC(oefficient) DivingF(ractional) DivingG(uided) DivingL(ineSearch)
DivingP(seudoCost) DivingV(ectorLength) dw(Heuristic) feas(ibilityPump) flow(CoverCuts)
GMI(Cuts) gomory(Cuts) greedy(Heuristic) heur(isticsOnOff) knapsack(Cuts) lagomory(Cuts)
latwomir(Cuts) lift(AndProjectCuts) local(TreeSearch)
mixed(IntegerRoudingCuts) node(Strategy) pivotAndC(omplement) pivotAndF(ix) preprocess
probing(Cuts) proximity(Search) randomi(zedRounding) reduce(AndSplitCuts) reduce2(AndSplitCuts)
residual(CapacityCuts) Rens Rins round(ingHeuristic) sos(Options) two(MirCuts)
Actions or string parameters:
allS(lack) barr(ier) basisI(n) basisO(ut) directory dualS(implex) either(Simplex)
end exit export
gsolu(tion) help import initialS(olve) max(imize) min(imize) para(metrics)
primalS(implex) printM(ask) quit restoreS(olution) saveS(olution) solu(tion) stat(istics) stop
Branch and Cut actions:
branch(AndCut) doH(euristc) mips(tart) nextB(estSolution) prio(rityIn) solv(e)