Topic
  • 4 replies
  • Latest Post - ‏2013-03-04T13:48:17Z by SystemAdmin
SystemAdmin
SystemAdmin
7929 Posts

Pinned topic Best parameters to set to discover if a model is feasible or infeasible.

‏2013-02-12T17:25:51Z |
Hi,

Im working with de CPLEX academic to solve a bunch of difficult problems in my reaserach.
The idea is to only to find if my problem is feasible or infeasible because I am studying the characteristics of my problems. So I am not interested in the value of the solution.

But, how my problems are really big I found problems trying to solve a large amount of them because the high time of finding a solution, what brought me to study a little about the Java API (which one Im using). I discoverd three paramenters that helped me A LOT in my quest to minimize the total time of each model, which are:

Probe: 3
MIPEmphasis: 1
AGggCutLim: 2

These three guys decreased the total amount of time solving the problems by approximadely 80%.

Unafortunaly, I need to decrease even more, like 95%...So you guys are my last hope. What can I do in the Java API to minimize my solving time ?

Thanks for the help!
Updated on 2013-03-04T13:48:17Z at 2013-03-04T13:48:17Z by SystemAdmin
  • SystemAdmin
    SystemAdmin
    7929 Posts

    Re: Best parameters to set to discover if a model is feasible or infeasible.

    ‏2013-02-13T08:17:38Z  
    Typically, it helps to discard the objective function. If the objective functions is zero, then CPLEX can do some more presolving reductions, and the LP solves tend to be faster.

    Did you try the tuning tool?
  • SystemAdmin
    SystemAdmin
    7929 Posts

    Re: Best parameters to set to discover if a model is feasible or infeasible.

    ‏2013-02-14T13:14:46Z  
    Typically, it helps to discard the objective function. If the objective functions is zero, then CPLEX can do some more presolving reductions, and the LP solves tend to be faster.

    Did you try the tuning tool?
    In some cases feasopt may also be useful. If you run feasopt phase 1 and have proved that the dual bound is larger than 0 then you have proven infeasibility of the original model as well.
  • SystemAdmin
    SystemAdmin
    7929 Posts

    Re: Best parameters to set to discover if a model is feasible or infeasible.

    ‏2013-02-26T18:15:54Z  
    Typically, it helps to discard the objective function. If the objective functions is zero, then CPLEX can do some more presolving reductions, and the LP solves tend to be faster.

    Did you try the tuning tool?
    Hi,

    Thanks for the help, but i had already tried this option in my model:

    IloNumVar obj = cplex.numVar(0.0, 1.0, IloNumVarType.Float,
    "objective");
    cplex.addMaximize(obj);
    cplex.addEq(obj, 0.0);

    Unfortunately, The feasopt option didnt help me...
    Do I have more options ? =(
  • SystemAdmin
    SystemAdmin
    7929 Posts

    Re: Best parameters to set to discover if a model is feasible or infeasible.

    ‏2013-03-04T13:48:17Z  
    Hi,

    Thanks for the help, but i had already tried this option in my model:

    IloNumVar obj = cplex.numVar(0.0, 1.0, IloNumVarType.Float,
    "objective");
    cplex.addMaximize(obj);
    cplex.addEq(obj, 0.0);

    Unfortunately, The feasopt option didnt help me...
    Do I have more options ? =(
    It may help to disable heuristics (set the heuristic frequency to -1).
    If the problem is infeasible then heuristics will not find any solution anyway and running heuristics is just a waste of time.
    If the problem is feasible then disabling heuristics may or may not improve the solution times. This highly depends on the success rate of the heuristics. You may want to check how good heuristics perform for your class of models and then disable them. Or first run for a certain number of nodes, then stop the solve, disable heuristics and continue.