input: def solve_linear_programming_using_simplex(problem_definition):
      """
      Explain the approach for solving a linear programming problem using the Simplex method in Python.
      >>> solve_linear_programming_using_simplex("Maximize 3x + 4y subject to x + y <= 10 and x - y >= 2")
      'The Simplex Method is an algorithm for solving a linear programming problem...'
      >>> solve_linear_programming_using_simplex("Minimize x - 2y subject to x + y >= 5, x <= 7, y <= 3, x, y >= 0")
      'The Simplex Method is an algorithm for solving a linear programming problem...'
      """
output:     from scipy.optimize import linprog
  
      def parse_problem(problem_definition):
          objective, constraints = problem_definition.split("subject to")
          objective = objective.replace("Maximize", "").replace("Minimize", "").strip()
          constraints = constraints.strip().split(", ")
          
          obj_coeffs = [float(coeff) for coeff in objective.split()]
          if "Maximize" in problem_definition:
              obj_coeffs = [-coeff for coeff in obj_coeffs]
          
          lhs_ineq = []
          rhs_ineq = []
          for constraint in constraints:
              lhs, rhs = constraint.split("<=") if "<=" in constraint else constraint.split(">=")
              lhs_coeffs = [float(coeff) for coeff in lhs.split()]
              rhs_val = float(rhs)
              lhs_ineq.append(lhs_coeffs)
              rhs_ineq.append(rhs_val)
          
          return obj_coeffs, lhs_ineq, rhs_ineq
  
      obj_coeffs, lhs_ineq, rhs_ineq = parse_problem(problem_definition)
      result = linprog(c=obj_coeffs, A_ub=lhs_ineq, b_ub=rhs_ineq, method='simplex')
      
      if result.success:
          return f"Optimal solution found: {result.x}"
      else:
          return "No optimal solution found."