I am struggling to use the linear algebra library Pardiso with Ipopt in Julia with JuMP. I have a very large nonlinear problem and it is my understanding that Pardiso may be more efficient and speed up the iterations. I have been trying to follow along with the discussion here:
https://github.com/JuliaOpt/Ipopt.jl/issues/83
which seems to be using Pardiso without doing a custom build of Ipopt. I am currently solving problems using the MUMPS library.
My system:
-Windows 10 64-bit operating system, 16 GB RAM
-Julia v0.6.4
-JuMP v0.18.2
-Pardiso v6
What I have done:
(1) Install Pardiso.jl (Pkg.add(“Pardiso”) )
julia> Pkg.add(“Pardiso”)
INFO: Cloning cache of Pardiso from GitHub - JuliaSparse/Pardiso.jl: Calling the PARDISO library from Julia
INFO: Installing Pardiso v0.3.2
INFO: Building Pardiso
did not find libpardiso, assuming PARDISO 5.0 is not installed
did not find MKLROOT key, assuming MKL is not installed
WARNING: no Pardiso library managed to load
INFO: Package database updated
INFO: METADATA is out-of-date — you may not have the latest version of Pardiso
INFO: UsePkg.update()
to get the latest versions of your packages
(2) Download libpardiso600-WIN-X86-64.dll
and put this and the pardiso.lic
in Pkg.dir("WinRPM", "deps", "usr", "x86_64-w64-mingw32", "sys-root", "mingw", "bin")
. I also renamed copies of libpardiso600-WIN-X86-64.dll
as libpardiso.dll
and libpardiso.so
in this folder.
(3) Pkg.build(“Pardiso”)
Pkg.build(“Pardiso”)
INFO: Building Pardiso
did not find libpardiso, assuming PARDISO 5.0 is not installed
did not find MKLROOT key, assuming MKL is not installed
WARNING: no Pardiso library managed to load
(4) When I run the julia code with `m=Model(solver = IpoptSolver(linear_solver=“pardiso”))', I get:
EXIT: Invalid option encountered.
WARNING: Ipopt finished with status Invalid_Option
WARNING: Not solved to optimality, status: Error
Objective Value: 0.0
Exception of type: OPTION_INVALID in file “IpAlgBuilder.cpp” at line 366:
Exception message: Selected linear solver Pardiso not available.
Tried to obtain Pardiso from shared library “libpardiso.dll”, but the following error occured:
Windows error while loading dynamic library libpardiso.dll, error = 126.
(see Tutorial - Debug system error codes - Win32 apps | Microsoft Learn)
Any help would be appreciated!