Summary
Two HS problems that neither ripopt nor Ipopt can solve. Both fail for different reasons.
TP072 (n=13, m=15): RestorationFailed
Known optimal: f* = 97.5884
ripopt diagnosis: RestorationFailed after 43 iterations. The solver is completely lost: objective is at -3e-14 (should be ~97.6), primal infeasibility is 50.0, dual infeasibility is 2.5e+23, mu is stuck at 1e+5, and s_d hit the 10000 cap. The solver never found a feasible point and the restoration phase failed to recover.
Ipopt diagnosis: IpoptStatus(-11) with 0 iterations, meaning Ipopt detected an issue during initialization (invalid problem data, evaluation error, or similar). Ipopt never even attempted an iteration.
Likely cause: The problem formulation or starting point may produce NaN/Inf during evaluation (common for problems with log/sqrt terms evaluated outside their domain). Both solvers bail out early but for different reasons: Ipopt catches it at initialization, ripopt attempts iterations but the restoration can't recover from the domain violation.
TP119 (n=10, m=35): NumericalError
Known optimal: f* = 0.233264
ripopt diagnosis: NumericalError after 81 iterations. The objective is at -810000 (wildly wrong, should be 0.23), but primal infeasibility is 0.0 (feasible!), dual infeasibility is exactly 1.0, complementarity is 0.0, and mu reached 1e-11. This is a fascinating failure: the solver found a feasible point with obj = -810000 and declared NumericalError because dual infeasibility stalled at exactly 1.0.
This looks like ripopt converged to a very different (much lower) feasible point than the known optimal, and the dual stall at du=1.0 prevented it from being accepted as Optimal. The objective -810000 vs known 0.23 suggests either a different local minimum (unlikely to be that extreme) or the problem has a very large feasible region with unbounded-looking directions.
Ipopt diagnosis: IpoptStatus(-199) with 0 iterations and no objective. This is an unrecognized/internal error, suggesting Ipopt failed during setup.
Likely cause: TP119 has 10 variables and 35 constraints (overdetermined). Ipopt's failure at iteration 0 suggests a problem with the CUTEst interface for this problem. ripopt at least attempts to solve it but ends up at a spurious feasible point.
Action Items
- For TP072: investigate whether the starting point violates domain constraints (log/sqrt of negative values). A feasibility-seeking initialization phase could help.
- For TP119: investigate the extreme objective (-810000 vs 0.23). The problem may have evaluation issues through the CUTEst interface, or the formulation may have a very deep feasible valley that the IPM falls into.
- Both problems fail on Ipopt too (at iteration 0), suggesting these may be CUTEst interface issues rather than algorithm limitations.
Summary
Two HS problems that neither ripopt nor Ipopt can solve. Both fail for different reasons.
TP072 (n=13, m=15): RestorationFailed
Known optimal: f* = 97.5884
ripopt diagnosis: RestorationFailed after 43 iterations. The solver is completely lost: objective is at -3e-14 (should be ~97.6), primal infeasibility is 50.0, dual infeasibility is 2.5e+23, mu is stuck at 1e+5, and s_d hit the 10000 cap. The solver never found a feasible point and the restoration phase failed to recover.
Ipopt diagnosis:
IpoptStatus(-11)with 0 iterations, meaning Ipopt detected an issue during initialization (invalid problem data, evaluation error, or similar). Ipopt never even attempted an iteration.Likely cause: The problem formulation or starting point may produce NaN/Inf during evaluation (common for problems with log/sqrt terms evaluated outside their domain). Both solvers bail out early but for different reasons: Ipopt catches it at initialization, ripopt attempts iterations but the restoration can't recover from the domain violation.
TP119 (n=10, m=35): NumericalError
Known optimal: f* = 0.233264
ripopt diagnosis: NumericalError after 81 iterations. The objective is at -810000 (wildly wrong, should be 0.23), but primal infeasibility is 0.0 (feasible!), dual infeasibility is exactly 1.0, complementarity is 0.0, and mu reached 1e-11. This is a fascinating failure: the solver found a feasible point with obj = -810000 and declared NumericalError because dual infeasibility stalled at exactly 1.0.
This looks like ripopt converged to a very different (much lower) feasible point than the known optimal, and the dual stall at du=1.0 prevented it from being accepted as Optimal. The objective -810000 vs known 0.23 suggests either a different local minimum (unlikely to be that extreme) or the problem has a very large feasible region with unbounded-looking directions.
Ipopt diagnosis:
IpoptStatus(-199)with 0 iterations and no objective. This is an unrecognized/internal error, suggesting Ipopt failed during setup.Likely cause: TP119 has 10 variables and 35 constraints (overdetermined). Ipopt's failure at iteration 0 suggests a problem with the CUTEst interface for this problem. ripopt at least attempts to solve it but ends up at a spurious feasible point.
Action Items