Decision Optimization

Expand all | Collapse all

Incorrect behavior of CPLEX

  • 1.  Incorrect behavior of CPLEX

    Posted Tue September 21, 2021 12:50 PM
    Hello everyone,

    I would highly appreciate it if anyone can help me understand the behavior of CPLEX (which is incorrect as I see it) in the following case:

    We have two ILPs original.lp and modified.lp (attached) to solve a given minimization problem (all variables are binary). The latter is a copy of the former except that some variables were fixed to 1 (by adding the constraints Z1 through Z22 to modified.lp). In other words, the solution search space of modified.lp is a subset of the solution search space of original.lp. Yet, modified.lp achieves a better solution than original.lp (27 compared to 32) when solved using CPLEX. How could this happen?

    ------------------------------
    Hisham Almasaeid
    ------------------------------

    Attachment(s)

    lp
    modified.lp   8 KB 1 version
    lp
    original.lp   8 KB 1 version


  • 2.  RE: Incorrect behavior of CPLEX

    Posted Tue September 21, 2021 04:16 PM
    Your model is numerically unstable. Using CPLEX 20.1, I got an objective value of 29 for the original model and 27 for the reduced model. After turning on the numerical emphasis parameter (which tells CPLEX to guard against numerical problems), I got optimal values of 27 for both problems.

    ------------------------------
    Paul Rubin
    Professor Emeritus
    Michigan State University
    ------------------------------



  • 3.  RE: Incorrect behavior of CPLEX

    Posted Wed September 22, 2021 12:19 AM
    Got it, thank you very much for the explanation.

    ------------------------------
    Hisham Almasaeid
    ------------------------------



  • 4.  RE: Incorrect behavior of CPLEX

    Posted Thu September 23, 2021 09:56 AM
    Hi there
    I agree with the suggestion of the Professor Rubin for your problem size; however bear in mind that it might be not enough when the problem has a bigger size (hundred of thousand of variables+), in such case you would need to play with other parameters of the cplex algorithms (e.g. gap, tolerances, etc.), since there is a probability greater than zero that an algorithms reaches a solution no so good like the one that you use as initial scenario configuration (or also as a warming basis); therefore, additional refinement of the solving way might be required. 
    Best regards,
    Cesar

    ------------------------------
    Cesar G
    ------------------------------