Changeset 2434 for trunk


Ignore:
Timestamp:
Nov 23, 2018 2:19:58 PM (7 months ago)
Author:
forrest
Message:

for debug

Location:
trunk/Cbc/src
Files:
2 edited

Legend:

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

    r2382 r2434  
    23832383        int i;
    23842384        double rhs = 0.0;
    2385         for (i = 0; i < numberIntegersOrig; i++) {
    2386             int iColumn = integerVariableOrig[i];
    2387 #ifdef COIN_HAS_CLP
    2388             if (!isHeuristicInteger(newSolver,iColumn))
    2389               continue;
    2390 #endif
     2385        for (i = 0; i < numberIntegers; i++) {
     2386            int iColumn = integerVariable[i];
    23912387            int direction = closestSolution[i];
    23922388            closestSolution[i] = iColumn;
     
    24012397            }
    24022398        }
    2403         newSolver->addRow(numberIntegersOrig, closestSolution,
     2399        newSolver->addRow(numberIntegers, closestSolution,
    24042400                          lastSolution, -COIN_DBL_MAX, rhs + 10.0);
    24052401        //double saveValue = newSolutionValue;
  • trunk/Cbc/src/CbcSolver.cpp

    r2421 r2434  
    41244124                                    if ((model_.moreSpecialOptions()&65536)==0)
    41254125                                      process.addCutGenerator(&generator1);
    4126                                     int translate[] = {9999, 0, 0, -3, 2, 3, -2, 9999, 4, 5};
     4126                                    int translate[] = {9999, 0, 0, -3, 2, 3, -2, 9999, 4, 5, 0};
    41274127                                    process.passInMessageHandler(babModel_->messageHandler());
    41284128                                    //process.messageHandler()->setLogLevel(babModel_->logLevel());
     
    43874387
    43884388          bool keepPPN = parameters_[whichParam(CBC_PARAM_STR_PREPROCNAMES, numberParameters_, parameters_)].currentOptionAsInteger();
     4389#ifdef SAVE_NAUTY
     4390          keepPPN=1;
     4391#endif
    43894392          process.setKeepColumnNames( keepPPN );
    43904393          process.setTimeLimit( babModel_->getMaximumSeconds()-babModel_->getCurrentSeconds(), babModel_->useElapsedTime() );
     
    44704473                                }
    44714474                                //solver2->resolve();
    4472                                 if (preProcess == 2) {
     4475                                if (preProcess == 2 || preProcess == 10) {
    44734476                                    // names are wrong - redo
    44744477                                    const int * originalColumns = process.originalColumns();
     
    44814484                                    OsiClpSolverInterface * clpSolver2 = dynamic_cast< OsiClpSolverInterface*> (solver2);
    44824485                                    ClpSimplex * lpSolver = clpSolver2->getModelPtr();
    4483                                     lpSolver->writeMps("presolved.mps", 0, 1, lpSolver->optimizationDirection());
    4484                                     printf("Preprocessed model (minimization) on presolved.mps\n");
     4486                                    char name[100];
     4487                                    if (preProcess==2) {
     4488                                      strcpy(name,"presolved.mps");
     4489                                    } else {
     4490                                      //strcpy(name,lpSolver->problemName().c_str());
     4491                                      int iParam;
     4492                                      for ( iParam = 0; iParam < numberParameters_; iParam++ ) {
     4493                                        int match = parameters_[iParam].matches("import");
     4494                                        if (match == 1)
     4495                                          break;
     4496                                      }
     4497                                      strcpy(name,parameters_[iParam].stringValue().c_str());
     4498                                      char * dot =strstr(name,".mps");
     4499                                      if (!dot)
     4500                                        dot = strstr(name,".lp");
     4501                                      if (dot) {
     4502                                        *dot='\0';
     4503                                        int n = static_cast<int>(dot-name);
     4504                                        int i;
     4505                                        for (i=n-1;i>=0;i--) {
     4506                                          if (name[i]=='/')
     4507                                            break;
     4508                                        }
     4509                                        if (i>=0)
     4510                                          memmove(name,name+i+1,n);
     4511                                        strcat(name,"_preprocessed.mps");
     4512                                      } else {
     4513                                        strcpy(name,"preprocessed.mps");
     4514                                      }
     4515                                    }
     4516                                    lpSolver->writeMps(name, 0, 1, lpSolver->optimizationDirection());
     4517                                    printf("Preprocessed model (minimization) on %s\n",name);
     4518                                    if (preProcess==10) {
     4519                                      printf("user wanted to stop\n");
     4520                                      exit(0);
     4521                                    }
    44854522                                }
    44864523                                {
     
    1255512592        }
    1255612593        int iOrbit=-1;
    12557 #define LONGEST 1
     12594#define LONGEST 0
    1255812595#if LONGEST
    1255912596        // choose longest
     
    1262912666                                    model.messages())
    1263012667      << general << CoinMessageEol ;
    12631     //printf("saving model on nauty\n");
    12632     //solver->writeMps("nauty");
     12668#ifdef SAVE_NAUTY
     12669    OsiClpSolverInterface * clpSolver =
     12670      dynamic_cast< OsiClpSolverInterface*> (solver);
     12671    ClpSimplex * lpSolver = clpSolver->getModelPtr();
     12672    char name[100];
     12673    strcpy(name,lpSolver->problemName().c_str());
     12674    strcat(name,"_nauty");
     12675    printf("saving model on %s\n",name);
     12676    solver->writeMps(name);
     12677#endif
    1263312678  }
    1263412679#ifndef REALLY_CHANGE
Note: See TracChangeset for help on using the changeset viewer.