Ignore:
Timestamp:
Jan 5, 2010 11:20:52 AM (10 years ago)
Author:
forrest
Message:

try and modularize threads

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/sandbox/Cbc/src/CbcSolver.cpp

    r1404 r1412  
    637637{
    638638    OsiSolverInterface * solver = model_.solver();
    639     OsiClpSolverInterface * clpSolver = 
    640                 dynamic_cast< OsiClpSolverInterface*> (solver);
     639    OsiClpSolverInterface * clpSolver =
     640        dynamic_cast< OsiClpSolverInterface*> (solver);
    641641    assert (clpSolver);
    642         ClpSimplex * lpSolver = clpSolver->getModelPtr();
     642    ClpSimplex * lpSolver = clpSolver->getModelPtr();
    643643
    644644    /*
     
    657657    generalMessageHandler->setPrefix(true);
    658658
    659         lpSolver->setPerturbation(50);
     659    lpSolver->setPerturbation(50);
    660660    lpSolver->messageHandler()->setPrefix(false);
    661661
     
    10141014
    10151015int callCbc1(const std::string input2, CbcModel & babSolver,
    1016              int callBack(CbcModel * currentSolver, int whereFrom))
     1016             int callBack(CbcModel * currentSolver, int whereFrom))
    10171017{
    10181018    char * input3 = CoinStrdup(input2.c_str());
     
    10231023
    10241024int callCbc1(const char * input2, CbcModel & model,
    1025              int callBack(CbcModel * currentSolver, int whereFrom))
     1025             int callBack(CbcModel * currentSolver, int whereFrom))
    10261026{
    10271027    char * input = CoinStrdup(input2);
     
    10751075    noPrinting = false;
    10761076    int returnCode = CbcMain1(n + 2, const_cast<const char **>(argv),
    1077                               model, callBack);
     1077                              model, callBack);
    10781078    for (int k = 0; k < n + 2; k++)
    10791079        free(argv[k]);
     
    24632463                            }
    24642464                            solveOptions.setPresolveType(presolveType, preSolve);
    2465                             if (type == CLP_PARAM_ACTION_DUALSIMPLEX || 
    2466                                                                 type == CLP_PARAM_ACTION_SOLVECONTINUOUS) {
     2465                            if (type == CLP_PARAM_ACTION_DUALSIMPLEX ||
     2466                                    type == CLP_PARAM_ACTION_SOLVECONTINUOUS) {
    24672467                                method = ClpSolve::useDual;
    24682468                            } else if (type == CLP_PARAM_ACTION_PRIMALSIMPLEX) {
     
    28922892                            }
    28932893                            // Actually do heuristics
    2894                             doHeuristics(&model_,2,parameters_,
    2895                                 numberParameters_,noPrinting_,initialPumpTune);
     2894                            doHeuristics(&model_, 2, parameters_,
     2895                                         numberParameters_, noPrinting_, initialPumpTune);
    28962896                            if (model_.bestSolution()) {
    28972897                                model_.setProblemStatus(1);
     
    39043904                            }
    39053905                            // Set up heuristics
    3906                             doHeuristics(babModel_,((!miplib)?1:10),parameters_,
    3907                                 numberParameters_,noPrinting_,initialPumpTune);
     3906                            doHeuristics(babModel_, ((!miplib) ? 1 : 10), parameters_,
     3907                                         numberParameters_, noPrinting_, initialPumpTune);
    39083908                            if (!miplib) {
    39093909                                if (parameters_[whichParam(CBC_PARAM_STR_LOCALTREE, numberParameters_, parameters_)].currentOptionAsInteger()) {
     
    42284228                            currentBranchModel = babModel_;
    42294229                            //OsiSolverInterface * strengthenedModel=NULL;
    4230                             if (type == CBC_PARAM_ACTION_BAB || 
    4231                                                                 type == CBC_PARAM_ACTION_MIPLIB) {
     4230                            if (type == CBC_PARAM_ACTION_BAB ||
     4231                                    type == CBC_PARAM_ACTION_MIPLIB) {
    42324232                                if (strategyFlag == 1) {
    42334233                                    // try reduced model
     
    74277427                                fp = stderr;
    74287428                            } else {
    7429                                 if (field[0] == '/' || field[0] == '\\') {
     7429                                bool absolutePath;
     7430                                if (dirsep == '/') {
     7431                                    // non Windows (or cygwin)
     7432                                    absolutePath = (field[0] == '/');
     7433                                } else {
     7434                                    //Windows (non cycgwin)
     7435                                    absolutePath = (field[0] == '\\');
     7436                                    // but allow for :
     7437                                    if (strchr(field.c_str(), ':'))
     7438                                        absolutePath = true;
     7439                                }
     7440                                if (absolutePath) {
    74307441                                    fileName = field;
    74317442                                } else if (field[0] == '~') {
     
    74607471                                        // unbounded
    74617472                                        fprintf(fp, "Unbounded" );
    7462                                     } else if (iStat >= 3&&iStat <= 5) {
    7463                                         if (iStat==3)
    7464                                             fprintf(fp, "Stopped on iterations or time" );
    7465                                       else if (iStat == 4)
    7466                                         fprintf(fp, "Stopped on difficulties" );
    7467                                       else 
    7468                                         fprintf(fp, "Stopped on ctrl-c" );
    7469                                       if (babModel_&&!babModel_->bestSolution())
    7470                                         fprintf(fp," (no integer solution - continuous used)");
     7473                                    } else if (iStat >= 3 && iStat <= 5) {
     7474                                        if (iStat == 3)
     7475                                            fprintf(fp, "Stopped on iterations or time" );
     7476                                        else if (iStat == 4)
     7477                                            fprintf(fp, "Stopped on difficulties" );
     7478                                        else
     7479                                            fprintf(fp, "Stopped on ctrl-c" );
     7480                                        if (babModel_ && !babModel_->bestSolution())
     7481                                            fprintf(fp, " (no integer solution - continuous used)");
    74717482                                    } else if (iStat == 6) {
    74727483                                        // bab infeasible
Note: See TracChangeset for help on using the changeset viewer.