[Coin-lpsolver] PrimalRanging

John J Forrest jjforre at us.ibm.com
Fri Jun 1 03:23:08 EDT 2007


Edwin,

Your two versions look rather similar!

Are you sure?  One possibility is that it only needs to be flipped for some
cases or maybe just for row slacks.

John


                                                                           
             "Edwin Straver"                                               
             <edwin at solver.com                                             
             >                                                          To 
             Sent by:                  <coin-lpsolver at list.coin-or.org>    
             coin-lpsolver-bou                                          cc 
             nces at list.coin-or                                             
             .org                                                  Subject 
                                       [Coin-lpsolver] PrimalRanging       
                                                                           
             05/31/07 01:32 PM                                             
                                                                           
                                                                           
                                                                           
                                                                           




Hi All,

I believe that in the code that computes the ValueIncreased and
ValueDecreased, in the PrimalRanging routine the increase/and decrease are
swapped, for the case where the getStatus(iSequence) is isFixed,
atUpperBound, or atLowerBound:

So, the current code is:

checkPrimalRatios(rowArray_[1],1);
      if (pivotRow_>=0) {
        valueIncrease = theta_;
        sequenceIncrease=pivotVariable_[pivotRow_];
      }
      checkPrimalRatios(rowArray_[1],-1);
      if (pivotRow_>=0) {
        valueDecrease = theta_;
        sequenceDecrease=pivotVariable_[pivotRow_];
      }

And I believe this needs to be:

checkPrimalRatios(rowArray_[1],-1);
      if (pivotRow_>=0) {
        valueIncrease = theta_;
        sequenceIncrease=pivotVariable_[pivotRow_];
      }
      checkPrimalRatios(rowArray_[1],1);
      if (pivotRow_>=0) {
        valueDecrease = theta_;
        sequenceDecrease=pivotVariable_[pivotRow_];
      }

Greetings, Edwin
------------------------------------------------
Edwin Straver
edwin at solver.com
------------------------------------------------
 _______________________________________________
Coin-lpsolver mailing list
Coin-lpsolver at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/coin-lpsolver





More information about the Clp mailing list