[SCIP] SCIP with IPOPT with HSL
Stefan Vigerske
svigerske at gams.com
Thu Oct 7 09:30:57 CEST 2021
Hi,
there is a way, depending on how the ipopt in this scip debian package
was build.
Try setting
heuristics/subnlp/nlpoptfile = "ipopt.opt"
heuristics/subnlp/nlpverblevel = 1
and create a file ipopt.opt with content
linear_solver ma27
With the SCIP 7 that I found installed somewhere, this gives me the output
time | node | left |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows
|cuts |sepa|confs|strbr| dualbound | primalbound | gap | compl.
0.0s| 1 | 0 | 128 | - | 1050k | 0 | 47 | 40 | 108
| 0 | 0 | 0 | 0 |-1.879054e+00 | -- | Inf | unknown
calling subnlp heuristic
Exception of type: OPTION_INVALID in file
"/nfs/optimi/usr/sw/Ipopt-3.13.2-src/Ipopt/src/Algorithm/IpAlgBuilder.cpp"
at line 268:
Exception message: Selected linear solver MA27 not available.
Tried to obtain MA27 from shared library "libhsl.so", but the following
error occured:
libhsl.so: cannot open shared object file: No such file or directory
[nlpi_ipopt.cpp:1167] ERROR: Ipopt returned with application return
status -12
So the information that Ipopt should use MA27 is received, but it fails
because Ipopt has been build without the HSL codes. Unless it has been
disabled in this build of Ipopt, Ipopt then tried to load a library
libhsl.so with the HSL codes at runtime
(https://coin-or.github.io/Ipopt/INSTALL.html#LINEARSOLVERLOADER). So if
you have such a library around, then you just need to make sure that it
can be found.
This only applies to Ipopt called by the subnlp primal heuristic. Other
heuristics that call Ipopt do not have a "nlpoptfile" option (or I
forgot that they have), but subnlp should be the most important one.
If you work with the C API, then you can use function
SCIPsetModifiedDefaultSettingsIpopt()
(https://www.scipopt.org/doc-7.0.3/html/group__NLPIS.php#gaf626a99a6be56ab52994fe11e6ac440f)
to set option "linear_solver ma27" for all calls to Ipopt.
With the next major release, things will change and there will be a SCIP
option nlpi/ipopt/linear_solver to set the linear solver of Ipopt for
all calls to Ipopt.
Stefan
On 10/6/21 18:04, Marco Correia wrote:
> Hi,
>
> Is it possible to install SCIP with IPOPT with support for the HSL
> libraries (the latter already installed) using the scip debian package, or
> do I need to install SCIP from source? If so, do I also need to install
> IPOPT from source?
>
> Thanks
> Marco
>
>
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> https://listserv.zib.de/mailman/listinfo/scip
>
More information about the Scip
mailing list