dparo/master-thesis

Relax cut separation by adding cuts only if they are violated above a certain threshold

dparo opened this issue · 1 comments

dparo commented

TODO

Relax the cut separation and make it more aggressive as to control and facilitate branching events.

Each cut should accept a double violation_amt (exposed to the commandline) to relax the conditions at which cuts are considered violated

Reasoning behind this idea:

It may be interesting to test the MIP solver performance by not always forcing the cut generations (eg even when they are barely effective) as to anticipate branching

  • PROS: If the resolution process is spending tremendous time at the root node by creating ineffective cuts, it may be time to prefer branching.
  • CONS: Branching usually leads to more memory consumption. Large CPTP instances becomes much harder to solve under low memory availability scenarios.
dparo commented

Partially implemented in 5f1cdda, where a constant VIOLATION_TOLERANCE specified and fixed at compile time for each cut is taken in consideration