Changeset 1412 for trunk/Clp


Ignore:
Timestamp:
Aug 8, 2009 11:56:54 AM (10 years ago)
Author:
forrest
Message:

changes for priorities etc

Location:
trunk/Clp
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/Clp/configure

    r1326 r1412  
    16731673
    16741674
     1675# As backup, we make sure we don't loose an FLIBS if it has been set
     1676# by the user
     1677save_FLIBS="$FLIBS"
     1678
    16751679# Initialize the FADDLIBS variable (which is to be used with a fortran
    16761680# compiler and will not include FLIBS)
     
    16931697# that we are in a project main directory
    16941698coin_projectdir=yes
     1699
     1700# Check if a library version is set for libtool
     1701
    16951702
    16961703
     
    57795786*-*-irix6*)
    57805787  # Find out which ABI we are using.
    5781   echo '#line 5781 "configure"' > conftest.$ac_ext
     5788  echo '#line 5788 "configure"' > conftest.$ac_ext
    57825789  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
    57835790  (eval $ac_compile) 2>&5
     
    69136920
    69146921# Provide some information about the compiler.
    6915 echo "$as_me:6915:" \
     6922echo "$as_me:6922:" \
    69166923     "checking for Fortran 77 compiler version" >&5
    69176924ac_compiler=`set X $ac_compile; echo $2`
     
    79807987   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    79817988   -e 's:$: $lt_compiler_flag:'`
    7982    (eval echo "\"\$as_me:7982: $lt_compile\"" >&5)
     7989   (eval echo "\"\$as_me:7989: $lt_compile\"" >&5)
    79837990   (eval "$lt_compile" 2>conftest.err)
    79847991   ac_status=$?
    79857992   cat conftest.err >&5
    7986    echo "$as_me:7986: \$? = $ac_status" >&5
     7993   echo "$as_me:7993: \$? = $ac_status" >&5
    79877994   if (exit $ac_status) && test -s "$ac_outfile"; then
    79887995     # The compiler can only warn and ignore the option if not recognized
     
    82488255   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    82498256   -e 's:$: $lt_compiler_flag:'`
    8250    (eval echo "\"\$as_me:8250: $lt_compile\"" >&5)
     8257   (eval echo "\"\$as_me:8257: $lt_compile\"" >&5)
    82518258   (eval "$lt_compile" 2>conftest.err)
    82528259   ac_status=$?
    82538260   cat conftest.err >&5
    8254    echo "$as_me:8254: \$? = $ac_status" >&5
     8261   echo "$as_me:8261: \$? = $ac_status" >&5
    82558262   if (exit $ac_status) && test -s "$ac_outfile"; then
    82568263     # The compiler can only warn and ignore the option if not recognized
     
    83528359   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    83538360   -e 's:$: $lt_compiler_flag:'`
    8354    (eval echo "\"\$as_me:8354: $lt_compile\"" >&5)
     8361   (eval echo "\"\$as_me:8361: $lt_compile\"" >&5)
    83558362   (eval "$lt_compile" 2>out/conftest.err)
    83568363   ac_status=$?
    83578364   cat out/conftest.err >&5
    8358    echo "$as_me:8358: \$? = $ac_status" >&5
     8365   echo "$as_me:8365: \$? = $ac_status" >&5
    83598366   if (exit $ac_status) && test -s out/conftest2.$ac_objext
    83608367   then
     
    1069710704  lt_status=$lt_dlunknown
    1069810705  cat > conftest.$ac_ext <<EOF
    10699 #line 10699 "configure"
     10706#line 10706 "configure"
    1070010707#include "confdefs.h"
    1070110708
     
    1079710804  lt_status=$lt_dlunknown
    1079810805  cat > conftest.$ac_ext <<EOF
    10799 #line 10799 "configure"
     10806#line 10806 "configure"
    1080010807#include "confdefs.h"
    1080110808
     
    1314113148   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1314213149   -e 's:$: $lt_compiler_flag:'`
    13143    (eval echo "\"\$as_me:13143: $lt_compile\"" >&5)
     13150   (eval echo "\"\$as_me:13150: $lt_compile\"" >&5)
    1314413151   (eval "$lt_compile" 2>conftest.err)
    1314513152   ac_status=$?
    1314613153   cat conftest.err >&5
    13147    echo "$as_me:13147: \$? = $ac_status" >&5
     13154   echo "$as_me:13154: \$? = $ac_status" >&5
    1314813155   if (exit $ac_status) && test -s "$ac_outfile"; then
    1314913156     # The compiler can only warn and ignore the option if not recognized
     
    1324513252   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1324613253   -e 's:$: $lt_compiler_flag:'`
    13247    (eval echo "\"\$as_me:13247: $lt_compile\"" >&5)
     13254   (eval echo "\"\$as_me:13254: $lt_compile\"" >&5)
    1324813255   (eval "$lt_compile" 2>out/conftest.err)
    1324913256   ac_status=$?
    1325013257   cat out/conftest.err >&5
    13251    echo "$as_me:13251: \$? = $ac_status" >&5
     13258   echo "$as_me:13258: \$? = $ac_status" >&5
    1325213259   if (exit $ac_status) && test -s out/conftest2.$ac_objext
    1325313260   then
     
    1481514822   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1481614823   -e 's:$: $lt_compiler_flag:'`
    14817    (eval echo "\"\$as_me:14817: $lt_compile\"" >&5)
     14824   (eval echo "\"\$as_me:14824: $lt_compile\"" >&5)
    1481814825   (eval "$lt_compile" 2>conftest.err)
    1481914826   ac_status=$?
    1482014827   cat conftest.err >&5
    14821    echo "$as_me:14821: \$? = $ac_status" >&5
     14828   echo "$as_me:14828: \$? = $ac_status" >&5
    1482214829   if (exit $ac_status) && test -s "$ac_outfile"; then
    1482314830     # The compiler can only warn and ignore the option if not recognized
     
    1491914926   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1492014927   -e 's:$: $lt_compiler_flag:'`
    14921    (eval echo "\"\$as_me:14921: $lt_compile\"" >&5)
     14928   (eval echo "\"\$as_me:14928: $lt_compile\"" >&5)
    1492214929   (eval "$lt_compile" 2>out/conftest.err)
    1492314930   ac_status=$?
    1492414931   cat out/conftest.err >&5
    14925    echo "$as_me:14925: \$? = $ac_status" >&5
     14932   echo "$as_me:14932: \$? = $ac_status" >&5
    1492614933   if (exit $ac_status) && test -s out/conftest2.$ac_objext
    1492714934   then
     
    1712617133   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1712717134   -e 's:$: $lt_compiler_flag:'`
    17128    (eval echo "\"\$as_me:17128: $lt_compile\"" >&5)
     17135   (eval echo "\"\$as_me:17135: $lt_compile\"" >&5)
    1712917136   (eval "$lt_compile" 2>conftest.err)
    1713017137   ac_status=$?
    1713117138   cat conftest.err >&5
    17132    echo "$as_me:17132: \$? = $ac_status" >&5
     17139   echo "$as_me:17139: \$? = $ac_status" >&5
    1713317140   if (exit $ac_status) && test -s "$ac_outfile"; then
    1713417141     # The compiler can only warn and ignore the option if not recognized
     
    1739417401   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1739517402   -e 's:$: $lt_compiler_flag:'`
    17396    (eval echo "\"\$as_me:17396: $lt_compile\"" >&5)
     17403   (eval echo "\"\$as_me:17403: $lt_compile\"" >&5)
    1739717404   (eval "$lt_compile" 2>conftest.err)
    1739817405   ac_status=$?
    1739917406   cat conftest.err >&5
    17400    echo "$as_me:17400: \$? = $ac_status" >&5
     17407   echo "$as_me:17407: \$? = $ac_status" >&5
    1740117408   if (exit $ac_status) && test -s "$ac_outfile"; then
    1740217409     # The compiler can only warn and ignore the option if not recognized
     
    1749817505   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1749917506   -e 's:$: $lt_compiler_flag:'`
    17500    (eval echo "\"\$as_me:17500: $lt_compile\"" >&5)
     17507   (eval echo "\"\$as_me:17507: $lt_compile\"" >&5)
    1750117508   (eval "$lt_compile" 2>out/conftest.err)
    1750217509   ac_status=$?
    1750317510   cat out/conftest.err >&5
    17504    echo "$as_me:17504: \$? = $ac_status" >&5
     17511   echo "$as_me:17511: \$? = $ac_status" >&5
    1750517512   if (exit $ac_status) && test -s out/conftest2.$ac_objext
    1750617513   then
     
    2038220389# to comile DLLs under Windows.
    2038320390LT_LDFLAGS=
     20391
     20392# Check if we want to set the library version
     20393echo "$as_me:$LINENO: checking if library version is set" >&5
     20394echo $ECHO_N "checking if library version is set... $ECHO_C" >&6
     20395if test x"$coin_libversion" != x; then
     20396  LT_LDFLAGS="$LT_LDFLAGS -version-info $coin_libversion"
     20397  echo "$as_me:$LINENO: result: $coin_libversion" >&5
     20398echo "${ECHO_T}$coin_libversion" >&6
     20399else
     20400  echo "$as_me:$LINENO: result: no" >&5
     20401echo "${ECHO_T}no" >&6
     20402fi
     20403
    2038420404
    2038520405
  • trunk/Clp/src/CbcOrClpParam.cpp

    r1402 r1412  
    15161516  parameters[numberParameters-1].setIntValue(-1);
    15171517  parameters[numberParameters++]=
     1518    CbcOrClpParam("cutL!ength","Length of a cut",
     1519                  -1,COIN_INT_MAX,CUTLENGTH);
     1520  parameters[numberParameters-1].setLonghelp
     1521    (
     1522     "At present this only applies to Gomory cuts. -1 (default) leaves as is. \
     1523Any value >0 says that all cuts <= this length can be generated both at \
     1524root node and in tree. 0 says to use some dynamic lengths.  If value >=10,000,000 \
     1525then the length in tree is value%10000000 - so 10000100 means unlimited length \
     1526at root and 100 in tree."
     1527     );
     1528  parameters[numberParameters-1].setIntValue(-1);
     1529  parameters[numberParameters++]=
    15181530    CbcOrClpParam("cuto!ff","All solutions must be better than this",
    15191531                  -1.0e60,1.0e60,CUTOFF);
     
    22272239#ifdef COIN_HAS_CBC
    22282240  parameters[numberParameters++]=
     2241    CbcOrClpParam("moreT!une","Yet more dubious ideas for feasibility pump",
     2242                  0,100000000,FPUMPTUNE2,0);
     2243  parameters[numberParameters-1].setLonghelp
     2244    (
     2245     "Yet more ideas for Feasibility Pump \n\
     2246\t/100 == 1,3.. exact 1.0 for objective values\n\
     2247\t/100 == 2,3.. allow more iterations per pass\n\
     2248\t n fix if value of variable same for last n iterations."
     2249     );
     2250  parameters[numberParameters-1].setIntValue(0);
     2251  parameters[numberParameters++]=
    22292252    CbcOrClpParam("miplib","Do some of miplib test set",
    22302253                  MIPLIB,3,1);
     
    26262649    (
    26272650     "This fine tunes Feasibility Pump \n\
     2651\t>=10000000 use as objective weight switch\n\
    26282652\t>=1000000 use as accumulate switch\n\
    26292653\t>=1000 use index+1 as number of large loops\n\
    26302654\t==100 use objvalue +0.05*fabs(objvalue) as cutoff OR fakeCutoff if set\n\
    2631 \t%100 == 10,20 etc for experimentation\n\
    2632 \t1 == fix ints at bounds, 2 fix all integral ints, 3 and continuous at bounds"
     2655\t%100 == 10,20 affects how each solve is done\n\
     2656\t1 == fix ints at bounds, 2 fix all integral ints, 3 and continuous at bounds. \
     2657If accumulate is on then after a major pass, variables which have not moved \
     2658are fixed and a small branch and bound is tried."
    26332659     );
    26342660  parameters[numberParameters-1].setIntValue(0);
  • trunk/Clp/src/CbcOrClpParam.hpp

    r1402 r1412  
     1
    12/* $Id$ */
    23// Copyright (C) 2002, International Business Machines
     
    6869    FPUMPTUNE,TESTOSI,EXTRA1,EXTRA2,EXTRA3,DEPTHMINIBAB,CUTPASSINTREE,
    6970    THREADS,CUTPASS,VUBTRY,DENSE,EXPERIMENT,DIVEOPT,STRATEGY,SMALLFACT,
    70     HOPTIONS,
     71    HOPTIONS,CUTLENGTH,FPUMPTUNE2,
    7172#ifdef COIN_HAS_CBC
    7273    LOGLEVEL ,
  • trunk/Clp/src/ClpNode.cpp

    r1402 r1412  
    186186  double integerTolerance = stuff->integerTolerance_;
    187187  double mostAway=0.0;
     188  int bestPriority=COIN_INT_MAX;
    188189  sumInfeasibilities_ = 0.0;
    189190  numberInfeasibilities_ = 0;
     
    251252  const int * numberDownInfeasible = stuff->numberDownInfeasible_;
    252253  const double * upPseudo = stuff->upPseudo_;
     254  const int * priority = stuff->priority_;
    253255  const int * numberUp = stuff->numberUp_;
    254256  const int * numberUpInfeasible = stuff->numberUpInfeasible_;
     
    348350#endif
    349351        assert (infeasibility>0.0);
     352        if (priority[iInteger]<bestPriority) {
     353          mostAway=0.0;
     354          bestPriority=priority[iInteger];
     355        } else if (priority[iInteger]>bestPriority) {
     356          infeasibility=0.0;
     357        }
    350358        if (infeasibility>mostAway) {
    351359          mostAway=infeasibility;
     
    399407    }
    400408  }
     409  //printf("Choosing %d inf %g pri %d\n",
     410  // sequence_,mostAway,bestPriority);
    401411#if PSEUDO == 2
    402412  delete [] activeWeight;
     
    645655  downPseudo_(NULL),
    646656  upPseudo_(NULL),
     657  priority_(NULL),
    647658  numberDown_(NULL),
    648659  numberUp_(NULL),
     
    675686    downPseudo_(NULL),
    676687    upPseudo_(NULL),
     688    priority_(NULL),
    677689    numberDown_(NULL),
    678690    numberUp_(NULL),
     
    706718    downPseudo_ = NULL;
    707719    upPseudo_ = NULL;
     720    priority_ = NULL;
    708721    numberDown_ = NULL;
    709722    numberUp_ = NULL;
     
    741754    downPseudo_ = NULL;
    742755    upPseudo_ = NULL;
     756    priority_ = NULL;
    743757    numberDown_ = NULL;
    744758    numberUp_ = NULL;
     
    771785  delete [] downPseudo_;
    772786  delete [] upPseudo_;
     787  delete [] priority_;
    773788  delete [] numberDown_;
    774789  delete [] numberUp_;
     
    812827void
    813828ClpNodeStuff::fillPseudoCosts(const double * down, const double * up,
     829                              const int * priority,
    814830                              const int * numberDown, const int * numberUp,
    815831                              const int * numberDownInfeasible,
     
    819835  delete [] downPseudo_;
    820836  delete [] upPseudo_;
     837  delete [] priority_;
    821838  delete [] numberDown_;
    822839  delete [] numberUp_;
     
    825842  downPseudo_ = CoinCopyOfArray(down,number);
    826843  upPseudo_ = CoinCopyOfArray(up,number);
     844  priority_ = CoinCopyOfArray(priority,number);
    827845  numberDown_ = CoinCopyOfArray(numberDown,number);
    828846  numberUp_ = CoinCopyOfArray(numberUp,number);
  • trunk/Clp/src/ClpNode.hpp

    r1370 r1412  
    186186  /** Fill with pseudocosts */
    187187  void fillPseudoCosts(const double * down, const double * up,
     188                       const int * priority,
    188189                       const int * numberDown, const int * numberUp,
    189190                       const int * numberDownInfeasible, const int * numberUpInfeasible,
     
    208209  /// Up pseudo costs
    209210  double * upPseudo_;
     211  /// Priority
     212  int * priority_;
    210213  /// Number of times down
    211214  int * numberDown_;
  • trunk/Clp/src/ClpSimplex.cpp

    r1402 r1412  
    98219821              jColumn++;
    98229822            }
     9823            info->priority_[k]=info->priority_[j];
    98239824            info->upPseudo_[k]=info->upPseudo_[j];
    98249825            info->numberUp_[k]=info->numberUp_[j];
  • trunk/Clp/src/ClpSimplex.hpp

    r1376 r1412  
    950950      16 bit - if checking replaceColumn accuracy before updating
    951951      32 bit - say optimal if primal feasible!
     952      64 bit - give up easily in dual (and say infeasible)
    952953  */
    953954  inline int moreSpecialOptions() const
     
    958959      4 bit - keep arrays like upper_ around
    959960      8 bit - no free or superBasic variables
     961      16 bit - if checking replaceColumn accuracy before updating
     962      32 bit - say optimal if primal feasible!
     963      64 bit - give up easily in dual (and say infeasible)
    960964  */
    961965  inline void setMoreSpecialOptions(int value)
  • trunk/Clp/src/ClpSimplexDual.cpp

    r1409 r1412  
    17881788          }
    17891789          // If special option set - put off as long as possible
    1790           if ((specialOptions_&64)==0) {
     1790          if ((specialOptions_&64)==0||(moreSpecialOptions_&64)!=0) {
    17911791            if (factorization_->pivots()==0)
    17921792              problemStatus_=-4; //say looks infeasible
Note: See TracChangeset for help on using the changeset viewer.