The process of assembling cars is highly complex. A car manufacturer like Audi builds a lot of derivatives on just a few assembly lines. One of the problems to solve is the question which car to build on which assembly line to achieve the various optimization goals like minimizing the number of parts, that have to be provided per line.
This talk is about a real-world implementation in Scala to solve that problem. In particular it will describe two approaches, a distributed solution on top of Apache Spark and an in-memory implementation with plain Scala, and pointing out their pros and cons.