Add OptimizeResult constructor