From: stevenj Date: Fri, 29 Jan 2010 05:43:34 +0000 (-0500) Subject: added missing bobyqa files X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=fcc12e2df654988f568dfa344ab14c96e4af7264;p=nlopt.git added missing bobyqa files darcs-hash:20100129054334-c8de0-48ec34ef561e672abc6e2b6288dd86e9f158ba4b.gz --- diff --git a/bobyqa/Makefile.am b/bobyqa/Makefile.am new file mode 100644 index 0000000..71f2d9b --- /dev/null +++ b/bobyqa/Makefile.am @@ -0,0 +1,6 @@ +AM_CPPFLAGS = -I$(top_srcdir)/util -I$(top_srcdir)/api + +noinst_LTLIBRARIES = libbobyqa.la +libbobyqa_la_SOURCES = bobyqa.c bobyqa.h + +EXTRA_DIST = README README.orig COPYRIGHT diff --git a/bobyqa/README.orig b/bobyqa/README.orig new file mode 100644 index 0000000..8a81d98 --- /dev/null +++ b/bobyqa/README.orig @@ -0,0 +1,60 @@ +=========================================================================== +On 8/13/09 added the paper on BOBYQA +=========================================================================== + +For simplicity, the Makefi;e has been replaced by a one-line compile +script "comp" which needs to be adjusted if the compiler name is not +f77. All Fortran files are in bobyla.f. Compiling and running bobyqa +should produce results similar to those in RESULTS. + Hans Mittelmann, Jan 2009 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + The Fortran version of BOBYQA is attached. Its purpose is to seek +the least value of a function F of several variables, when derivatives +are not available, where F is specified by the user through a subroutine +called CALFUN. The name BOBYQA denotes Bound Approximation BY Quadratic +Approximation, the constraints being lower and upper bounds on every +variable, which can be set to huge values for unconstrained variables. +The algorithm is intended to change the variables to values that are close +to a local minimum of F. The user, however, should assume responsibility for +finding out if the calculations are satisfactory, by considering carefully +the values of F that occur. The BOBYQA software has been developed from the +method of the paper "The NEWUOA software for unconstrained minimization +without derivatives", in Large-Scale Nonlinear Optimization, editors G. Di +Pillo and M. Roma, Springer (2006), pages 255-297. A report that describes +the details of the development is going to be written soon. + + The attachments in sequence are a suitable Makefile, followed by a main +program and a CALFUN routine for the "Invdist2" problem, in order to provide +an example for testing. Then BOBYQA and its six auxiliary routines, namely +BOBYQB, ALTMOV, PRELIM, RESCUE, TRSBOX and UPDATE, are given. Finally, the +computed output that the author obtained for the Invdist2 problems is listed. + + In addition to providing CALFUN, an initial vector of variables and +the lower and upper bounds, the user has to set the values of the parameters +RHOBEG, RHOEND and NPT. After scaling the individual variables if necessary, +so that the magnitudes of their expected changes are similar, RHOBEG is the +initial steplength for changes to the variables, a reasonable choice being +the mesh size of a coarse grid search. Further, RHOEND should be suitable for +a search on a very fine grid. Typically, the software calculates a vector +of variables that is within distance 10*RHOEND of a local minimum. Another +consideration is that every trial vector of variables is forced to satisfy +the lower and upper bounds, but there has to be room to make a search in all +directions. Therefore an error return occurs if the difference between the +bounds on any variable is less than 2*RHOBEG. The parameter NPT specifies +the number of interpolation conditions on each quadratic model, the value +NPT=2*N+1 being recommended for a start, where N is the number of variables. +It is often worthwhile to try other choices too, but much larger values tend +to be inefficient, because the amount of routine work of each iteration is +of magnitude NPT**2, and because the achievement of adequate accuracy in some +matrix calculations becomes more difficult. Some excellent numerical results +have been found in the case NPT=N+6 even with more than 100 variables. + + The way of calling BOBYQA should be clear from the Invdist2 examples +and from the comments near the beginning of SUBROUTINE BOBYQA. There are no +restrictions on or charges for the use of the software. I hope that the time +and effort I have spent on developing the package will be helpful to much +research and to many applications. + +January 5th, 2009 M.J.D. Powell (mjdp@cam.ac.uk) +