Theory and Principled Methods for the Design of Metaheuristics