Changeset 867 for branches


Ignore:
Timestamp:
Oct 8, 2006 7:27:59 PM (13 years ago)
Author:
forrest
Message:

integers in save/restore
allow options in Coinsolve

Location:
branches/devel/Clp/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/devel/Clp/src/CbcOrClpParam.cpp

    r863 r867  
    17331733  parameters[numberParameters++]=
    17341734    CbcOrClpParam("maxN!odes","Maximum number of nodes to do",
    1735                   1,2147483647,MAXNODES);
     1735                  0,2147483647,MAXNODES);
    17361736  parameters[numberParameters-1].setLonghelp
    17371737    (
     
    21232123  parameters[numberParameters-1].append("forceOn");
    21242124  parameters[numberParameters-1].append("forceOnBut");
     2125  parameters[numberParameters-1].append("forceOnStrong");
     2126  parameters[numberParameters-1].append("forceOnButStrong");
    21252127  parameters[numberParameters-1].setLonghelp
    21262128    (
    21272129     "This switches on probing cuts (either at root or in entire tree) \
    2128 See branchAndCut for information on options."
    2129      );
     2130See branchAndCut for information on options. \
     2131but strong options do more probing"
     2132     );
     2133  parameters[numberParameters++]=
     2134    CbcOrClpParam("pumpT!une","Dubious ideas for feasibility pump",
     2135                  0,1000000,FPUMPTUNE);
     2136  parameters[numberParameters-1].setLonghelp
     2137    (
     2138     "This fine tunes Feasibility Pump \n\
     2139\t>=1000 use index+2 as number of large loops, if >4 decrement by 5 and clean used array\n\
     2140\t>=100 use 0.05 objvalue as increment\n\
     2141\t>=10 use +0.1 objvalue for cutoff (add)\n\
     2142\t1 == fix ints at bounds, 2 fix all integral ints, 3 and continuous at bounds"
     2143     );
     2144  parameters[numberParameters-1].setIntValue(0);
    21302145#endif
    21312146  parameters[numberParameters++]=
     
    23982413 elements may increase."
    23992414     );
     2415#endif
     2416#ifdef COIN_HAS_CBC
     2417  parameters[numberParameters++]=
     2418    CbcOrClpParam("testO!si","Test OsiObject stuff",
     2419                  0,INT_MAX,TESTOSI,false);
     2420#endif
     2421#ifdef COIN_HAS_CLP
    24002422  parameters[numberParameters++]=
    24012423    CbcOrClpParam("thread!s","Number of threads to try and use",
  • branches/devel/Clp/src/CbcOrClpParam.hpp

    r854 r867  
    6464    STRONGBRANCHING=151,CUTDEPTH, MAXNODES,NUMBERBEFORE,NUMBERANALYZE,
    6565    NUMBERMINI,MIPOPTIONS,MOREMIPOPTIONS,MAXHOTITS,FPUMPITS,MAXSOLS,
     66    FPUMPTUNE,TESTOSI,
    6667#ifdef COIN_HAS_CBC
    6768    LOGLEVEL ,
  • branches/devel/Clp/src/ClpPresolve.cpp

    r853 r867  
    16371637        }
    16381638        presolvedModel_->copyNames(rowNames,columnNames);
     1639      } else {
     1640        presolvedModel_->setLengthNames(0);
    16391641      }
    16401642#endif
  • branches/devel/Clp/src/ClpSimplex.cpp

    r862 r867  
    25442544    if (auxiliaryModel_->numberRows_==numberRows_&&
    25452545        auxiliaryModel_->numberColumns_==numberColumns_&&
    2546         (whatsChanged_&511)==511)
     2546        (whatsChanged_&511)==511) {
    25472547      oldMatrix=true;
    2548     else
     2548    } else {
    25492549      deleteAuxiliaryModel();
     2550      oldMatrix=false;
     2551    }
    25502552  }
    25512553  if (what==63) {
     
    52065208    }
    52075209#endif
     5210    // integers
     5211    if (integerType_) {
     5212      int marker=1;
     5213      fwrite(&marker,sizeof(int),1,fp);
     5214      numberWritten = fwrite(integerType_,1,numberColumns_,fp);
     5215      if (numberWritten!=numberColumns_)
     5216        return 1;
     5217    } else {
     5218      int marker=0;
     5219      fwrite(&marker,sizeof(int),1,fp);
     5220    }
    52085221    // just standard type at present
    52095222    assert (matrix_->type()==1);
     
    54105423    }
    54115424#endif
     5425    // integers
     5426    int ifInteger;
     5427    delete [] integerType_;
     5428    numberRead = fread(&ifInteger,sizeof(int),1,fp);
     5429    // But try and stay compatible with previous version
     5430    bool alreadyGotLength=false;
     5431    if (numberRead!=1)
     5432      return 1;
     5433    if (ifInteger==1) {
     5434      integerType_ = new char [numberColumns_];
     5435      numberRead = fread(integerType_,1,numberColumns_,fp);
     5436      if (numberRead!=numberColumns_)
     5437        return 1;
     5438    } else {
     5439      integerType_=NULL;
     5440      if (ifInteger) {
     5441        // probably old style save
     5442        alreadyGotLength=true;
     5443        length=ifInteger;
     5444      }
     5445    }
    54125446    // Pivot choices
    54135447    assert(scalars.dualPivotChoice>0&&(scalars.dualPivotChoice&63)<3);
     
    54445478    delete matrix_;
    54455479    // get arrays
    5446     numberRead = fread(&length,sizeof(int),1,fp);
    5447     if (numberRead!=1)
    5448       return 1;
     5480    if (!alreadyGotLength) {
     5481      numberRead = fread(&length,sizeof(int),1,fp);
     5482      if (numberRead!=1)
     5483        return 1;
     5484    }
    54495485    double * elements = new double[length];
    54505486    int * indices = new int[length];
  • branches/devel/Clp/src/ClpSimplexPrimal.cpp

    r854 r867  
    10371037        numberPrimalInfeasibilities_ = ninfeas;
    10381038        sumPrimalInfeasibilities_ = sum;
     1039        bool unflagged = unflag();
     1040#ifdef COIN_DEVELOP
     1041        if (unflagged&&handler_->logLevel()>0)
     1042          printf(" - but flagged variables\n");
     1043#endif
    10391044      }
    10401045    }
Note: See TracChangeset for help on using the changeset viewer.