Changeset 23


Ignore:
Timestamp:
Aug 22, 2006 10:47:49 AM (13 years ago)
Author:
andreasw
Message:

In some cases OA could fail to converge

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Bonmin/src/OaInterface/IpCbcOACutGenerator2.cpp

    r12 r23  
    700700          localSearchNodeLimit_ > 0 &&
    701701          CoinCpuTime() - timeBegin_ < maxLocalSearchTime_) {
     702         std::cout<<"Perform new local search"<<std::endl;
    702703        if(clp==NULL) {
    703704          nLocalSearch_++;
     
    716717          if(changed) {
    717718            feasible = (milpBound < cutoff);
     719            std::cout<<"milp bound "<<milpBound<<" cutoff "<<cutoff<<std::endl;
    718720          }
    719721          else
     
    749751          milpBound = siBestObj(model);
    750752          handler_->message(SOLVED_LOCAL_SEARCH, messages_)<<model->getNodeCount()<<model->getIterationCount()<<CoinMessageEol;
    751 
    752753          feasible =  (milpBound < cutoff);
    753           milpFeasible = feasible;
    754754          isInteger = model->getSolutionCount();
    755755          if(model->isProvenOptimal() || model->isProvenInfeasible()) {
    756             bool feasible = model->isProvenOptimal();
    757 
    758756            bool changed = 0;             //If integer solution is the same as nlp solution problem is solved
    759757            for(int i = 0; feasible && isInteger && i < numcols && !changed; i++) {
     
    775773
    776774        }/** endif solved by clp/cbc*/
     775
    777776        if(milpBound < cutoff)
    778777          handler_->message(UPDATE_LB, messages_)
     
    780779          <<CoinMessageEol;
    781780        else
     781        {
     782          milpBound = 1e50;
     783          feasible = 0;
    782784          handler_->message(OASUCCESS, messages_)
    783785          <<CoinCpuTime() - timeBegin_ <<CoinMessageEol;
     786        }
    784787      }/** endif localSearch*/
    785788      else if(model!=NULL)/** have to delete model for next iteration*/
Note: See TracChangeset for help on using the changeset viewer.