Problems for which many objective functions are to be simultaneously optimised are widely encountered in science and industry. These multi-objective problems have also been the subject of intensive investigation and development recently for metaheuristic search algorithms such as ant colony optimisation, particle swarm optimisation and extremal optimisation. In this chapter, a unifying framework called evolutionary programming dynamics (EPD) is examined. Using underlying concepts of self organised criticality and evolutionary programming, it can be applied to many optimisation algorithms as a controlling metaheuristic, to improve performance and results. We show this to be effective for both continuous and combinatorial problems.