Andrew,
I noticed that mir cut generation takes considerable time on some large problems (like rocII-4-11 from miplib). The attached patch makes two improvements that considerably improve performance in such instances:
1. A lot of time was spent on generating a temporary vector in function aggregate_row. It is a lot faster to reuse an existing vector.
2. A search for an element in the same function was done in row order, where using the elements in the order they are in the column is more efficient. This changes the generated cuts in some cases, but seems neutral overall (0.3% less cuts in a test set of 64 miplib instances).
Best Regards,
Chris Matrakidis