Changes from releases/2.9.3 at r2347 to releases/2.9.2 at r2347


Ignore:
Location:
releases
Files:
1 deleted
13 edited

Legend:

Unmodified
Added
Removed
  • releases/2.9.2/Cbc

  • releases/2.9.2/Cbc/README

    r2347 r2347  
    1 # CBC Version 2.9.2 README
     1CBC README
     2==========
    23
    34Welcome to the README for the COIN Branch and Cut Solver (CBC). CBC is
     
    67be redistributed freely.
    78
    8 ## DOCUMENTATION
    9 
    10 For a quick start guide, please see the INSTALL file in this distribution. A
    11 (somehwat outdated) user's manual is available here:
     9DOCUMENTATION
     10=============
     11
     12For a quick start guide, please see the INSTALL file in this distribution. A (somehwat outdated) user's manual is available here:
    1213
    1314http://www.coin-or.org/Cbc
     
    2223http://projects.coin-or.org/Cbc
    2324
    24 ## SUPPORT
    25 
    26 ### List Serve
     25WHAT'S NEW
     26==========
     27
     28Release 2.8.3:
     29
     301. Fix for handling SOS.
     31
     32Release 2.8.2:
     33
     341. Fixed recognition of Glpk source in main configure.
     35
     362. Minor bugfixes in CoinUtils, Clp, and Cbc.
     37
     38Release 2.8.1:
     39
     40   Ted, please fill this in!
     41
     42Release 2.8.0:
     43
     441. Introduced new secondaryStatus 8 to indicate that solving stopped due to an iteration limit.
     45
     462. Solution pool is now accessible via the command line and the CbcMain* interface.
     47
     483. New mipstart option to read an initial feasible solution from a file. Only values for discrete
     49   variables need to be provided.
     50
     514. Added Proximity Search heuristic by Fischetti and Monaci (off by default):
     52   The simplest way to switch it on using stand-alone version is "-proximity on".
     53
     54   Proximity Search is the new "No-Neighborhood Search" 0-1 MIP refinement heuristic recently proposed by
     55   Fischetti and Monaci (2012). The idea is to define a sub-MIP without additional constraints but with a
     56   modified objective function intended to attract the search in the proximity of the incumbent. The approach
     57   works well for 0-1 MIPs whose solution landscape is not too irregular (meaning the there is reasonable
     58   probability of finding an improved solution by flipping a small number of binary variables), in particular
     59   when it is applied to the first heuristic solutions found at the root node.
     60   
     615. An implementation of Zero-Half-Cuts by Alberto Caprara is now available.
     62   By default, these cuts are off.  To use add to your command line -zerohalfCuts root (or other options) or just -zero.
     63   So far, they may help only on a small subset of problems and may need some tuning.
     64
     65   The implementation of these cuts is described in
     66   G. Andreello, A. Caprara, and M. Fischetti
     67   "Embedding Cuts in a Branch and Cut Framework: a Computational Study with {0,1/2}-Cuts"
     68   INFORMS Journal on Computing 19(2), 229-238, 2007
     69   http://dx.doi.org/10.1287/ijoc.1050.0162
     70
     716. An alternative implementation of a reduce and split cut generator by Giacomo Nannicini is now available.
     72   By default, these cuts are off.  To use add to your command line -reduce2AndSplitCuts root (or other options).
     73
     74   The implementation of these cuts is described in
     75   G. Cornuejols and G. Nannicini
     76   "Practical strategies for generating rank-1 split cuts in mixed-integer linear programming"
     77   Mathematical Programming Computation 3(4), 281-318, 2011
     78   http://dx.doi.org/10.1007/s12532-011-0028-6
     79
     807. An alternative robust implementation of a Gomory cut generator by Giacomo Nannicini is now available.
     81   By default, these cuts are off.  To use add to your command line -GMI root (or other options).
     82
     83   The implementation of these cuts is described in
     84   G. Cornuejols, F. Margot, and G. Nannicini
     85   "On the safety of Gomory cut generators"
     86   http://faculty.sutd.edu.sg/~nannicini/index.php?page=publications
     87
     888. To encourage the use of some of the more exotic/expensive cut generators a parameter -slowcutpasses has been added.
     89   The idea is that the code does these cuts just a few times - less than the more usual cuts.  The default is 10.
     90   The cut generators identified by "may be slow" at present are just Lift and project and ReduceAndSplit (both versions).
     91   
     929. Allow initialization of random seed by user.  Pseudo-random numbers are used in Cbc and Clp.  In Clp they
     93   are used to break ties in degenerate problems, while in Cbc heuristics such as the Feasibility Pump use them   
     94   to decide whether to round up or down.  So if a different pseudo-random seed is given to Clp then you may get
     95   a different continuous optimum and so different cuts and heuristic solutions. This can be switched on by
     96   setting randomSeed for Clp and/or randomCbcSeed for Cbc.  The special value of 0 tells code to use time of day
     97   for initial seed.
     98   
     9910. Building on this idea, Andrea Lodi, Matteo Fischetti, Michele Monaci, Domenico Salvagnin, Yuji Shinano, and Andrea Tramontani
     100   suggest that this idea be improved by running at the root node with multiple copies of solver, each
     101   with its own different seed and then passing in the solutions and cuts so that the main solver has a richer
     102   set of solutions and possibly stronger cuts.  This is switched on by setting -multipleRootPasses.  These can also
     103   be done in parallel.
     104 
     10511. Few changes to presolve for special variables and badly scaled problems (in CoinUtils).
     106
     10712. New option -extraVariables <number> which switches on a trivial re-formulation that introduces extra integer variables
     108    to group together variables with same cost.
     109
     11013. For some problems, cut generators and general branching work better if the problem would be infeasible if the cost is too high.
     111    If the new option -constraintFromCutoff is set, the objective function is added as a constraint which rhs is set to the current
     112    cutoff value (objective value of best known solution).
     113
     114Release 2.7.8:
     115   Look at https://projects.coin-or.org/Cbc/changeset?old_path=%2Freleases%2F2.7.7&new_path=%2Freleases%2F2.7.8 to see all changes.
     116
     1171. Change message when LP simplex iteration limit is hit from "Exiting on maximum nodes"
     118   to "Exiting on maximum number of iterations"
     119
     1202. Fix for using overlapping SOS.
     121
     1223. Fixes in buildsystem.
     123
     124Release 2.7.7:
     125   Look at https://projects.coin-or.org/Cbc/changeset?old_path=%2Freleases%2F2.7.6&new_path=%2Freleases%2F2.7.7 to see all changes.
     126
     1271. Fix to report interruption on user event if SIGINT is received by CbcSolver.
     128   model->status() should now be 5 if this event happened.
     129   Added method CbcModel::sayEventHappened() to make cbc stop due to an 'user event'.
     130
     1312. Other minor fixes.
     132
     133Release 2.7.6:
     134   Look at https://projects.coin-or.org/Cbc/changeset?old_path=%2Freleases%2F2.7.5&new_path=%2Freleases%2F2.7.6 to see all changes.
     135
     1361. Fixes to build system.
     137
     1382. Other minor fixes.
     139
     140Release 2.7.5:
     141   Look at https://projects.coin-or.org/Cbc/changeset?old_path=%2Freleases%2F2.7.4&new_path=%2Freleases%2F2.7.5 to see all changes.
     142
     1431. Fixes to get AMPL interface working again.
     144
     1452. More fixes to MSVC++ files.
     146
     147Release 2.7.4:
     148   Look at https://projects.coin-or.org/Cbc/changeset?old_path=%2Freleases%2F2.7.3&new_path=%2Freleases%2F2.7.4 to see all changes.
     149
     1501. Minor bugfixes.
     151
     152Release 2.7.3:
     153   Look at https://projects.coin-or.org/Cbc/changeset?old_path=%2Freleases%2F2.7.2&new_path=%2Freleases%2F2.7.3 to see all changes.
     154
     1551. Minor bugfixes.
     156
     1572. Fixes to MSVC++ files.
     158
     159Release 2.7.2:
     160   Look at https://projects.coin-or.org/Cbc/changeset?old_path=%2Freleases%2F2.7.1&new_path=%2Freleases%2F2.7.2 to see all changes.
     161
     1621. Allow row/column names for GMPL models.
     163
     1642. Added CbcModel::haveMultiThreadSupport() to indicate whether Cbc library has been compiled with multithread support.
     165
     1663. Added CbcModel::waitingForMiniBranchAndBound() to indicate whether sub-MIP heuristic is currently running.
     167
     1684. Cbc shell should work with readline if configured with --enable-gnu-packages.
     169
     1705. Support for compressed input files (.gz, .bz2) is now enabled by default.
     171
     1726. Fix problems with relative gap tolerance > 100% and further bugs.
     173
     1747. Fixes for MSVC++ Version 9 files.
     175
     1768. Minor fixes in buildsystem; update to BuildTools 0.7.1.
     177
     178Release 2.7.1:
     179   Look at https://projects.coin-or.org/Cbc/changeset?old_path=%2Freleases%2F2.7.0&new_path=%2Freleases%2F2.7.1 to see all changes.
     180
     1811. Fixes to MSVC++ files
     182
     183Release 2.7.0:
     184
     1851. License has been changed to the EPL.
     186
     1872. Support for MSVC++ version 10 added.
     188
     1893. Support for BuildTools version 0.7 to incorporate recent enhancements,
     190including proper library versioning in Linux, prohibiting installation of
     191private headers, etc.
     192
     1934. Updated externals to new stable versions of dependent projects.
     194
     1955. Improvements to heuristics.
     196
     1976. New options for cut generation.
     198
     1997. Improved reporting of results.
     200
     2018. Improvements to documentation.
     202
     2039. Minor bug fixes.
     204
     205SUPPORT
     206=======
     207
     2081. List Serve
    27209
    28210CBC users should use the Cbc mailing list. To subscribe, go to
    29211http://list.coin-or.org/mailman/listinfo/cbc
    30212
    31 ### Bug Reports
     2133. Bug Reports
    32214
    33215Bug reports should be reported on the CBC development web site at
    34216
    35217https://projects.coin-or.org/Cbc/newticket
    36 
    37 ## CHANGELOG
    38 
    39  * Release 5.9.2
    40 
    41    * Fix for proper installation with ```DESTDIR```
    42 
    43  * Release 5.9.1
    44 
    45    * Fix for dependency linking
    46    * Minor bug fixes
    47 
    48  * Release 5.9.0
    49    * Major algorithmic improvements
    50 
    51  * Release 5.8.13
    52    * Improved message handling
    53    * Miscellaneous bug fixes.
    54 
    55  * Release 5.8.12
    56    * Update for dependencies.
    57 
    58  * Release 5.8.11
    59    * Major overhaul of C interface
    60    * Fixes to SOS
    61    * Miscellaneous bug fixes
    62 
    63  * Release 5.8.10
    64    * More changes related to thread safety.
    65    * Fix bug in build system with Visual Studio compiler.
    66    * Miscellaneous bug fixes.
    67 
    68  * Release 5.8.9
    69    * Attempt to make Cbc thread safe.
    70    * Add parallel examples.
    71    * Add CbcSolverUsefulInfo.
    72    * Bug fixes.
    73 
    74  * Release 5.8.8
    75 
    76    * Added example to show how to use Cbc with installed libraries in MSVC++
    77    * Fixed inconsistency in addition of libCbcSolver to dependencies in
    78      {{{cbc_addlibs.txt}}}.
    79 
    80  * Release 5.8.7
    81 
    82    * Changed so that Doxygen builds LaTex
    83    * Fixes for build system
    84 
    85  * Release 5.8.6
    86 
    87    * Added option to explicitly link dependencies to comply with packaging
    88      requirements on Fedora and Debian, as well as allow building of MinGW
    89      DLLs.
    90 
    91  * Release 5.8.5
    92    * Minor fixes to build system
    93 
    94  * Release 5.8.4
    95    * Small bug fixes
    96    * Upgrades to build system
    97 
    98  * Release 2.8.3:
    99 
    100    * Fix for handling SOS.
    101 
    102  * Release 2.8.2:
    103 
    104    * Fixed recognition of Glpk source in main configure.
    105    * Minor bug fixes in CoinUtils, Clp, and Cbc.
    106 
    107  * Release 2.8.1:
    108 
    109    * Minor bug fixes
    110 
    111  * Release 2.8.0:
    112 
    113    * Introduced new secondaryStatus 8 to indicate that solving stopped due to
    114      an iteration limit.
    115    * Solution pool is now accessible via the command line and the CbcMain*
    116      interface.
    117    * New mipstart option to read an initial feasible solution from a file.
    118      Only values for discrete variables need to be provided.
    119 
    120    * Added Proximity Search heuristic by Fischetti and Monaci (off by
    121      default): The simplest way to switch it on using stand-alone version is
    122      ```-proximity on```.
    123 
    124      Proximity Search is the new "No-Neighborhood Search" 0-1 MIP refinement
    125      heuristic recently proposed by Fischetti and Monaci (2012). The idea is
    126      to define a sub-MIP without additional constraints but with a modified
    127      objective function intended to attract the search in the proximity of the
    128      incumbent. The approach works well for 0-1 MIPs whose solution landscape
    129      is not too irregular (meaning the there is reasonable probability of
    130      finding an improved solution by flipping a small number of binary
    131      variables), in particular when it is applied to the first heuristic
    132      solutions found at the root node.
    133    
    134    * An implementation of Zero-Half-Cuts by Alberto Caprara is now available.
    135      By default, these cuts are off. To use add to your command line
    136      -zerohalfCuts root (or other options) or just -zero. So far, they may
    137      help only on a small subset of problems and may need some tuning.
    138 
    139      The implementation of these cuts is described in G. Andreello, A.
    140      Caprara, and M. Fischetti "Embedding Cuts in a Branch and Cut Framework:
    141      a Computational Study with {0,1/2}-Cuts" INFORMS Journal on Computing
    142      19(2), 229-238, 2007 http://dx.doi.org/10.1287/ijoc.1050.0162
    143 
    144    * An alternative implementation of a reduce and split cut generator by
    145      Giacomo Nannicini is now available. By default, these cuts are off. To
    146      use add to your command line -reduce2AndSplitCuts root (or other
    147      options).
    148 
    149      The implementation of these cuts is described in G. Cornuejols and G.
    150      Nannicini "Practical strategies for generating rank-1 split cuts in
    151      mixed-integer linear programming" Mathematical Programming Computation
    152      3(4), 281-318, 2011 http://dx.doi.org/10.1007/s12532-011-0028-6
    153 
    154    * An alternative robust implementation of a Gomory cut generator by Giacomo
    155      Nannicini is now available. By default, these cuts are off. To use add to
    156      your command line -GMI root (or other options).
    157 
    158      The implementation of these cuts is described in G. Cornuejols, F.
    159      Margot, and G. Nannicini "On the safety of Gomory cut generators"
    160      http://faculty.sutd.edu.sg/~nannicini/index.php?page=publications
    161 
    162    * To encourage the use of some of the more exotic/expensive cut generators
    163      a parameter -slowcutpasses has been added. The idea is that the code does
    164      these cuts just a few times - less than the more usual cuts. The default
    165      is 10. The cut generators identified by "may be slow" at present are just
    166      Lift and project and ReduceAndSplit (both versions).
    167    
    168    * Allow initialization of random seed by user. Pseudo-random numbers are
    169      used in Cbc and Clp. In Clp they are used to break ties in degenerate
    170      problems, while in Cbc heuristics such as the Feasibility Pump use them
    171      to decide whether to round up or down. So if a different pseudo-random
    172      seed is given to Clp then you may get a different continuous optimum and
    173      so different cuts and heuristic solutions. This can be switched on by
    174      setting randomSeed for Clp and/or randomCbcSeed for Cbc. The special
    175      value of 0 tells code to use time of day for initial seed.
    176    
    177    * Building on this idea, Andrea Lodi, Matteo Fischetti, Michele Monaci,
    178      Domenico Salvagnin, Yuji Shinano, and Andrea Tramontani suggest that this
    179      idea be improved by running at the root node with multiple copies of
    180      solver, each with its own different seed and then passing in the
    181      solutions and cuts so that the main solver has a richer set of solutions
    182      and possibly stronger cuts. This is switched on by setting
    183      -multipleRootPasses. These can also be done in parallel.
    184  
    185    * Few changes to presolve for special variables and badly scaled problems
    186      (in CoinUtils).
    187 
    188    * New option -extraVariables <number> which switches on a trivial
    189     re-formulation that introduces extra integer variables to group together
    190     variables with same cost.
    191 
    192    * For some problems, cut generators and general branching work better if
    193      the problem would be infeasible if the cost is too high. If the new
    194      option -constraintFromCutoff is set, the objective function is added as a
    195      constraint which rhs is set to the current cutoff value (objective value
    196      of best known solution).
    197 
    198  * Release 2.7.8:
    199 
    200    * Change message when LP simplex iteration limit is hit from "Exiting on
    201      maximum nodes" to "Exiting on maximum number of iterations"
    202    * Fix for using overlapping SOS.
    203    * Fixes in buildsystem.
    204 
    205  * Release 2.7.7:
    206 
    207    * Fix to report interruption on user event if SIGINT is received by
    208      CbcSolver. model->status() should now be 5 if this event happened. Added
    209      method CbcModel::sayEventHappened() to make cbc stop due to an 'user
    210      event'.
    211 
    212    * Other minor fixes.
    213 
    214  * Release 2.7.6:
    215 
    216    * Fixes to build system.
    217 
    218    * Other minor fixes.
    219 
    220  * Release 2.7.5:
    221 
    222    * Fixes to get AMPL interface working again.
    223 
    224    * More fixes to MSVC++ files.
    225 
    226  * Release 2.7.4:
    227 
    228    * Minor bugfixes.
    229 
    230  * Release 2.7.3:
    231 
    232    * Minor bugfixes.
    233 
    234    * Fixes to MSVC++ files.
    235 
    236  * Release 2.7.2:
    237 
    238    * Allow row/column names for GMPL models.
    239 
    240    * Added CbcModel::haveMultiThreadSupport() to indicate whether Cbc library
    241      has been compiled with multithread support.
    242 
    243    * Added CbcModel::waitingForMiniBranchAndBound() to indicate whether
    244      sub-MIP heuristic is currently running.
    245 
    246    * Cbc shell should work with readline if configured with
    247      ```--enable-gnu-packages```.
    248 
    249    * Support for compressed input files (.gz, .bz2) is now enabled by default.
    250 
    251    * Fix problems with relative gap tolerance > 100% and further bugs.
    252 
    253    * Fixes for MSVC++ Version 9 files.
    254 
    255    * Minor fixes in buildsystem; update to BuildTools 0.7.1.
    256 
    257  * Release 2.7.1:
    258 
    259    * Fixes to MSVC++ files
    260 
    261  * Release 2.7.0:
    262 
    263    * License has been changed to the EPL.
    264 
    265    * Support for MSVC++ version 10 added.
    266 
    267    * Support for BuildTools version 0.7 to incorporate recent enhancements,
    268      including proper library versioning in Linux, prohibiting installation of
    269      private headers, etc.
    270 
    271    * Updated externals to new stable versions of dependent projects.
    272 
    273    * Improvements to heuristics.
    274 
    275    * New options for cut generation.
    276 
    277    * Improved reporting of results.
    278 
    279    * Improvements to documentation.
    280 
    281    * Minor bug fixes.
    282 
    283 
  • releases/2.9.2/Cbc/configure

    r2347 r2347  
    11#! /bin/sh
    22# Guess values for system-dependent variables and create Makefiles.
    3 # Generated by GNU Autoconf 2.59 for Cbc 2.9.3.
     3# Generated by GNU Autoconf 2.59 for Cbc 2.9.2.
    44#
    55# Report bugs to <cbc@lists.coin-or.org>.
     
    430430PACKAGE_NAME='Cbc'
    431431PACKAGE_TARNAME='cbc'
    432 PACKAGE_VERSION='2.9.3'
    433 PACKAGE_STRING='Cbc 2.9.3'
     432PACKAGE_VERSION='2.9.2'
     433PACKAGE_STRING='Cbc 2.9.2'
    434434PACKAGE_BUGREPORT='cbc@lists.coin-or.org'
    435435
     
    10061006  # This message is too long to be a string in the A/UX 3.1 sh.
    10071007  cat <<_ACEOF
    1008 \`configure' configures Cbc 2.9.3 to adapt to many kinds of systems.
     1008\`configure' configures Cbc 2.9.2 to adapt to many kinds of systems.
    10091009
    10101010Usage: $0 [OPTION]... [VAR=VALUE]...
     
    10721072if test -n "$ac_init_help"; then
    10731073  case $ac_init_help in
    1074      short | recursive ) echo "Configuration of Cbc 2.9.3:";;
     1074     short | recursive ) echo "Configuration of Cbc 2.9.2:";;
    10751075   esac
    10761076  cat <<\_ACEOF
     
    13091309if $ac_init_version; then
    13101310  cat <<\_ACEOF
    1311 Cbc configure 2.9.3
     1311Cbc configure 2.9.2
    13121312generated by GNU Autoconf 2.59
    13131313
     
    13291329running configure, to aid debugging if configure makes a mistake.
    13301330
    1331 It was created by Cbc $as_me 2.9.3, which was
     1331It was created by Cbc $as_me 2.9.2, which was
    13321332generated by GNU Autoconf 2.59.  Invocation command line was
    13331333
     
    18551855
    18561856# Capture libtool library version, if given.
    1857  coin_libversion=12:3:9
     1857 coin_libversion=12:2:9
    18581858
    18591859
     
    45774577# Define the identity of the package.
    45784578 PACKAGE='cbc'
    4579  VERSION='2.9.3'
     4579 VERSION='2.9.2'
    45804580
    45814581
     
    3117131171cat >&5 <<_CSEOF
    3117231172
    31173 This file was extended by Cbc $as_me 2.9.3, which was
     31173This file was extended by Cbc $as_me 2.9.2, which was
    3117431174generated by GNU Autoconf 2.59.  Invocation command line was
    3117531175
     
    3123431234cat >>$CONFIG_STATUS <<_ACEOF
    3123531235ac_cs_version="\\
    31236 Cbc config.status 2.9.3
     31236Cbc config.status 2.9.2
    3123731237configured by $0, generated by GNU Autoconf 2.59,
    3123831238  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
  • releases/2.9.2/Cbc/configure.ac

    r2347 r2347  
    1313AC_PREREQ(2.59)
    1414
    15 AC_INIT([Cbc],[2.9.3],[cbc@lists.coin-or.org])
     15AC_INIT([Cbc],[2.9.2],[cbc@lists.coin-or.org])
    1616
    1717AC_COPYRIGHT([
     
    4242# externals.  The following macro ensures that those externals are
    4343# retrieved by svn if they are not there yet.
    44 AC_COIN_PROJECTDIR_INIT(Cbc,12:3:9)
     44AC_COIN_PROJECTDIR_INIT(Cbc,12:2:9)
    4545
    4646# Check if user wants to produce debugging code
  • releases/2.9.2/Cbc/src

  • releases/2.9.2/Cbc/src/CbcHeuristic.cpp

    r2347 r2347  
    3131#include "CglProbing.hpp"
    3232#include "OsiAuxInfo.hpp"
    33 #include "OsiRowCutDebugger.hpp"
    3433#include "OsiPresolve.hpp"
    3534#include "CbcBranchActual.hpp"
     
    940939            solver->messageHandler()->logLevel(0)!=-1000)
    941940          process.passInMessageHandler(solver->messageHandler());
    942 #ifdef CGL_DEBUG
    943         /*
    944           We're debugging. (specialOptions 1)
    945         */
    946         if ((model_->specialOptions()&1) != 0) {
    947           const OsiRowCutDebugger *debugger = solver->getRowCutDebugger() ;
    948           if (debugger) {
    949             process.setApplicationData(const_cast<double *>(debugger->optimalSolution()));
    950           }
    951         }
    952 #endif
    953941        solver2 = process.preProcessNonDefault(*solver, false,
    954942                                               numberPasses);
     
    984972                << CoinMessageEol;
    985973            }
    986 #ifdef CGL_DEBUG
    987             if ((model_->specialOptions()&1) != 0) {
    988               const OsiRowCutDebugger *debugger = solver2->getRowCutDebugger() ;
    989               if (debugger) {
    990                 printf("On optimal path after preprocessing\n");
    991               }
    992             }
    993 #endif
    994974            if (returnCode == 1) {
    995975                solver2->resolve();
     
    10661046                    // going for full search and copy across more stuff
    10671047                    model.gutsOfCopy(*model_, 2);
    1068 #ifdef CGL_DEBUG
    1069                     if ((model_->specialOptions()&1) != 0) {
    1070                       const OsiRowCutDebugger *debugger = model.solver()->getRowCutDebugger() ;
    1071                       if (debugger) {
    1072                         printf("On optimal path BB\n");
    1073                       }
    1074                     }
    1075 #endif
    10761048                    assert (!model_->heuristicModel());
    10771049                    model_->setHeuristicModel(&model);
     
    12371209                }
    12381210                //printf("sol %x\n",inputSolution_);
    1239 #ifdef CGL_DEBUG
    1240                 if ((model_->specialOptions()&1) != 0) {
    1241                   const OsiRowCutDebugger *debugger = model.solver()->getRowCutDebugger() ;
    1242                   if (debugger) {
    1243                     printf("On optimal path CC\n");
    1244                   }
    1245                 }
    1246 #endif
    12471211                if (inputSolution_) {
    12481212                    // translate and add a serendipity heuristic
     
    13651329                    if ((model_->moreSpecialOptions()&4194304)!=0)
    13661330                      model.zapGlobalCuts();
    1367 #endif
    1368 #ifdef CGL_DEBUG
    1369                     if ((model_->specialOptions()&1) != 0) {
    1370                       const OsiRowCutDebugger *debugger = model.solver()->getRowCutDebugger() ;
    1371                       if (debugger) {
    1372                         printf("On optimal path DD\n");
    1373                       }
    1374                     }
    13751331#endif
    13761332                    model.branchAndBound();
  • releases/2.9.2/Cbc/src/CbcModel.cpp

    r2347 r2347  
    1236312363        // We can switch off check
    1236412364        if ((specialOptions_&4) == 0 && (moreSpecialOptions2_&10) != 8) {
    12365             // Be on safe side - unless very few integers and large
    12366             bool allSlack = (specialOptions_&2) == 0 && solverCharacteristics_->warmStart();
    12367             if (numberIntegers_*4>solver_->getNumCols()||solver_->getNumCols()<10000)
    12368               allSlack = true;
    12369             if (allSlack) {
     12365            if ((specialOptions_&2) == 0 && solverCharacteristics_->warmStart()) {
    1237012366                /*
    1237112367                  Remove any existing warm start information to be sure there is no
     
    1241912415                //OsiHintStrength saveStrength;
    1242012416                //bool savePrintHint;
    12421                 //solver_->writeMpsNative("infeas.mps", NULL, NULL, 2);
     12417                //solver_->writeMps("infeas");
    1242212418                //bool gotHint = (solver_->getHintParam(OsiDoReducePrint,savePrintHint,saveStrength));
    1242312419                //gotHint = (solver_->getHintParam(OsiDoScale,saveTakeHint,saveStrength));
     
    1264812644#if CBC_FEASIBILITY_INVESTIGATE==0
    1264912645                }
    12650 #else
    12651                 solver_->writeMpsNative("BFeasible.mps",NULL,NULL,2);
    1265212646#endif
    1265312647                //if (fabs(objValue-objectiveValue)>1.0e-7*fabs(objectiveValue)) {
  • releases/2.9.2/Cbc/src/CbcSolver.cpp

    r2347 r2347  
    10841084             CbcSolverUsefulData & parameterData)
    10851085{
    1086     char * input = CoinStrdup(input2 ? input2 : "") ;
     1086    char * input = CoinStrdup(input2);
    10871087    size_t length = strlen(input);
    1088     bool blank = input[0] == ' ';
     1088    bool blank = input[0] == '0';
    10891089    int n = blank ? 0 : 1;
    10901090    for (size_t i = 0; i < length; i++) {
     
    42454245                                    OsiClpSolverInterface * clpSolver2 = dynamic_cast< OsiClpSolverInterface*> (solver2);
    42464246                                    ClpSimplex * lpSolver = clpSolver2->getModelPtr();
    4247                                     lpSolver->writeMps("presolved.mps", 2, 1, lpSolver->optimizationDirection());
     4247                                    lpSolver->writeMps("presolved.mps", 0, 1, lpSolver->optimizationDirection());
    42484248                                    printf("Preprocessed model (minimization) on presolved.mps\n");
    42494249                                }
     
    82168216                                        iColumn = -1;
    82178217                                        int lowestPriority=-COIN_INT_MAX;
    8218                                         bool needCard = true;
    8219                                         while (!needCard || fgets(line, 1000, fp)) {
    8220                                             if (!strncmp(line, "ENDATA", 6)||
    8221                                                 !strncmp(line, "endata", 6))
     8218                                        while (iColumn>=0 || fgets(line, 1000, fp)) {
     8219                                            if (!strncmp(line, "ENDATA", 6))
    82228220                                                break;
    82238221                                            nLine++;
    8224                                             if (!useMasks) 
     8222                                            if (!useMasks)
    82258223                                              iColumn = -1;
    8226                                             else
    8227                                               needCard=false;
    82288224                                            double up = 0.0;
    82298225                                            double down = 0.0;
     
    82878283                                                      }
    82888284                                                    }
    8289                                                     if (iColumn == numberColumns) {
     8285                                                    if (iColumn == numberColumns)
    82908286                                                        iColumn = -1;
    8291                                                         needCard = true;
    8292                                                     }
    82938287                                                    break;
    82948288                                                    // number
  • releases/2.9.2/Cbc/src/Makefile.am

    r2347 r2347  
    252252        CbcObject.hpp \
    253253        CbcObjectUpdateData.hpp \
    254         CbcParam.hpp \
    255254        CbcPartialNodeInfo.hpp \
    256255        CbcSimpleInteger.hpp \
  • releases/2.9.2/Cbc/src/Makefile.in

    r2347 r2347  
    708708        CbcObject.hpp \
    709709        CbcObjectUpdateData.hpp \
    710         CbcParam.hpp \
    711710        CbcPartialNodeInfo.hpp \
    712711        CbcSimpleInteger.hpp \
  • releases/2.9.2/Cbc/src/config_cbc_default.h

    r2347 r2347  
    66
    77/* Version number of project */
    8 #define CBC_VERSION "2.9.3"
     8#define CBC_VERSION "2.9.2"
    99
    1010/* Major Version number of project */
     
    1515
    1616/* Release Version number of project */
    17 #define CBC_VERSION_RELEASE 3
     17#define CBC_VERSION_RELEASE 2
  • releases/2.9.2/configure

    r2347 r2347  
    22# From configure.ac 0.9.
    33# Guess values for system-dependent variables and create Makefiles.
    4 # Generated by GNU Autoconf 2.59 for Cbc 2.9.3.
     4# Generated by GNU Autoconf 2.59 for Cbc 2.9.2.
    55#
    66# Report bugs to <cbc@lists.coin-or.org>.
     
    431431PACKAGE_NAME='Cbc'
    432432PACKAGE_TARNAME='cbc'
    433 PACKAGE_VERSION='2.9.3'
    434 PACKAGE_STRING='Cbc 2.9.3'
     433PACKAGE_VERSION='2.9.2'
     434PACKAGE_STRING='Cbc 2.9.2'
    435435PACKAGE_BUGREPORT='cbc@lists.coin-or.org'
    436436
     
    10391039  # This message is too long to be a string in the A/UX 3.1 sh.
    10401040  cat <<_ACEOF
    1041 \`configure' configures Cbc 2.9.3 to adapt to many kinds of systems.
     1041\`configure' configures Cbc 2.9.2 to adapt to many kinds of systems.
    10421042
    10431043Usage: $0 [OPTION]... [VAR=VALUE]...
     
    11051105if test -n "$ac_init_help"; then
    11061106  case $ac_init_help in
    1107      short | recursive ) echo "Configuration of Cbc 2.9.3:";;
     1107     short | recursive ) echo "Configuration of Cbc 2.9.2:";;
    11081108   esac
    11091109  cat <<\_ACEOF
     
    13311331if $ac_init_version; then
    13321332  cat <<\_ACEOF
    1333 Cbc configure 2.9.3
     1333Cbc configure 2.9.2
    13341334generated by GNU Autoconf 2.59
    13351335
     
    13511351running configure, to aid debugging if configure makes a mistake.
    13521352
    1353 It was created by Cbc $as_me 2.9.3, which was
     1353It was created by Cbc $as_me 2.9.2, which was
    13541354generated by GNU Autoconf 2.59.  Invocation command line was
    13551355
     
    51175117# Define the identity of the package.
    51185118 PACKAGE='cbc'
    5119  VERSION='2.9.3'
     5119 VERSION='2.9.2'
    51205120
    51215121
     
    2346023460cat >&5 <<_CSEOF
    2346123461
    23462 This file was extended by Cbc $as_me 2.9.3, which was
     23462This file was extended by Cbc $as_me 2.9.2, which was
    2346323463generated by GNU Autoconf 2.59.  Invocation command line was
    2346423464
     
    2351823518cat >>$CONFIG_STATUS <<_ACEOF
    2351923519ac_cs_version="\\
    23520 Cbc config.status 2.9.3
     23520Cbc config.status 2.9.2
    2352123521configured by $0, generated by GNU Autoconf 2.59,
    2352223522  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
  • releases/2.9.2/configure.ac

    r2347 r2347  
    1313AC_PREREQ(2.59)
    1414
    15 AC_INIT([Cbc],[2.9.3],[cbc@lists.coin-or.org])
     15AC_INIT([Cbc],[2.9.2],[cbc@lists.coin-or.org])
    1616
    1717AC_COPYRIGHT([
Note: See TracChangeset for help on using the changeset viewer.