Mechanic scheduling (part 3) – Simulation and load testing

The goals of the RH Summit 2019 Keynote Demo was showing multiple Red Hat products working together on OpenShift, demonstrating how OptaPlanner can schedule mechanics repair machines in an assembly line, with the audience sensing machine damage by shaking their smartphones. And of course, not to fail in front of several thousands of people. ToRead more →

KIE Server OptaPlanner Task Assignment

KIE Server is a standalone server component that can be used to instantiate and execute rules and processes. In this blog, you will learn how to build an OptaPlanner service that implements continuous and real-time planning to solve the Task Assignment problem and deploy it to the KIE Server. Task Assignment KJAR KJAR or “KnowledgeRead more →

How much faster is Java 11?

Java 11 was released some time ago, although the majority of developers stay on Java 8. Let’s see which one of them is faster for OptaPlanner. The best way to find out is of course running OptaPlanner benchmarks. This article is a follow up on our similar article for Java 8. Benchmark methodology To runRead more →

How to defeat gerrymandering and create fair elections

Over the years, politicians have redrawn electoral voting lines to gain an unfair advantage. This has led to district boundaries with shapes that have no obvious pattern or reason other than political gain. When districts are redrawn you can sway an election’s results without changing a single voter’s mind. Can OptaPlanner draw fair electoral boundariesRead 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 →