Skip to main content

A lazy constraint and MIP optimality issue

Ongoing

Comments

1 comment

  • Marouane FELLOUSSI
    First Comment
    First Question

    Update #1

    Disabling solver cuts solves the issue at the expense of runtime (and using all threads as opposed to only 1 before)

    After ~100s, the LB is correctly updated to 270.357.

     
        Nodes    |    Current Node    |     Objective Bounds      |     Work
     Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
    
    [...]
    
     555629   155  270.32800   63    1  270.35700  270.32800  0.01%  10.3  110s
    
    Optimal solution found (tolerance 1.00e-04)
    Best objective 2.703570000000e+02, best bound 2.703570000000e+02, gap 0.0000%
    



    Update #2

    It has to do with the number of threads. Running (n > 1)-threaded, with or without solver cuts yields a correct solution.

    Update #3

    It was a numerical precision issue in the callback, that only becomes apparent on single-threaded runs. Always use tolerance when checking for feasibility, regardless of the number of threads.

    0

Please sign in to leave a comment.