Changeset 1829


Ignore:
Timestamp:
Dec 3, 2012 12:35:40 PM (7 years ago)
Author:
stefan
Message:

sync with trunk rev 1828

Location:
stable/2.8
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • stable/2.8

    • Property svn:externals
      •  

        old new  
        1 BuildTools  https://projects.coin-or.org/svn/BuildTools/stable/0.7
        2 ThirdParty/ASL  https://projects.coin-or.org/svn/BuildTools/ThirdParty/ASL/stable/1.2
        3 ThirdParty/Blas  https://projects.coin-or.org/svn/BuildTools/ThirdParty/Blas/stable/1.3
        4 ThirdParty/Lapack  https://projects.coin-or.org/svn/BuildTools/ThirdParty/Lapack/stable/1.4
        5 ThirdParty/Glpk  https://projects.coin-or.org/svn/BuildTools/ThirdParty/Glpk/stable/1.9
         1BuildTools        https://projects.coin-or.org/svn/BuildTools/stable/0.7
         2ThirdParty/ASL    https://projects.coin-or.org/svn/BuildTools/ThirdParty/ASL/stable/1.2
         3ThirdParty/Blas   https://projects.coin-or.org/svn/BuildTools/ThirdParty/Blas/stable/1.3
         4ThirdParty/Lapack https://projects.coin-or.org/svn/BuildTools/ThirdParty/Lapack/stable/1.4
         5ThirdParty/Glpk   https://projects.coin-or.org/svn/BuildTools/ThirdParty/Glpk/stable/1.9
        66ThirdParty/Metis  https://projects.coin-or.org/svn/BuildTools/ThirdParty/Metis/stable/1.2
        77ThirdParty/Mumps  https://projects.coin-or.org/svn/BuildTools/ThirdParty/Mumps/stable/1.4
        8 Data/Sample  https://projects.coin-or.org/svn/Data/Sample/stable/1.2
        9 Data/miplib3  https://projects.coin-or.org/svn/Data/miplib3/stable/1.2
        10 CoinUtils  https://projects.coin-or.org/svn/CoinUtils/stable/2.8/CoinUtils
        11 Cgl  https://projects.coin-or.org/svn/Cgl/stable/0.57/Cgl
        12 Clp  https://projects.coin-or.org/svn/Clp/stable/1.14/Clp
        13 Osi  https://projects.coin-or.org/svn/Osi/stable/0.105/Osi
         8Data/Sample       https://projects.coin-or.org/svn/Data/Sample/stable/1.2
         9Data/miplib3      https://projects.coin-or.org/svn/Data/miplib3/stable/1.2
         10CoinUtils         https://projects.coin-or.org/svn/CoinUtils/stable/2.8/CoinUtils
         11Cgl               https://projects.coin-or.org/svn/Cgl/stable/0.58/Cgl
         12Clp               https://projects.coin-or.org/svn/Clp/stable/1.14/Clp
         13Osi               https://projects.coin-or.org/svn/Osi/stable/0.105/Osi
    • Property svn:mergeinfo changed
      /trunk (added)merged: 1811,​1813,​1816,​1819,​1822,​1825-1828
  • stable/2.8/Cbc

  • stable/2.8/Cbc/README

    r1803 r1829  
    32322. Solution pool is now accessible via the command line and the CbcMain* interface.
    3333
    34 3. New classes for providing start solutions have been added.
     343. New mipstart option to read an initial feasible solution from a file. Only values for discrete
     35   variables need to be provided.
    3536
    36374. Added Proximity Search heuristic by Fischetti and Monaci (off by default):
  • stable/2.8/Cbc/src/CbcHeuristic.cpp

    r1815 r1829  
    118118        numCouldRun_(0),
    119119        numberSolutionsFound_(0),
     120        numberNodesDone_(0),
    120121        inputSolution_(NULL)
    121122{
     
    145146        numCouldRun_(0),
    146147        numberSolutionsFound_(0),
     148        numberNodesDone_(0),
    147149        inputSolution_(NULL)
    148150{}
     
    172174    runNodes_ = rhs.runNodes_;
    173175    numberSolutionsFound_ = rhs.numberSolutionsFound_;
     176    numberNodesDone_ = rhs.numberNodesDone_;
    174177    if (rhs.inputSolution_) {
    175178        int numberColumns = model_->getNumCols();
     
    12111214                    solverD->setHintParam(OsiDoDualInResolve, takeHint, strength);
    12121215#endif
     1216                    numberNodesDone_ = model.getNodeCount();
    12131217#ifdef COIN_DEVELOP
    12141218                    printf("sub branch %d nodes, %d iterations - max %d\n",
  • stable/2.8/Cbc/src/CbcHeuristic.hpp

    r1802 r1829  
    386386    int numberSolutionsFound_;
    387387
     388    /// How many nodes the heuristic did this go
     389    mutable int numberNodesDone_;
     390
    388391    // Input solution - so can be used as seed
    389392    double * inputSolution_;
  • stable/2.8/Cbc/src/CbcHeuristicLocal.cpp

    r1820 r1829  
    11171117  delete [] obj;
    11181118  //newSolver->writeMps("xxxx");
    1119   char proxPrint[200];
    1120   sprintf(proxPrint,"Running proximity search for %d nodes",numberNodes_);
    1121   model_->messageHandler()->message(CBC_FPUMP1, model_->messages())
    1122     << proxPrint
    1123     << CoinMessageEol;
    11241119  int maxSolutions = model_->getMaximumSolutions();
    11251120  model_->setMaximumSolutions(1);
     
    11651160    returnCode &= ~2;
    11661161  }
     1162  char proxPrint[200];
    11671163  if ((returnCode&1) != 0) {
    11681164    // redo objective
    11691165    const double * obj = model_->continuousSolver()->getObjCoefficients();
    11701166    solutionValue = - offset;
     1167    int sumIncrease=0.0;
     1168    int sumDecrease=0.0;
     1169    int numberIncrease=0;
     1170    int numberDecrease=0;
    11711171    for (int i=0;i<numberColumns;i++) {
    11721172      solutionValue += obj[i]*betterSolution[i];
    1173     }
     1173      if (model_->isInteger(i)) {
     1174        int change=static_cast<int>(floor(solutionIn[i]-betterSolution[i]+0.5));
     1175        if (change>0) {
     1176          numberIncrease++;
     1177          sumIncrease+=change;
     1178        } else if (change<0) {
     1179          numberDecrease++;
     1180          sumDecrease-=change;
     1181        }
     1182      }
     1183    }
     1184    sprintf(proxPrint,"Proximity search ran %d nodes (out of %d) - in new solution %d increased (%d), %d decreased (%d)",
     1185            numberNodesDone_,numberNodes_,
     1186            numberIncrease,sumIncrease,numberDecrease,sumDecrease);
     1187  } else {
     1188    sprintf(proxPrint,"Proximity search ran %d nodes - no new solution",
     1189            numberNodesDone_);
    11741190  }
     1191  model_->messageHandler()->message(CBC_FPUMP1, model_->messages())
     1192    << proxPrint
     1193    << CoinMessageEol;
    11751194 
    11761195  delete newSolver;
  • stable/2.8/Cbc/src/CbcSolver.cpp

    r1818 r1829  
    295295    return *this;
    296296}
    297 #ifdef KEEP_POSTPROCESS
     297
    298298static void putBackOtherSolutions(CbcModel * presolvedModel, CbcModel * model,
    299299                           CglPreProcess * preProcess)
     
    319319  }
    320320}
    321 #endif
    322321
    323322/*
     
    59225921                                    lpSolver->setSpecialOptions(lpSolver->specialOptions() | IN_BRANCH_AND_BOUND); // say is Cbc (and in branch and bound)
    59235922#endif
    5924 #ifdef KEEP_POSTPROCESS
    5925                                     // put back any saved solutions
    5926                                     putBackOtherSolutions(babModel_,&model_,&process);
    5927 #endif
     5923                                    // put back any saved solutions
     5924                                    putBackOtherSolutions(babModel_,&model_,&process);
    59285925                                    process.postProcess(*babModel_->solver());
    59295926#ifdef COIN_DEVELOP
  • stable/2.8/Dependencies

    r1809 r1829  
    1 BuildTools  https://projects.coin-or.org/svn/BuildTools/stable/0.7
    2 ThirdParty/ASL  https://projects.coin-or.org/svn/BuildTools/ThirdParty/ASL/stable/1.2
    3 ThirdParty/Blas  https://projects.coin-or.org/svn/BuildTools/ThirdParty/Blas/stable/1.3
    4 ThirdParty/Lapack  https://projects.coin-or.org/svn/BuildTools/ThirdParty/Lapack/stable/1.4
    5 ThirdParty/Glpk  https://projects.coin-or.org/svn/BuildTools/ThirdParty/Glpk/stable/1.9
     1BuildTools        https://projects.coin-or.org/svn/BuildTools/stable/0.7
     2ThirdParty/ASL    https://projects.coin-or.org/svn/BuildTools/ThirdParty/ASL/stable/1.2
     3ThirdParty/Blas   https://projects.coin-or.org/svn/BuildTools/ThirdParty/Blas/stable/1.3
     4ThirdParty/Lapack https://projects.coin-or.org/svn/BuildTools/ThirdParty/Lapack/stable/1.4
     5ThirdParty/Glpk   https://projects.coin-or.org/svn/BuildTools/ThirdParty/Glpk/stable/1.9
    66ThirdParty/Metis  https://projects.coin-or.org/svn/BuildTools/ThirdParty/Metis/stable/1.2
    77ThirdParty/Mumps  https://projects.coin-or.org/svn/BuildTools/ThirdParty/Mumps/stable/1.4
    8 Data/Sample  https://projects.coin-or.org/svn/Data/Sample/stable/1.2
    9 Data/miplib3  https://projects.coin-or.org/svn/Data/miplib3/stable/1.2
    10 CoinUtils  https://projects.coin-or.org/svn/CoinUtils/stable/2.8/CoinUtils
    11 Cgl  https://projects.coin-or.org/svn/Cgl/stable/0.57/Cgl
    12 Clp  https://projects.coin-or.org/svn/Clp/stable/1.14/Clp
    13 Osi  https://projects.coin-or.org/svn/Osi/stable/0.105/Osi
     8Data/Sample       https://projects.coin-or.org/svn/Data/Sample/stable/1.2
     9Data/miplib3      https://projects.coin-or.org/svn/Data/miplib3/stable/1.2
     10CoinUtils         https://projects.coin-or.org/svn/CoinUtils/stable/2.8/CoinUtils
     11Cgl               https://projects.coin-or.org/svn/Cgl/stable/0.58/Cgl
     12Clp               https://projects.coin-or.org/svn/Clp/stable/1.14/Clp
     13Osi               https://projects.coin-or.org/svn/Osi/stable/0.105/Osi
Note: See TracChangeset for help on using the changeset viewer.