Changeset 1401 for trunk/Clp


Ignore:
Timestamp:
Jul 18, 2009 11:53:08 AM (10 years ago)
Author:
forrest
Message:

parameters osl

Location:
trunk/Clp/src
Files:
6 edited

Legend:

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

    r1399 r1401  
    12441244basis anyway."
    12451245     );
     1246#endif
     1247#ifdef COIN_HAS_CBC
     1248  parameters[numberParameters++]=
     1249    CbcOrClpParam("artif!icialCost","Costs >= this treated as artificials in feasibility pump",
     1250                  0.0,COIN_DBL_MAX,ARTIFICIALCOST,false);
     1251  parameters[numberParameters-1].setDoubleValue(0.0);
     1252    parameters[numberParameters-1].setLonghelp
     1253    (
     1254     "0.0 off - otherwise variables with costs >= this are treated as artificials and fixed to lower bound in feasibility pump"
     1255     );
     1256#endif
     1257#ifdef COIN_HAS_CLP
    12461258  parameters[numberParameters++]=
    12471259    CbcOrClpParam("auto!Scale","Whether to scale objective, rhs and bounds of problem if they look odd",
     
    15311543#ifdef COIN_HAS_CBC
    15321544  parameters[numberParameters++]=
    1533     CbcOrClpParam("dextra1","Extra double parameter 1",
    1534                   -COIN_DBL_MAX,COIN_DBL_MAX,DEXTRA1,false);
    1535   parameters[numberParameters-1].setDoubleValue(0.0);
    1536   parameters[numberParameters++]=
    1537     CbcOrClpParam("dextra2","Extra double parameter 2",
    1538                   -COIN_DBL_MAX,COIN_DBL_MAX,DEXTRA2,false);
    1539   parameters[numberParameters-1].setDoubleValue(0.0);
     1545    CbcOrClpParam("depth!MiniBab","Depth at which to try mini BAB",
     1546                  -COIN_INT_MAX,COIN_INT_MAX,DEPTHMINIBAB);
     1547  parameters[numberParameters-1].setIntValue(-1);
     1548  parameters[numberParameters-1].setLonghelp
     1549    (
     1550     "Rather a complicated parameter but can be useful. -1 means off for large problems but on as if -12 for problems where rows+columns<500, -2 \
     1551means use Cplex if it is linked in.  Otherwise if negative then go into depth first complete search fast branch and bound when depth>= -value-2 (so -3 will use this at depth>=1).  This mode is only switched on after 500 nodes.  If you really want to switch it off for small problems then set this to -999.  If >=0 the value doesn't matter very much.  The code will do approximately 100 nodes of fast branch and bound every now and then at depth>=5.  The actual logic is too twisted to describe here."
     1552     );
    15401553  parameters[numberParameters++]=
    15411554    CbcOrClpParam("dextra3","Extra double parameter 3",
     
    18111824  parameters[numberParameters-1].setIntValue(-1);
    18121825  parameters[numberParameters++]=
    1813     CbcOrClpParam("extra4","Extra integer parameter 4",
    1814                   -COIN_INT_MAX,COIN_INT_MAX,EXTRA4,false);
     1826    CbcOrClpParam("depthminibab","Extra integer parameter 4",
     1827                  -COIN_INT_MAX,COIN_INT_MAX,DEPTHMINIBAB,false);
    18151828  parameters[numberParameters-1].setIntValue(-1);
    18161829#endif
     
    18311844                  1.0,1.0e15,FAKEBOUND,false);
    18321845#ifdef COIN_HAS_CBC
     1846  parameters[numberParameters++]=
     1847    CbcOrClpParam("fakeC!utoff","Fake cutoff for use in feasibility pump",
     1848                  -COIN_DBL_MAX,COIN_DBL_MAX,FAKECUTOFF);
     1849  parameters[numberParameters-1].setDoubleValue(0.0);
     1850  parameters[numberParameters-1].setLonghelp
     1851    (
     1852     "0.0 off - otherwise add a constraint forcing objective below this value\
     1853 in feasibility pump"
     1854     );
     1855  parameters[numberParameters++]=
     1856    CbcOrClpParam("fakeI!ncrement","Fake increment for use in feasibility pump",
     1857                  -COIN_DBL_MAX,COIN_DBL_MAX,FAKEINCREMENT,false);
     1858  parameters[numberParameters-1].setDoubleValue(0.0);
     1859  parameters[numberParameters-1].setLonghelp
     1860    (
     1861     "0.0 off - otherwise use as absolute increment to cutoff \
     1862when solution found in feasibility pump"
     1863     );
    18331864  parameters[numberParameters++]=
    18341865    CbcOrClpParam("feas!ibilityPump","Whether to try Feasibility Pump",
     
    18761907If 0 then just tries to set as best solution \
    18771908If 1 then also does that many nodes on fixed problem."
     1909     );
     1910  parameters[numberParameters++]=
     1911    CbcOrClpParam("fraction!forBAB","Fraction in feasibility pump",
     1912                  1.0e-5,1.1,SMALLBAB,false);
     1913  parameters[numberParameters-1].setDoubleValue(0.5);
     1914  parameters[numberParameters-1].setLonghelp
     1915    (
     1916     "After a pass in feasibility pump, variables which have not moved \
     1917about are fixed and if the preprocessed model is small enough a few nodes \
     1918of branch and bound are done on reduced problem.  Small problem has to be less than this fraction of original."
    18781919     );
    18791920#endif
  • trunk/Clp/src/CbcOrClpParam.hpp

    r1371 r1401  
    5454   
    5555    DJFIX = 81, TIGHTENFACTOR,PRESOLVETOLERANCE,OBJSCALE2,
    56     DEXTRA1, DEXTRA2, DEXTRA3, DEXTRA4, DEXTRA5,
     56    FAKEINCREMENT, FAKECUTOFF, ARTIFICIALCOST,DEXTRA3, SMALLBAB, DEXTRA4, DEXTRA5,
    5757
    5858    SOLVERLOGLEVEL=101,
     
    6666    STRONGBRANCHING=151,CUTDEPTH, MAXNODES,NUMBERBEFORE,NUMBERANALYZE,
    6767    MIPOPTIONS,MOREMIPOPTIONS,MAXHOTITS,FPUMPITS,MAXSOLS,
    68     FPUMPTUNE,TESTOSI,EXTRA1,EXTRA2,EXTRA3,EXTRA4,CUTPASSINTREE,
     68    FPUMPTUNE,TESTOSI,EXTRA1,EXTRA2,EXTRA3,DEPTHMINIBAB,CUTPASSINTREE,
    6969    THREADS,CUTPASS,VUBTRY,DENSE,EXPERIMENT,DIVEOPT,STRATEGY,SMALLFACT,
    7070    HOPTIONS,
  • trunk/Clp/src/ClpFactorization.cpp

    r1395 r1401  
    22// Copyright (C) 2002, International Business Machines
    33// Corporation and others.  All Rights Reserved.
    4 
    54#include "CoinPragma.hpp"
    65#include "ClpFactorization.hpp"
     
    11231122#elif CLP_MULTIPLE_FACTORIZATIONS == 4
    11241123#include "CoinSimpFactorization.hpp"
    1125 #define CoinOslFactorization CoinDenseFactorization
    1126 //#include "CoinOslFactorization.hpp"
     1124//#define CoinOslFactorization CoinDenseFactorization
     1125#include "CoinOslFactorization.hpp"
    11271126#endif
    11281127
  • trunk/Clp/src/ClpFactorization.hpp

    r1394 r1401  
    1818#ifdef CLP_MULTIPLE_FACTORIZATIONS
    1919#include "CoinDenseFactorization.hpp"
     20#endif
     21#ifndef COIN_FAST_CODE
     22#define COIN_FAST_CODE
    2023#endif
    2124
  • trunk/Clp/src/ClpNetworkBasis.hpp

    r1370 r1401  
    1616class ClpSimplex;
    1717#include "CoinFinite.hpp"
     18#ifndef COIN_FAST_CODE
     19#define COIN_FAST_CODE
     20#endif
    1821
    1922/** This deals with Factorization and Updates for network structures
  • trunk/Clp/src/ClpPackedMatrix.cpp

    r1376 r1401  
    38743874  int iColumn;
    38753875  // make sure matrix correct size
     3876  assert (matrix_->getNumRows()<=model->numberRows());
     3877  if (model->clpScaledMatrix())
     3878    assert (model->clpScaledMatrix()->getNumElements()==matrix_->getNumElements());
     3879  assert (matrix_->getNumRows()<=model->numberRows());
    38763880  matrix_->setDimensions(model->numberRows(),model->numberColumns());
    38773881  CoinBigIndex numberLarge=0;;
     
    38863890  const int * columnLength = matrix_->getVectorLengths();
    38873891  const double * elementByColumn = matrix_->getElements();
    3888   int numberRows = matrix_->getNumRows();
     3892  int numberRows = model->numberRows();
    38893893  int numberColumns = matrix_->getNumCols();
    38903894  // Say no gaps
Note: See TracChangeset for help on using the changeset viewer.