Changeset 612 for branches/devel/Cbc/src


Ignore:
Timestamp:
May 15, 2007 6:11:44 AM (12 years ago)
Author:
forrest
Message:

for nonlinear

Location:
branches/devel/Cbc/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/devel/Cbc/src/CbcLinked.cpp

    r604 r612  
    64836483    double upperColumn=columnUpper(iColumn);
    64846484    double gap = upperColumn-lowerColumn;
     6485    if (gap>1.0e8)
     6486      gap=1.0e8;
    64856487    assert (fabs(floor(gap+0.5)-gap)<1.0e-5);
    64866488    whichColumn[numJ]=iColumn;
     
    68916893            if (jColumn>=0) {
    68926894              columnQuadratic[numberQuadratic]=jColumn;
    6893               elementQuadratic[numberQuadratic++]=2.0*value; // convention
     6895              //? elementQuadratic[numberQuadratic++]=2.0*value; // convention
     6896              elementQuadratic[numberQuadratic++]=value; // ? what about diagonal
    68946897              largestColumn = CoinMax(largestColumn,jColumn);
    68956898            } else if (jColumn==-2) {
  • branches/devel/Cbc/src/CbcSolver.cpp

    r606 r612  
    475475               int * knapsackRow, int &numberKnapsack,
    476476               CglStored & stored, int logLevel,
    477                int fixedPriority, int SOSPriority)
     477               int fixedPriority, int SOSPriority,CoinModel & tightenedModel)
    478478{
    479479  int maxTotal = numberKnapsack;
     
    514514  CoinModel coinModel=*si->coinModel();
    515515  assert(coinModel.numberRows()>0);
     516  tightenedModel = coinModel;
    516517  int numberRows = coinModel.numberRows();
    517518  // Mark variables
     
    953954  si=NULL;
    954955  if (!badModel) {
     956    finalModel->setDblParam(OsiObjOffset,coinModel.objectiveOffset());
    955957    return finalModel;
    956958  } else {
     
    13001302#ifdef COIN_HAS_ASL
    13011303    CoinModel * coinModel = NULL;
     1304<<<<<<< .mine
     1305    CglStored storedAmpl;
     1306=======
     1307>>>>>>> .r611
    13021308    ampl_info info;
    1303     CglStored storedAmpl;
    13041309    CoinModel saveCoinModel;
     1310    CoinModel saveTightenedModel;
    13051311    int * whichColumn = NULL;
    13061312    int * knapsackStart=NULL;
     
    14071413        complicatedInteger=1;
    14081414        if (info.cut) {
    1409           printf("warning - cuts with LOS\n");
     1415          printf("Sorry - can't do cuts with LOS as ruins delicate row order\n");
     1416          abort();
    14101417          int numberRows = info.numberRows;
    14111418          int * whichRow = new int [numberRows];
     
    14291436          }
    14301437          solver->deleteRows(nDelete,whichRow);
     1438          // and special matrix
     1439          si->cleanMatrix()->deleteRows(nDelete,whichRow);
    14311440          delete [] whichRow;
    14321441        }
     
    31573166                      OsiSolverInterface * solver = expandKnapsack(saveCoinModel,whichColumn,knapsackStart,
    31583167                                                                   knapsackRow,numberKnapsack,
    3159                                                                    storedAmpl,logLevel,extra1,extra2);
     3168                                                                   storedAmpl,logLevel,extra1,extra2,
     3169                                                                   saveTightenedModel);
    31603170                      if (solver) {
    31613171                        clpSolver = dynamic_cast< OsiClpSolverInterface*> (solver);
     
    44574467                      info.primalSolution = (double *) malloc(numberColumns*sizeof(double));
    44584468                      // Fills in original solution (coinModel length)
    4459                       afterKnapsack(saveCoinModel,  whichColumn,  knapsackStart,
     4469                      afterKnapsack(saveTightenedModel,  whichColumn,  knapsackStart,
    44604470                                    knapsackRow,  numberKnapsack,
    44614471                                    lpSolver->primalColumnSolution(), info.primalSolution,1);
Note: See TracChangeset for help on using the changeset viewer.