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.
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.
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.
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.
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.
Here's how I see the family of optimization algorithms:
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With