Nice logo! Very good work.
If anyone is interested in learning discrete optimization techniques, there is a course on Coursera that started a few days ago. They cover NP-hard problems like knapsack, routing, graph coloring; these are very common problems so it definitely pays to know how to create efficient solutions to them. It may sound difficult but it's totally possible to work on this if you're not an algorithm pro, and the language choice is open. So if you're looking for something to play with, join me!!
Here's the description from their page:
"Tired of solving Sudokus by hand? This class teaches you how to solve complex search problems with discrete optimization concepts and algorithms, including constraint programming, local search, and mixed-integer programming."https://www.coursera.org/course/optimization