Changeset 943 for trunk


Ignore:
Timestamp:
Feb 6, 2013 10:11:36 PM (7 years ago)
Author:
pbelotti
Message:

starting to fix #22

Location:
trunk/Couenne/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Couenne/src/main/BonCouenne.cpp

    r925 r943  
    239239        exit(1);
    240240      }
     241
     242      // round cbcSol's integer coordinates
     243
     244      // for (int i=0; i<modelNvars; i++)
     245      //        if (cp -> Var (i) -> isDefinedInteger ())
     246      //          cbcSol [i] = COUENNE_round (cbcSol [i]);
    241247
    242248      if (cbcObjVal < 1e49 && !infeasible) {
     
    265271      bool couenneSolIsFeas = false;
    266272
     273      // round couenneSol's integer coordinates
     274
     275      // for (int i=0; i<modelNvars; i++)
     276      //        if (cp -> Var (i) -> isDefinedInteger ())
     277      //          couenneSol [i] = COUENNE_round (couenneSol [i]);
     278
    267279      if(couenneSol != NULL) {
    268280#ifdef FM_CHECKNLP2
     281        int cMS = rs->getCardModSol();
    269282        couenneSolIsFeas = cp->checkNLP2(couenneSol, 0, false,
    270283                                         false, true,
    271284                                         cp->getFeasTol());
    272         int cMS = rs->getCardModSol();
    273285        CoinCopyN(rs->getModSol(cMS), cMS, modCouenneSol);
    274286        modCouenneSolVal = rs->getModSolVal();
    275287        modCouenneSolMaxViol = rs->getModSolMaxViol();
    276288#else /* not FM_CHECKNLP2 */
     289        int cMS = cp->nVars();
    277290        couenneSolIsFeas = cp->checkNLP(couenneSol, modCouenneSolVal, true);
    278         int cMS = cp->nVars();
    279291        CoinCopyN(couenneSol, cMS, modCouenneSol);
    280292        modCouenneSolMaxViol = cp->getFeasTol();
     
    283295      }
    284296
    285       retcomp = rs -> compareAndSave (modCbcSol, modCbcSolVal,
    286                                       modCbcSolMaxViol, cbcSolIsFeas,
    287                                       modCouenneSol, modCouenneSolVal,
    288                                       modCouenneSolMaxViol, couenneSolIsFeas,
     297      retcomp = rs -> compareAndSave (modCbcSol,     modCbcSolVal,     modCbcSolMaxViol,     cbcSolIsFeas,
     298                                      modCouenneSol, modCouenneSolVal, modCouenneSolMaxViol, couenneSolIsFeas,
    289299                                      modelNvars, cp->getFeasTol());
    290300
  • trunk/Couenne/src/problem/CouenneRecordBestSol.cpp

    r936 r943  
    215215        modSol = newSol;
    216216        cardSol = givenCard;
    217 
    218217    }
    219218  }
     
    258257
    259258/*****************************************************************************/
    260 int CouenneRecordBestSol::compareAndSave(const double *solA, const double solAVal,
    261                                   const double solAMaxViol,
    262                                   const bool solAIsFeas,
    263                                   const double *solB, const double solBVal,
    264                                   const double solBMaxViol,
    265                                   const bool solBIsFeas,
    266                                   const int cardSol,
    267                                   const double precision) {
     259int CouenneRecordBestSol::compareAndSave(const double *solA, const double solAVal, const double solAMaxViol, const bool solAIsFeas,
     260                                         const double *solB, const double solBVal, const double solBMaxViol, const bool solBIsFeas,
     261                                         const int cardSol,
     262                                         const double precision) {
    268263  int retval = -2;
    269264  if(solBIsFeas) {
Note: See TracChangeset for help on using the changeset viewer.