input: 
  from typing import List, Tuple
  
  def solve_linear_programming_problem(problem: Tuple[List[float], List[List[float]], List[float]]) -> Tuple[float, List[float]]:
      """
      Solve a linear programming problem using the Simplex Method in Python.
      The problem is represented by a tuple containing the objective function coefficients,
      the constraints coefficients matrix, and the right-hand-side values of the constraints.
      
      The problem must be in the following format:
      problem = (objective_function, constraints_coefficients, rhs_values)
      where:
      - objective_function is a list of floats representing the coefficients of the objective function.
      - constraints_coefficients is a list of lists of floats representing the coefficients of the constraints.
      - rhs_values is a list of floats representing the right-hand-side values of the constraints.
  
      The function returns a tuple containing the optimal value of the objective function and 
      a list of floats representing the optimal values of the decision variables.
      
      Example:
      >>> solve_linear_programming_problem(([3.0, 4.0], [[1.0, 1.0], [2.0, 1.0]], [4.0, 5.0]))
      (11.0, [1.0, 3.0])
      """
  
output:     from scipy.optimize import linprog
  
      objective_function, constraints_coefficients, rhs_values = problem
      
      # Convert the maximization problem to a minimization problem
      c = [-x for x in objective_function]
      
      # Convert constraints to the format required by linprog
      A = constraints_coefficients
      b = rhs_values
      
      # Solve the linear programming problem
      result = linprog(c, A_ub=A, b_ub=b, method='simplex')
      
      # Extract the optimal value and the optimal values of the decision variables
      optimal_value = -result.fun
      optimal_variables = result.x
      
      return optimal_value, optimal_variables