Tools and methods for large-scale convex optimization