input: Write a function to generate a random population for a genetic algorithm and calculate their fitness values using a fitness function.
  assert len(generate_population(lambda x: -3*x[0] + 2*x[1])[0]) == 50
  assert len(generate_population(lambda x: -3*x[0] + 2*x[1], num_population=10)[0]) == 10
  assert len(generate_population(lambda x: -3*x[0] + 2*x[1])[1]) == 50
output: import random
  
  def generate_population(fitness_function, num_population=50, gene_length=10):
      population = [[random.randint(0, 1) for _ in range(gene_length)] for _ in range(num_population)]
      fitness_values = [fitness_function(individual) for individual in population]
      return population, fitness_values