OptaPlanner logo
  • Download
  • Learn
    • Documentation
    • Videos

    • Use cases
    • Compatibility
    • Testimonials and case studies
  • Get help
  • Blog
  • Source
  • Team
  • Services
  • Star
  • T
  • L
  • F
  • YT
Fork me on GitHub

OptaPlanner deprecates score DRL

Thu 26 May 2022
Avatar Lukáš Petrovický
Lukáš Petrovický

LinkedIn GitHub

OptaPlanner project lead

TLDR: The time to switch from scoreDRL to Constraint Streams is now. Here’s the score DRL migration guide. Score DRL is not going away in OptaPlanner 8.

The rise of Constraint Streams

As I was starting with OptaPlanner more than a decade ago, score DRL was there, promising easy and fast score calculation. It wasn’t as fast as the Incremental Java calculator, but it also wasn’t as hard to write while still getting better results than the Easy Java calculator. On the other hand, it required me to learn a new programming language.

When I joined the OptaPlanner core team several years ago, I decided that we can do better. With the help of many other people, we introduced the Constraint Streams API. Constraint Streams, while still implemented using Drools under the hood, is a well-performing pure Java API for writing score constraints in OptaPlanner. Since its introduction in 2020, we kept improving it until it reached a full feature set in 2021 and has become the new default. Now, a further full year later, we are finally ready to announce the deprecation of score DRL.

What does it mean?

Starting with OptaPlanner 8.23.0.Final, users of score DRL will be getting IDE and logging notifications that score DRL is deprecated, encouraging migration to Constraint Streams. Rest assured that support for score DRL will not be removed in OptaPlanner 8. The next major version of OptaPlanner, however, will no longer support score DRL.

How to migrate?

We understand that constraints are a fundamental part of your application, and that refactoring them to Constraint Streams will take time. To make this job as easy as possible, we have prepared a migration guide which explains the most typical use cases and migration patterns.

We believe that, while reading the guide, you will realize that the migration is fairly straight-forward in most cases. In return, you will get fast constraints written in Java that are ready for Quarkus and the cloud, with full IDE support and a comprehensive testing framework.

And as always, if you’re ever stuck, we are here to help. Onwards with Constraint Streams!


Permalink
 tagged as constraint constraint streams drl deprecation

Comments

Visit our forum to comment
AtomNews feed
Don’t want to miss a single blog post?
Follow us on
  • T
  • L
  • F
Blog archive
Latest release
  • 8.35.0.Final released
    Fri 3 March 2023
Upcoming events
    Add event / Archive
Latest blog posts
  • OptaPlanner 9 is coming
    Tue 21 February 2023
    Lukáš Petrovický
  • Farewell - a new lead
    Tue 15 November 2022
    Geoffrey De Smet
  • Run OptaPlanner workloads on OpenShift, part II
    Wed 9 November 2022
    Radovan Synek
  • Bavet - A faster score engine for OptaPlanner
    Tue 6 September 2022
    Geoffrey De Smet
  • Run OptaPlanner workloads on OpenShift, part I.
    Thu 9 June 2022
    Radovan Synek
  • OptaPlanner deprecates score DRL
    Thu 26 May 2022
    Lukáš Petrovický
  • Real-time planning meets SolverManager
    Mon 7 March 2022
    Radovan Synek
  • Blog archive
Latest videos
  • The Vehicle Routing Problem
    Fri 23 September 2022
    Geoffrey De Smet
  • Introduction to OptaPlanner AI constraint solver
    Thu 25 August 2022
    Anna Dupliak
  • On schedule: Artificial Intelligence plans that meet expectations
    Sat 23 July 2022
    Geoffrey De Smet
  • Host your OptaPlanner app on OpenShift (Kubernetes)
    Mon 7 February 2022
    Geoffrey De Smet
  • OptaPlanner - A fast, easy-to-use, open source AI constraint solver for software developers
    Mon 31 January 2022
  • Order picking planning with OptaPlanner
    Fri 31 December 2021
    Anna Dupliak
  • AI lesson scheduling on Quarkus with OptaPlanner
    Thu 18 November 2021
    Geoffrey De Smet
  • Video archive

OptaPlanner is open. All dependencies of this project are available under the Apache Software License 2.0 or a compatible license. OptaPlanner is trademarked.

This website was built with JBake and is open source.

Community

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

Code

  • Build from source
  • Issue tracker
  • Release notes
  • Upgrade recipes
  • Logo and branding
CC by 3.0 | Privacy Policy
Sponsored by Red Hat