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
Double parameters: 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) ratio(Gap) sec(onds) Integer parameters: force(Solution) idiot(Crash) maxF(actor) maxIt(erations) output(Format) randomS(eed) slog(Level) sprint(Crash) 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) Keyword parameters: 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) cplex(Use) cuts(OnOff) 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) Vnd(VariableNeighborhoodSearch) zero(HalfCuts) 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)