input: Write a python function to solve a linear programming problem using scipy.optimize.linprog.
  assert optimize_lp([1, 2], [[1, 1], [3, 4]], [5, 11]) == ([1.0, 4.0], 9.0)
  assert optimize_lp([-1, 4], [[2, 1], [-4, 5], [1, -2]], [20, 10, 2]) == ([6.0, 2.0], 2.0)
  assert optimize_lp([2, 3, 1], [[-4, 1, 2], [1, 2, 3], [3, -2, 0]], [8, 12, 3]) == ([3.0, 0.0, 3.0], 9.0)
output: from scipy.optimize import linprog
  
  def optimize_lp(c, A, b):
      res = linprog(c, A_ub=A, b_ub=b, method='highs')
      if res.success:
          return (list(res.x), res.fun)
      else:
          return (None, None)