Changeset 911 for branches


Ignore:
Timestamp:
Jan 16, 2007 5:24:36 PM (13 years ago)
Author:
forrest
Message:

ranging

Location:
branches/devel/Clp/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/devel/Clp/src/ClpSimplex.hpp

    r910 r911  
    289289      sequence numbers which would change basis.  Sequence numbers are 0..numberColumns
    290290      and numberColumns.. for artificials/slacks.
     291      This should only be used for non-basic variabls as otherwise information is pretty useless
    291292      For basic variables the sequence number will be that of the basic variables.
    292293
  • branches/devel/Clp/src/ClpSimplexOther.cpp

    r910 r911  
    9797          if (sequenceIncrease>=0)
    9898            valueIncrease[i] = primalRanging1(sequenceIncrease,iSequence);
     99          if (sequenceDecrease>=0)
    99100            valueDecrease[i] = primalRanging1(sequenceDecrease,iSequence);
    100101        }
     
    374375        matrix_->extendUpdated(this,rowArray_[1],0);
    375376        // do ratio test
    376         checkPrimalRatios(rowArray_[1],-1);
     377        checkPrimalRatios(rowArray_[1],1);
    377378        if (pivotRow_>=0) {
    378379          valueIncrease = theta_;
    379380          sequenceIncrease=pivotVariable_[pivotRow_];
    380381        }
    381         directionIn_=-1; // down
    382         checkPrimalRatios(rowArray_[1],1);
     382        checkPrimalRatios(rowArray_[1],-1);
    383383        if (pivotRow_>=0) {
    384384          valueDecrease = theta_;
     
    481481        }
    482482      }
    483       if (theta<1.0e30)
    484         newValue -= theta*alphaOther;
    485       else
    486         newValue = alphaOther>0.0 ? -1.0e30 : 1.0e30;
     483      if (whichIn!=whichOther) {
     484        if (theta<1.0e30)
     485          newValue -= theta*alphaOther;
     486        else
     487          newValue = alphaOther>0.0 ? -1.0e30 : 1.0e30;
     488      } else {
     489        newValue += theta*wayIn;
     490      }
    487491    }
    488492    rowArray_[1]->clear();
     
    498502    scaleFactor = 1.0/rhsScale_;
    499503  }
    500   if (newValue<1.0e30)
    501     if (newValue>-1.0e30)
     504  if (newValue<1.0e29)
     505    if (newValue>-1.0e29)
    502506      newValue *= scaleFactor;
    503507    else
  • branches/devel/Clp/src/ClpSimplexOther.hpp

    r910 r911  
    5454      sequence numbers which would change basis.  Sequence numbers are 0..numberColumns
    5555      and numberColumns.. for artificials/slacks.
     56      This should only be used for non-basic variabls as otherwise information is pretty useless
    5657      For basic variables the sequence number will be that of the basic variables.
    5758
Note: See TracChangeset for help on using the changeset viewer.