Changeset 1608 for trunk/Cbc


Ignore:
Timestamp:
Mar 6, 2011 2:38:18 PM (9 years ago)
Author:
forrest
Message:

allow for problems with large integers

Location:
trunk/Cbc/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Cbc/src/CbcSimpleInteger.cpp

    r1573 r1608  
    538538    double nub = model_->solver()->getColUpper()[iColumn];
    539539    if (nlb < olb) {
    540 #ifndef NDEBUG
     540#ifdef CBC_PRINT2
    541541        printf("bad lb change for column %d from %g to %g\n", iColumn, olb, nlb);
    542542#endif
     
    545545    }
    546546    if (nub > oub) {
    547 #ifndef NDEBUG
     547#ifdef CBC_PRINT2
    548548        printf("bad ub change for column %d from %g to %g\n", iColumn, oub, nub);
    549549#endif
    550550        model_->solver()->setColUpper(iColumn, CoinMax(oub, nlb));
    551551    }
    552 #ifndef NDEBUG
     552#ifdef CBC_PRINT2
    553553    if (nlb < olb + 1.0e-8 && nub > oub - 1.0e-8 && false)
    554554        printf("bad null change for column %d - bounds %g,%g\n", iColumn, olb, oub);
  • trunk/Cbc/src/CbcSolver.cpp

    r1607 r1608  
    58955895                                        saveSolver->writeMps("inf2");
    58965896#endif
     5897                                        OsiClpSolverInterface * osiclp = dynamic_cast< OsiClpSolverInterface*> (saveSolver);
     5898                                        if (osiclp)
     5899                                          osiclp->getModelPtr()->checkUnscaledSolution();
    58975900                                    }
    58985901                                    assert (saveSolver->isProvenOptimal());
     
    59155918                                        delete basis;
    59165919                                        originalSolver->initialSolve();
     5920                                        OsiClpSolverInterface * osiclp = dynamic_cast< OsiClpSolverInterface*> (originalSolver);
     5921                                        if (osiclp)
     5922                                          osiclp->getModelPtr()->checkUnscaledSolution();
    59175923                                    }
    59185924                                    assert (originalSolver->isProvenOptimal());
     
    59595965                                        delete basis;
    59605966                                        originalSolver->initialSolve();
     5967                                        OsiClpSolverInterface * osiclp = dynamic_cast< OsiClpSolverInterface*> (originalSolver);
     5968                                        if (osiclp)
     5969                                          osiclp->getModelPtr()->checkUnscaledSolution();
    59615970#ifdef CLP_INVESTIGATE
    59625971                                        if (!originalSolver->isProvenOptimal()) {
     
    76987707                                  glp_free(cbc_glp_prob);
    76997708                                  glp_mpl_free_wksp(cbc_glp_tran);
     7709                                  cbc_glp_prob = NULL;
     7710                                  cbc_glp_tran = NULL;
    77007711                                  //gmp_free_mem();
    77017712                                  /* check that no memory blocks are still allocated */
     
    82748285        }
    82758286    }
     8287#ifdef COIN_HAS_GLPK
     8288    if (cbc_glp_prob) {
     8289      // free up as much as possible
     8290      glp_free(cbc_glp_prob);
     8291      glp_mpl_free_wksp(cbc_glp_tran);
     8292      glp_free_env();
     8293      cbc_glp_prob = NULL;
     8294      cbc_glp_tran = NULL;
     8295    }
     8296#endif
    82768297    delete [] statistics_number_cuts;
    82778298    delete [] statistics_name_generators;
Note: See TracChangeset for help on using the changeset viewer.