Changeset 1212


Ignore:
Timestamp:
Jun 8, 2008 6:10:16 AM (13 years ago)
Author:
forrest
Message:

for Francisco and change internal solution check

Location:
trunk/Clp/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Clp/src/CbcOrClpParam.cpp

    r1209 r1212  
    17271727  parameters[numberParameters++]=
    17281728    CbcOrClpParam("extra1","Extra integer parameter 1",
    1729                   -1,COIN_INT_MAX,EXTRA1,false);
     1729                  -100,COIN_INT_MAX,EXTRA1,false);
    17301730  parameters[numberParameters-1].setIntValue(-1);
    17311731  parameters[numberParameters++]=
  • trunk/Clp/src/ClpFactorization.cpp

    r1197 r1212  
    21392139      coinFactorizationA_->setCollectStatistics(false);
    21402140    } else {
    2141       returnCode= coinFactorizationB_->updateColumn(regionSparse,
     2141      returnCode= coinFactorizationB_->updateColumnFT(regionSparse,
    21422142                                                         regionSparse2);
    21432143    }
     
    23102310      coinFactorizationA_->setCollectStatistics(false);
    23112311    } else {
    2312       returnCode= coinFactorizationB_->updateColumn(regionSparse1,
     2312      returnCode= coinFactorizationB_->updateColumnFT(regionSparse1,
    23132313                                                     regionSparse2);
    23142314      coinFactorizationB_->updateColumn(regionSparse1,
  • trunk/Clp/src/ClpSimplex.cpp

    r1206 r1212  
    63426342    if (inDoubleArray(rowUpper_,numberRows_,fp))
    63436343        return 1;
    6344     double * objective;
     6344    double * objective=NULL;
    63456345    if (inDoubleArray(objective,numberColumns_,fp))
    63466346        return 1;
     
    93039303      sumPrimalInfeasibilities_ += lower-primalValue-primalTolerance;
    93049304      numberPrimalInfeasibilities_ ++;
    9305     } else if (getRowStatus(iRow) != basic) {
    9306       // not basic
    9307       if (primalValue<upper-primalTolerance) {
     9305    } else {
     9306      switch(getRowStatus(iRow)) {
     9307       
     9308      case basic:
     9309      case ClpSimplex::isFixed:
     9310        break;
     9311      case atUpperBound:
     9312        // dual should not be positive
     9313        if (dualValue>dualTolerance) {
     9314          sumDualInfeasibilities_ += dualValue-dualTolerance_;
     9315          numberDualInfeasibilities_ ++;
     9316        }
     9317        break;
     9318      case atLowerBound:
    93089319        // dual should not be negative
    93099320        if (dualValue<-dualTolerance) {
    9310           sumDualInfeasibilities_ -= dualValue+dualTolerance_;
    9311           numberDualInfeasibilities_ ++;
    9312         }
    9313       }
    9314       if (primalValue>lower+primalTolerance) {
    9315         // dual should not be positive
    9316         if (dualValue>dualTolerance) {
    9317           sumDualInfeasibilities_ += dualValue-dualTolerance_;
    9318           numberDualInfeasibilities_ ++;
    9319         }
     9321          sumDualInfeasibilities_ -= dualValue+dualTolerance_;
     9322          numberDualInfeasibilities_ ++;
     9323        }
     9324        break;
     9325      case superBasic:
     9326      case isFree:
     9327        if (primalValue<upper-primalTolerance) {
     9328          // dual should not be negative
     9329          if (dualValue<-dualTolerance) {
     9330            sumDualInfeasibilities_ -= dualValue+dualTolerance_;
     9331            numberDualInfeasibilities_ ++;
     9332          }
     9333        }
     9334        if (primalValue>lower+primalTolerance) {
     9335          // dual should not be positive
     9336          if (dualValue>dualTolerance) {
     9337            sumDualInfeasibilities_ += dualValue-dualTolerance_;
     9338            numberDualInfeasibilities_ ++;
     9339          }
     9340        }
     9341        break;
    93209342      }
    93219343    }
     
    93339355      sumPrimalInfeasibilities_ += lower-primalValue-primalTolerance;
    93349356      numberPrimalInfeasibilities_ ++;
    9335     } else if (getColumnStatus(iColumn) != basic) {
    9336       // not basic
    9337       if (primalValue<upper-primalTolerance) {
     9357    } else {
     9358      switch(getColumnStatus(iRow)) {
     9359       
     9360      case basic:
     9361      case ClpSimplex::isFixed:
     9362        break;
     9363      case atUpperBound:
     9364        // dual should not be positive
     9365        if (dualValue>dualTolerance) {
     9366          sumDualInfeasibilities_ += dualValue-dualTolerance_;
     9367          numberDualInfeasibilities_ ++;
     9368        }
     9369        break;
     9370      case atLowerBound:
    93389371        // dual should not be negative
    93399372        if (dualValue<-dualTolerance) {
    9340           sumDualInfeasibilities_ -= dualValue+dualTolerance_;
    9341           numberDualInfeasibilities_ ++;
    9342         }
    9343       }
    9344       if (primalValue>lower+primalTolerance) {
    9345         // dual should not be positive
    9346         if (dualValue>dualTolerance) {
    9347           sumDualInfeasibilities_ += dualValue-dualTolerance_;
    9348           numberDualInfeasibilities_ ++;
    9349         }
     9373          sumDualInfeasibilities_ -= dualValue+dualTolerance_;
     9374          numberDualInfeasibilities_ ++;
     9375        }
     9376        break;
     9377      case superBasic:
     9378      case isFree:
     9379        if (primalValue<upper-primalTolerance) {
     9380          // dual should not be negative
     9381          if (dualValue<-dualTolerance) {
     9382            sumDualInfeasibilities_ -= dualValue+dualTolerance_;
     9383            numberDualInfeasibilities_ ++;
     9384          }
     9385        }
     9386        if (primalValue>lower+primalTolerance) {
     9387          // dual should not be positive
     9388          if (dualValue>dualTolerance) {
     9389            sumDualInfeasibilities_ += dualValue-dualTolerance_;
     9390            numberDualInfeasibilities_ ++;
     9391          }
     9392        }
     9393        break;
    93509394      }
    93519395    }
Note: See TracChangeset for help on using the changeset viewer.