All other

Does A.I. include constraint solvers?

    Blog post image      

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

    Blog post image      

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 →

Domain modeling guide

    Blog post image      

New OptaPlanner users sometimes struggle to create a good domain model, especially if their use case is complex. But a good domain model can go a long way. It can simplify the constraints, improve performance and increase flexibility for future needs. So how do we design a good domain model for OptaPlanner cases? The goalRead more →

A decade of OptaPlanner

    Blog post image      

10 years ago, I started a little project during my vacation. Nothing serious. Just a hobby, it wouldn’t be big and professional. Another contraption in my long list of side projects in an attempt to build something cool. Today, that same project is now the leading Open Source constraint satisfaction solver in Java: OptaPlanner. ItRead more →

7 ways to fail your optimization project

    Blog post image      

When you put your optimization project into production, your enterprise will decrease expenses, increase customer satisfaction, improve employee happiness and/or reduce its ecological footprint. But if the end-users reject your implementation, none of that will happen. Let’s take a look why they might do that. There are 7 common ways to fail your optimization project:Read more →

What is the bottleneck in my Solver?

    Blog post image      

Once we have a vanilla setup of an OptaPlanner project, where should we invest our time to improve it? How can I get a better solution faster? What’s preventing my solver to scale better? How can I track down my bottleneck? The scapegoat: machine performance “We need faster hardware.” It is the typical knee-jerk reactionRead more →

Time scheduling design patterns

    Blog post image      

Designing an efficient domain model for a scheduling problem that involves time (or dates) can seem difficult. Typical use cases are course timetabling, meeting scheduling, vehicle routing with time windows and TV advertisement scheduling. Let’s take a look at design patterns to model such problems in OptaPlanner. Is starting time a planning variable? In someRead more →

Integrating JPA Hibernate with OptaPlanner

    Blog post image      

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 yourRead more →