Changeset 245


Ignore:
Timestamp:
Feb 8, 2006 12:21:43 PM (14 years ago)
Author:
forrest
Message:

minor stuff

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Test/CoinSolve.cpp

    r244 r245  
    11301130          case BARRIER:
    11311131            if (goodModel) {
     1132              double objScale =
     1133                parameters[whichParam(OBJSCALE2,numberParameters,parameters)].doubleValue();
     1134              if (objScale!=1.0) {
     1135                int iColumn;
     1136                int numberColumns=lpSolver->numberColumns();
     1137                double * dualColumnSolution =
     1138                  lpSolver->dualColumnSolution();
     1139                ClpObjective * obj = lpSolver->objectiveAsObject();
     1140                assert(dynamic_cast<ClpLinearObjective *> (obj));
     1141                double offset;
     1142                double * objective = obj->gradient(NULL,NULL,offset,true);
     1143                for (iColumn=0;iColumn<numberColumns;iColumn++) {
     1144                  dualColumnSolution[iColumn] *= objScale;
     1145                  objective[iColumn] *= objScale;;
     1146                }
     1147                int iRow;
     1148                int numberRows=lpSolver->numberRows();
     1149                double * dualRowSolution =
     1150                  lpSolver->dualRowSolution();
     1151                for (iRow=0;iRow<numberRows;iRow++)
     1152                  dualRowSolution[iRow] *= objScale;
     1153                lpSolver->setObjectiveOffset(objScale*lpSolver->objectiveOffset());
     1154              }
    11321155              ClpSolve::SolveType method;
    11331156              ClpSolve::PresolveType presolveType;
     
    12301253                if (scaleBarrier)
    12311254                  barrierOptions |= 8;
     1255                if (doKKT)
     1256                  barrierOptions |= 16;
    12321257                if (gamma)
    1233                   barrierOptions |= 16;
    1234                 if (doKKT)
    1235                   barrierOptions |= 32;
     1258                  barrierOptions |= 32*gamma;
     1259                if (crossover==3)
     1260                  barrierOptions |= 256; // try presolve in crossover
    12361261                solveOptions.setSpecialOption(4,barrierOptions);
    12371262              }
Note: See TracChangeset for help on using the changeset viewer.