Home » Author Archives: Geoffrey De Smet (page 2)

Author Archives: Geoffrey De Smet

Geoffrey De Smet (Red Hat) is the lead and founder of OptaPlanner. Before joining Red Hat in 2010, he was formerly employed as a Java consultant, an A.I. researcher and an enterprise application project lead. He has contributed to many open source projects (such as drools, jbpm, pressgang, spring-richclient, several maven plugins, weld, arquillian, ...). Since he started OptaPlanner in 2006, he’s been passionately addicted to planning optimization.

OptaPlanner – Vehicle routing with real road distances

optaplanner-logo

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 »

Cheating on the N Queens benchmark

software-development-2-logo

Many Solver distributions include an N Queens example, in which n queens need to be placed on a n*n sized chessboard, with no attack opportunities. So when you’re looking for the fastest Solver, it’s tempting to use the N Queens example as a benchmark to compare those solvers. That’s a tragic mistake, because the N Queens problem is solvable in ...

Read More »

How much faster is Java 8?

java-logo

Java SE 8 was released yesterday. Traditionally, every new major JRE version comes with a free performance boost. Do we get another free lunch? And how big is the gain this time? Let’s benchmark it.             Benchmark methodology Run the same code with 3 different JRE versions (SunJDK 1.6.0_26, OpenJDK 1.7.0_51 and OpenJDK 1.8.0). The ...

Read More »

Can MapReduce solve planning problems?

software-development-2-logo

To solve a planning or optimization problem, some solvers tend to scale out poorly: As the problem has more variables and more constraints, they use a lot more RAM memory and CPU power. They can hit hardware memory limits at a few thousand variables and few million constraint matches. One way their users typically work around such hardware limits, is ...

Read More »

Drools 6 Performance with the PHREAK Algorithm

jboss-drools-logo

Drools 6 introduces a new lazy matching algorithm. The details of that algorithm have been covered in two previous blogs: R.I.P. RETE time to get PHREAKY PHREAK Stack Based Evaluations and Backward Chaining The first article discussed performance and why the batch and lazy aspects of the algorithm, make it hard to compare.       “One final point on ...

Read More »

Drools : PHREAK Stack Based Evaluations and Backward Chaining

jboss-drools-logo

A while back I wrote a blog on our new algorithm: http://blog.athico.com/2013/11/rip-rete-time-to-get-phreaky.html Someone asked me about the new stack based system, and how backward chaining works. I replied to them in an email, but I thought others might find it useful, so have pasted it below. It’s written straight from my brain onto the page, so it’ a bit raw ...

Read More »

R.I.P. RETE time to get PHREAKY

jboss-drools-logo

I’ve just done some high level documentation for the new rule algorithm I’ve called PHREAK, a word play on Hybrid Reasoning. It’s still a bit rough and high level, but hopefully still interesting. It builds on ReteOO, so good to read that bit first. ReteOO Algorithm The ReteOO was developed throughout the 3, 4 and 5 series releases. It takes ...

Read More »

KIE-WB / JBPM Console Ng – Configurations

jboss-jbpm-logo

Hi all, this is a follow up post from my previous entry about how to use the jBPM Console. The main idea of this post is to describe some of the most common configurations that you will required to do to the jBPM Console NG in order to use it in your own company. But before going into technical details ...

Read More »

Goodbye Guvnor. Hello Drools Workbench.

jboss-drools-logo

Many things are changing for Drools 6.0. Along with the functional and feature changes we have restructured the Guvnor github repository to better reflect our new architecture. Guvnor has historically been the web application for Drools. It was a composition of editors specific to Drools, a back-end repository and a simplistic asset management system. Things are now different. For Drools ...

Read More »

Want to take your Java skills to the next level?

Grab our programming books for FREE!

Here are some of the eBooks you will get:

  • Advanced Java Guide
  • Java Design Patterns
  • JMeter Tutorial
  • Java 8 Features Tutorial
  • JUnit Tutorial
  • JSF Programming Cookbook
  • Java Concurrency Essentials