Efficient Methods In Convex Programming