This piece of software implements an Augmented Lagrangian method described in [1]. This particular implementation, specially designed for large-scale and arbitrary lower-level constraints problems solves the Augmented Lagrangian subproblems using the Spectral projected Gradient (SPG) method introduced in [2,3]. [1] R. Andreani, E. G. Birgin, J. M. Martínez and M. L. Schuverdt, "On Augmented Lagrangian methods with general lower-level constraints", submitted, 2005. [2] E. G. Birgin, J. M. Martínez and M. Raydan, "Nonmonotone spectral projected gradient methods on convex sets", SIAM Journal on Optimization 10, pp. 1196-1211, 2000. [3] E. G. Birgin, J. M. Martínez and M. Raydan, "Algorithm 813: SPG - software for convex-constrained optimization", ACM Transactions on Mathematical Software 27, pp. 340-349, 2001. Description of the files: alspg.for : implements the optimization method, alspg.out : is the output of the optimization method for a very easy problem, solution.txt : the solution of this easy problem found by ALSPG. For an easy test copy the file alspg.for. Compile typing f77 -O4 alspg.for -o alspg and execute typing alspg. The output that will appear in the screen will be the application of ALSPG to a very easy problem implemented in subroutines inip : set the number of variables, the number of constraints, the bounds the initial points and other few parameters of the problem, evalf : computes the objective function, evalg : computes the gradient of the objective funtion, evalc : computes the constraints, and evaljac : computes the gradients of the constraints. Solution will be saved in the output file solution.txt. Moreover, everything that appears in the screen will be also saved in the file alspg.out. All the subroutines described above can be easily modified to solve your own problem.