input: Write a python function to find the optimal point in a population of 2D points using genetic algorithm techniques (selection, crossover, mutation).
  assert find_optimal_point() == -10.0  # Assuming the optimal point based on the given population and function
  assert find_optimal_point() != 0  # Ensuring it does not return an incorrect optimal point
output: import random
  
  def find_optimal_point():
      # Define the population size and the mutation rate
      population_size = 100
      mutation_rate = 0.01
      
      # Define a simple 2D point population for demonstration purposes
      population = [(-random.uniform(-10, 10), random.uniform(-10, 10)) for _ in range(population_size)]
      
      # Define a fitness function (for example, minimize the distance to the point (-10, 0))
      def fitness(point):
          x, y = point
          return (x + 10)**2 + y**2
      
      # Selection - Select the top 50% of the population based on fitness
      def selection(population):
          population.sort(key=fitness)
          return population[:population_size // 2]
      
      # Crossover - Create new offspring by combining parts of two parents
      def crossover(parent1, parent2):
          x1, y1 = parent1
          x2, y2 = parent2
          return (x1, y2)
      
      # Mutation - Introduce small random changes to some individuals
      def mutate(point):
          x, y = point
          if random.random() < mutation_rate:
              x += random.uniform(-1, 1)
              y += random.uniform(-1, 1)
          return (x, y)
      
      # Run the genetic algorithm for a fixed number of generations
      generations = 1000
      for _ in range(generations):
          population = selection(population)
          new_population = []
          while len(new_population) < population_size:
              parent1 = random.choice(population)
              parent2 = random.choice(population)
              offspring = crossover(parent1, parent2)
              offspring = mutate(offspring)
              new_population.append(offspring)
          population = new_population
      
      # Return the best point found
      best_point = min(population, key=fitness)
      return best_point[0]