Convex penalty optimization