Changeset 879


Ignore:
Timestamp:
Feb 19, 2008 2:06:58 PM (12 years ago)
Author:
forrest
Message:

modify csv to add cuts

File:
1 edited

Legend:

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

    r874 r879  
    35413541  int statistics_nprocessedrows=0, statistics_nprocessedcols=0;
    35423542  std::string statistics_result;
     3543  int * statistics_number_cuts=NULL;
     3544  const char ** statistics_name_generators=NULL;
     3545  int statistics_number_generators=0;
    35433546  memset(statusUserFunction_,0,numberUserFunctions_*sizeof(int));
    35443547  /* Note
     
    72907293               
    72917294                numberGenerators = babModel_->numberCutGenerators();
     7295                statistics_number_cuts=new int [numberGenerators];;
     7296                statistics_number_generators=numberGenerators;
     7297                statistics_name_generators=new const char *[numberGenerators];
    72927298                char timing[30];
    72937299                for (iGenerator=0;iGenerator<numberGenerators;iGenerator++) {
    72947300                  CbcCutGenerator * generator = babModel_->cutGenerator(iGenerator);
    72957301                  CglStored * stored = dynamic_cast<CglStored*>(generator->generator());
     7302                  statistics_name_generators[iGenerator]=
     7303                    generator->cutGeneratorName();
     7304                  statistics_number_cuts[iGenerator]=generator->numberCutsInTotal();
    72967305                  if (stored&&!generator->numberCutsInTotal())
    72977306                    continue;
     
    89288937                // can open - lets go for it
    89298938                // first header if needed
    8930                 if (state!=2)
    8931                   fputs("Name,result,time,objective,continuous,tightened,cut_time,nodes,iterations,rows,columns,processed_rows,processed_columns\n",fp);
     8939                if (state!=2) {
     8940                  fprintf(fp,"Name,result,time,objective,continuous,tightened,cut_time,nodes,iterations,rows,columns,processed_rows,processed_columns");
     8941                  for (int i=0;i<statistics_number_generators;i++)
     8942                    fprintf(fp,",%s",statistics_name_generators[i]);
     8943                  fprintf(fp,"\n");
     8944                }
    89328945                strcpy(buffer,argv[1]);
    89338946                char * slash=buffer;
     
    89368949                    slash=buffer+i+1;
    89378950                }
    8938                 fprintf(fp,"%s,%s,%.2f,%.16g,%g,%g,%.2f,%d,%d,%d,%d,%d,%d\n",
     8951                fprintf(fp,"%s,%s,%.2f,%.16g,%g,%g,%.2f,%d,%d,%d,%d,%d,%d",
    89398952                        slash,statistics_result.c_str(),statistics_seconds,statistics_obj,
    89408953                        statistics_continuous,statistics_tighter,statistics_cut_time,statistics_nodes,
    89418954                        statistics_iterations,statistics_nrows,statistics_ncols,
    89428955                        statistics_nprocessedrows,statistics_nprocessedcols);
     8956                for (int i=0;i<statistics_number_generators;i++)
     8957                  fprintf(fp,",%d",statistics_number_cuts[i]);
     8958                fprintf(fp,"\n");
    89438959                fclose(fp);
    89448960              } else {
Note: See TracChangeset for help on using the changeset viewer.