Changes from releases/2.8.9 at r2341 to releases/2.8.10 at r2341


Ignore:
Location:
releases/2.8.10
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • releases/2.8.10/Cbc/configure

    r2341 r2341  
    11#! /bin/sh
    22# Guess values for system-dependent variables and create Makefiles.
    3 # Generated by GNU Autoconf 2.59 for Cbc 2.8.9.
     3# Generated by GNU Autoconf 2.59 for Cbc 2.8.10.
    44#
    55# Report bugs to <cbc@lists.coin-or.org>.
     
    430430PACKAGE_NAME='Cbc'
    431431PACKAGE_TARNAME='cbc'
    432 PACKAGE_VERSION='2.8.9'
    433 PACKAGE_STRING='Cbc 2.8.9'
     432PACKAGE_VERSION='2.8.10'
     433PACKAGE_STRING='Cbc 2.8.10'
    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.8.9 to adapt to many kinds of systems.
     1008\`configure' configures Cbc 2.8.10 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.8.9:";;
     1074     short | recursive ) echo "Configuration of Cbc 2.8.10:";;
    10751075   esac
    10761076  cat <<\_ACEOF
     
    13061306if $ac_init_version; then
    13071307  cat <<\_ACEOF
    1308 Cbc configure 2.8.9
     1308Cbc configure 2.8.10
    13091309generated by GNU Autoconf 2.59
    13101310
     
    13261326running configure, to aid debugging if configure makes a mistake.
    13271327
    1328 It was created by Cbc $as_me 2.8.9, which was
     1328It was created by Cbc $as_me 2.8.10, which was
    13291329generated by GNU Autoconf 2.59.  Invocation command line was
    13301330
     
    18521852
    18531853# Capture libtool library version, if given.
    1854  coin_libversion=11:9:8
     1854 coin_libversion=11:10:8
    18551855
    18561856
     
    19881988    esac
    19891989  fi
    1990 
    1991 
    1992  case $build in
    1993   *-mingw*)
    1994     if test "${LD+set}" = set; then :; else
    1995       LD=link
    1996     fi
    1997     ;;
    1998  esac
    1999  if test $enable_msvc = yes ; then
    2000    if test "x${LD+set}" = xset; then :; else
    2001      LD=link
    2002    fi
    2003  fi
    2004 
    20051990
    20061991
     
    32253210  clang* ) ;;
    32263211  cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*)
    3227 
    3228  case $build in
    3229   *-mingw*)
    3230     if test "${LD+set}" = set; then :; else
    3231       LD=link
    3232     fi
    3233     ;;
    3234  esac
    3235  if test $enable_msvc = yes ; then
    3236    if test "x${LD+set}" = xset; then :; else
    3237      LD=link
    3238    fi
    3239  fi
    3240 
     3212    LD=link
    32413213    ;;
    32423214esac
     
    41144086fi
    41154087
    4116 # correct the LD variable in a mingw build with MS or intel compiler
     4088# correct the LD variable in a build with MS or intel compiler
    41174089case "$CXX" in
    41184090  clang* ) ;;
    41194091  cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*)
    4120 
    4121  case $build in
    4122   *-mingw*)
    4123     if test "${LD+set}" = set; then :; else
    4124       LD=link
    4125     fi
    4126     ;;
    4127  esac
    4128  if test $enable_msvc = yes ; then
    4129    if test "x${LD+set}" = xset; then :; else
    4130      LD=link
    4131    fi
    4132  fi
    4133 
     4092    LD=link
    41344093    ;;
    41354094esac
     
    46154574# Define the identity of the package.
    46164575 PACKAGE='cbc'
    4617  VERSION='2.8.9'
     4576 VERSION='2.8.10'
    46184577
    46194578
     
    59115870*-*-irix6*)
    59125871  # Find out which ABI we are using.
    5913   echo '#line 5913 "configure"' > conftest.$ac_ext
     5872  echo '#line 5872 "configure"' > conftest.$ac_ext
    59145873  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
    59155874  (eval $ac_compile) 2>&5
     
    70457004
    70467005# Provide some information about the compiler.
    7047 echo "$as_me:7047:" \
     7006echo "$as_me:7006:" \
    70487007     "checking for Fortran 77 compiler version" >&5
    70497008ac_compiler=`set X $ac_compile; echo $2`
     
    81128071   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    81138072   -e 's:$: $lt_compiler_flag:'`
    8114    (eval echo "\"\$as_me:8114: $lt_compile\"" >&5)
     8073   (eval echo "\"\$as_me:8073: $lt_compile\"" >&5)
    81158074   (eval "$lt_compile" 2>conftest.err)
    81168075   ac_status=$?
    81178076   cat conftest.err >&5
    8118    echo "$as_me:8118: \$? = $ac_status" >&5
     8077   echo "$as_me:8077: \$? = $ac_status" >&5
    81198078   if (exit $ac_status) && test -s "$ac_outfile"; then
    81208079     # The compiler can only warn and ignore the option if not recognized
     
    83808339   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    83818340   -e 's:$: $lt_compiler_flag:'`
    8382    (eval echo "\"\$as_me:8382: $lt_compile\"" >&5)
     8341   (eval echo "\"\$as_me:8341: $lt_compile\"" >&5)
    83838342   (eval "$lt_compile" 2>conftest.err)
    83848343   ac_status=$?
    83858344   cat conftest.err >&5
    8386    echo "$as_me:8386: \$? = $ac_status" >&5
     8345   echo "$as_me:8345: \$? = $ac_status" >&5
    83878346   if (exit $ac_status) && test -s "$ac_outfile"; then
    83888347     # The compiler can only warn and ignore the option if not recognized
     
    84848443   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    84858444   -e 's:$: $lt_compiler_flag:'`
    8486    (eval echo "\"\$as_me:8486: $lt_compile\"" >&5)
     8445   (eval echo "\"\$as_me:8445: $lt_compile\"" >&5)
    84878446   (eval "$lt_compile" 2>out/conftest.err)
    84888447   ac_status=$?
    84898448   cat out/conftest.err >&5
    8490    echo "$as_me:8490: \$? = $ac_status" >&5
     8449   echo "$as_me:8449: \$? = $ac_status" >&5
    84918450   if (exit $ac_status) && test -s out/conftest2.$ac_objext
    84928451   then
     
    1082910788  lt_status=$lt_dlunknown
    1083010789  cat > conftest.$ac_ext <<EOF
    10831 #line 10831 "configure"
     10790#line 10790 "configure"
    1083210791#include "confdefs.h"
    1083310792
     
    1092910888  lt_status=$lt_dlunknown
    1093010889  cat > conftest.$ac_ext <<EOF
    10931 #line 10931 "configure"
     10890#line 10890 "configure"
    1093210891#include "confdefs.h"
    1093310892
     
    1327313232   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1327413233   -e 's:$: $lt_compiler_flag:'`
    13275    (eval echo "\"\$as_me:13275: $lt_compile\"" >&5)
     13234   (eval echo "\"\$as_me:13234: $lt_compile\"" >&5)
    1327613235   (eval "$lt_compile" 2>conftest.err)
    1327713236   ac_status=$?
    1327813237   cat conftest.err >&5
    13279    echo "$as_me:13279: \$? = $ac_status" >&5
     13238   echo "$as_me:13238: \$? = $ac_status" >&5
    1328013239   if (exit $ac_status) && test -s "$ac_outfile"; then
    1328113240     # The compiler can only warn and ignore the option if not recognized
     
    1337713336   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1337813337   -e 's:$: $lt_compiler_flag:'`
    13379    (eval echo "\"\$as_me:13379: $lt_compile\"" >&5)
     13338   (eval echo "\"\$as_me:13338: $lt_compile\"" >&5)
    1338013339   (eval "$lt_compile" 2>out/conftest.err)
    1338113340   ac_status=$?
    1338213341   cat out/conftest.err >&5
    13383    echo "$as_me:13383: \$? = $ac_status" >&5
     13342   echo "$as_me:13342: \$? = $ac_status" >&5
    1338413343   if (exit $ac_status) && test -s out/conftest2.$ac_objext
    1338513344   then
     
    1494714906   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1494814907   -e 's:$: $lt_compiler_flag:'`
    14949    (eval echo "\"\$as_me:14949: $lt_compile\"" >&5)
     14908   (eval echo "\"\$as_me:14908: $lt_compile\"" >&5)
    1495014909   (eval "$lt_compile" 2>conftest.err)
    1495114910   ac_status=$?
    1495214911   cat conftest.err >&5
    14953    echo "$as_me:14953: \$? = $ac_status" >&5
     14912   echo "$as_me:14912: \$? = $ac_status" >&5
    1495414913   if (exit $ac_status) && test -s "$ac_outfile"; then
    1495514914     # The compiler can only warn and ignore the option if not recognized
     
    1505115010   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1505215011   -e 's:$: $lt_compiler_flag:'`
    15053    (eval echo "\"\$as_me:15053: $lt_compile\"" >&5)
     15012   (eval echo "\"\$as_me:15012: $lt_compile\"" >&5)
    1505415013   (eval "$lt_compile" 2>out/conftest.err)
    1505515014   ac_status=$?
    1505615015   cat out/conftest.err >&5
    15057    echo "$as_me:15057: \$? = $ac_status" >&5
     15016   echo "$as_me:15016: \$? = $ac_status" >&5
    1505815017   if (exit $ac_status) && test -s out/conftest2.$ac_objext
    1505915018   then
     
    1725817217   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1725917218   -e 's:$: $lt_compiler_flag:'`
    17260    (eval echo "\"\$as_me:17260: $lt_compile\"" >&5)
     17219   (eval echo "\"\$as_me:17219: $lt_compile\"" >&5)
    1726117220   (eval "$lt_compile" 2>conftest.err)
    1726217221   ac_status=$?
    1726317222   cat conftest.err >&5
    17264    echo "$as_me:17264: \$? = $ac_status" >&5
     17223   echo "$as_me:17223: \$? = $ac_status" >&5
    1726517224   if (exit $ac_status) && test -s "$ac_outfile"; then
    1726617225     # The compiler can only warn and ignore the option if not recognized
     
    1752617485   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1752717486   -e 's:$: $lt_compiler_flag:'`
    17528    (eval echo "\"\$as_me:17528: $lt_compile\"" >&5)
     17487   (eval echo "\"\$as_me:17487: $lt_compile\"" >&5)
    1752917488   (eval "$lt_compile" 2>conftest.err)
    1753017489   ac_status=$?
    1753117490   cat conftest.err >&5
    17532    echo "$as_me:17532: \$? = $ac_status" >&5
     17491   echo "$as_me:17491: \$? = $ac_status" >&5
    1753317492   if (exit $ac_status) && test -s "$ac_outfile"; then
    1753417493     # The compiler can only warn and ignore the option if not recognized
     
    1763017589   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1763117590   -e 's:$: $lt_compiler_flag:'`
    17632    (eval echo "\"\$as_me:17632: $lt_compile\"" >&5)
     17591   (eval echo "\"\$as_me:17591: $lt_compile\"" >&5)
    1763317592   (eval "$lt_compile" 2>out/conftest.err)
    1763417593   ac_status=$?
    1763517594   cat out/conftest.err >&5
    17636    echo "$as_me:17636: \$? = $ac_status" >&5
     17595   echo "$as_me:17595: \$? = $ac_status" >&5
    1763717596   if (exit $ac_status) && test -s out/conftest2.$ac_objext
    1763817597   then
     
    3120031159cat >&5 <<_CSEOF
    3120131160
    31202 This file was extended by Cbc $as_me 2.8.9, which was
     31161This file was extended by Cbc $as_me 2.8.10, which was
    3120331162generated by GNU Autoconf 2.59.  Invocation command line was
    3120431163
     
    3126331222cat >>$CONFIG_STATUS <<_ACEOF
    3126431223ac_cs_version="\\
    31265 Cbc config.status 2.8.9
     31224Cbc config.status 2.8.10
    3126631225configured by $0, generated by GNU Autoconf 2.59,
    3126731226  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
  • releases/2.8.10/Cbc/configure.ac

    r2341 r2341  
    1313AC_PREREQ(2.59)
    1414
    15 AC_INIT([Cbc],[2.8.9],[cbc@lists.coin-or.org])
     15AC_INIT([Cbc],[2.8.10],[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,11:9:8)
     44AC_COIN_PROJECTDIR_INIT(Cbc,11:10:8)
    4545
    4646# Check if user wants to produce debugging code
  • releases/2.8.10/Cbc/src/CbcMipStartIO.cpp

    r2341 r2341  
    1111#include <OsiSolverInterface.hpp>
    1212#include "CbcMessage.hpp"
     13#include "CbcHeuristic.hpp"
    1314#include <CbcModel.hpp>
    1415#include "CbcMipStartIO.hpp"
     
    2324
    2425   for ( size_t i=0 ; i<l ; ++i )
    25       if (!(isdigit(str[i])||(str[i]=='.')))
     26     if (!(isdigit(str[i])||(str[i]=='.')||(str[i]=='-')))
    2627         return false;
    2728
     
    8182      model->messageHandler()->message(CBC_GENERAL, model->messages())
    8283        << printLine << CoinMessageEol;
     84      if (colValues.size()<model->getNumCols()) {
     85        int numberColumns = model->getNumCols();
     86        OsiSolverInterface * solver = model->solver();
     87        vector< pair< string, double > > fullValues;
     88        /* for fast search of column names */
     89        map< string, int > colIdx;
     90        for (int i=0;i<numberColumns;i++) {
     91          fullValues.push_back( pair<string, double>(solver->getColName(i),0.0) );
     92          colIdx[solver->getColName(i)] = i;
     93        }
     94        for ( int i=0 ; (i<(int)colValues.size()) ; ++i )
     95          {
     96            map< string, int >::const_iterator mIt = colIdx.find( colValues[i].first );
     97            if ( mIt != colIdx.end() ) {
     98              const int idx = mIt->second;
     99              double v = colValues[i].second;
     100              fullValues[idx].second=v;
     101            }
     102          }
     103        colValues=fullValues;
     104      }
    83105   } else
    84106   {
     
    113135   int notFound = 0;
    114136   char colNotFound[256] = "";
     137   int nContinuousFixed = 0;
    115138   for ( int i=0 ; (i<(int)colValues.size()) ; ++i )
    116139   {
     
    130153         if (lp->isInteger(idx))  // just to avoid small
    131154            v = floor( v+0.5 );   // fractional garbage
     155         else
     156           nContinuousFixed++;
    132157         lp->setColBounds( idx, v, v );
    133158         ++fixed;
     
    154179      model->messageHandler()->message(CBC_GENERAL, model->messages())
    155180        << "Warning: mipstart values could not be used to build a solution." << CoinMessageEol;
    156       status = 1;
    157       goto TERMINATE;
     181      if (nContinuousFixed) {
     182        model->messageHandler()->message(CBC_GENERAL, model->messages())
     183          << "Trying just fixing integer variables." << CoinMessageEol;
     184        int numberColumns = lp->getNumCols();
     185        const double * oldLower = model->solver()->getColLower();
     186        const double * oldUpper = model->solver()->getColUpper();
     187        for ( int i=0 ; i<numberColumns ; ++i ) {
     188          if (!lp->isInteger(i)) {
     189            lp->setColLower(i,oldLower[i]);
     190            lp->setColUpper(i,oldUpper[i]);
     191          }
     192        }
     193        lp->initialSolve();
     194        if (!lp->isProvenOptimal())
     195          model->messageHandler()->message(CBC_GENERAL, model->messages())
     196            << "Still no good." << CoinMessageEol;
     197      }
     198      if (!lp->isProvenOptimal()) {
     199        status = 1;
     200        goto TERMINATE;
     201      }
    158202   }
    159203
     
    165209        << printLine << CoinMessageEol;
    166210      double start = CoinCpuTime();
     211#if 1
     212      CbcSerendipity heuristic(*model);
     213      heuristic.setFractionSmall(2.0);
     214      heuristic.setFeasibilityPumpOptions(1008013);
     215      int returnCode = heuristic.smallBranchAndBound(lp,
     216                                                     1000, sol,
     217                                                     compObj,
     218                                                     model->getCutoff(),
     219                                                     "ReduceInMIPStart");
     220      if ((returnCode&1) != 0) {
     221         sprintf( printLine,"Mini branch and bound defined values for remaining variables in %.2f seconds.",
     222                  CoinCpuTime()-start);
     223         model->messageHandler()->message(CBC_GENERAL, model->messages())
     224           << printLine << CoinMessageEol;
     225         foundIntegerSol = true;
     226         obj = compObj;
     227      }
     228#else
    167229      CbcModel babModel( *lp );
    168230      babModel.setLogLevel( 0 );
     
    180242         obj = compObj = babModel.getObjValue();
    181243      }
     244#endif
    182245      else
    183246      {
  • releases/2.8.10/Cbc/src/CbcModel.cpp

    r2341 r2341  
    43794379            //MODIF PIERRE
    43804380            bestPossibleObjective_ = tree_->getBestPossibleObjective();
     4381#ifdef CBC_THREAD
     4382            if (parallelMode() > 0 && master_) {
     4383              // need to adjust for ones not on tree
     4384              int numberThreads = master_->numberThreads();
     4385              for (int i=0;i<numberThreads;i++) {
     4386                CbcThread * child = master_->child(i);
     4387                if (child->node()) {
     4388                  // adjust
     4389                  double value = child->node()->objectiveValue();
     4390                  bestPossibleObjective_ = CoinMin(bestPossibleObjective_, value);
     4391                }
     4392              }
     4393            }
     4394#endif
    43814395            unlockThread();
    43824396#ifdef CLP_INVESTIGATE
     
    50345048    originalContinuousObjective_ = solver_->getObjValue() * solver_->getObjSense();
    50355049    bestPossibleObjective_ = originalContinuousObjective_;
     5050    if (solver_->isProvenDualInfeasible())
     5051      originalContinuousObjective_ = -COIN_DBL_MAX;
    50365052    delete [] continuousSolution_;
    50375053    continuousSolution_ = CoinCopyOfArray(solver_->getColSolution(),
     
    65766592CbcModel::isProvenInfeasible() const
    65776593{
    6578     if (!status_ && bestObjective_ >= 1.0e30)
     6594  if (!status_ && (bestObjective_ >= 1.0e30 
     6595                   && (secondaryStatus_==0||secondaryStatus_==1)))
    65796596        return true;
    65806597    else
     
    1310913126{
    1311013127    if (status_ != -1) {
    13111         return originalContinuousObjective_ < 1.0e50;
     13128        return fabs(originalContinuousObjective_) < 1.0e50;
    1311213129    } else {
    1311313130        return solver_->isProvenOptimal();
     
    1686916886    bool hitMaxTime = (totalTime >= maxSeconds);
    1687016887    if (parentModel_ && !hitMaxTime) {
    16871         // In a sub tree so need to add both times
    16872         totalTime += parentModel_->getCurrentSeconds();
     16888        // In a sub tree
     16889        assert (parentModel_);
    1687316890        maxSeconds = parentModel_->getMaximumSeconds();
    1687416891        hitMaxTime = (totalTime >= maxSeconds);
  • releases/2.8.10/Cbc/src/CbcModel.hpp

    r2341 r2341  
    20412041        }
    20422042    }
     2043    /// Thread stuff for master
     2044    inline CbcBaseModel * master() const
     2045    { return master_;}
    20432046    /// From here to end of section - code in CbcThread.cpp until class changed
    20442047    /// Returns true if locked
  • releases/2.8.10/Cbc/src/CbcSolver.cpp

    r2341 r2341  
    16091609                // modify objective if necessary
    16101610                solver->setObjSense(info.direction);
    1611                 solver->setDblParam(OsiObjOffset, info.offset);
     1611                solver->setDblParam(OsiObjOffset, -info.offset);
    16121612                if (info.offset) {
    16131613                    sprintf(generalPrint, "Ampl objective offset is %g",
     
    39893989                                        numberPasses = (tunePreProcess / 1000000) - 1;
    39903990                                        tunePreProcess = tunePreProcess % 1000000;
    3991                                     } else if (tunePreProcess >= 1000) {
    3992                                         numberPasses = (tunePreProcess / 1000) - 1;
    3993                                         tunePreProcess = tunePreProcess % 1000;
     3991                                    } else if (tunePreProcess >= 10000) {
     3992                                        numberPasses = (tunePreProcess / 10000) - 1;
     3993                                        tunePreProcess = tunePreProcess % 10000;
    39943994                                    }
    39953995#ifndef CBC_OTHER_SOLVER
     
    50945094#endif
    50955095                                const int * originalColumns = preProcess ? process.originalColumns() : NULL;
    5096                                 if (mipStart.size())
     5096                                if (mipStart.size() && !mipStartBefore.size())
    50975097                                {
    50985098                                   std::vector< std::string > colNames;
    50995099                                   if (preProcess)
    51005100                                   {
     5101                                     std::vector< std::pair< std::string, double > > mipStart2;
    51015102                                     for ( int i=0 ; (i<babModel_->solver()->getNumCols()) ; ++i ) {
    51025103                                       int iColumn = babModel_->originalColumns()[i];
    51035104                                       if (iColumn>=0) {
    51045105                                         colNames.push_back( model_.solver()->getColName( iColumn ) );
     5106                                         babModel_->solver()->setColName(i,model_.solver()->getColName(iColumn));
     5107                                         mipStart2.push_back(mipStart[iColumn]);
    51055108                                       } else {
    51065109                                         // created variable
     
    51105113                                       }
    51115114                                     }
     5115                                     mipStart = mipStart2;
    51125116                                   } else {
    51135117                                      for ( int i=0 ; (i<babModel_->solver()->getNumCols()) ; ++i )
     
    87558759                                }
    87568760                                    // Write solution header (suggested by Luigi Poderico)
     8761                                    // Refresh solver
     8762                                    lpSolver = clpSolver->getModelPtr();
    87578763                                    lpSolver->computeObjectiveValue(false);
    87588764                                    double objValue = lpSolver->getObjValue();
  • releases/2.8.10/Cbc/src/CbcThread.hpp

    r2341 r2341  
    389389        return threadModel_[i];
    390390    }
     391 
     392    /// Returns pointer to a child thread
     393    inline CbcThread * child(int thread) const
     394    { return children_+thread;}
     395
     396    /// Returns number of children
     397    inline int numberThreads() const
     398    { return numberThreads_;}
    391399
    392400    /// Sets Dantzig state in children
  • releases/2.8.10/Cbc/src/CbcTree.cpp

    r2341 r2341  
    77#include "CbcNode.hpp"
    88#include "CbcTree.hpp"
     9#include "CbcThread.hpp"
    910#include "CbcCountRowCut.hpp"
    1011#include "CbcCompareActual.hpp"
     
    642643    delete [] nodeArray;
    643644    delete [] depth;
     645#ifdef CBC_THREAD
     646    if (model->parallelMode() > 0 && model->master()) {
     647      // need to adjust for ones not on tree
     648      CbcBaseModel * master = model->master();
     649      int numberThreads = master->numberThreads();
     650      for (int i=0;i<numberThreads;i++) {
     651        CbcThread * child = master->child(i);
     652        if (child->node()) {
     653          // adjust
     654          double value = child->node()->objectiveValue();
     655          bestPossibleObjective = CoinMin(bestPossibleObjective, value);
     656        }
     657      }
     658    }
     659#endif
    644660}
    645661
     
    908924        bestPossibleObjective = CoinMin(bestPossibleObjective, lastNode_->objectiveValue());
    909925    }
     926#ifdef CBC_THREAD
     927    if (model->parallelMode() > 0 && model->master()) {
     928      // need to adjust for ones not on tree
     929      CbcBaseModel * master = model->master();
     930      int numberThreads = master->numberThreads();
     931      for (int i=0;i<numberThreads;i++) {
     932        CbcThread * child = master->child(i);
     933        if (child->node()) {
     934          // adjust
     935          double value = child->node()->objectiveValue();
     936          bestPossibleObjective = CoinMin(bestPossibleObjective, value);
     937        }
     938      }
     939    }
     940#endif
    910941    CbcCompareDefault * compareDefault
    911942    = dynamic_cast<CbcCompareDefault *> (comparison_.test_);
     
    956987        }
    957988    }
     989#ifdef CBC_THREAD
     990    if (model->parallelMode() > 0 && model->master()) {
     991      // need to adjust for ones not on tree
     992      CbcBaseModel * master = model->master();
     993      int numberThreads = master->numberThreads();
     994      for (int i=0;i<numberThreads;i++) {
     995        CbcThread * child = master->child(i);
     996        if (child->node()) {
     997          // adjust
     998          double value = child->node()->objectiveValue();
     999          bestPossibleObjective = CoinMin(bestPossibleObjective, value);
     1000        }
     1001      }
     1002    }
     1003#endif
    9581004    if (lastNode_) {
    9591005        double value = lastNode_->objectiveValue();
     
    12591305        }
    12601306    }
     1307#ifdef CBC_THREAD
     1308    if (model->parallelMode() > 0 && model->master()) {
     1309      // need to adjust for ones not on tree
     1310      CbcBaseModel * master = model->master();
     1311      int numberThreads = master->numberThreads();
     1312      for (int i=0;i<numberThreads;i++) {
     1313        CbcThread * child = master->child(i);
     1314        if (child->node()) {
     1315          // adjust
     1316          double value = child->node()->objectiveValue();
     1317          bestPossibleObjective = CoinMin(bestPossibleObjective, value);
     1318        }
     1319      }
     1320    }
     1321#endif
    12611322    /*
    12621323      Rebuild the heap using the retained nodes.
  • releases/2.8.10/Cbc/src/Cbc_ampl.cpp

    r2341 r2341  
    698698int ampl_obj_prec()
    699699{
    700     return obj_prec();
     700    int precision = obj_prec();
     701    if (precision<=0)
     702        precision=15;
     703    return precision;
    701704}
    702705void writeAmpl(ampl_info * info)
     
    13201323    free(rowUpper);
    13211324    free(objective);
     1325    // space for building a row
     1326    char * temp = new char [30*numberColumns_];
    13221327    // do names
    13231328    int iRow;
     
    13771382                                linear = true;
    13781383                            }
    1379                             char temp[1000];
    13801384                            char temp2[30];
    13811385                            if (value == 1.0)
     
    13961400                                    sprintf(temp, "%s%s", expr, temp2);
    13971401                            }
    1398                             assert (strlen(temp) < 1000);
     1402                            assert (static_cast<int>(strlen(temp)) < 30*numberColumns_);
    13991403                            setElement(iRow, j, temp);
    14001404                            if (amplInfo->logLevel > 1)
     
    14221426                                linear = true;
    14231427                            }
    1424                             char temp[1000];
    14251428                            char temp2[30];
    14261429                            if (value == 1.0)
     
    14411444                                    sprintf(temp, "%s%s", expr, temp2);
    14421445                            }
    1443                             assert (strlen(temp) < 1000);
     1446                            assert (static_cast<int>(strlen(temp)) < 30*numberColumns_);
    14441447                            setObjective(j, temp);
    14451448                            if (amplInfo->logLevel > 1)
     
    14551458        }
    14561459    }
     1460    delete [] temp;
    14571461    free(colqp);
    14581462    free(z);
  • releases/2.8.10/Cbc/src/config_cbc_default.h

    r2341 r2341  
    66
    77/* Version number of project */
    8 #define CBC_VERSION "2.8.9"
     8#define CBC_VERSION "2.8.10"
    99
    1010/* Major Version number of project */
     
    1515
    1616/* Release Version number of project */
    17 #define CBC_VERSION_RELEASE 9
     17#define CBC_VERSION_RELEASE 10
  • releases/2.8.10/configure

    r2341 r2341  
    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.8.9.
     4# Generated by GNU Autoconf 2.59 for Cbc 2.8.10.
    55#
    66# Report bugs to <cbc@lists.coin-or.org>.
     
    431431PACKAGE_NAME='Cbc'
    432432PACKAGE_TARNAME='cbc'
    433 PACKAGE_VERSION='2.8.9'
    434 PACKAGE_STRING='Cbc 2.8.9'
     433PACKAGE_VERSION='2.8.10'
     434PACKAGE_STRING='Cbc 2.8.10'
    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.8.9 to adapt to many kinds of systems.
     1041\`configure' configures Cbc 2.8.10 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.8.9:";;
     1107     short | recursive ) echo "Configuration of Cbc 2.8.10:";;
    11081108   esac
    11091109  cat <<\_ACEOF
     
    13281328if $ac_init_version; then
    13291329  cat <<\_ACEOF
    1330 Cbc configure 2.8.9
     1330Cbc configure 2.8.10
    13311331generated by GNU Autoconf 2.59
    13321332
     
    13481348running configure, to aid debugging if configure makes a mistake.
    13491349
    1350 It was created by Cbc $as_me 2.8.9, which was
     1350It was created by Cbc $as_me 2.8.10, which was
    13511351generated by GNU Autoconf 2.59.  Invocation command line was
    13521352
     
    18411841    esac
    18421842  fi
    1843 
    1844 
    1845  case $build in
    1846   *-mingw*)
    1847     if test "${LD+set}" = set; then :; else
    1848       LD=link
    1849     fi
    1850     ;;
    1851  esac
    1852  if test $enable_msvc = yes ; then
    1853    if test "x${LD+set}" = xset; then :; else
    1854      LD=link
    1855    fi
    1856  fi
    1857 
    18581843
    18591844
     
    30783063  clang* ) ;;
    30793064  cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*)
    3080 
    3081  case $build in
    3082   *-mingw*)
    3083     if test "${LD+set}" = set; then :; else
    3084       LD=link
    3085     fi
    3086     ;;
    3087  esac
    3088  if test $enable_msvc = yes ; then
    3089    if test "x${LD+set}" = xset; then :; else
    3090      LD=link
    3091    fi
    3092  fi
    3093 
     3065    LD=link
    30943066    ;;
    30953067esac
     
    39693941fi
    39703942
    3971 # correct the LD variable in a mingw build with MS or intel compiler
     3943# correct the LD variable in a build with MS or intel compiler
    39723944case "$CXX" in
    39733945  clang* ) ;;
    39743946  cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*)
    3975 
    3976  case $build in
    3977   *-mingw*)
    3978     if test "${LD+set}" = set; then :; else
    3979       LD=link
    3980     fi
    3981     ;;
    3982  esac
    3983  if test $enable_msvc = yes ; then
    3984    if test "x${LD+set}" = xset; then :; else
    3985      LD=link
    3986    fi
    3987  fi
    3988 
     3947    LD=link
    39893948    ;;
    39903949esac
     
    40173976
    40183977
    4019 
    40203978ac_ext=f
    40213979ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
     
    42274185
    42284186# Provide some information about the compiler.
    4229 echo "$as_me:4229:" \
     4187echo "$as_me:4187:" \
    42304188     "checking for Fortran 77 compiler version" >&5
    42314189ac_compiler=`set X $ac_compile; echo $2`
     
    46714629case "$F77" in
    46724630  ifort* | */ifort* | IFORT* | */IFORT*)
    4673 
    4674  case $build in
    4675   *-mingw*)
    4676     if test "${LD+set}" = set; then :; else
    4677       LD=link
    4678     fi
    4679     ;;
    4680  esac
    4681  if test $enable_msvc = yes ; then
    4682    if test "x${LD+set}" = xset; then :; else
    4683      LD=link
    4684    fi
    4685  fi
    4686 
     4631    LD=link
    46874632    ;;
    46884633esac
     
    51695114# Define the identity of the package.
    51705115 PACKAGE='cbc'
    5171  VERSION='2.8.9'
     5116 VERSION='2.8.10'
    51725117
    51735118
     
    64656410*-*-irix6*)
    64666411  # Find out which ABI we are using.
    6467   echo '#line 6467 "configure"' > conftest.$ac_ext
     6412  echo '#line 6412 "configure"' > conftest.$ac_ext
    64686413  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
    64696414  (eval $ac_compile) 2>&5
     
    84298374   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    84308375   -e 's:$: $lt_compiler_flag:'`
    8431    (eval echo "\"\$as_me:8431: $lt_compile\"" >&5)
     8376   (eval echo "\"\$as_me:8376: $lt_compile\"" >&5)
    84328377   (eval "$lt_compile" 2>conftest.err)
    84338378   ac_status=$?
    84348379   cat conftest.err >&5
    8435    echo "$as_me:8435: \$? = $ac_status" >&5
     8380   echo "$as_me:8380: \$? = $ac_status" >&5
    84368381   if (exit $ac_status) && test -s "$ac_outfile"; then
    84378382     # The compiler can only warn and ignore the option if not recognized
     
    86978642   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    86988643   -e 's:$: $lt_compiler_flag:'`
    8699    (eval echo "\"\$as_me:8699: $lt_compile\"" >&5)
     8644   (eval echo "\"\$as_me:8644: $lt_compile\"" >&5)
    87008645   (eval "$lt_compile" 2>conftest.err)
    87018646   ac_status=$?
    87028647   cat conftest.err >&5
    8703    echo "$as_me:8703: \$? = $ac_status" >&5
     8648   echo "$as_me:8648: \$? = $ac_status" >&5
    87048649   if (exit $ac_status) && test -s "$ac_outfile"; then
    87058650     # The compiler can only warn and ignore the option if not recognized
     
    88018746   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    88028747   -e 's:$: $lt_compiler_flag:'`
    8803    (eval echo "\"\$as_me:8803: $lt_compile\"" >&5)
     8748   (eval echo "\"\$as_me:8748: $lt_compile\"" >&5)
    88048749   (eval "$lt_compile" 2>out/conftest.err)
    88058750   ac_status=$?
    88068751   cat out/conftest.err >&5
    8807    echo "$as_me:8807: \$? = $ac_status" >&5
     8752   echo "$as_me:8752: \$? = $ac_status" >&5
    88088753   if (exit $ac_status) && test -s out/conftest2.$ac_objext
    88098754   then
     
    1114611091  lt_status=$lt_dlunknown
    1114711092  cat > conftest.$ac_ext <<EOF
    11148 #line 11148 "configure"
     11093#line 11093 "configure"
    1114911094#include "confdefs.h"
    1115011095
     
    1124611191  lt_status=$lt_dlunknown
    1124711192  cat > conftest.$ac_ext <<EOF
    11248 #line 11248 "configure"
     11193#line 11193 "configure"
    1124911194#include "confdefs.h"
    1125011195
     
    1359013535   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1359113536   -e 's:$: $lt_compiler_flag:'`
    13592    (eval echo "\"\$as_me:13592: $lt_compile\"" >&5)
     13537   (eval echo "\"\$as_me:13537: $lt_compile\"" >&5)
    1359313538   (eval "$lt_compile" 2>conftest.err)
    1359413539   ac_status=$?
    1359513540   cat conftest.err >&5
    13596    echo "$as_me:13596: \$? = $ac_status" >&5
     13541   echo "$as_me:13541: \$? = $ac_status" >&5
    1359713542   if (exit $ac_status) && test -s "$ac_outfile"; then
    1359813543     # The compiler can only warn and ignore the option if not recognized
     
    1369413639   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1369513640   -e 's:$: $lt_compiler_flag:'`
    13696    (eval echo "\"\$as_me:13696: $lt_compile\"" >&5)
     13641   (eval echo "\"\$as_me:13641: $lt_compile\"" >&5)
    1369713642   (eval "$lt_compile" 2>out/conftest.err)
    1369813643   ac_status=$?
    1369913644   cat out/conftest.err >&5
    13700    echo "$as_me:13700: \$? = $ac_status" >&5
     13645   echo "$as_me:13645: \$? = $ac_status" >&5
    1370113646   if (exit $ac_status) && test -s out/conftest2.$ac_objext
    1370213647   then
     
    1526415209   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1526515210   -e 's:$: $lt_compiler_flag:'`
    15266    (eval echo "\"\$as_me:15266: $lt_compile\"" >&5)
     15211   (eval echo "\"\$as_me:15211: $lt_compile\"" >&5)
    1526715212   (eval "$lt_compile" 2>conftest.err)
    1526815213   ac_status=$?
    1526915214   cat conftest.err >&5
    15270    echo "$as_me:15270: \$? = $ac_status" >&5
     15215   echo "$as_me:15215: \$? = $ac_status" >&5
    1527115216   if (exit $ac_status) && test -s "$ac_outfile"; then
    1527215217     # The compiler can only warn and ignore the option if not recognized
     
    1536815313   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1536915314   -e 's:$: $lt_compiler_flag:'`
    15370    (eval echo "\"\$as_me:15370: $lt_compile\"" >&5)
     15315   (eval echo "\"\$as_me:15315: $lt_compile\"" >&5)
    1537115316   (eval "$lt_compile" 2>out/conftest.err)
    1537215317   ac_status=$?
    1537315318   cat out/conftest.err >&5
    15374    echo "$as_me:15374: \$? = $ac_status" >&5
     15319   echo "$as_me:15319: \$? = $ac_status" >&5
    1537515320   if (exit $ac_status) && test -s out/conftest2.$ac_objext
    1537615321   then
     
    1757517520   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1757617521   -e 's:$: $lt_compiler_flag:'`
    17577    (eval echo "\"\$as_me:17577: $lt_compile\"" >&5)
     17522   (eval echo "\"\$as_me:17522: $lt_compile\"" >&5)
    1757817523   (eval "$lt_compile" 2>conftest.err)
    1757917524   ac_status=$?
    1758017525   cat conftest.err >&5
    17581    echo "$as_me:17581: \$? = $ac_status" >&5
     17526   echo "$as_me:17526: \$? = $ac_status" >&5
    1758217527   if (exit $ac_status) && test -s "$ac_outfile"; then
    1758317528     # The compiler can only warn and ignore the option if not recognized
     
    1784317788   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1784417789   -e 's:$: $lt_compiler_flag:'`
    17845    (eval echo "\"\$as_me:17845: $lt_compile\"" >&5)
     17790   (eval echo "\"\$as_me:17790: $lt_compile\"" >&5)
    1784617791   (eval "$lt_compile" 2>conftest.err)
    1784717792   ac_status=$?
    1784817793   cat conftest.err >&5
    17849    echo "$as_me:17849: \$? = $ac_status" >&5
     17794   echo "$as_me:17794: \$? = $ac_status" >&5
    1785017795   if (exit $ac_status) && test -s "$ac_outfile"; then
    1785117796     # The compiler can only warn and ignore the option if not recognized
     
    1794717892   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1794817893   -e 's:$: $lt_compiler_flag:'`
    17949    (eval echo "\"\$as_me:17949: $lt_compile\"" >&5)
     17894   (eval echo "\"\$as_me:17894: $lt_compile\"" >&5)
    1795017895   (eval "$lt_compile" 2>out/conftest.err)
    1795117896   ac_status=$?
    1795217897   cat out/conftest.err >&5
    17953    echo "$as_me:17953: \$? = $ac_status" >&5
     17898   echo "$as_me:17898: \$? = $ac_status" >&5
    1795417899   if (exit $ac_status) && test -s out/conftest2.$ac_objext
    1795517900   then
     
    2348823433cat >&5 <<_CSEOF
    2348923434
    23490 This file was extended by Cbc $as_me 2.8.9, which was
     23435This file was extended by Cbc $as_me 2.8.10, which was
    2349123436generated by GNU Autoconf 2.59.  Invocation command line was
    2349223437
     
    2354623491cat >>$CONFIG_STATUS <<_ACEOF
    2354723492ac_cs_version="\\
    23548 Cbc config.status 2.8.9
     23493Cbc config.status 2.8.10
    2354923494configured by $0, generated by GNU Autoconf 2.59,
    2355023495  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
  • releases/2.8.10/configure.ac

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