Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference of Genetic Algorithm and Constraint Programming?

I hope someone would shed some light on me about this topic. If by any chance this is considered a stupid question to ask, I'd gladly remove this question right away.

I am designing a course timetabling system and by researching, I stumbled upon GA and Constraint Programming as approaches in solving my problem. However, I didn't quite understand the differences between the two and what are the advantages of one over the other. I hope someone would explain this to me in layman's term or direct me to a site with this topic.

Thanks in advance!

Best regards.

like image 810
dgnebres Avatar asked Oct 15 '15 07:10

dgnebres


People also ask

What is the difference between genetic algorithms and genetic programming?

The difference basically is that in GA strings of bits representing chromosomes are evolved, whereas in genetic programming the whole structure of a computer program is evolved by the algorithm. Due to this structure, genetic programming can manage problems that are harder to manipulate by GAs.

What is the difference between genetic algorithm and machine learning?

Genetic algorithms are used in artificial intelligence like other search algorithms are used in artificial intelligence — to search a space of potential solutions to find one which solves the problem. In machine learning we are trying to create solutions to some problem by using data or examples.

What is the difference between genetic algorithm vs ant colony?

Genetic Algorithms (GAs) were introduced by Holland as a computational analogy of adaptive systems. GAs are search procedures based on the mechanics of natural selection and natural genetics. Ant Colony Optimization (ACO) is a metaheuristic inspired by the foraging behavior of ant colonies.

How constraints are handled in genetic algorithm?

All the linear constraints and bounds are satisfied throughout the optimization. However, ga may not satisfy all the nonlinear constraints at every generation. If ga converges to a solution, the nonlinear constraints will be satisfied at that solution.


1 Answers

Here's how I see the family of optimization algorithms:

  • Exact methods: brute force, branch and bound
  • Constraint Programming (terrible name): tries reducing the domain set
  • Linear Programming et al: simplex, ...
  • Metaheuristics:
    • Local Search: Tabu Search, Simulated Annealing, Late Acceptance, ...
    • Population based algorithms: genetic algorithms, swarm optimization, ...

For the use case course timetabling specifically, the ITC2007 research competition clearly showed that Local Search is king. Genetic algorithms were consistently slightly inferior and Constraint Programming was useless due to scalability issues. Your mileage may very as 2007 is some time ago.

like image 63
Geoffrey De Smet Avatar answered Sep 30 '22 15:09

Geoffrey De Smet