apache/incubator-kie-optaplanner

OplaPlanner has moved to https://github.com/apache/incubator-kie-drools. This repository is archived. OptaPlanner is an AI constraint solver in Java to optimize the vehicle routing problem, employee rostering, task assignment, maintenance scheduling, conference scheduling and other planning problems.

Java

3,516

8,711 commits

updated Jul 14, 2026

See the code

README

ℹ️ NOTE

This repository’s source code has moved!

The OptaPlanner codebase has been merged into the apache/incubator-kie-drools repository. Please use it for the latest source code, to file issues, and to submit contributions.

This repository is archived.


optaPlannerLogo

Maven artifact Stackoverflow Join Zulip Chat License Maven

A fast, easy-to-use, open source AI constraint solver for software developers

Looking for Quickstarts?

OptaPlanner’s quickstarts are located in the optaplanner-quickstarts repository.

Quick development start

To build and run from source:

$ mvn clean install -Dquickly
$ cd optaplanner-examples
$ mvn exec:java

To develop with IntelliJ IDEA, Eclipse or VSCode, open the root pom.xml as a new project and configure a Run/Debug configuration like this:

  • Type: Application

  • Main class: org.optaplanner.examples.app.OptaPlannerExamplesApp

  • VM options: -Xmx2G -server (memory only needed when using the big datasets in the examples)

  • Program arguments: (none)

  • Working directory: $MODULE_DIR$ (must resolve to optaplanner-examples directory)

  • Use classpath of module: optaplanner-examples

Contributing to OptaPlanner

Note

This repository is archived — contributions are no longer accepted here. Please contribute to apache/incubator-kie-drools instead.

Code standards

Your code is automatically formatted according to the Import and Code Style conventions during every Maven build. CI checks enforce those conventions too, so be sure to build your project with maven before creating your PR:

mvn clean install

For information about how to set up code style checks, see IDE Setup Instructions.

Building your OptaPlanner project

Use one of the following ways to build your OptaPlanner project:

  • 🚀 build-fast: mvn clean install -Dquickly skips any checks and code analysis (~1 min)

  • 🔨 build-normally: mvn clean install runs tests, checks code style, skips documentation (~17 min)

  • 🧾 build-doc: mvn clean install at optaplanner/optaplanner-docs creates asciidoctor documentation target/optaplanner-docs-*/html_single/index.html (~2 min)

  • 🦾 build-all: mvn clean install -Dfull runs all checks + creates documentation and distribution files (~20 min)

artificial-intelligence
branch-and-bound
constraint-programming
constraints
constraint-solver
employee-rostering
java
local-search
mathematical-optimization
metaheuristics
optimization
rostering
scheduling
simulated-annealing
solver
tabu-search
traveling-salesman

apache/incubator-kie-optaplanner

OplaPlanner has moved to https://github.com/apache/incubator-kie-drools. This repository is archived. OptaPlanner is an AI constraint solver in Java to optimize the vehicle routing problem, employee rostering, task assignment, maintenance scheduling, conference scheduling and other planning problems.

Java

3,516

8,711 commits

updated Jul 14, 2026

See the code

README

ℹ️ NOTE

This repository’s source code has moved!

The OptaPlanner codebase has been merged into the apache/incubator-kie-drools repository. Please use it for the latest source code, to file issues, and to submit contributions.

This repository is archived.


optaPlannerLogo

Maven artifact Stackoverflow Join Zulip Chat License Maven

A fast, easy-to-use, open source AI constraint solver for software developers

Looking for Quickstarts?

OptaPlanner’s quickstarts are located in the optaplanner-quickstarts repository.

Quick development start

To build and run from source:

$ mvn clean install -Dquickly
$ cd optaplanner-examples
$ mvn exec:java

To develop with IntelliJ IDEA, Eclipse or VSCode, open the root pom.xml as a new project and configure a Run/Debug configuration like this:

  • Type: Application

  • Main class: org.optaplanner.examples.app.OptaPlannerExamplesApp

  • VM options: -Xmx2G -server (memory only needed when using the big datasets in the examples)

  • Program arguments: (none)

  • Working directory: $MODULE_DIR$ (must resolve to optaplanner-examples directory)

  • Use classpath of module: optaplanner-examples

Contributing to OptaPlanner

Note

This repository is archived — contributions are no longer accepted here. Please contribute to apache/incubator-kie-drools instead.

Code standards

Your code is automatically formatted according to the Import and Code Style conventions during every Maven build. CI checks enforce those conventions too, so be sure to build your project with maven before creating your PR:

mvn clean install

For information about how to set up code style checks, see IDE Setup Instructions.

Building your OptaPlanner project

Use one of the following ways to build your OptaPlanner project:

  • 🚀 build-fast: mvn clean install -Dquickly skips any checks and code analysis (~1 min)

  • 🔨 build-normally: mvn clean install runs tests, checks code style, skips documentation (~17 min)

  • 🧾 build-doc: mvn clean install at optaplanner/optaplanner-docs creates asciidoctor documentation target/optaplanner-docs-*/html_single/index.html (~2 min)

  • 🦾 build-all: mvn clean install -Dfull runs all checks + creates documentation and distribution files (~20 min)

artificial-intelligence
branch-and-bound
constraint-programming
constraints
constraint-solver
employee-rostering
java
local-search
mathematical-optimization
metaheuristics
optimization
rostering
scheduling
simulated-annealing
solver
tabu-search
traveling-salesman

Significant stargazers

Gant Laborde

1,324 followers · starred Aug 2022

Simon Podlipsky

75 followers · starred Oct 2020

Zsombor

82 followers · starred Jul 2023

Laplie Anderson

4 followers · starred Apr 2021