Ignore:
Timestamp:
May 16, 2009 4:23:18 AM (11 years ago)
Author:
forrest
Message:

try and improve quadratic and barrier

File:
1 edited

Legend:

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

    r1321 r1366  
    655655                         array1);
    656656    if (result) {
     657      if (result==2) {
     658        // does not look good
     659        double currentObj;
     660        double thetaObj;
     661        double predictedObj;
     662        objective_->stepLength(this,solution_,solution_,0.0,
     663                               currentObj,thetaObj,predictedObj);
     664        if (currentObj==predictedObj) {
     665#ifdef CLP_INVESTIGATE
     666        printf("looks bad - no change in obj %g\n",currentObj);
     667#endif
     668          if (factorization_->pivots())
     669            result=3;
     670          else
     671            problemStatus_=0;
     672        }
     673      }
    657674      if (result==3)
    658675        break; // null vector not accurate
     
    663680        double predictedObj;
    664681        objective_->stepLength(this,solution_,solution_,0.0,
    665                                currentObj,predictedObj,thetaObj);
     682                               currentObj,thetaObj,predictedObj);
    666683        printf("obj %g after interior move\n",currentObj);
    667684      }
     
    20622079      printf("out of loop after %d passes\n",nPasses);
    20632080#endif
     2081    if (nPasses>=1000)
     2082      returnCode=2;
    20642083    bool ordinaryDj=false;
    20652084    //if(sequenceIn_>=0&&numberNonBasic==1&&theta_<1.0e-7&&theta_==basicTheta)
     
    22712290          } else {
    22722291            returnCode=2; // do single incoming
    2273             //returnCode=1;
     2292            returnCode=1;
    22742293          }
    22752294        }
Note: See TracChangeset for help on using the changeset viewer.