Optimization with Sparsity-Inducing Penalties