INTERFACE CoordMinimizer; (* Multivariate function minimization by coordinatewise univariate minimization. Created 95/07/17 by J.Stolfi *) IMPORT Minimizer, UniMin; TYPE T <: Public; (* An optimizer based on coordinatewise univariate minimization. The "minimize" method will repeatedly apply a few iterations of some univariate optimization method to each of the N arguments in turn. After each N+1 coordinate optimizations, will do one "diagonal" univariate optimization on the line connecting the output of the first and last steps. The convergence is theoretically slow, but the method is simple and fast. The default univariate optimizer is a BrentUniMin.T. The "minimize" method does not uses the gradient information supplied by "eval", unless the default univariate minimizer is replaced (with "setUniMin") by one that uses derivative information. *) Public = Minimizer.T OBJECT METHODS setUniMin(u: UniMin.T): T; (* Changes the univariate optimizer to be used. *) setBudget(n: CARDINAL): T; (* Specifies the number of function evaluations allowed when minimizing each coordinate. *) END; END CoordMinimizer.