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

for nonlinear

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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.