Classes for the optimization interfaces