[Coin-bcpdiscuss] Handling user defined statistics

alikoc at mail.utexas.edu alikoc at mail.utexas.edu
Sun Aug 26 14:12:50 EDT 2007


Hi all,

I am trying to figure out how we keep (and print) some statistics other than BCP
does. Some example statistics are:
- Just printing the LP solution of the root node (to compare the LP duality gap
vs. column generation dualit gap).
- Print the total time elapsed at each level of the search tree
- Print the toal number of iterations performed at each level of the search tree
- Print the dual variables for each iteration of the root node (to see the
tailing off effect)

And a number of others... Storing the data is not a big deal for me. I am using
local arrays in the BCP_lp_user class, and storing the data. For instance for
the second statistis above, I am initiliazing the time at
'initialize_search_tree_node()' method and finilizing after, say,
'compute_lower_bound()' method. And I am adding that time to corresponding
index of the local array. I can do all the other statistics in a similar
fashion. But the thing is, we get to combine all local arrays from the
BCP_lp_user classes, accumulate the data and print it. For instance, more than
one BCP_lp_user_class might have data for the level 10. So we get to sum them
up in the, I guess,  BCP_tm_user class, and print it in, say,
'display_final_information()' method.

I guess my question boils down to 'how do I send the data from BCP_lp_user class
to BCP_tm_user class (and vica versa, if I need the latest update of some
statistics in the BCP_lp_user class to dynamically update my algorithm, I need
to get that information from BCP_tm_user class)? An equally important questions
is, in which method of both classes do I send/receive that information?

Also, if there is some other way completely different than what I am on, I will
be glad to learn.

I appreciate any help.

Thanks,

Ali



More information about the Coin-bcpdiscuss mailing list