Some problems take supper long time to solve. After experimenting a bit i did find a way to overcome this. However it compromises the speed of smaller and easy to solve problems. This are the cplex options that work well for such difficult problems:
A mode elaborate explanation of this options can be found here and here
The parameter that does the trick is 'disjcuts'. according to cplex docs:
A MIP problem can be divided into two subproblems with disjunctive feasible regions of their LP relaxations by branching on an integer variable. Disjunctive cuts are inequalities valid for the feasible regions of LP relaxations of the subproblems, but not valid for the feasible region of LP relaxation of the MIP problem.
Other cutting parametes do not impact the cou time nor the convergence of the solver much. However if not specified alongside 'disjcuts' solver sometimes still gets stuck inside the loop. Its all or nothing solution.
[ ] This should maybe be introduced as an option inside the config file.
Some problems take supper long time to solve. After experimenting a bit i did find a way to overcome this. However it compromises the speed of smaller and easy to solve problems. This are the cplex options that work well for such difficult problems:
cplex_options = {'cuts': 2, 'covers': 3, 'cliques': 3, 'disjcuts': 3, 'liftprojcuts': 3, 'localimplied': 3}
A mode elaborate explanation of this options can be found here and here
The parameter that does the trick is 'disjcuts'. according to cplex docs:
Other cutting parametes do not impact the cou time nor the convergence of the solver much. However if not specified alongside 'disjcuts' solver sometimes still gets stuck inside the loop. Its all or nothing solution.