Ignore:
File:
1 edited

Legend:

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

    r1902 r2093  
    8181    double bestRelDistance = COIN_DBL_MAX;
    8282    bool allTriviallyRoundableSoFar = true;
     83    int bestPriority = COIN_INT_MAX;
    8384    for (int i = 0; i < numberIntegers; i++) {
    8485        int iColumn = integerVariable[i];
     
    111112                    relDistance *= 1000.0;
    112113
     114                // if priorities then use
     115                if (priority_) {
     116                  int thisRound=static_cast<int>(priority_[i].direction);
     117                  if ((thisRound&1)!=0)
     118                    round = ((thisRound&2)==0) ? -1 : +1;
     119                  if (priority_[i].priority>bestPriority) {
     120                    relDistance=COIN_DBL_MAX;
     121                  } else if (priority_[i].priority<bestPriority) {
     122                    bestPriority=static_cast<int>(priority_[i].priority);
     123                    bestRelDistance=COIN_DBL_MAX;
     124                  }
     125                }
    113126                if (relDistance < bestRelDistance) {
    114127                    bestColumn = iColumn;
Note: See TracChangeset for help on using the changeset viewer.