Self-Supervised Learning of Iterative Solvers for Constrained Optimization