By

OptaPlanner is an Open Source project used globally to optimize operational planning. Every day, it saves thousands of organizations time, money and resources.

On May 2nd, 2023, OptaPlanner entered a new chapter.

The project we worked on for seventeen years has matured under Red Hat’s wings for the past ten years. In 2022, when Red Hat’s strategy changed, it became apparent that the project needed a new, sustainable future. Therefore, we founded a company around it. A company that lives and breathes planning optimization, to further nurture the Open Source project to its fullest potential, under a new name. Timefold is the continuation of OptaPlanner.

Timefold Solver Community Edition is an Apache-licensed Open Source solver for operational planning optimization. It’s a fork of OptaPlanner, and it is already faster, lighter and better documented than OptaPlanner. Timefold has added features and fixed many bugs that still reside in OptaPlanner. Upgrade from OptaPlanner to Timefold today.

The Timefold Solver project is supported by Timefold BV, a professional Open Source company founded by Maarten Vandenbroucke (CEO) and Geoffrey De Smet (the OptaPlanner creator, CTO), with funding from Smartfin, an Open Source minded VC that fully supports our vision. The OptaPlanner team (Lukáš Petrovický, Radovan Synek, and Christopher Chianelli) have joined Timefold. We sell an Enterprise subscription with professional support and high-scalability features, to pay for the continued development of the free Open Source project.

Our mission is to free the world from wasteful scheduling. Our vision is to make Planning Optimization easy to use and simple to build. If you want to learn everything there is to know about planning optimization, follow us on YouTube, LinkedIn or Twitter.

Timefold is committed to be the world’s most powerful, versatile, and easy-to-use planning optimization solver. We combine our advanced AI solver algorithms with constraint models written in Java or Kotlin to be our main differentiator from other solvers. We remain Open Source which ensures a no-barrier entry for every team that wants to start using Timefold. We are hiring the brightest and most creative engineers to explore how we can make planning optimization even more accessible!


FAQ

We understand this message may be unsettling at first, especially if you use OptaPlanner extensively. We apologize for the short-term disruption, but we believe it is necessary to continue the project.

To address all potential concerns, we have compiled a list of Frequently Asked Questions. If you have any other concerns, don’t hesitate to contact us.

Why would I switch from OptaPlanner to Timefold?

Because it’s better:

  1. Continuity, responsiveness, know-how and stability: The entire Timefold company is focused on building the best possible planning optimization software and helping you succeed with it. Timefold Solver has many bugfixes and security fixes since it forked from OptaPlanner. We also added powerful new features and enhancements.

    OptaPlanner versus Timefold bugfixes
  2. Performance: Timefold is twice as fast as OptaPlanner out-of-the-box.

    OptaPlanner versus Timefold performance
  3. Distribution size: Cloud deployments love lightweight components. Timefold has all the features of OptaPlanner, but a jar-with-dependencies assembly of the same Hello World program is 41% smaller:

    OptaPlanner versus Timefold distribution size

    Timefold Solver has fewer dependencies. This also speeds up your Maven or Gradle build.

  4. Documentation: We are constantly improving the documentation and fine-tuning the quickstarts. It’s easier to get started with Timefold than with OptaPlanner.

Why did you fork OptaPlanner if you created it?

Geoffrey De Smet: "OptaPlanner is my life’s work. As the creator and lead of OptaPlanner, I wrote most of the code (85% according to github - take that with a grain of salt). First seven years in my spare time. Then nine years for Red Hat. I am grateful to each contributor and every user. And I loved working at Red Hat for all those years. Together, we’ve built a wonderful community and a rock-solid project with a strong reputation.

But the work is far from finished. OptaPlanner has a lot more potential.

After the IBM acquisition, Red Hat’s company strategy changed. Business Automation was no longer a priority. Early 2022, Red Hat Decision Manager (the support subscription that paid for my team) moved to IBM, without OptaPlanner. By late 2022, I no longer saw a sustainable future for OptaPlanner’s development within Red Hat.

