Home » Tag Archives: OptaPlanner

Tag Archives: OptaPlanner

Integrating JPA Hibernate with OptaPlanner

We’ve been improving the integration of OptaPlanner with the rest of JEE, so it’s easier to build end user applications that just work. Let’s take a look at the improved JPA Hibernate integration. The basics Both JPA Hibernate and OptaPlanner work on POJO’s (Plain Old Java Objects), so just add some JPA annotations on your domain objects to persist them ...

Read More »

OptaPlanner – Scaling Vehicle Routing with Nearby Selection

OptaPlanner 6.2 has made big step forward for the Vehicle Routing Problem (VRP), Traveling Salesman Problem (TSP) and similar use cases. The new feature nearby selection enables it to scale to bigger problems much more efficiently without sacrificing potential optimal solutions (which is common for inferior techniques). Let’s take a closer look at nearby selection with the Vehicle Routing Problem. ...

Read More »

OptaPlanner – Open benchmarks for the win

Recently, there was some commotion on Twitter because a competitor heavily restricts publicising benchmarks of their Solver as part of their license. That might seem harsh, but I can understand the sentiment: when a competitor publicizes a benchmark report comparing our product against their own, I know we’re gonna get screwed. Unlike single product benchmarking, competitive benchmarking is inherently dishonest…​ ...

Read More »

OptaPlanner – Vehicle routing with real road distances

In the real world, vehicles in a Vehicle Routing Problem (VRP) have to follow the roads: they can’t travel in a straight line from customer to customer. Most VRP research papers and demo’s happily ignore this implementation detail. As did I, in the past. Although using road distances (instead of air distances) doesn’t impact the NP-hard nature of a VRP ...

Read More »

Score DRL: faster and easier in OptaPlanner

For OptaPlanner (= Drools Planner) 6.0.0.Beta1, I ‘ve replaced the ConstraintOccurrence with the much more elegant ConstraintMatch system. The result is that your score DRL files are: much faster easier to read and write far less error-prone, because they make it a lot harder to cause score corruption Let’s look at the results first, before we look at the code ...

Read More »