Changeset 999 for branches


Ignore:
Timestamp:
Jul 1, 2008 10:30:22 PM (11 years ago)
Author:
jpgoncal
Message:

fixed getTree()

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/dynamicbranching/dynamicbranching.cpp

    r998 r999  
    4747
    4848#ifdef DEBUG_DYNAMIC_BRANCHING
    49 int dyn_debug = 1;
     49int dyn_debug = 10;
    5050#endif
    5151
     
    13591359  std::string tree;
    13601360  char line[1000];
    1361   for(int k=0; k<branchingTree.size_; k++) {
     1361  int k_max = branchingTree.size_;
     1362  for(int k=0; k<k_max; k++) {
    13621363    DBNodeSimple& node = branchingTree.nodes_[k];
    1363     if(node.previous_ >= 0)
     1364    if(node.lower_ != NULL) {
    13641365      sprintf(line, "%d %d %d %d %f %d %d 0x%x %d %d %f\n",
    13651366              k, node.node_id_, node.parent_, node.variable_,
     
    13671368              node.upper_[node.variable_], node.way_,
    13681369              node.child_down_, node.child_up_, node.objectiveValue_);
    1369     tree += line;
     1370      tree += line;
     1371    }
     1372    else
     1373      k_max++;
    13701374  }
    13711375  return tree;
     
    16461650          }
    16471651          if (cnt > 0) {
    1648             printf("Before switch: opt: %c   inf: %c   dual_bd: %c\n",
     1652            printf("Before switch: opt: %c   inf: %c   dual_bd: %c   objVal: %f\n",
    16491653                   lpres.isProvenOptimal ? 'T' : 'F',
    16501654                   lpres.isProvenPrimalInfeasible ? 'T' : 'F',
    1651                    lpres.isDualObjectiveLimitReached ? 'T' : 'F');
     1655                   lpres.isDualObjectiveLimitReached ? 'T' : 'F',
     1656                   lpres.getObjSense * lpres.getObjValue);
    16521657            model.resolve();
    16531658            // This is horribly looking... Get rid of it when properly
     
    16691674              model.setDblParam(OsiDualObjectiveLimit, oldlimit);
    16701675            }
    1671             printf("After resolve: opt: %c   inf: %c   dual_bd: %c\n",
     1676            printf("After resolve: opt: %c   inf: %c   dual_bd: %c   objVal: %f\n",
    16721677                   lpres1.isProvenOptimal ? 'T' : 'F',
    16731678                   lpres1.isProvenPrimalInfeasible ? 'T' : 'F',
    1674                    lpres1.isDualObjectiveLimitReached ? 'T' : 'F');
     1679                   lpres1.isDualObjectiveLimitReached ? 'T' : 'F',
     1680                   lpres.getObjSense * lpres.getObjValue);
    16751681            assert(lpres.isAbandoned == model.isAbandoned());
    16761682            assert(lpres.isDualObjectiveLimitReached == model.isDualObjectiveLimitReached());
Note: See TracChangeset for help on using the changeset viewer.