This document presents a framework for self-tuning optimization algorithms. The framework allows an algorithm to tune its own parameters automatically. It views parameter tuning as a hyper-optimization problem, where the goal is to optimize an optimization algorithm. The framework formulates parameter tuning as a single-objective optimization problem, with the objective being to minimize the number of iterations required for the algorithm to find a solution within a given tolerance level. It then uses the algorithm itself to solve this optimization problem and find the optimal parameter settings.