Toggle navigation OptaPlanner logo
  • Home
  • Download
  • Learn
    • Documentation
    • Videos
    • Slides
    • Training
    • Use cases
    • Compatibility
    • Testimonials and case studies
  • Get help
  • Source
  • Team
  • Services
  • Star
  • @OptaPlanner
  • Fb
Fork me on GitHub

Release Notes 6.2

We are happy to announce a 6.2 Final release of OptaPlanner. OptaPlanner is a lightweight, embeddable planning engine written in Java™ to solve AI constraint optimization problems efficiently. Use cases include Vehicle Routing, Employee Rostering, Maintenance Scheduling, Task Assignment, School Timetabling, Cloud Optimization, Conference Scheduling and many more.

Download
Download
8.1.0.Final
Documentation
Documentation
8.1.0.Final
Status of OptaPlanner
  • Stable: Lots of unit, integration and stress tests
  • Reliable: Used across the world in production
  • Scalable: To billions of constraint matches with minimal RAM and CPU time
  • Documented: Read the detailed reference manual and the many examples
  • Open Source: Apache License 2.0
Note for Red Hat Decision Manager customers

The RHDM version differs from the OptaPlanner version:

RHDM version OptaPlanner version
7.7 7.33
7.8 7.39
7.9 7.44

New and noteworthy

Scalable VRP with nearby selection

Nearby selection allows a vehicle routing problem to scale out gracefully beyond 1000 locations, without the need for partitioning. It works by focusing on move selections that modify locations that are near each other:

Nearby selection random distribution

It results in much better scalability on larger datasets, for example a VRP with 2750 customers (higher is better), which reduces fuel and labor expenses by 15% in a 5 minute run:

Nearby selection random distribution

Several nearby selection probability distributions are supported: block distribution, linear distribution, parabolic distribution and beta distribution.

TailChainSwapMove (2-opt) for VRP

TailChainSwapMove is a new move type for chained variables. It’s a subset of SubchainChangeMove and SubchainSwapMove, but it’s generally more efficient, especially for time windowed cases.

In our benchmarks, a union of ChangeMove, SwapMove and TailChainSwapMove (using nearby selection on all 3) performed best.

Improved built-in variable listener efficiency

VRP with a @InverseRelationShadowVariable is now more efficient. In some cases, it’s up to 32% faster.

Strategic Oscillation Tabu Search

Strategic Oscillation Tabu Search is often an improvement over normal Tabu Search. Instead of picking the accepted move with the highest score, it employs a different mechanism: If there’s an improving move, it picks it. If there’s no improving move however, it prefers moves which improve a softer score level, over moves which break a harder score level less.

To enable it, do this:

  <localSearch>
    ...
    <acceptor>
      <entityTabuSize>7</entityTabuSize>
    </acceptor>
    <forager>
      <acceptedCountLimit>1000</acceptedCountLimit>
      <finalistPodiumType>STRATEGIC_OSCILLATION</finalistPodiumType>
    </forager>
  </localSearch>

New example: Cheap time scheduling

Schedule all tasks in time and on a machine to minimize the power cost. Each machine must have enough hardware to run all of its tasks. Each task and machine consumes power. The power price differs over time.

Cheap time example

Based on contributions by Lukáš Petrovický.

New benchmarker statistics: Constraint Match Total Best/Step score

These new statistics visualize how the individual constraint types change over time.

constraint match total best score statistic

This gives a better insight as to which constraints impact the score the most.

Other improvements

  • Construction Heuristics: new pick early type: FIRST_FEASIBLE_SCORE which is useful for scaling.

  • Benchmarker: logarithmic scale for Problem scale axis when appropriate. Contributed by Ondrej Skopek.

  • BendableLongScore: Bendable score with long types. Contributed by Dieter De Paepe.

Upgrade your code to 6.2

The best and easiest way to upgrade to this new version of OptaPlanner is by following the upgrade recipe.

New features in older releases

Read the previous release notes to learn about the new and noteworthy in previous releases.

Comments

Visit our forum to comment
Latest release
  • 8.1.0.Final released
    Fri 15 January 2021
Paid support and consulting

Want to talk to the experts? Red Hat offers certified binaries with enterprise consulting. Contact optaplanner-info for more information.

Upcoming events
  • KIE Live
    Worldwide - Tue 19 January 2021
    • OptaPlanner Shadow Variables for the Vehicle Routing Problem and Task Assignment by Geoffrey De Smet, Karina Varela, Alex Porcelli
  • Javaland
    Worldwide - Tue 16 March 2021
    • AI on Quarkus: I love it when an OptaPlan comes together by Geoffrey De Smet
Add event / Archive
Latest blog posts
  • Solve the facility location problem
    Fri 9 October 2020
     Jiří Locker
  • OptaPlanner Week 2020 recordings
    Mon 7 September 2020
     Geoffrey De Smet
  • Let’s OptaPlan your jBPM tasks (part 1) - Integrating the two worlds
    Fri 3 July 2020
     Walter Medvedeo
  • AI versus Covid-19: How Java helps nurses and doctors in this fight
    Fri 8 May 2020
     Christopher Chianelli
  • Workflow processes with AI scheduling
    Tue 5 May 2020
     Christopher Chianelli
  • Constraint Streams - Modern Java constraints without the Drools Rule Language
    Tue 7 April 2020
     Geoffrey De Smet
  • How to plan (and optimize) a Secret Santa
    Wed 18 December 2019
     Christopher Chianelli
Blog archive
Latest videos
  • YT Shadow variables
    Tue 19 January 2021
     Geoffrey De Smet
  • YT Domain modeling and design patterns
    Tue 17 November 2020
     Geoffrey De Smet
  • YT Quarkus insights: AI constraint solving
    Tue 20 October 2020
     Geoffrey De Smet
  • YT AI in kotlin
    Wed 23 September 2020
     Geoffrey De Smet
  • YT Planning agility: continuous planning, real-time planning and more
    Thu 3 September 2020
     Geoffrey De Smet
  • YT Quarkus and OptaPlanner: create a school timetable application
    Thu 3 September 2020
     Radovan Synek
  • YT Business use cases and the impact of OptaPlanner
    Thu 3 September 2020
     Satish Kale
Video archive

KIE projects

  • Drools rule engine
  • OptaPlanner constraint solver
  • jBPM workflow engine

Community

  • Blog
  • Get Help
  • Team
  • Governance
  • Academic research

Code

  • Build from source
  • Submit a bug
  • License (Apache-2.0)
  • Release notes
  • Upgrade recipes
Sponsored by
Red Hat
More coder content at
Red Hat Developers
© Copyright 2006-2021, Red Hat, Inc. or third-party contributors - Privacy statement - Terms of use - Website info