OptaPlanner Week 2020 recordings

It’s a wrap! Last week, during the online OptaPlanner Week event, we had 10 talks by 13 speakers across 3 days with – per day – up to 250+ live attendees and 1300+ viewers afterwards. We’ve split up the talks into separate videos for your convenience, watch them below. Big thanks to all speakers forRead more →

Constraint Streams – Modern Java constraints without the Drools Rule Language

Traditionally, to scale out with OptaPlanner, you had to learn DRL. No more. With the new Constraints Streams API, inspired by Java 8 Streams and SQL, you can now write your constraints in Java (or Kotlin or Scala) and still benefit from incremental calculation. Underneath, Constraints Streams (CS) still use the powerful Drools engine. WeRead more →

Mechanic scheduling (part 1) – Can OptaPlanner keep up with a keynote audience of thousands?

This year, my team and I participated in the Red Hat Summit keynote. In front of 7000 people, we demonstrated real-time scheduling, reacting on input coming from the audience’s smartphones. In the past 2 months, we created this application together with the other middleware teams and under the excellent guidance of Burr Sutter. It integratesRead more →

A giant leap forward with multithreaded incremental solving

OptaPlanner finally supports multithreaded incremental solving. The speedup is spectacular. Even with just a few CPU cores, it triples the score calculation speed. See the results below. To activate it, a single extra line in the configuration suffices. The original feature request stems from 2007. Throughout the years, step by step, we diligently prepared theRead more →

Behind the scenes of Red Hat Summit 2018 scheduling

Earlier this month, Red Hat organized it’s annual Summit conference in San Francisco for more than 7000 attendees. As Jim Whitehurst explained in his opening keynote, OptaPlanner optimized attendee experience by scheduling all of the 325 non-keynote sessions. Let’s take a look behind the scenes. The challenge (in theory) A few weeks after the CFPRead more →

Java Reflection, but much faster

What is the fastest way to read a getter from a Java class without knowing the class at compilation time? Java frameworks often do this. A lot. And it can directly influence their performance. So let’s benchmark different approaches, such as reflection, method handles and code generation. The use case Presume we have a simpleRead more →

Does A.I. include constraint solvers?

The A.I. winter is over. For a few years now, the interest in Artificial Intelligence technologies is growing again. Not just from us, A.I. geeks. Business sees the potential to invest. To acquire new funding, many research projects are rebranding themselves as A.I. technology. Often justified. But not always. Can Constraint Solvers use the A.I.Read more →

Formula for measuring unfairness

Load balancing is a common constraint for many OptaPlanner use cases. Especially when scheduling employees, the workload needs to be spread out fairly. Easier said than done. Let’s take a look at this challenging problem. For example, let’s assign 15 undesirable tasks to 5 employees. Each task takes a day, but they have different skillRead more →