How to plan Valentine’s day using a matching algorithm

Finding a dating schedule that matches pairs of potential lovers up into dating couples, is an example of an algorithmic problem. There is a clearly defined input, given by the lists of who is considered an acceptable dating partner to whom. It is also clear what we want as the output: a pairing of classmates into acceptable boy-girl pairs that has as many pairs (dates) as possible. How can you find the best dating schedule?
Finding the shortest route to your holiday destination: Dijkstra's algorithm

Nowadays we have route planners such as TomTom and Google Maps to make driving to a holiday destination a lot simpler. In this article we explain the science behind these route planners.