Looks interesting, this domain has a lot of players such as Google's coin-or so some quick description of its advantages or a benchmark would promote it better.
One strong advantage is how well it integrates with Drools so if you’re a Java shop and happen to be using Drools you can just drop in optaplanner and have it optimize around facts.
Because it’s Java you can use it with all the various libraries and any compatible languages that support Java libs like kotlin and Scala.
Drools is awesome and we use it in some of our projects. but it just feels very monolithic and not a cloud native solution. What are some good lightweight alternatives to drools?
For decision tables, definitly look at Kogito and Drools-DMN as alternatives.
To declare incremental constraints in OptaPlanner, take a look at ConstraintStreams if you want to avoid learning DRL:
https://www.optaplanner.org/blog/2020/04/07/ConstraintStream...
It's very similar to Java 8 Streams (but incremental and under the hood it uses Drools).
we are working hard to deliver a stable version. stay tuned :) but it is still currently under heavy development. If you are interested in visually design rules, you might want to look into DMN!
Yeah, it does. If you want to learn more about it, check this: http://learn-dmn-in-15-minutes.com (it's a quick course I created to cover DMN on Kogito world)
Drools looks and sounds very good, but we already have a standard specification for workflow graphs called scxml and there are libraries which implement it and editors which can create it visually. I was hoping it would get more traction outside of Qt.
Not sure if you meant to have a comma in there or if you're incorrectly saying google made coin-or.
Coin-Or is a separate project. It's the fastest free/open source LP & MILP solver I've seen, but has a terrible CLI if you don't want to use it as a C++ library. It's easiest as part of the Open Solver Excel plugin. Lp_Solve isn't as fast I don't think, but the CLI is much easier to use and better documented. I prefer to use a scripting language language to write my own .lp models and send that directly to the solver. There are lots of libraries to do that, but it's easier for me to write code I fully understand than to try to learn someone's library.
Google has the "Or-tools" solver which I haven't used, but have friends which do use it and like it.