MS Visual Studio 2005 ============================================================== ========== cbcSolve default settings ========== ============================================================== call: cbcSolve testfile.mps -branch CBC 2.0.0 (tarball) Cbc0031I 6 added rows had average density of 3 Cbc0013I At root node, 6 cuts changed objective from 160.236 to 195.305 in 2 passes Cbc0014I Cut generator 0 (Probing) - 15 row cuts (6 active), 28 column cuts in 0.031 seconds - new frequency is 1 Cbc0014I Cut generator 1 (Gomory) - 0 row cuts (0 active), 0 column cuts in 0.000 seconds - new frequency is -100 Cbc0014I Cut generator 2 (Knapsack) - 0 row cuts (0 active), 0 column cuts in 0.063 seconds - new frequency is -100 Cbc0014I Cut generator 3 (Clique) - 0 row cuts (0 active), 0 column cuts in 0.000 seconds - new frequency is -100 Cbc0014I Cut generator 4 (MixedIntegerRounding2) - 1 row cuts (0 active), 0 column cuts in 0.031 seconds - new frequenc y is -100 Cbc0014I Cut generator 5 (FlowCover) - 0 row cuts (0 active), 0 column cuts in 0.015 seconds - new frequency is -100 Cbc0014I Cut generator 6 (TwoMirCuts) - 0 row cuts (0 active), 0 column cuts in 0.016 seconds - new frequency is -100 CBC 2.1.0 Cbc0031I 18 added rows had average density of 82.3333 Cbc0013I At root node, 18 cuts changed objective from 160.236 to 221.561 in 18 passes Cbc0014I Cut generator 0 (Probing) - 256 row cuts (9 active), 41 column cuts in 0.580 seconds - new frequency is 1 Cbc0014I Cut generator 1 (Gomory) - 790 row cuts (8 active), 0 column cuts in 0.186 seconds - new frequency is 1 Cbc0014I Cut generator 2 (Knapsack) - 18 row cuts (1 active), 0 column cuts in 0.533 seconds - new frequency is -100 Cbc0014I Cut generator 3 (Clique) - 0 row cuts (0 active), 0 column cuts in 0.015 seconds - new frequency is -100 Cbc0014I Cut generator 4 (MixedIntegerRounding2) - 5 row cuts (0 active), 0 column cuts in 0.125 seconds - new frequenc y is -100 Cbc0014I Cut generator 5 (FlowCover) - 0 row cuts (0 active), 0 column cuts in 0.327 seconds - new frequency is -100 Cbc0014I Cut generator 6 (TwoMirCuts) - 135 row cuts (0 active), 0 column cuts in 0.267 seconds - new frequency is -100 CBC 2.2.2 Cbc0013I At root node, 3 cuts changed objective from 160.236 to 160.296 in 5 passes Cbc0014I Cut generator 0 (Probing) - 6 row cuts, 8 column cuts (2 active) in 0.157 seconds - new frequency is 1 Cbc0014I Cut generator 1 (Gomory) - 35 row cuts, 0 column cuts (0 active) in 0.032 seconds - new frequency is 1 Cbc0014I Cut generator 2 (Knapsack) - 0 row cuts, 0 column cuts (0 active) in 0.124 seconds - new frequency is -100 Cbc0014I Cut generator 3 (Clique) - 0 row cuts, 0 column cuts (0 active) in 0.000 seconds - new frequency is -100 Cbc0014I Cut generator 4 (MixedIntegerRounding2) - 2 row cuts, 0 column cuts (1 active) in 0.063 seconds - new frequenc y is -100 Cbc0014I Cut generator 5 (FlowCover) - 0 row cuts, 0 column cuts (0 active) in 0.063 seconds - new frequency is -100 Cbc0014I Cut generator 6 (TwoMirCuts) - 37 row cuts, 0 column cuts (0 active) in 0.123 seconds - new frequency is -100 CBC 2.3.0 Cbc0013I At root node, 3 cuts changed objective from 160.236 to 160.296 in 6 passes Cbc0014I Cut generator 0 (Probing) - 6 row cuts, 0 column cuts (1 active) in 0.109 seconds - new frequency is 1 Cbc0014I Cut generator 1 (Gomory) - 36 row cuts, 0 column cuts (1 active) in 0.000 seconds - new frequency is 1 Cbc0014I Cut generator 2 (Knapsack) - 0 row cuts, 0 column cuts (0 active) in 0.156 seconds - new frequency is -100 Cbc0014I Cut generator 3 (Clique) - 0 row cuts, 0 column cuts (0 active) in 0.000 seconds - new frequency is -100 Cbc0014I Cut generator 4 (MixedIntegerRounding2) - 2 row cuts, 0 column cuts (0 active) in 0.063 seconds - new frequenc y is -100 Cbc0014I Cut generator 5 (FlowCover) - 0 row cuts, 0 column cuts (0 active) in 0.077 seconds - new frequency is -100 Cbc0014I Cut generator 6 (TwoMirCuts) - 36 row cuts, 0 column cuts (0 active) in 0.095 seconds - new frequency is -100 ============================================================== ========== cbcSolve only probing cuts ========== ============================================================== call: cbcSolve testfile.mps -cuts off -probing on -branch CBC 2.0.0 (tarball) Cgl0004I processed model has 588 rows, 494 columns (364 integer) and 3441 elements ... Cbc0013I At root node, 6 cuts changed objective from 160.236 to 195.305 in 2 passes Cbc0014I Cut generator 0 (Probing) - 14 row cuts (6 active), 28 column cuts in 0.016 seconds - new frequency is 1 CBC 2.1.0 (tarball) Cgl0004I processed model has 585 rows, 488 columns (364 integer) and 3435 elements ... Cbc0013I At root node, 0 cuts changed objective from 160.236 to 160.236 in 1 passes Cbc0014I Cut generator 0 (Probing) - 0 row cuts (0 active), 0 column cuts in 0.016 seconds - new frequency is 10 CBC 2.2.2 (tarball) Cgl0004I processed model has 585 rows, 466 columns (342 integer) and 3413 elements ... Cbc0013I At root node, 0 cuts changed objective from 160.236 to 160.236 in 1 passes Cbc0014I Cut generator 0 (Probing) - 0 row cuts, 0 column cuts (0 active) in 0.016 seconds - new frequency is 1000 CBC 2.3.0 (tarball) Cgl0004I processed model has 585 rows, 466 columns (342 integer) and 3413 elements ... Cbc0013I At root node, 0 cuts changed objective from 160.236 to 160.236 in 1 passes Cbc0014I Cut generator 0 (Probing) - 0 row cuts, 0 column cuts (0 active) in 0.015 seconds - new frequency is 1000 ================================================================================= ========== cbcSolve only probing cuts, w/o presolve, preprocess ========== ================================================================================= Call: cbcSolve testfile.mps -cuts off -probing on -presolve off -preprocess off -branch Cbc-2.0.0 Cbc0013I At root node, 17 cuts changed objective from 160.236 to 206.922 in 7 passes Cbc0014I Cut generator 0 (Probing) - 112 row cuts (17 active), 11 column cuts in 0.045 seconds - new frequency is 1 CBC 2.1.0 Cbc0013I At root node, 0 cuts changed objective from 160.236 to 160.236 in 1 passes Cbc0014I Cut generator 0 (Probing) - 36 row cuts (0 active), 0 column cuts in 0.016 seconds - new frequency is 1 CBC 2.2.2 Cbc0013I At root node, 0 cuts changed objective from 160.236 to 160.236 in 1 passes Cbc0014I Cut generator 0 (Probing) - 38 row cuts, 0 column cuts (0 active) in 0.032 seconds - new frequency is 1 CBC 2.3.0 Cbc0013I At root node, 0 cuts changed objective from 160.236 to 160.236 in 1 passes Cbc0014I Cut generator 0 (Probing) - 38 row cuts, 0 column cuts (0 active) in 0.016 seconds - new frequency is 1 ============================================================== ========== small driver derived from sample1 ========== ========== all bounds poor ========== ============================================================== Driver (derived from sample1.cpp), results on different CBC-Versions are included in a comment #include #include "CbcConfig.h" #include "OsiSolverInterface.hpp" #include "CbcModel.hpp" #include "OsiClpSolverInterface.hpp" #include "ClpPresolve.hpp" #include "CglProbing.hpp" /************************************************************************ This main program reads in an integer model from an mps file. It then sets up some Cgl cut generators and calls branch and cut. ************************************************************************/ int main (int argc, const char *argv[]) { ClpSimplex simplex; simplex.readMps(argv[1],""); // Should work with OsiPresolve but not sure - so this is complicated ClpPresolve pinfo; ClpSimplex * simplex2 = pinfo.presolvedModel(simplex,1.0e-8); OsiClpSolverInterface solver1(simplex2); // Do initial solve to continuous solver1.initialSolve(); CbcModel model(solver1); CglProbing generator1; generator1.setUsingObjective(true); generator1.setMaxPass(30); generator1.setMaxProbe(100); generator1.setMaxProbeRoot(500); generator1.setMaxLook(100); generator1.setMaxLookRoot(100); generator1.setMaxElements(2000); generator1.setRowCuts(3); // Add in generators model.addCutGenerator(&generator1,-1,"Probing"); // Do an uncomplete search on 1 node model.setIntParam(CbcModel::CbcMaxNumNode,1); model.branchAndBound(); return 0; } /* Results: CBC 2.0.0: Cbc0013I At root node, 0 cuts changed objective from 160.236 to 160.236 in 1 passes Cbc0014I Cut generator 0 (Probing) - 6 row cuts (0 active), 0 column cuts CBC 2.1.0 Cbc0013I At root node, 0 cuts changed objective from 160.236 to 160.236 in 1 passes Cbc0014I Cut generator 0 (Probing) - 6 row cuts (0 active), 0 column cuts CBC 2.2.2 Cbc0013I At root node, 0 cuts changed objective from 160.236 to 160.236 in 1 passes Cbc0014I Cut generator 0 (Probing) - 6 row cuts, 0 column cuts (0 active) CBC 2.3.0 Cbc0013I At root node, 0 cuts changed objective from 160.236 to 160.236 in 1 passes Cbc0014I Cut generator 0 (Probing) - 0 row cuts, 0 column cuts (0 active) */