The question on how a tuning tool can help solve difficult optimization models has been intriguing to me. For those new to the concept, the tuning tool tries different parameter settings and seeks to find good parameters for the solver for a given optimization model. The use of this tool is rather straightforward on easy models, it is less obvious to use it efficiently on harder models. I talked about this with Dr. Ed Klotz from IBM Cplex. This post is a collection of some of his advice on the topic.

Dr. Klotz’s first observation is that you are often tempted to use the tuning tool after you just ran the model with default settings. Since you are not interested in settings that take longer than the default, you can set the tuning time limit (different from the solver’s time limit) to the time needed to solve the model with default settings.

Second observation is that the tuning tool might run for a very long time. Another piece of advice is to put a time limit on the full tuning process (through the solver’s time limit parameter) so you don’t need to force terminate CPLEX. If you do, you will not be able to grab the most efficient parameters that were found by CPLEX. You can easily set this time limit so CPLEX works overnight and you get the results during the morning.

If the above tips fail to achieve interesting results, you can either try running your model on a faster machine, or in last resort, trying to run it on a cluster of machines by using distributed concurrent MIP tool through the remote object. If these pieces of advice seem unsatisfactory, please remember than while free food may be abundant in seminars, free lunches in mixed-integer programming are indeed very rare.