Home
Name Modified Size InfoDownloads / Week
README_Erich_W_Steiner.txt 2017-05-14 1.8 kB
README_Mike_Powell.txt 2017-05-13 3.1 kB
test_newuoa_module.f95 2017-05-13 1.3 kB
newuoa_module.f95 2017-05-13 49.0 kB
newuoa_module.html 2017-05-13 6.1 kB
Totals: 5 Items   61.2 kB 0
Dear Fortran 90/95/03/08  user,

Michael.J.D Powell was a very well known Professor of numerical analysis,
who contributed an aweful lot and also wrote stunning, well performing code.
For example newuoa,  a code for unconstrained optimization without using derivatives.

I used this code often also to minimize functions f that are not differentiable everywhere
and found that the code still performs extremely well.

Michael Powell wrote the newuoa software in Fortran 77, the user interface being a bit old fashioned and tedious
to call, having to worry about work-spaces and having to provide dimension size variables that are
superfluous in Fortran 90. In comparison to that, the interface
of the fortran-90 wrapper subroutine is simple and lean.
The first subroutine of newuoa_module.f95 is the newuoa-routine for the outside user.
All the other routines are Michael Powell's original Fortran77 routines ported to Fortran 90.
I also adapted the F77 test code given by Michael Powell to a Fortran 90 test-code.

The changes done to Michael Powell's original code are just some declaration changes and
adding some declarations where Michael Powell relied on the implicit-fortran77-command.
Also the objective function to be minimized is made an argument to the minimization routine.
That is better because that way newuoa can be easily called in one code for optimizing
several different functions.

This code was tested under Linux with the free fortran compiler gfortran.
To test it with gfortran compile with the command

gfortran newuoa_module.f95 test_newuoa_module.f95

That will produce a a.out or a.exe executable file on Linux / Windows respectively.
Professor Powell released his code under the GNU Lesser Public Licence.

With best regards,   Erich Wolfgang Steiner   May 2016



 


Source: README_Erich_W_Steiner.txt, updated 2017-05-14