input: def optimize_objective_function(obj_func, x0: List[float]) -> List[float]:
      """Given an objective function and an initial guess, the function uses the 
      Nelder-Mead method to optimize the objective function and return the optimal 
      values of the variables.
      
      >>> optimize_objective_function(lambda x: sum(x), [0.5, 1.5, 2.5])
      [0.0, 0.0, 0.0]
      """
      res = minimize(obj_func, x0, method='nelder-mead', options={'xtol': 1e-8, 'disp': True})
      return res.x
output:     from scipy.optimize import minimize