Ipopt Fails in ver. 1.5.3!

Hi,

I just updated the julia to version 1.5.3 on windows 10 and I faced the this error when I tried to solve an optimization problem with JuMP and Ipopt: “EXIT: Restoration Failed!”.

Even I tried a very basic problem like this:


using Ipopt, JuMP
model = Model(Ipopt.Optimizer)
@variable(model, x, start = -5.0)

@NLobjective(model, Min, x^2)

JuMP.optimize!(model)
println("x = ", JuMP.result_value(x))

which gives this result!

Starting Julia…
_
_ _ ()_ | Documentation: https://docs.julialang.org
() | () () |
_ _ | | __ _ | Type “?” for help, “]?” for Pkg help.
| | | | | | |/ ` | |
| | |
| | | | (
| | | Version 1.5.3 (2020-11-09)
/ |_|||_’_| | Official https://julialang.org/ release
|__/ |


This program contains Ipopt, a library for large-scale nonlinear optimization.
Ipopt is released as open source code under the Eclipse Public License (EPL).
For more information visit http://projects.coin-or.org/Ipopt


This is Ipopt version 3.13.2, running with linear solver mumps.
NOTE: Other linear solvers might be more efficient (see Ipopt documentation).

Julia has exited.
Press Enter to start a new session.

=========================
I use Ipopt v0.6.3 and JuMP v0.21.5

We’re aware of the issue: https://github.com/jump-dev/Ipopt.jl/issues/242

It appears to be an issue with MUMPS: https://github.com/jump-dev/Ipopt.jl/pull/243

I have a fix: https://github.com/JuliaPackaging/Yggdrasil/pull/2162

Thanks for replying.
I am almost new to julia and I didn’t figure it out after reading the fix you mentioned.
Could you please explain in a simpler way?

A new release should be available within the next hour or so that resolves this issue.

Wait for this PR to be merged, https://github.com/JuliaRegistries/General/pull/25145, then run ] up.

I updated the Ipopt (and even re-installed julia!) but I still have “EXIT: Restoration Failed!” for any kind of problems.
I was wondering if it’s just for me or Ipopt still has probelm.

“EXIT: Restoration Failed!” means that Ipopt fails to optimize your model. You need to check your optimization model.

The model looks fine. Ipopt hasn’t updated for some reason. What is ] st -m

I don’t think that is because of the model. Because I tried with the simplest models and Ipopt failed.
I think it is resulted from the MUMP which didn’t get updated.
It’s still [d7ed1dd3] MUMPS_seq_jll v5.3.5+0 instead of v5.2.1.

After these operations:

] rm Ipopt
] rm MUMPS_seq_jll
] up
] add Ipopt

the result of ]st -m is:

(@v1.5) pkg> st -m
Status `C:\Users\Amirr\.julia\environments\v1.5\Manifest.toml`
  [ae81ac8f] ASL_jll v0.1.1+4
  [c3fe647b] AbstractAlgebra v0.11.1
  [1520ce14] AbstractTrees v0.3.3
  [79e6a3ab] Adapt v2.3.0
  [ec485272] ArnoldiMethod v0.0.4
  [4fba245c] ArrayInterface v2.13.7
  [4c555306] ArrayLayouts v0.4.11
  [56f22d72] Artifacts v1.3.0
  [bf4720bc] AssetRegistry v0.1.0
  [c52e3926] Atom v0.12.26
  [aae01518] BandedMatrices v0.15.25
  [6e4b80f9] BenchmarkTools v0.5.0
  [9e28174c] BinDeps v1.0.2
  [b99e7846] BinaryProvider v0.5.10
  [ad839575] Blink v0.12.3
  [764a87c0] BoundaryValueDiffEq v2.5.0
  [6e34b625] Bzip2_jll v1.0.6+5
  [fa961155] CEnum v0.4.1
  [00ebfdb7] CSTParser v2.5.0
  [336ed68f] CSV v0.8.1
  [83423d85] Cairo_jll v1.16.0+6
  [49dc2e85] Calculus v0.5.1
  [324d7699] CategoricalArrays v0.9.0
  [d360d2e6] ChainRulesCore v0.9.19
  [53a63b46] CodeTools v0.7.1
  [da1fd8a2] CodeTracking v1.0.5
  [523fee87] CodecBzip2 v0.7.2
  [944b1d66] CodecZlib v0.7.0
  [35d6a980] ColorSchemes v3.10.1
  [3da002f7] ColorTypes v0.10.9
  [5ae59095] Colors v0.12.4
  [861a8166] Combinatorics v1.0.2
  [a80b9123] CommonMark v0.6.4
  [bbf7d656] CommonSubexpressions v0.3.0
  [34da2185] Compat v3.23.0
  [e66e0078] CompilerSupportLibraries_jll v0.3.4+0
  [8f4d0f93] Conda v1.5.0
  [187b0558] ConstructionBase v1.0.0
  [d38c429a] Contour v0.5.6
  [adafc99b] CpuId v0.2.2
  [a8cc5b0e] Crayons v4.0.4
  [9a962f9c] DataAPI v1.4.0
  [a93c6f00] DataFrames v0.22.1
  [864edb3b] DataStructures v0.18.8
  [e2d170a0] DataValueInterfaces v1.0.0
  [bcd4f6db] DelayDiffEq v5.25.2
  [2b5f629d] DiffEqBase v6.48.2
  [459566f4] DiffEqCallbacks v2.14.1
  [5a0ffddc] DiffEqFinancial v2.4.0
  [c894b116] DiffEqJump v6.10.1
  [77a26b50] DiffEqNoiseProcess v5.4.2
  [055956cb] DiffEqPhysics v3.6.0
  [163ba53b] DiffResults v1.0.2
  [b552c78f] DiffRules v1.0.2
  [0c46a032] DifferentialEquations v6.15.0
  [c619ae07] DimensionalPlotRecipes v1.2.0
  [b4f34e82] Distances v0.9.2
  [31c24e10] Distributions v0.24.4
  [33d173f1] DocSeeker v0.4.2
  [ffbed154] DocStringExtensions v0.8.3
  [e30172f5] Documenter v0.25.5
  [5ae413db] EarCut_jll v2.1.5+1
  [2e619515] Expat_jll v2.2.7+6
  [d4d017d3] ExponentialUtilities v1.8.0
  [e2ba6199] ExprTools v0.1.3
  [c87230d0] FFMPEG v0.4.0
  [b22a6f82] FFMPEG_jll v4.3.1+4
  [9aa1b823] FastClosures v0.3.2
  [5789e2e9] FileIO v1.4.4
  [1a297f60] FillArrays v0.9.7
  [6a86dc24] FiniteDiff v2.7.1
  [53c48c17] FixedPointNumbers v0.8.4
  [08572546] FlameGraphs v0.2.4
  [a3f928ae] Fontconfig_jll v2.13.1+14
  [59287772] Formatting v0.4.1
  [f6369f11] ForwardDiff v0.10.12
  [d7e528f0] FreeType2_jll v2.10.1+5
  [559328eb] FriBidi_jll v1.0.5+6
  [069b7b12] FunctionWrappers v1.1.1
  [de31a74c] FunctionalCollections v0.5.0
  [fb4132e2] FuzzyCompletions v0.3.0
  [0656b61e] GLFW_jll v3.3.2+1
  [28b8d3ca] GR v0.53.0
  [d2c73de3] GR_jll v0.52.0+0
  [01680d73] GenericSVD v0.3.0
  [5c1252a2] GeometryBasics v0.3.3
  [78b55507] Gettext_jll v0.20.1+7
  [7746bdde] Glib_jll v2.59.0+4
  [42e2da0e] Grisu v1.0.0
  [cd3eb016] HTTP v0.8.19
  [9fb69e20] Hiccup v0.2.2
  [7073ff75] IJulia v1.23.0
  [b5f81e59] IOCapture v0.1.1
  [615f187c] IfElse v0.1.0
  [9b13fd28] IndirectArrays v0.5.1
  [d25df0c9] Inflate v0.1.2
  [83e8ac13] IniFile v0.5.0
  [41ab1584] InvertedIndices v1.0.0
  [b6b21f68] Ipopt v0.6.3
  [9cc047cb] Ipopt_jll v3.13.1+1
  [c8e1da08] IterTools v1.3.0
  [42fd0dbc] IterativeSolvers v0.8.4
  [82899510] IteratorInterfaceExtensions v1.0.0
  [692b3bcd] JLLWrappers v1.1.3
  [97c1335a] JSExpr v0.5.2
  [682c06a0] JSON v0.21.1
  [7d188eb4] JSONSchema v0.3.3
  [aacddb02] JpegTurbo_jll v2.0.1+3
  [4076af6c] JuMP v0.21.5
  [98e50ef6] JuliaFormatter v0.10.9
  [aa1ae85d] JuliaInterpreter v0.8.4
  [e5e0dc1b] Juno v0.8.4
  [c1c5ebd0] LAME_jll v3.100.0+3
  [7c4cb9fa] LNR v0.2.1
  [dd4b983a] LZO_jll v2.10.0+3
  [b964fa9f] LaTeXStrings v1.2.0
  [2ee39098] LabelledArrays v1.3.0
  [23fbe1c1] Latexify v0.14.5
  [50d2b5c4] Lazy v0.15.1
  [1d6d02ad] LeftChildRightSiblingTrees v0.1.2
  [dd192d2f] LibVPX_jll v1.9.0+1
  [e9f186c6] Libffi_jll v3.2.1+4
  [d4300ac3] Libgcrypt_jll v1.8.5+4
  [7e76a0d4] Libglvnd_jll v1.3.0+3
  [7add5ba3] Libgpg_error_jll v1.36.0+3
  [94ce4f54] Libiconv_jll v1.16.0+7
  [4b2f31a3] Libmount_jll v2.34.0+3
  [89763e89] Libtiff_jll v4.1.0+2
  [38a345b3] Libuuid_jll v2.34.0+7
  [093fc24a] LightGraphs v1.3.0
  [d3d80556] LineSearches v7.1.0
  [bdcacae8] LoopVectorization v0.8.26
  [d00139f3] METIS_jll v5.1.0+5
  [d7ed1dd3] MUMPS_seq_jll v5.3.5+0
  [1914dd2f] MacroTools v0.5.6
  [b8f27783] MathOptInterface v0.9.18
  [fdba3010] MathProgBase v0.7.8
  [739be429] MbedTLS v1.0.3
  [c8ffd9c3] MbedTLS_jll v2.16.8+1
  [442fdcdd] Measures v0.3.1
  [e89f7d12] Media v0.5.0
  [e1d29d7a] Missings v0.4.4
  [961ee093] ModelingToolkit v4.0.6
  [46d2c3a1] MuladdMacro v0.2.2
  [f9640e96] MultiScaleArrays v1.8.1
  [ffc61752] Mustache v1.0.8
  [d8a4904e] MutableArithmetics v0.2.12
  [a975b10e] Mux v0.7.3
  [d41bc354] NLSolversBase v7.7.1
  [2774e3e8] NLsolve v4.4.1
  [77ba4419] NaNMath v0.3.5
  [510215fc] Observables v0.3.2
  [6fe1bfb0] OffsetArrays v1.4.0
  [e7412a2a] Ogg_jll v1.3.4+2
  [656ef2d0] OpenBLAS32_jll v0.3.9+4
  [4536629a] OpenBLAS_jll v0.3.9+5
  [458c3c95] OpenSSL_jll v1.1.1+6
  [efe28fd5] OpenSpecFun_jll v0.5.3+4
  [91d4177d] Opus_jll v1.3.1+3
  [bac558e1] OrderedCollections v1.3.2
  [1dea7af3] OrdinaryDiffEq v5.45.1
  [2f80f16e] PCRE_jll v8.42.0+4
  [90014a1f] PDMats v0.10.1
  [65888b18] ParameterizedFunctions v5.7.0
  [d96e819e] Parameters v0.12.1
  [69de0a69] Parsers v1.0.12
  [fa939f87] Pidfile v1.2.0
  [30392449] Pixman_jll v0.38.4+5
  [ccf2f8ad] PlotThemes v2.0.0
  [995b91a9] PlotUtils v1.0.7
  [a03496cd] PlotlyBase v0.4.2
  [f0f68f2c] PlotlyJS v0.14.0
  [91a5bcdd] Plots v1.9.1
  [e409e4f3] PoissonRandom v0.4.0
  [2dfb63ee] PooledArrays v0.5.3
  [08abe8d2] PrettyTables v0.10.1
  [784f63db] Qhull_jll v2019.1.0+2
  [ede63266] Qt_jll v5.15.1+0
  [1fd47b50] QuadGK v2.4.1
  [74087812] Random123 v1.2.0
  [fb686558] RandomExtensions v0.4.3
  [e6cf234a] RandomNumbers v1.4.0
  [3cdcf5f2] RecipesBase v1.1.1
  [01d81517] RecipesPipeline v0.2.1
  [731186ca] RecursiveArrayTools v2.7.2
  [f2c3362d] RecursiveFactorization v0.1.4
  [189a3867] Reexport v0.2.0
  [ae029012] Requires v1.1.1
  [ae5879a3] ResettableStacks v1.0.0
  [79098fc4] Rmath v0.6.1
  [f50d1b31] Rmath_jll v0.2.2+1
  [f2b01f46] Roots v1.0.5
  [7e49a35a] RuntimeGeneratedFunctions v0.4.2
  [21efa798] SIMDPirates v0.8.26
  [476501e8] SLEEFPirates v0.5.5
  [1bc83da4] SafeTestsets v0.0.1
  [6c6a2e73] Scratch v1.0.3
  [91c51154] SentinelArrays v1.2.16
  [992d4aef] Showoff v0.3.2
  [699a6c99] SimpleTraits v0.9.3
  [b85f4697] SoftGlobalScope v1.1.0
  [a2af1166] SortingAlgorithms v0.3.1
  [47a9eef4] SparseDiffTools v1.10.1
  [276daf66] SpecialFunctions v0.10.3
  [90137ffa] StaticArrays v0.12.5
  [2913bbd2] StatsBase v0.33.2
  [4c63d2b9] StatsFuns v0.9.6
  [9672c7b4] SteadyStateDiffEq v1.5.1
  [789caeaf] StochasticDiffEq v6.26.0
  [88034a9c] StringDistances v0.8.0
  [09ab397b] StructArrays v0.4.4
  [856f2bd8] StructTypes v1.1.0
  [bea87d4a] SuiteSparse_jll v5.4.0+9
  [c3572dad] Sundials v4.3.0
  [fb77eaff] Sundials_jll v5.2.0+1
  [d1185830] SymbolicUtils v0.6.0
  [3783bdb8] TableTraits v1.0.0
  [bd369af6] Tables v1.2.1
  [a759f4b9] TimerOutputs v0.5.7
  [0796e94c] Tokenize v0.5.8
  [3bb67fe8] TranscodingStreams v0.9.5
  [a2a6695c] TreeViews v0.3.0
  [30578b45] URIParser v0.4.1
  [3a884ed6] UnPack v1.0.2
  [1986cc42] Unitful v1.5.0
  [3d5dd08c] VectorizationBase v0.12.33
  [81def892] VersionParsing v1.2.0
  [19fa3120] VertexSafeGraphs v0.1.2
  [a2964d1f] Wayland_jll v1.17.0+4
  [2381bf8a] Wayland_protocols_jll v1.18.0+4
  [0f1e0344] WebIO v0.8.15
  [104b5d7c] WebSockets v1.5.2
  [cc8bc4a8] Widgets v0.6.2
  [02c8fc9c] XML2_jll v2.9.10+3
  [aed1982a] XSLT_jll v1.1.33+4
  [4f6342f7] Xorg_libX11_jll v1.6.9+4
  [0c0b7dd1] Xorg_libXau_jll v1.0.9+4
  [935fb764] Xorg_libXcursor_jll v1.2.0+4
  [a3789734] Xorg_libXdmcp_jll v1.1.3+4
  [1082639a] Xorg_libXext_jll v1.3.4+4
  [d091e8ba] Xorg_libXfixes_jll v5.0.3+4
  [a51aa0fd] Xorg_libXi_jll v1.7.10+4
  [d1454406] Xorg_libXinerama_jll v1.1.4+4
  [ec84b674] Xorg_libXrandr_jll v1.5.2+4
  [ea2f1a96] Xorg_libXrender_jll v0.9.10+4
  [14d82f49] Xorg_libpthread_stubs_jll v0.1.0+3
  [c7cfdc94] Xorg_libxcb_jll v1.13.0+3
  [cc61e674] Xorg_libxkbfile_jll v1.1.0+4
  [12413925] Xorg_xcb_util_image_jll v0.4.0+0
  [2def613f] Xorg_xcb_util_jll v0.4.0+0
  [975044d2] Xorg_xcb_util_keysyms_jll v0.4.0+0
  [0d47668e] Xorg_xcb_util_renderutil_jll v0.3.9+0
  [c22f9ab0] Xorg_xcb_util_wm_jll v0.4.1+0
  [35661453] Xorg_xkbcomp_jll v1.4.2+4
  [33bec58e] Xorg_xkeyboard_config_jll v2.27.0+4
  [c5fb5394] Xorg_xtrans_jll v1.4.0+3
  [c2297ded] ZMQ v1.2.1
  [8f1865be] ZeroMQ_jll v4.3.2+5
  [a5390f91] ZipFile v0.9.3
  [83775a58] Zlib_jll v1.2.11+18
  [3161d3a3] Zstd_jll v1.4.5+2
  [700de1a5] ZygoteRules v0.2.0
  [0ac62f75] libass_jll v0.14.0+4
  [f638f0a6] libfdk_aac_jll v0.1.6+4
  [b53b4c65] libpng_jll v1.6.37+6
  [f27f6e37] libvorbis_jll v1.3.6+6
  [1270edf5] x264_jll v2020.7.14+2
  [dfaa095f] x265_jll v3.0.0+3
  [d8fb68d0] xkbcommon_jll v0.9.1+5
  [2a0f44e3] Base64
  [ade2ca70] Dates
  [8bb1440f] DelimitedFiles
  [8ba89e20] Distributed
  [7b1f6079] FileWatching
  [9fa8497b] Future
  [b77e0a4c] InteractiveUtils
  [76f85450] LibGit2
  [8f399da3] Libdl
  [37e2e46d] LinearAlgebra
  [56ddb016] Logging
  [d6f4376e] Markdown
  [a63ad114] Mmap
  [44cfe95a] Pkg
  [de0858da] Printf
  [9abbd945] Profile
  [3fa0cd96] REPL
  [9a3f8284] Random
  [ea8e919c] SHA
  [9e88b42a] Serialization
  [1a1011a3] SharedArrays
  [6462fe0b] Sockets
  [2f01184e] SparseArrays
  [10745b16] Statistics
  [4607b0f0] SuiteSparse
  [8dfed614] Test
  [cf7118a7] UUIDs
  [4ec0a83e] Unicode

(@v1.5) pkg>

I don’t know why it cannot be up updated.

Something else is preventing Ipopt from updating. Try

] add Ipopt_jll@3.13.2

I suggest you use a Pkg environment (https://julialang.github.io/Pkg.jl/v1.1/environments/) with the minimal amount of packages. It’s hard to debug version compatibilities when you use a single global environment.

1 Like

Seems like the version resolver is deciding to pull the latest MUMPS instead of the latest Ipopt_jll. I’ll make a new release of Ipopt with a fix: https://github.com/jump-dev/Ipopt.jl/pull/249

I tried this and now Ipopt works fine! Also MUMP has been changed in version to

 (@v1.5) pkg> add Ipopt_jll@3.13.2
   Updating registry at `C:\Users\Amirr\.julia\registries\General`
  Resolving package versions...
  Installed MUMPS_seq_jll ─ v5.2.1+4
  Installed Ipopt_jll ───── v3.13.2+1
Updating `C:\Users\Amirr\.julia\environments\v1.5\Project.toml`
  [9cc047cb] + Ipopt_jll v3.13.2+1
Updating `C:\Users\Amirr\.julia\environments\v1.5\Manifest.toml`
  [9cc047cb] ↑ Ipopt_jll v3.13.1+1 ⇒ v3.13.2+1
  [d7ed1dd3] ↓ MUMPS_seq_jll v5.3.5+0 ⇒ v5.2.1+4

Than you @odow very much!

1 Like

A new release of Ipopt is tagged, so running ] add Ipopt should resolve any issues.

1 Like

Now it works perfectly!
Thanks again :slight_smile:

1 Like