input: Write a python function to generate a population of random individuals within given parameter bounds.
  assert len(generate_population([(0,1), (2,3)], 5)) == 5
  assert all(len(individual) == 2 for individual in generate_population([(0,1), (2,3)], 5))
  assert len(generate_population([(-5,5), (10,20), (0,100)], 10)) == 10
output: import random
  
  def generate_population(param_bounds, population_size):
      population = []
      for _ in range(population_size):
          individual = [random.uniform(low, high) for low, high in param_bounds]
          population.append(individual)
      return population