[SCIP] SCIP with IPOPT with HSL

Stefan Vigerske svigerske at gams.com
Thu Oct 7 14:31:49 CEST 2021


Hi,

On 10/7/21 13:12, Marco Correia wrote:
> Thank you Stefan,
> 
> When I try it, I get the following error:
> 
> calling subnlp heuristic
> Exception of type: OPTION_INVALID in file "IpAlgBuilder.cpp" at line 404:
> Exception message: Support for HSL_MA97 has not been compiled into Ipopt

OK, then loading a library with MA97 at runtime has been disabled for 
this build of Ipopt.
So you would just build SCIP from source and use your own build of 
Ipopt, one that has been build with the HSL routines.

> Have you compiled IpOpt from sources? (I have installed from my package
> manager as well)

Yes.

Stefan

> 
> Thanks!
> 
> On Thu, Oct 7, 2021 at 8:30 AM Stefan Vigerske <svigerske at gams.com> wrote:
> 
>> 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