input: 
  from typing import List, Tuple
  
  def solve_linear_programming_problem(objective_func: List[float], constraints: List[Tuple[List[float], float]], is_minimization: bool) -> Tuple[List[float], float]:
      """
      Solve a linear programming problem using the Simplex method.
      The input includes the coefficients of the objective function and the list of constraints, which are pairs (coefficients, RHS).
      The output is the set of optimal decision variables and the optimal value of the objective function.
      
      Example:
      >>> solve_linear_programming_problem([2, 3], [([1, 1], 7), ([1, -2], 5), ([-1, 1], 2)], True)
      ([3.5, 0.0], 7.0)
      """
  
output:     from scipy.optimize import linprog
  
      num_vars = len(objective_func)
      c = objective_func if is_minimization else [-x for x in objective_func]
      A = [constraint[0] for constraint in constraints]
      b = [constraint[1] for constraint in constraints]
  
      result = linprog(c, A_ub=A, b_ub=b, bounds=(0, None))
  
      if result.success:
          optimal_vars = result.x
          optimal_value = result.fun if is_minimization else -result.fun
          return optimal_vars, optimal_value
      else:
          raise ValueError("Linear programming problem could not be solved.")