Coder Social home page Coder Social logo

apache / incubator-kie-optaplanner Goto Github PK

View Code? Open in Web Editor NEW
3.3K 170.0 938.0 239.08 MB

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

Home Page: https://www.optaplanner.org

License: Apache License 2.0

Java 96.66% CSS 0.24% Shell 0.13% JavaScript 2.08% Batchfile 0.02% FreeMarker 0.65% HTML 0.06% XSLT 0.01% Groovy 0.15%
java constraint-solver constraint-programming metaheuristics tabu-search simulated-annealing branch-and-bound rostering optimization constraints

incubator-kie-optaplanner's Introduction

optaPlannerLogo

Maven artifact Stackoverflow Join Zulip Chat Commit Activity Livense JVM support Maven Code size

Reliability Rating Security Rating Maintainability Rating Coverage

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

This is an open source project, and you are more than welcome to contribute ❤️!

  • 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.

  • If you want to contribute or start an opinionated discussion, join our discussion or send an e-mail directly to [email protected].

  • If you want to submit an issue, check out the OptaPlanner Jira project.

Time to make a change?

Every change must be submitted through a GitHub pull request (PR). OptaPlanner uses continuous integration (CI). The OptaPlanner CI runs checks against your branch after you submit the PR to ensure that your PR doesn’t introduce errors. If the CI identifies a potential problem, our friendly PR maintainers will help you resolve it.

Contributing

  1. Fork it (https://github.com/kiegroup/optaplanner).

  2. Create your feature branch: (git checkout -b feature).

  3. Commit your changes with a comment: (git commit -am 'Add some feature').

  4. Push to the branch to GitHub: (git push origin feature).

  5. Create a new pull request.

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)

OptaPlanner CI status

You can check the CI status of the OptaPlanner repositories from the Chain Status webpage.

Jenkins CI Jobs (need VPN access)

Interesting Jenkins CI jobs (need VPN access):

incubator-kie-optaplanner's People

Contributors

bradh avatar bsig-gh-bot avatar christopher-chianelli avatar dependabot[bot] avatar dupliaka avatar emmurphy1 avatar enzhao avatar etirelli avatar ge0ffrey avatar ginxo avatar kie-ci avatar krisv avatar lampajr avatar lczmdr avatar lucamolteni avatar marianmacik avatar mariofusco avatar mbiarnes avatar mcimbora avatar mdproctor avatar michaelneale avatar oskopek avatar psiroky avatar radtriste avatar rikkola avatar rsynek avatar snurkabill avatar triceo avatar wlaun avatar yurloc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.