AI constraint solver in Java to optimize the vehicle routing problem, employee rostering, task assignment, maintenance scheduling, conference scheduling and other planning problems.
  • Java 64.8%
  • Text 34.5%
  • FreeMarker 0.5%
  • Groovy 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Kbowers 741992b410
Some checks failed
SonarCloud Analysis / sonarcloud-analysis (17, 3.9.11, ubuntu-latest) (push) Has been cancelled
kie-issues#2347: 10.3.x+ stream: Move optaplanner to drools preserving Git-history and top-level directory structure (#3237)
2026-07-10 20:24:00 -04:00
.ci Add release branch 10.2.x after cut-off 2026-02-24 12:55:16 +01:00
.github kie-issues#1670: Migrate Apache licenses check to apache rat 0.17.x (#3189) 2026-02-23 18:27:01 +01:00
.mvn
build [CVE]Upgrading Quarkus from 3.27.4 to 3.27.4.1 (#3236) 2026-07-03 12:23:07 +02:00
core kie-issues#1634: Fix duplicated header ReflectionHelper.java (#3150) 2024-12-02 09:11:39 +01:00
optaplanner-benchmark Apache Compliance required changes (#3080) 2024-05-08 09:23:20 -04:00
optaplanner-examples [incubator-kie-issues#2047] Java 21 and Java 17 support (#3181) 2025-08-11 10:29:54 +02:00
optaplanner-persistence Apache Compliance required changes (#3080) 2024-05-08 09:23:20 -04:00
optaplanner-quarkus-integration [incubator-kie-issues#2180] ignoring JSON field order in OptaPlannerTestResourceTest (#3186) 2025-12-04 14:22:17 +01:00
optaplanner-spring-integration [incubator-kie-issues#2288] - Springboot 4.0.x upgrade (#3221) 2026-05-18 10:35:11 +02:00
optaplanner-test Apache Compliance required changes (#3080) 2024-05-08 09:23:20 -04:00
.asf.yaml kie-issues#2347: 10.3.x+ stream: Move optaplanner to drools preserving Git-history and top-level directory structure (#3237) 2026-07-10 20:24:00 -04:00
.gitattributes Apache Compliance required changes (#3080) 2024-05-08 09:23:20 -04:00
.gitignore kie-issues#1613: Add CI :: Check license headers GitHub Actions workflow (#3130) 2024-11-20 17:56:45 -05:00
.rat-excludes kie-issues#2347: 10.3.x+ stream: Move optaplanner to drools preserving Git-history and top-level directory structure (#3237) 2026-07-10 20:24:00 -04:00
DISCLAIMER-WIP Rename DISCLAIMER file to DISCLAIMER-WIP 2024-10-15 15:53:12 -06:00
LICENSE kie-issues#1634: Fix duplicated header ReflectionHelper.java (#3150) 2024-12-02 09:11:39 +01:00
NOTICE [NO-ISSUE] Updating the year range in the NOTICE file (#3213) 2026-03-26 16:58:18 +01:00
pom.xml Move optaplanner documentation to kie-docs incubator-kie-issues#2026 2025-08-11 10:10:33 +03:00
README.adoc kie-issues#2347: 10.3.x+ stream: Move optaplanner to drools preserving Git-history and top-level directory structure (#3237) 2026-07-10 20:24:00 -04:00

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

////
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
////

> **ℹ️ NOTE**
> 
> *This repository's source code has moved!*
>
> The OptaPlanner codebase has been merged into the https://github.com/apache/incubator-kie-drools[apache/incubator-kie-drools] repository. Please use it for the latest source code, to file issues, and to submit contributions.
>
> This repository is archived.

---

image::https://raw.githubusercontent.com/apache/incubator-kie-docs/10.2.x/optaplanner-docs/src/modules/ROOT/images/shared/optaPlannerLogo.svg[link="https://www.optaplanner.org/",OptaPlanner,150,150,align="center"]

image:https://img.shields.io/maven-central/v/org.optaplanner/optaplanner-bom?logo=apache-maven&style=for-the-badge["Maven artifact", link="https://ossindex.sonatype.org/component/pkg:maven/org.optaplanner/optaplanner-bom"]
image:https://img.shields.io/badge/stackoverflow-ask_question-orange.svg?logo=stackoverflow&style=for-the-badge["Stackoverflow", link="https://stackoverflow.com/questions/tagged/optaplanner"]
image:https://img.shields.io/badge/zulip-join_chat-brightgreen.svg?logo=zulip&style=for-the-badge[
"Join Zulip Chat", link="https://kie.zulipchat.com/#narrow/stream/232679-optaplanner"]
image:https://img.shields.io/github/license/apache/incubator-kie-drools?style=for-the-badge&logo=apache["License", link="https://www.apache.org/licenses/LICENSE-2.0"]
image:https://img.shields.io/badge/Maven-3.x-blue?style=for-the-badge["Maven",link="https://maven.apache.org/install.html"]

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

== Looking for Quickstarts?

OptaPlanner's quickstarts are located in the https://github.com/kiegroup/optaplanner-quickstarts[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 https://github.com/apache/incubator-kie-drools[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 https://github.com/kiegroup/optaplanner/blob/main/build/optaplanner-ide-config/ide-configuration.adoc[IDE Setup Instructions].

=== Building your OptaPlanner project

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

- :rocket: *build-fast*: `mvn clean install -Dquickly` skips any checks and code analysis (~1 min)

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

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

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