Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Cbc/src/CbcHeuristicDiveCoefficient.cpp

    r1902 r2094  
    1818        : CbcHeuristicDive()
    1919{
     20  whereFrom_ |= 16*(1+256);
    2021}
    2122
     
    2425        : CbcHeuristicDive(model)
    2526{
     27  whereFrom_ |= 16*(1+256);
    2628}
    2729
     
    8183    int bestLocks = COIN_INT_MAX;
    8284    bool allTriviallyRoundableSoFar = true;
     85    int bestPriority = COIN_INT_MAX;
    8386    for (int i = 0; i < numberIntegers; i++) {
    8487        int iColumn = integerVariable[i];
     
    117120                    fraction *= 1000.0;
    118121
     122                // if priorities then use
     123                if (priority_) {
     124                  int thisRound=static_cast<int>(priority_[i].direction);
     125                  if ((thisRound&1)!=0)
     126                    round = ((thisRound&2)==0) ? -1 : +1;
     127                  if (priority_[i].priority>bestPriority) {
     128                    nLocks=COIN_INT_MAX;
     129                  } else if (priority_[i].priority<bestPriority) {
     130                    bestPriority=static_cast<int>(priority_[i].priority);
     131                    bestLocks=COIN_INT_MAX;
     132                  }
     133                }
    119134                if (nLocks < bestLocks || (nLocks == bestLocks &&
    120135                                           fraction < bestFraction)) {
Note: See TracChangeset for help on using the changeset viewer.