Algorithm 813: SPG - software for convex-constrained optimization - Birgin, Ernesto Julian Goldberg; Martínez, José Mário; Raydan, Marcos (ACM Transactions on Mathematical Software, 2001)