| OptaPlanner and Choco are both very cool tech. We've been pretty religious users of Gecode (https://www.gecode.org/) over the last few years, which you should also check out if you are interested in CP and like C++. There are a few important differences between what we're building and those tools: A large focus of our tools is on integration with software stacks and data warehouses. They are opinionated about how decision models should read and write data, how they should be deployed and interacted with, and they make those patterns clear and consistent. We refer to this as the "decision engineering" part of the field, which is not often addressed by existing tools. Decision Diagrams (and thus, Hop) rely on many of the same techniques as MIP or CP (search, inference, and relaxation), but they represent problems in different ways and have their own interesting characteristics. For instance, diagram restriction and reduction are both powerful techniques specific to DDs. In our systems, we represent models as states and transitions. I believe this makes models easier to unit test and reason about. It also has the interesting side effect of making optimization and simulation look a lot closer to each other than they traditionally have, which is something we'll be exploring more in the coming months. Take a look at the DD book if you're looking for a thorough treatment: https://www.springer.com/gp/book/9783319428475. It's really interesting stuff! We'll also be updating our blog fairly regularly now that we're launched. |
Unfortunately, C++ is one the only languages I'm not familiar with, so Gecode may be a bit out of my reach, but I'll check it out regardless.