Changeset 2290


Ignore:
Timestamp:
Nov 16, 2017 5:20:27 AM (10 months ago)
Author:
forrest
Message:

allow dense columns in interior point standalone solver

Location:
trunk/Clp/src
Files:
4 edited

Legend:

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

    r2274 r2290  
    90059005                                   }
    90069006                                   if (!numberBasic) {
    9007                                         allSlackBasis(true);
     9007                                        allSlackBasis(ifValuesPass==0);
    90089008                                        numberThrownOut = 1; // force another go
    90099009                                   } else {
  • trunk/Clp/src/ClpSimplexPrimal.cpp

    r2283 r2290  
    16831683     // make sure first free monotonic
    16841684     if (firstFree_ >= 0 && saveFirstFree >= 0) {
    1685           firstFree_ = (numberIterations_) ? saveFirstFree : -1;
    1686           nextSuperBasic(1, NULL);
     1685       if (numberIterations_) {
     1686         firstFree_=saveFirstFree;
     1687       } else {
     1688         firstFree_ = -1;
     1689         nextSuperBasic(1, NULL);
     1690       }
    16871691     }
    16881692     if (doFactorization) {
  • trunk/Clp/src/ClpSolve.cpp

    r2279 r2290  
    32273227          case 4:
    32283228               if (!doKKT) {
    3229                     ClpCholeskyUfl * cholesky = new ClpCholeskyUfl();
     3229                    ClpCholeskyUfl * cholesky = new ClpCholeskyUfl(options.getExtraInfo(1));
    32303230                    barrier.setCholesky(cholesky);
    32313231               } else {
     
    36533653                                   //model2->setLogLevel(63);
    36543654                                   //model2->setFactorizationFrequency(1);
    3655                                    model2->dual(2);
     3655                                   if (!gap)
     3656                                     model2->dual(2);
    36563657                                   CoinMemcpyN(saveCost, numberColumns, cost);
    36573658                                   delete [] saveCost;
     
    38303831#ifndef ABC_INHERIT
    38313832                        // use method thought suitable
    3832                         //if (sumDual>sumPrimal&&sumDual>1.0e-2)
    3833                         if (method!=ClpSolve::useDual)
     3833                        if (sumDual>1000.0*sumPrimal) {
    38343834                          primal(1);
    3835                         else
     3835                        } else if (sumPrimal>1000.0*sumDual) {
    38363836                          dual();
     3837                        } else {
     3838                          if (method!=ClpSolve::useDual)
     3839                            primal(1);
     3840                          else
     3841                            dual();
     3842                        }
    38373843#else
    38383844                        dealWithAbc(1,2,interrupt);
  • trunk/Clp/src/ClpSolver.cpp

    r2280 r2290  
    10231023                                   } else {
    10241024                                        method = ClpSolve::useBarrier;
    1025 #ifdef ABC_INHERIT
    10261025                                        if (doIdiot > 0)
    10271026                                             solveOptions.setSpecialOption(1, 2, doIdiot); // dense threshold
    1028 #endif
    10291027                                        if (crossover == 1) {
    10301028                                             method = ClpSolve::useBarrierNoCross;
Note: See TracChangeset for help on using the changeset viewer.