This piece of software implements an Augmented Lagrangian method described in [1]. This particular implementation, specially designed for small to medium scale problems solves the Augmented Lagrangian subproblems using the method BETRA introduced in [2]. BETRA is an active-set method for bound constrained minimization. It uses Spectral Projected Gradients to leave the faces and a trust regions method in the inner iterations. [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] M. Andretta, E. G. Birgin and J. M. Martínez, "Practical active-set Euclidian trust-region method with spectral projected gradients for bound-constrained minimization", Optimization 54, pp. 305-325, 2005. Description of the files: albetra.for : implements the optimization method, albetra.out : is the output of the optimization method for a very easy problem, solution.txt : the solution of this easy problem found by ALBETRA. For an easy test copy the file albetra.for. Compile typing f77 -O4 albetra.for -o albetra and execute typing albetra. The output that will appear in the screen will be the application of ALBETRA 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, evalh : computes the Hessian of the objective funtion, evalc : computes the constraints, evaljac : computes the gradients of the constraints, and evalch : computes the Hessians 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 albetra.out. All the subroutines described above can be easily modified to solve your own problem.