Originally posted by: walterOR
I am using the conflict refiner through docplex in Python. Given an infeasible model, the code looks roughly like this:
from docplex.mp.conflict_refiner import ConflictRefiner as MipConflictRefiner
conflict = MipConflictRefiner().refine_conflict(my_model, log_output=log_output)
On several occasions, I have noticed that the conflict refiner is running really slow. It is usually much faster to export the model as an LP file and using the conflict refiner through the interactive optimizer. Are there any parameters to get the same behavior in both cases? For example, is there a way to set the number of threads? (I tried just passing "threads" as a parameter but that didn't work) What can I do with the preferences and groups attributes? Does it help to add constraints that are somehow related to the same group?
I also noticed that the log output looks very different. For example, if I run the conflict refiner through Python, I might start with a maximum number of members of 45k, but if I run the interactive optimizer, it is showing only 15k members. Not sure if that is just a different way of counting the conflicts or if there is more to this.
In general, I find that the documentation for this is lacking a lot of details. Would be great to enhance it a bit.
#CPLEXOptimizers#DecisionOptimization