CCL Home Page
Up Directory CCL readme.opt
                 FORTRAN Software for Optimization

               J. P. Chandler (jpc@a.cs.okstate.edu)
                    Computer Science Department
                     Oklahoma State University
                 Stillwater, Oklahoma 74078, U.S.A.
                          (405) 744-5676
 
Files of FORTRAN software for certain restricted types of
optimization problems are available for downloading by anonymous ftp:
 
   ftp.a.cs.okstate.edu        /pub/jpc
 
(Optimization software can be used to solve nonlinear least squares
problems, maximum likelihood problems, and many other kinds of problems
in engineering and the physical and social sciences.)
 
This software may be distributed and used freely.
The only restriction is that if any of this software is included in a
package that is sold or leased, a royalty arrangement must be made
with the author.
 
This software is written in A.N.S.I. Standard FORTRAN 77.
It is portable and robust.
It will be maintained by the author for the foreseeable future:
any errors found will be fixed expeditiously, and a "bug bounty" 
of $10 U.S. will be paid for the first notification of each error.
 
The software is in the form of subroutine packages.
The subroutines contain output statements of the form WRITE(KW,10)AA.
KW is currently set to 6 in subroutine STSET.

This software uses COMMON for communication of most parameters.
Advantage    : short CALL statements
Disadvantages: arrays do not have adjustable dimensions;
               COMMON is an obsolescent feature of FORTRAN
 
A short main program (test driver) and test data are included in each file.
Users may need to add an OPEN statement to each main program.
 
 
STEPIT (file: stepit.f)
   Searches for a local minimum of a smooth function of one or more
   parameters, (X(J), J=1,NV).  
   Parameters may be subject to constant constraints of equality
   (X(J) is held fixed if MASK(J) is nonzero) or inequality
   (X(J) will lie between XMIN(J) and XMAX(J), except for possible
   small violations during computation of errors).
   STEPIT uses a direct search method devised by the author
   (Ph.D. dissertation, Department of Physics, Indiana University, 1967).
   STEPIT can be configured to use storage proportional only to NV
   rather than to NV**2, so that it can be used on large problems.
   It has been used with NV=10000 with reasonably good results.
   The rate of convergence is only linear, and the method does not
   exhibit finite termination on a quadratic function.
   STEPIT is considerably faster than the simplex method of Nelder and Mead
   if NV is at all large, but may be slower than the method of Powell.
   (Powell's method uses storage proportional to NV**2 and
   does not allow constraints of inequality.)
   At the end of the minimization, STEPIT can compute approximations to
   the parameter errors and correlations, for least squares or maximum
   likelihood problems, but these approximations to the errors can be
   considerably too small in some cases.
 
SIMPLEX (file: simplex.f)
   Searches for a local minimum of a smooth function of several variables.
   Uses the simplex method of Nelder and Mead
   (Computer Journal 7 (1965) 308-313), with minor modifications.
   The original algorithm sometimes discarded the best known point;
   this is an option in SIMPLEX, but it is not recommended.
   The computations in SIMPLEX are arranged to limit roundoff errors.
   The parameters of SIMPLEX are compatible with STEPIT,
   allowing for the easy interchange of the two routines.
   The method of SIMPLEX is not guaranteed to work in all cases
   with constraints of inequality (XMIN(J) and XMAX(J)),
   but in practice there are few problems with this.
   This method will also find local minima of nonsmooth functions
   in some problems, but examples can be constructed where it will fail,
   terminating "normally" at a point that is not a local minimum.
 
MARQ (file: marq.f)
   Solves nonlinear least squares problems.
   Offers the following methods as options:
      Gauss-Newton method
      modified Gauss-Newton method
      Marquardt's method
      modified Marquardt's method
   Constant constraints of equality or inequality may be imposed.
   MARQ allows the use of either analytic derivatives or finite
   difference approximations to the derivatives.
   At the end of the fit, MARQ computes parameter errors, correlations, etc.
   The usage of MARQ is almost entirely compatible with STEPIT
   and SIMPLEX, to allow for interchange among the three packages.
   On nonlinear least squares problems, MARQ is usually faster than
   STEPIT or SIMPLEX, and often much faster.
   (STEPIT and SIMPLEX will solve a wider class of problems than MARQ.)
 
 
The above files also contain two other routines of general applicability.
 
FIDO
   Used in conjunction with STEPIT, SIMPLEX, or MARQ to compute
   nonsymmetric confidence intervals for the final parameter values
   in nonlinear fitting problems.
   The method of support planes is used (see references in FIDO).
 
RPLOT
   Prints a line plot of data, fit, and normalized residuals.
 

J. P. Chandler
jpc@a.cs.okstate.edu

Modified: Fri Mar 24 17:00:00 1995 GMT
Page accessed 10740 times since Sat Apr 17 21:35:13 1999 GMT