input: Write a function to optimize the given objective function using the 'scipy.optimize.minimize' method. The objective function should be defined within the code with appropriate parameters. The optimization should be performed using the Nelder-Mead method with specific tolerance settings.
  
  from scipy.optimize import minimize
  
  def obj_func(x):
      # objective function
      return (x[0] - 1)**2 + (x[1] - 2.5)**2 + (x[2] - 3)**2
  
  def optimize(x0):
      # set up optimization problem
      res = minimize(obj_func, x0, method='nelder-mead', options={'xtol': 1e-8, 'disp': True})
      return res.x
  
  assert optimize([0.0, 0.0, 0.0]).tolist() == [1.0, 2.5, 3.0]
  assert optimize([4.0, 5.5, 6.0]).tolist() == [1.0, 2.5, 3.0]
  assert optimize([1.0, 2.5, 3.0]).tolist() == [1.0, 2.5, 3.0]
  assert optimize([-1.0, -2.5, -3.0]).tolist() == [1.0, 2.5, 3.0]
output: def optimize(x0):
      res = minimize(obj_func, x0, method='nelder-mead', options={'xtol': 1e-8, 'disp': True})
      return res.x