The task of finding a constructive approximation in the computational distance, while simultaneously preserving additional constrains (referred to as "simulators"), appears as the key difficulty in problems related to complexity theory, cryptography and combinatorics. In this paper we develop a general framework to efficiently prove results of this sort, based on subgradient-based optimization applied to computational distances. This approach is simpler and natural than KL-projections already studied in this context (for example the uniform min-max theorem from CRYPTO’13), while simultaneously may lead to quantitatively better results. Some applications of our algorithm include: Fixing an erroneous boosting proof for simulating auxiliary inputs from TCC’13 and much better bounds for the EUROCRYPT’09 leakage-resilient stream cipher Deriving the unified proof for Impagliazzo Hardcore Lemma, Dense Model Theorem, Weak Szemeredi Theorem (CCC’09) Showing that "dense...