This is a system that can be used to design crank-rocker style linkages that follow a desired path. First the user designs a path by moving some points. Then an initial linkage design is set up. Once the optimization is started, a genetic algorithm performs a very intelligent, evolution-based version of “guess and check”, which tends to converge on a good solution.
This is a project that I completed entirely myself, but as a creative solution to graduate level coursework. The professor wanted to publish a journal article just about this, but I was busy with my thesis at the time.