I could not just let OptaPlanner perish. So I resigned. And over the past few months, I’ve worked on a way to continue and grow the open source project. To build a company around it. An open source company dedicated to planning optimization. Luckily, I met the right people. So I could continue the project.

Over the summer of 2023, Lukáš Petrovický, Radovan Synek, and Christopher Chianelli - the core OptaPlanner engineers - joined Timefold. With their expertise we are able to accelerate the future of Planning Optimization.

So why fork OptaPlanner? I don’t own the DNS name (the optaplanner.org URL) and it’s debatable who owns the trademark. Both are required to build a sustainable business. To rescue OptaPlanner, I had no other option than to fork it."

History of OptaPlanner and Timefold

Is Timefold 100% open source? What’s your business model?

A professional Open Source project needs a viable Open Source business model. Without paying customers, a professional Open Source project cannot survive. Great software developers don’t write code and documentation for free. Not full-time. Not as a team. Everyone needs to eat.

Red Hat sold a support subscription on OptaPlanner. Despite OptaPlanner’s world-wide usage, it struggled commercially. It’s hard to sell support on stable software. Big corporations used OptaPlanner to schedule 10k+ employees in mission critical systems, and often didn’t pay for it.

Therefore, Timefold has an Open Core model. We offer 2 editions:

  • Timefold Solver Community Edition (free, Open Source, Apache License 2.0): a comprehensive, well-documented solver for any planning optimization use case. It has no built-in restrictions.

  • Timefold Solver Enterprise Edition (paid): A thin layer of additional high-scalability features on top of Timefold Solver Community Edition, specifically to solve large datasets in mission-critical systems far more efficiently. It comes with full enterprise support.

Timefold Solver Community Edition versus Timefold Solver Enterprise Edition

We are committed to Open Source. It is a fundamental part of our company mission. Our future is to actively develop the Community Edition alongside the Enterprise Edition. The revenue of Timefold Solver Enterprise Edition pays for Timefold Solver Community Edition.

New solver features go to Community Edition, except for high-scalability features. The same logic applied during the fork of OptaPlanner: All OptaPlanner features are part of Community Edition, except for Multithreaded Solving and Nearby Selection. Those are part of Enterprise Edition. 90% of OptaPlanner users don’t use either of these. They are pure high-scalability features. Check if this change affects you, by searching for use of moveThreadCount or NearbyDistanceMeter in your code. We proactively made this change now, so we never have to move features from the Community Edition to the paid version in the future. Once it’s open source, it remains open source.

How do the OptaPlanner and Timefold versions relate?

  • Timefold 0.8.x is a replacement for OptaPlanner 8. It supports Java 11, Java 17, Spring Boot 2, Quarkus 2 and Java EE 8. It has reached its End of Life and is no longer supported.

  • Timefold 1.x is a replacement for OptaPlanner 9. It supports Java 17+, Spring Boot 3, Quarkus 3 and Jakarta EE 10.

OptaPlanner and Timefold version comparison and compatibility

Is Timefold Backward Compatible with OptaPlanner?

Yes, except for the branding changes.

Run timefold-migration to automatically change all your code locally. It’s a quick, single command for Maven or Gradle. Then test those changes and commit them. Alternatively, apply the following changes manually.

Timefold Solver 1.x is backward compatible with OptaPlanner 8.x, except that:

  • Minimum Java 17 (LTS). Java 21 (LTS) and the latest Java version are also supported.

  • The Maven/Gradle GAVs changed:

    • The groupId changed from org.optaplanner to ai.timefold.solver.

    • The artifactIds changed from optaplanner-* to timefold-solver-*.

    • ArtifactIds containing peristence- changed from optaplanner-persistence-* to timefold-solver-*.

      • For example, optaplanner-persistence-jackson changed to timefold-solver-jackson.

  • The import statements changed accordingly:

    • import org.optaplanner…​; changed to import ai.timefold.solver…​;.

    • import org.optaplanner.persistence…​; changed to import ai.timefold.solver…​; too.

  • The JEE dependencies changed from javax to jakarta to accommodate Spring 3 and Quarkus 3.

    • This is the same difference as between OptaPlanner 8.x and OptaPlanner 9.x.

  • The OptaPlannerJacksonModule class is now called TimefoldJacksonModule.

  • The deprecated scoreDRL support is removed, because Drools with its transitive dependencies have been removed entirely.

  • The unsecure module persistence-xstream is removed, because of old, unresolved CVEs in XStream.

  • The deprecated, undocumented ScoreHibernateType has been removed because of Jakarta. Use JPA’s ScoreConverter instead.

