Closed odow closed 3 years ago
As reported on discourse: https://discourse.julialang.org/t/error-handling-jump-and-cplex/56360/19, the following MPS file sometimes leads to a return status of DUAL_INFEASIBLE another_bug.mps.txt.zip
DUAL_INFEASIBLE
On my computer, I can't reproduce
julia> optimize!(model) Version identifier: 12.10.0.0 | 2019-11-26 | 843d4de Number of nonzeros in lower triangle of Q = 305647 Using Nested Dissection ordering Total time for automatic ordering = 0.19 sec. (229.12 ticks) Summary statistics for factor of Q: Rows in Factor = 2378 Integer space required = 35380 Total non-zeros in factor = 846370 Total FP ops to factor = 442792770 Tried aggregator 1 time. QP Presolve eliminated 8729 rows and 6045 columns. QP Presolve added 0 rows and 2378 columns. Reduced QP has 3753 rows, 5094 columns, and 812264 nonzeros. Reduced QP objective Q matrix has 2145 nonzeros. Presolve time = 0.35 sec. (444.14 ticks) Parallel mode: using up to 8 threads for barrier. Number of nonzeros in lower triangle of A*A' = 2280234 Using Nested Dissection ordering Total time for automatic ordering = 3.37 sec. (6219.80 ticks) Summary statistics for Cholesky factor: Threads = 8 Rows in Factor = 3753 Integer space required = 329016 Total non-zeros in factor = 3206921 Total FP ops to factor = 3411521617 Itn Primal Obj Dual Obj Prim Inf Upper Inf Dual Inf 0 2.4435860e+02 2.2068845e+02 0.00e+00 0.00e+00 2.42e+06 1 2.8436515e+01 7.1281975e+00 9.54e-10 0.00e+00 1.21e+04 2 2.8329481e+01 4.7712020e+00 8.37e-07 0.00e+00 6.22e+01 3 1.7288859e+01 4.7413238e+00 6.47e-13 0.00e+00 2.45e-01 4 5.1080725e+00 4.7476922e+00 3.52e-13 0.00e+00 2.57e-02 5 4.7755915e+00 4.7693769e+00 2.46e-13 0.00e+00 8.85e-01 6 4.7602983e+00 4.7621630e+00 2.09e-13 0.00e+00 2.97e-01 7 4.7598154e+00 4.7599562e+00 2.10e-13 0.00e+00 8.63e-02 8 4.7598015e+00 4.7597704e+00 2.13e-13 0.00e+00 3.89e-02 9 4.7597995e+00 4.7597605e+00 2.17e-13 0.00e+00 2.67e-02 10 4.7597958e+00 4.7597957e+00 1.21e-08 0.00e+00 1.36e-04 11 4.7597958e+00 4.7597958e+00 8.56e-11 0.00e+00 6.81e-07 Barrier time = 6.28 sec. (11443.70 ticks) Total time on 8 threads = 6.28 sec. (11443.70 ticks) julia> versioninfo() Julia Version 1.5.3 Commit 788b2c77c1 (2020-11-09 13:37 UTC) Platform Info: OS: macOS (x86_64-apple-darwin18.7.0) CPU: Intel(R) Core(TM) i5-8259U CPU @ 2.30GHz WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-9.0.1 (ORCJIT, skylake)
However, @pmcvay reports (things deviate in iteration 1 onwards):
1
julia> m = read_from_file("model_fail.mof.json") A JuMP Model Minimization problem with: Variables: 8761 Objective function type: GenericQuadExpr{Float64,VariableRef} `GenericAffExpr{Float64,VariableRef}`-in-`MathOptInterface.GreaterThan{Float64}`: 10104 constraints `VariableRef`-in-`MathOptInterface.GreaterThan{Float64}`: 5052 constraints Model mode: AUTOMATIC CachingOptimizer state: NO_OPTIMIZER Solver name: No optimizer attached. julia> set_optimizer(m, CPLEX.Optimizer) julia> optimize!(m) Version identifier: 12.10.0.0 | 2019-11-26 | 843d4de Number of nonzeros in lower triangle of Q = 305647 Using Nested Dissection ordering Total time for automatic ordering = 0.26 sec. (229.12 ticks) Summary statistics for factor of Q: Rows in Factor = 2378 Integer space required = 35380 Total non-zeros in factor = 846370 Total FP ops to factor = 442792770 Tried aggregator 1 time. QP Presolve eliminated 8729 rows and 6045 columns. QP Presolve added 0 rows and 2378 columns. Reduced QP has 3753 rows, 5094 columns, and 812264 nonzeros. Reduced QP objective Q matrix has 2145 nonzeros. Presolve time = 0.43 sec. (444.14 ticks) Parallel mode: using up to 20 threads for barrier. Number of nonzeros in lower triangle of A*A' = 2280234 Using Nested Dissection ordering Total time for automatic ordering = 3.78 sec. (6219.80 ticks) Summary statistics for Cholesky factor: Threads = 20 Rows in Factor = 3753 Integer space required = 329016 Total non-zeros in factor = 3206921 Total FP ops to factor = 3411521617 Itn Primal Obj Dual Obj Prim Inf Upper Inf Dual Inf 0 2.4435860e+02 2.2068845e+02 0.00e+00 0.00e+00 2.42e+06 1 2.8436518e+01 7.1285879e+00 9.36e-10 0.00e+00 1.21e+04 2 2.8329506e+01 4.7714215e+00 8.45e-07 0.00e+00 6.33e+01 3 1.7403077e+01 4.7412113e+00 6.50e-13 0.00e+00 2.46e-01 4 5.2928646e+00 4.7464611e+00 2.87e-13 0.00e+00 1.59e-02 5 4.8240506e+00 4.7671989e+00 1.81e-13 0.00e+00 7.62e-01 6 4.7651333e+00 4.7641820e+00 1.51e-13 0.00e+00 4.56e-01 7 4.7599375e+00 4.7605438e+00 1.41e-13 0.00e+00 1.47e-01 8 4.7598052e+00 4.7598371e+00 1.44e-13 0.00e+00 5.21e-02 9 4.7598001e+00 4.7597857e+00 1.45e-13 0.00e+00 2.96e-02 10 4.7597993e+00 4.7597809e+00 1.48e-13 0.00e+00 2.46e-02 * 4.7598001e+00 4.7597857e+00 1.45e-13 0.00e+00 2.96e-02 Barrier time = 6.42 sec. (9577.86 ticks) Total time on 20 threads = 6.42 sec. (9577.86 ticks) CPLEX Error 1292: Invalid choice of optimization method. ERROR: CPLEX Error 1292: Invalid choice of optimization method. Stacktrace: [1] _check_ret(::CPLEX.Env, ::Int32) at /home/pmcvay/.julia/packages/CPLEX/uUjlQ/src/MOI/MOI_wrapper.jl:126 [2] _check_ret at /home/pmcvay/.julia/packages/CPLEX/uUjlQ/src/MOI/MOI_wrapper.jl:243 [inlined] [3] optimize!(::CPLEX.Optimizer) at /home/pmcvay/.julia/packages/CPLEX/uUjlQ/src/MOI/MOI_wrapper.jl:2499 [4] optimize!(::MathOptInterface.Bridges.LazyBridgeOptimizer{CPLEX.Optimizer}) at /home/pmcvay/.julia/packages/MathOptInterface/ZJFKw/src/Bridges/bridge_optimizer.jl:264 [5] optimize!(::MathOptInterface.Utilities.CachingOptimizer{MathOptInterface.AbstractOptimizer,MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.Model{Float64}}}) at /home/pmcvay/.julia/packages/MathOptInterface/ZJFKw/src/Utilities/cachingoptimizer.jl:215 [6] optimize!(::Model, ::Nothing; bridge_constraints::Bool, ignore_optimize_hook::Bool, kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /home/pmcvay/.julia/packages/JuMP/y5vgk/src/optimizer_interface.jl:139 [7] optimize! at /home/pmcvay/.julia/packages/JuMP/y5vgk/src/optimizer_interface.jl:115 [inlined] (repeats 2 times) [8] top-level scope at REPL[6]:1 [9] run_repl(::REPL.AbstractREPL, ::Any) at /build/julia/src/julia-1.5.3/usr/share/julia/stdlib/v1.5/REPL/src/REPL.jl:288 julia> versioninfo() Julia Version 1.5.3 Commit 788b2c77c1* (2020-11-09 13:37 UTC) Platform Info: OS: Linux (x86_64-pc-linux-gnu) CPU: Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-10.0.1 (ORCJIT, broadwell)
Closing because this isn't an issue with CPLEX.jl. The CPLEX developers have been notified about it.
As reported on discourse: https://discourse.julialang.org/t/error-handling-jump-and-cplex/56360/19, the following MPS file sometimes leads to a return status of
DUAL_INFEASIBLE
another_bug.mps.txt.zipOn my computer, I can't reproduce
However, @pmcvay reports (things deviate in iteration
1
onwards):