Software: Codosol

Codosol is a Matlab  code for constrained nonlinear   systems of equations

                                              F(x)=0         l<=x<=u

where  F: R^n --> R^n, l and u are vectors of dimension n.  Non-existent lower and upper bounds, i.e.
entries of l and u equal to minus o plus infinity, are allowed.
The code is based on an affine scaling trust region algorithm. The algorithm combines Newton method and trust region procedures where the merit function used is the norm of the nonlinear residual. The trust region and the corresponding scaled gradient are defined by suitable diagonal scaling avoiding the problem of running directly into a bound. The trust region problem is approximately solved by a constrained dogleg method. Only strictly feasible iterates are generated. A great flexibility in choosing the scaling matrix is allowed for application dependent purposes. If the problem has sparse Jacobians and a relatively big size, the user can choose to work with sparse memory storage. Then, the Newton step is computed via the built-in Matlab function LU with the syntax for calling the UMFPACK package when Matlab 6.5 or later versions are used. Various input/output options are provided, and we refer to the code itself for further documentation.

Stefania Bellavia
Maria Macconi
Sandra Pieraccini

Codosol code has non-commercial purposes.  We assume no responsibility for any errors that
may exist in the provided routines.  We welcome questions, comments, recommended changes and
bug reports.

If you use this code, the authors would appreciate your acknowledging having done so in the reports, publications, theses, etc., resulting from their use.


Accompanying paper:

  • S. Bellavia, M. Macconi, S. Pieraccini   Constrained Dogleg Methods for nonlinear systems with simple bounds  , Computational Optimization and Applications, Vol. 53, pp. 771-794, 2012