Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
Expand all | Collapse all

Infeasible Solution with Multiple Threads, but Feasible Solution with Single Thread

  • 1.  Infeasible Solution with Multiple Threads, but Feasible Solution with Single Thread

    Posted 01/05/24 03:28 PM
    Hi all,
     
    I encountered issues while running the same MILP model (specifically, a Single-commodity model for the Travelling Salesman Problem with Time Windows using the Langevin dataset) in C++ via the latest CPLEX version (CPLEX 22.1.1). The only varying parameter was the number of threads (IloCplex::Param::Threads set at 1 versus 8), while most other parameters remained at their default settings.
     
    The computer specifications are as follows: 12th Gen Intel(R) Core(TM) i7-12700H and 32 GB RAM.
     
    When utilizing a single thread, CPLEX successfully finds the optimal solution in a reasonable time (less than 100 seconds with 60-vertex instances). However, when using 8 threads, CPLEX abruptly terminates and indicates that the model is infeasible. Notably, this issue seems to occur with specific instances while others perform as expected.
     
    I attempted to replicate the experiment on another computer, only to encounter the same problem.
     
    In an effort to troubleshoot, I thoroughly reviewed the model and conducted the same experiment using an earlier version of CPLEX (CPLEX 12.10.0). Interestingly, this older CPLEX version successfully yields the optimal solution for both single-threaded and eight-threaded runs.
     
    This perplexing outcome leaves me seeking assistance. Could anyone help me understand this issue? Is it possible that there's an error in the parallel processing implementation within the latest version of CPLEX?
     
    Thank you.
    -------------------------------------
    #Decision Optimization
    -------------------------------------


    ------------------------------
    Luat Le Ba
    ------------------------------


  • 2.  RE: Infeasible Solution with Multiple Threads, but Feasible Solution with Single Thread

    Posted 01/14/24 03:23 PM

    First question: Are you using callbacks? The newer "generic" callbacks are not automatically thread-safe, so coding with them can be a bit tricky.

    Second question: Are the instances that cause problems with parallel threading numerically stable? If you run them single-threaded and collect kappa statistics, what do the statistics say? 



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