All Projects → kiegroup → Optaplanner

kiegroup / Optaplanner

Licence: apache-2.0
AI constraint solver in Java to optimize the vehicle routing problem, employee rostering, task assignment, maintenance scheduling, conference scheduling and other planning problems.

Programming Languages

java
68154 projects - #9 most used programming language
javascript
184084 projects - #8 most used programming language
FreeMarker
481 projects
CSS
56736 projects
groovy
2714 projects
HTML
75241 projects

Projects that are alternatives of or similar to Optaplanner

optapy
OptaPy is an AI constraint solver for Python to optimize planning and scheduling problems.
Stars: ✭ 167 (-93.19%)
Mutual labels:  vehicle-routing-problem, local-search, simulated-annealing, tabu-search, metaheuristics, employee-rostering, traveling-salesman-problem, mathematical-optimization
GHOST
General meta-Heuristic Optimization Solving Toolkit
Stars: ✭ 28 (-98.86%)
Mutual labels:  solver, constraint-satisfaction-problem, constraints, constraint-programming
Ascension
A metaheuristic optimization framework
Stars: ✭ 24 (-99.02%)
Mutual labels:  local-search, simulated-annealing, tabu-search, metaheuristics
ConstraintSolver.jl
ConstraintSolver in Julia: Blog posts ->
Stars: ✭ 107 (-95.64%)
Mutual labels:  solver, constraint-programming, constraint-solver
pycsp3
A Python Library for modeling combinatorial constrained problems
Stars: ✭ 39 (-98.41%)
Mutual labels:  constraint-satisfaction-problem, constraints, constraint-programming
LocalSearchSolvers.jl
A Julia package to manage Constraint-Based Local Search (CBLS) solvers.
Stars: ✭ 18 (-99.27%)
Mutual labels:  constraint-programming, local-search, constraint-solver
optaplanner-quickstarts
OptaPlanner quick starts for AI optimization: many use cases shown in many different technologies.
Stars: ✭ 226 (-90.79%)
Mutual labels:  solver, constraint-solver, mathematical-optimization
cplex-example
Solving a TSP with the CPLEX C++ API.
Stars: ✭ 40 (-98.37%)
Mutual labels:  optimization, solver, traveling-salesman
Decider
An Open Source .Net Constraint Programming Solver
Stars: ✭ 112 (-95.44%)
Mutual labels:  constraint-satisfaction-problem, constraint-programming, constraint-solver
VRPTW
Solving VRPTW with metaheuristics
Stars: ✭ 27 (-98.9%)
Mutual labels:  vehicle-routing-problem, local-search, metaheuristics
Osqp
The Operator Splitting QP Solver
Stars: ✭ 689 (-71.92%)
Mutual labels:  solver, optimization
Cppnumericalsolvers
a lightweight C++17 library of numerical optimization methods for nonlinear functions (Including L-BFGS-B for TensorFlow)
Stars: ✭ 638 (-74%)
Mutual labels:  solver, optimization
Vroom
Vehicle Routing Open-source Optimization Machine
Stars: ✭ 533 (-78.28%)
Mutual labels:  solver, optimization
Choco Solver
An open-source Java library for Constraint Programming
Stars: ✭ 518 (-78.89%)
Mutual labels:  solver, constraints
Mobius Assignment
Staffjoy Suite (V1) Microservice - Shift Assignment Subject To Constraints
Stars: ✭ 23 (-99.06%)
Mutual labels:  scheduling, optimization
Shift Scheduling
Shift Scheduling for workforce
Stars: ✭ 22 (-99.1%)
Mutual labels:  scheduling, optimization
Pulp
A python Linear Programming API
Stars: ✭ 1,080 (-55.99%)
Mutual labels:  solver, constraints
Rhine
Haskell Functional Reactive Programming framework with type-level clocks
Stars: ✭ 69 (-97.19%)
Mutual labels:  hacktoberfest, scheduling
Angler
Frequency-domain photonic simulation and inverse design optimization for linear and nonlinear devices
Stars: ✭ 75 (-96.94%)
Mutual labels:  solver, optimization
Quartznet
Quartz Enterprise Scheduler .NET
Stars: ✭ 4,825 (+96.62%)
Mutual labels:  hacktoberfest, scheduling

OptaPlanner

Looking for Quickstarts?

OptaPlanner’s quickstarts have moved to optaplanner-quickstarts repository.

Quick development start

To build and run from source:

$ mvn clean install -DskipTests
$ 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

Starter issues

If you’re just starting out with OptaPlanner and want to contribute, take a look at our starter issues. They’re specifically chosen to be easier for first time contributors.

Developing Drools, OptaPlanner and jBPM

If you want to build or contribute to a kiegroup project, read this document.

It will save you and us a lot of time by setting up your development environment correctly. It solves all known pitfalls that can disrupt your development. It also describes all guidelines, tips and tricks. If you want your pull requests (or patches) to be merged into main, please respect those guidelines.

Code style

OptaPlanner has adopted the Quarkus code style, enforces it, and automatically formats code during the build. To setup your IDE, please see the IDE Setup Instructions.

Definition of Done

To consider any individual ticket "Done", following requirements must be satisfied:

  1. Every change must go through PR; source code of both the feature/bugfix and its tests have been reviewed.

  2. Documentation (if applicable) exists and has been reviewed.

  3. There is test coverage proving the feature works and tests are passing.

In order to avoid introducing unstable features, the PR will be merged only after these points have been fulfilled. For PRs contributed by community the core team will assist with making the functionality meet these conditions.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].