[Ipopt] MA86 library

Jonathan Hogg jonathan.hogg at stfc.ac.uk
Fri Feb 10 04:16:37 EST 2012


As the developer of these codes, let me summarise our experience with 
these (I'm currently preparing a paper with some numerical results, but 
this has been delayed by other things).

*HSL_MA77* is the slowest, unless you have insufficient memory to store 
the factorization, in which case it can use disk in an out-of-core mode 
much more efficiently than relying on your OS's virtual memory 
implementation. To say it is more economical in terms of memory is not 
entirely inaccurate (if both are used in core HSL_MA86 is more 
economical) - it (a) copes significantly better when it runs out and (b) 
can use disk in place of memory from the start if you want it to.

*HSL_MA86* has better parallel scaling on LARGE problems (those taking 
more than 10s per factorization, say). On small problems, it is 
considerably slower than MA57. It is also not bit-compatible, which 
means that (in parallel) running the same factorization twice will 
result in slightly different answers. This will inevitably result in 
different (but equally valid!) answers produced by Ipopt each time it is 
run. This makes debugging difficult and can confuse more naive users. 
Further, we have observed that at times this will result in finding 
different local optima, or even sometimes failing to find a suitable 
optimum on some runs while successfully finding one on others. I've not 
yet quantified how often this occurs.

*HSL_MA97* was designed after our experience with HSL_MA86, and in 
addition to bit-compatibility, aims to have better performance on 
smaller problems. Performance wise it is almost (in our experiments) 
comparable in performance to MA57 on all but the smallest problems. It 
is faster on larger problems and also achieves better parallel scaling 
than MA57 with threaded BLAS - but not as good as HSL_MA86.

If you want to try these out I'm happy to provide our development 
versions of the interfaces on request, but this will likely require you 
to be happy with modifying the autotools files associated with Ipopt in 
order to compile them successfully. (Our legal people are not happy for 
us to distribute Ipopt in its entirety due to the choice of law clause).

Jonathan

On 09/02/12 20:59, Joel Andersson wrote:
> Hello!
>
> I have seen some mails to the list about the MA86 and MA97 linear
> solvers. Can anyone report any good or bad experiences from using
> these linear solvers with Ipopt? If I understand things correctly,
> MA86 and MA97 are parallelized with OpenMP making them suitable for
> multicore architectures, but other than that, are they more or less
> equivalent to MA57 in terms of license and method used?
>
> Also, what is the difference between the two, from the documentation I
> see that MA86 is likely faster, but not "bit-compatible". What is this
> and is it important for Ipopt? I also saw that there is yet another
> possible HSL solver - MA77 which is apparently more economical in
> terms of memory if I understand things right.
>
> Does anyone have any experiences to share?
>
> Best,
> Joel
>
> 2012/2/9 Stefan Vigerske<stefan at math.hu-berlin.de>:
>> Hi,
>>
>>
>>> I started trying  BETA GAMS 23.8 with Ipopt 3.10. I wanted to try MA86
>>> along
>>> with Ipopt, so I downloaded the code. In order to make it work with Ipopt,
>>> I
>>> have to compile it into a library called libhsl.dll. My question is if the
>>> compilation process of MA86 is the same as MA57 (w/ MS Visual Studio).
>>> Thank
>>> you.
>>
>> It's more-or-less the same. Files are different, but you would just need
>> Fortran and C compilers, too.
>>
>> However, there are some problems with the Ipopt/MA86 interface in GAMS 23.8
>> beta. These should be fixed in the final GAMS 23.8 release.
>>
>> Stefan
>>
>>>
>>>
>>> Manuel Andrés Ramos Castillo
>>>
>>> Asistente Graduado
>>>
>>> Departamento de Ingeniería Química
>>>
>>> Universidad de Los Andes
>>>
>>> Tel. 3394949 Ext. 1841
>>>
>>> Edificio Mario Laserna
>>>
>>> Oficina 751
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Ipopt mailing list
>>> Ipopt at list.coin-or.org
>>> http://list.coin-or.org/mailman/listinfo/ipopt
>>
>>
>> --
>> Stefan Vigerske
>> Humboldt University Berlin, Numerical Mathematics
>> http://www.math.hu-berlin.de/~stefan
>> _______________________________________________
>> Ipopt mailing list
>> Ipopt at list.coin-or.org
>> http://list.coin-or.org/mailman/listinfo/ipopt
>
>


-- 
Scanned by iCritical.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/ipopt/attachments/20120210/4a78524e/attachment.html>


More information about the Ipopt mailing list