Decision Optimization

Decision Optimization

Delivers prescriptive analytics capabilities and decision intelligence to improve decision-making.


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Problem reoptimizing an MIP problem

    Posted 04/25/13 03:59 PM

    Originally posted by: LucasOliveira


    Hi, I implemented a relax and fix heuristic using the CPLEX 12.5 Callable Library and found a strange behavior.

    This heuristic solves a sequence of MIP problems.

    First, it creates an MIP model where all the variables are initially continuous and have lower bound 0 and upper bound 1.

    At each iteration, some variables have its domain changed to 0-1 integer (binary).

    So, the MIP model is solved and the variables with integer domain are fixed to the values of the integer solution found.

    Running this method, after fix some variables the CPLEX returns a CPXMIP_UNBOUNDED (118) status.

    Since all the variables are bounded, how it is possible ? Also, the objective coefficients are non-negative.

    I write the LP model exactly before this happens, and the CPLEX command line solver solved it returning the CPXMIP_OPTIMAL status.

    Thus, the problem can be in the reoptimization process.

    Furthermore, when I set the parameter CPX_PARAM_REDUCE to 0 in my routine the problem disappears.

    So, the main question is: There is some parameters that I must set before reoptimize MIP problems ? Or it is a CPLEX bug ?

    Thanks!


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Problem reoptimizing an MIP problem

    Posted 04/26/13 01:27 AM

    This could also be a problem with numerics in presolve. Since you are using the callable library, could please also write out the offending presolved model:

    double objoff;
    CPXpreslvwrite (env, lp, "presolved.sav", &objoff);

    and then see what the interactive produces on presolved.sav (potentially after setting "set pre pre n")?


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Problem reoptimizing an MIP problem

    Posted 04/26/13 08:10 AM

    Originally posted by: LucasOliveira


    Daniel, thanks for your fast response. I write both problems (original with CPXwriteprob and presolved with CPXpreslvwrite) after I receive the unbounded status. Once again I found an optimal solution solving these models in the CPLEX interactive tool (adjusting set pre pre n). I attached the models here if you want to take a look. I don't see characteristics in these models that can cause numeric problems. I am still confused why this problem happens.


    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: Problem reoptimizing an MIP problem

    Posted 04/30/13 06:17 AM

    Originally posted by: TobiasAchterberg


    This sounds indeed strange. What happens if you turn on the DATACHECK parameter? Do you catch the status return codes from all the CPLEX API function calls?

     

    Tobias


    #CPLEXOptimizers
    #DecisionOptimization


  • 5.  Re: Problem reoptimizing an MIP problem

    Posted 05/02/13 09:52 AM

    Originally posted by: LucasOliveira


    Tobias, I turn on the DATACHECK parameter and nothing was reported as problem. The status code returned by all CPLEX API functions is 0. If you want, I could provide a minimal source code with this error. But I can only send to a private email because this is a confidential code of a research.

     

    Lucas


    #CPLEXOptimizers
    #DecisionOptimization


  • 6.  Re: Problem reoptimizing an MIP problem

    Posted 05/02/13 09:59 AM

    Originally posted by: TobiasAchterberg


    Yes, please provide a minimal example and please also provide instructions how to build it (if needed).

    You can send this to me at achterberg [at] de [dot] ibm [dot] com.


    #CPLEXOptimizers
    #DecisionOptimization


  • 7.  Re: Problem reoptimizing an MIP problem

    Posted 05/08/13 06:36 AM

    Originally posted by: TobiasAchterberg


    It turned out that this is a known issue that still exists in the current version CPLEX 12.5.0.1.

    It is the same issue that triggered these threads:

    https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014943831

    https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014956037

    We have already fixed it, and the fix will be contained in the next CPLEX release.

    Meanwhile, as a work-around, you can disable repeated presolve by setting the CPX_PARAM_REPEATPRESOLVE parameter to 0.


    #CPLEXOptimizers
    #DecisionOptimization


  • 8.  Re: Problem reoptimizing an MIP problem

    Posted 05/08/13 08:49 AM

    Originally posted by: LucasOliveira


    Thanks for your help Tobias.

    I will use this provisory correction.

     

    Regards,

    Lucas


    #CPLEXOptimizers
    #DecisionOptimization