Changeset 889 for branches


Ignore:
Timestamp:
Nov 7, 2006 2:50:16 PM (13 years ago)
Author:
forrest
Message:

for sprint

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

Legend:

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

    r884 r889  
    21382138     "This fine tunes Feasibility Pump \n\
    21392139\t>=1000000 use as accumulate switch\n\
    2140 \t>=1000 use index+2 as number of large loops\n\
     2140\t>=1000 use index+1 as number of large loops\n\
    21412141\t>=100 use 0.05 objvalue as increment\n\
    21422142\t>=10 use +0.1 objvalue for cutoff (add)\n\
     
    23592359  parameters[numberParameters++]=
    23602360    CbcOrClpParam("sprint!Crash","Whether to try sprint crash",
    2361                   -1,500,SPRINT);
     2361                  -1,5000000,SPRINT);
    23622362  parameters[numberParameters-1].setLonghelp
    23632363    (
  • branches/devel/Clp/src/ClpSimplexPrimal.cpp

    r870 r889  
    966966      //printf("XXXXZ inf cost %g take %g (range %g %g)\n",infeasibilityCost_,take,-dj_[0]*infeasibilityCost_,-dj_[n-1]*infeasibilityCost_);
    967967      take = -dj_[0]*infeasibilityCost_;
    968       infeasibilityCost_ = CoinMin(1000.0*take,1.0000001e10);;
     968      infeasibilityCost_ = CoinMin(CoinMax(1000.0*take,1.0e8),1.0000001e10);;
    969969      //printf("XXXX increasing weight to %g\n",infeasibilityCost_);
    970970    }
     
    983983  if (!nonLinearCost_->numberInfeasibilities()&&infeasibilityCost_==1.0e10&&!ifValuesPass&&true) {
    984984    // relax if default
    985     infeasibilityCost_ = CoinMin(CoinMax(100.0*sumDualInfeasibilities_,1.0e6),1.00000001e10);
     985    infeasibilityCost_ = CoinMin(CoinMax(100.0*sumDualInfeasibilities_,1.0e8),1.00000001e10);
    986986    // reset looping criterion
    987987    *progress = ClpSimplexProgress();
  • branches/devel/Clp/src/ClpSolve.cpp

    r888 r889  
    14251425      }
    14261426    }
     1427    if (numberArtificials) {
     1428      // need copy so as not to disturb original
     1429      model2 = new ClpSimplex(*model2);
     1430    }
    14271431    model2->addColumns(numberArtificials,NULL,NULL,addCost,
    14281432                       addStarts,addRow,addElement);
     
    15921596          clpMatrix->releaseSpecialColumnCopy();
    15931597        } else {
    1594 #if 0
     1598#if 1
    15951599          small.primal(1);
    15961600#else
     
    17241728      delete [] saveUpper;
    17251729    }
    1726     model2->primal(0);
     1730    model2->primal(1);
    17271731    model2->setPerturbation(savePerturbation);
    17281732    time2 = CoinCpuTime();
     
    21882192    time2=0.0;
    21892193  }
    2190   if (saveMatrix) {
     2194  if (saveMatrix&&model2==this) {
    21912195    // delete and replace
    21922196    delete model2->clpMatrix();
     
    22362240      timeX=time2;
    22372241    }
     2242  } else if (model2!=this) {
     2243    // not presolved - but different model used (sprint probably)
     2244    CoinMemcpyN(model2->primalRowSolution(),
     2245                numberRows_,this->primalRowSolution());
     2246    CoinMemcpyN(model2->dualRowSolution(),
     2247                numberRows_,this->dualRowSolution());
     2248    CoinMemcpyN(model2->primalColumnSolution(),
     2249                numberColumns_,this->primalColumnSolution());
     2250    CoinMemcpyN(model2->dualColumnSolution(),
     2251                numberColumns_,this->dualColumnSolution());
     2252    CoinMemcpyN(model2->statusArray(),
     2253                numberColumns_+numberRows_,this->statusArray());
     2254    objectiveValue_=model2->objectiveValue_;
     2255    numberIterations_ =model2->numberIterations_;
     2256    problemStatus_ =model2->problemStatus_;
     2257    secondaryStatus_ =model2->secondaryStatus_;
     2258    delete model2;
    22382259  }
    22392260  setMaximumIterations(saveMaxIterations);
Note: See TracChangeset for help on using the changeset viewer.