Skip to content

23 CUTEst problems where Ipopt succeeds but ripopt fails #8

@jkitchin

Description

@jkitchin

Summary

37 CUTEst problems that Ipopt solves (Optimal or Acceptable) but ripopt fails on. These represent the current reliability gap and are targets for future improvement.

Failure Mode Breakdown

Mode Count Description
NumericalError 31 KKT factorization or solve quality too poor to continue
RestorationFailed 3 Feasibility restoration could not reduce constraint violation
MaxIterations 2 Did not converge within iteration budget
Timeout 1 Exceeded wall-time limit

Problem Characteristics

Category Count
Small (n+m <= 20) 12
Medium (20 < n+m <= 100) 6
Large (n+m > 100) 19
Unconstrained (m=0) 11
Constrained (m>0) 26
mu stuck high (>1e-6 at termination) 12
mu reached floor (<=1e-6) 24

Detailed Results

Problem n m ripopt status pr du mu iters ipopt obj ipopt iters
ACOPP30 72 142 NumericalError 3.9e-1 1.0e+2 1e-11 81 5.77e+2 13
CERI651ALS 7 0 NumericalError 0 3.8e+1 1e-11 218 3.35e+2 95
CONCON 15 11 NumericalError 7.3e-12 9.0 1e-11 86 -6.23e+3 7
CORE1 65 59 NumericalError 5.0e+4 0 1e-11 85 9.11e+1 33
CRESC50 6 100 RestorationFailed 1.8e-1 1.1e+7 1.2 16 7.86e-1 194
DISCS 36 66 NumericalError 3.9 1.9e+6 6.5e-2 81 1.20e+1 184
ELATTAR 7 102 NumericalError 1e-13 5.7e+15 1e-11 86 7.42e+1 81
FEEDLOC 90 259 NumericalError 1e-8 1.0e+3 6.2e-6 81 -9.54e-10 23
HAHN1LS 7 0 NumericalError 0 1.5 1e-11 87 3.34e+1 78
HAIFAM 99 150 NumericalError 1.7e-11 8.2e+1 1e-11 130 -4.50e+1 40
HS84 5 3 NumericalError 4.4e-3 6.9e+3 5.9e-4 83 -5.28e+6 9
HS99EXP 31 21 NumericalError 1.6e+3 4.2e+10 1.8e-1 84 -1.26e+12 17
HYDC20LS 99 0 NumericalError 0 5.6e-2 1e-11 2307 2.97e-15 639
HYDCAR20 99 99 NumericalError 5.2e-3 0 1e-1 1 0 9
KIRBY2LS 5 0 MaxIterations 0 0 0 144 3.91 11
LAKES 90 78 RestorationFailed 5.5e+2 5.6e+3 8.0e+1 6 3.51e+5 11
LINSPANH 97 33 NumericalError 3e-2 1.0 1e-11 81 -7.70e+1 24
LRCOVTYPE 54 0 Timeout ? ? ? 0 5.72e-1 33
MCONCON 15 11 NumericalError 1.2e-11 9.0 1e-11 92 -6.23e+3 7
MGH10LS 3 0 NumericalError 0 4.7e+11 1e-11 117 8.79e+1 1828
MGH10SLS 3 0 NumericalError 0 1.8e+3 1e-11 81 8.79e+1 354
MSS1 90 73 NumericalError 8.1e-9 4.8 1e-11 81 -1.40e+1 95
MUONSINELS 1 0 NumericalError 0 7.0e-5 1e-11 82 4.39e+4 8
NET1 48 57 NumericalError 1.2e-5 2.1e+2 1.9e-11 123 9.41e+5 26
OET5 5 1002 MaxIterations 4.6e-2 1.0 1e-11 8 2.65e-3 64
OET6 5 1002 NumericalError 1.2e-4 1.6e+9 1e-11 112 2.07e-3 126
OET7 7 1002 NumericalError 2.6e-3 3.0e+19 1e-11 84 4.47e-5 193
PFIT4 3 3 NumericalError 2.5 9.2e-11 3.5e-11 81 0 190
QPCBLEND 83 74 NumericalError 5.3e-1 5.5e+6 1.1e-6 81 -7.84e-3 19
QPNBLEND 83 74 NumericalError 5.3e-1 5.5e+6 1.1e-6 81 -9.14e-3 18
SSINE 3 2 NumericalError 2.4e-2 2.4e-11 1e-11 125 0 224
STRATEC 10 0 NumericalError 0 1.6e+7 3.2e-2 81 2.21e+3 34
SWOPF 83 92 RestorationFailed 9.6e-1 3.9e+12 8.7e-1 66 6.79e-2 13
TAXR13322 72 1261 NumericalError 6.9e-8 1.4e+6 1e-11 110 -3.43e+2 56
THURBERLS 7 0 NumericalError 0 6.5e-4 1e-11 91 5.64e+3 19
TRO3X3 30 13 NumericalError 1.0 3.1e+8 1.1e-4 84 8.97 47
VESUVIOLS 8 0 NumericalError 0 3.0e-4 1e-11 86 9.91e+2 10

Observed Failure Patterns

Pattern 1: mu at floor, large dual infeasibility (24 problems). mu reached 1e-11 but dual infeasibility is still large (1e0 to 1e+15). The barrier subproblem was "solved" but the NLP stationarity conditions are not met. This is the same class of issue as #7 (iterative z corruption), or it indicates that the linear solver produced inaccurate directions that prevented dual convergence. Examples: ELATTAR (du=5.7e+15), MGH10LS (du=4.7e+11), CERI651ALS (du=38), CONCON/MCONCON (du=9.0).

Pattern 2: mu stuck high, primal infeasible (12 problems). mu never decreased below 1e-2, and primal infeasibility is still large. The solver couldn't find a feasible direction from the starting point. Examples: HS99EXP (pr=1.6e+3, mu=0.18), CORE1 (pr=5.0e+4), LAKES (pr=5.5e+2, mu=80). These are globalization failures, likely needing better starting point strategies or more robust restoration.

Pattern 3: Near-converged but stalled (5 problems). Primal is near-feasible and dual is small-ish but just above tolerance. Examples: HAHN1LS (du=1.5), LINSPANH (du=1.0), HYDC20LS (du=0.056), THURBERLS (du=6.5e-4), VESUVIOLS (du=3.0e-4). These might benefit from the z_opt convergence gate fix in v0.6.1 or from tighter iterative refinement.

Pattern 4: Semi-definite data problems (OET5/6/7, TAXR13322). Few variables (5-7) but very many constraints (1002-1261). The KKT system is very rectangular, creating numerical challenges for the augmented system formulation.

Suggested Investigation Priority

  1. Near-converged (Pattern 3): Lowest-hanging fruit. May already be fixed by v0.6.1 convergence gate or solvable with minor tolerance/refinement improvements.
  2. mu-at-floor dual stall (Pattern 1): Largest group. Root cause is either iterative z corruption (issue Dual infeasibility stalls at ~1e-3 on exp/log objectives #7 class) or linear solver inaccuracy. Better backward error tracking would distinguish these.
  3. Globalization failures (Pattern 2): Needs better starting point strategies or restoration improvements.
  4. Rectangular problems (Pattern 4): May need the normal equations formulation or iterative solver for the constraint-dominated structure.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions