Chain unlocking

For my master thesis, I worked on a computational geometry problem, about applying optimization methods for untying knotted chains (i.e. segments of lines).

While continuous optimization methods could be applied without problem to large, detailed chains consisting on many links, smaller chains couldn’t be easy to treat as the traditional methods would not avoid intersections. The crossing of the line segments had to be carefully detected and metaheuristic methods for optimization were more appropriate.

You can check the source code for the project here. My thesis can be consulted here