All other deprecated code remains, to make upgrading easy.

What else has changed in Timefold?

  • Issue tracking: GitHub issues instead of JIRA.

    • You can now easily submit an issue for us to fix.

  • Discussion list: GitHub discussions instead of Google Groups.

  • Continuous Integration: GitHub Actions instead of a private Jenkins instance.

    • Our CI jobs are now open to the community.

    • Releases are now automated with JReleaser.

  • Security and bugs: Hotfix releases for Timefold Community are now released to Maven Central, immediately.

  • Version numbering: The .Final suffix is removed. It had no use.

  • Customer response time: Our team replies swiftly on support, sales or other inquiries.

What stays the same?

Why did you name it Timefold?

Because we fold time and space to plan your operations.

How do I upgrade from OptaPlanner to Timefold?

Upgrade from OptaPlanner to Timefold Solver Community Edition today. It only takes 2 minutes.

Run the command below to upgrade your code automatically. Do a test run of the solver and commit the changes. If it doesn’t work, just revert it instead and submit an issue. We’ll fix it with the highest priority.

mvn org.openrewrite.maven:rewrite-maven-plugin:5.46.2:run -Drewrite.recipeArtifactCoordinates=ai.timefold.solver:timefold-solver-migration:1.17.0 -Drewrite.activeRecipes=ai.timefold.solver.migration.ToLatest
curl https://timefold.ai/product/upgrade/upgrade-timefold.gradle > upgrade-timefold.gradle ; gradle -Dorg.gradle.jvmargs=-Xmx2G -Dorg.gradle.jvmargs='-Dfile.encoding=UTF-8' --init-script upgrade-timefold.gradle rewriteRun -DtimefoldSolverVersion=1.17.0 ; rm upgrade-timefold.gradle

Timefold Solver 1.x does not support scoreDRL, nor is it upgraded automatically. If you’re still using scoreDRL from OptaPlanner 7.x, please upgrade to Constraint Streams first.

Continue reading

  • Optimizing Santa’s Travels with Timefold Solver

    Discover how you can use Timefold Solver, our Open Source AI library, to optimize Santa's travel route. Leave no gift un-gifted!

  • Java versus Python performance benchmarks on PlanningAI models

    Discover the techniques Timefold Engineers deploy to make your Python code faster.

  • Simplify the Shadow Variable Listener Implementation

    Learn how to simplify creating listeners for planning list variables with the new shadow variable @CascadingUpdateShadowVariable.

  • Load balancing and fairness in constraints

    Discover how to bring fairness to your Timefold solution

  • Optimize routing and scheduling in Python: a new open source solver Timefold

    Automate and optimize your operations scheduling in Python with Timefold AI

  • Timefold Solver Python live in Alpha

    Empowering developers to solve planning problems

Sign up for our newsletter

And stay up to date with announcements, the latest news, events, roadmap progress & product updates from Timefold!

We care about the protection of your data. Read our Privacy Policy.

Stay In-The-Know

Sign Up for Our Newsletter

We care about the protection of your data. Read our Privacy Policy.

Timefold

Timefold is an AI planning optimization platform, built on powerful open-source solver technology, enabling software builders to tackle real-world, complex and high-impact operational planning problems. It delivers significant economic value in optimization operations like extended VRP, maintenance scheduling, field service routing, task sequencing, etc.

© 2024 Timefold BV