{"id":13470323,"url":"https://github.com/apache/incubator-kie-optaplanner","last_synced_at":"2025-12-22T23:04:55.477Z","repository":{"id":1389506,"uuid":"1370858","full_name":"apache/incubator-kie-optaplanner","owner":"apache","description":"AI constraint solver in Java to optimize the vehicle routing problem, employee rostering, task assignment, maintenance scheduling, conference scheduling and other planning problems.","archived":false,"fork":false,"pushed_at":"2025-05-04T05:42:16.000Z","size":243903,"stargazers_count":3379,"open_issues_count":22,"forks_count":957,"subscribers_count":167,"default_branch":"main","last_synced_at":"2025-05-11T03:15:54.755Z","etag":null,"topics":["artificial-intelligence","branch-and-bound","constraint-programming","constraint-solver","constraints","employee-rostering","java","local-search","mathematical-optimization","metaheuristics","optimization","rostering","scheduling","simulated-annealing","solver","tabu-search","traveling-salesman"],"latest_commit_sha":null,"homepage":"https://www.optaplanner.org","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apache.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2011-02-15T19:38:23.000Z","updated_at":"2025-05-10T09:09:45.000Z","dependencies_parsed_at":"2023-07-06T19:33:49.304Z","dependency_job_id":"5f4e97f0-c2f6-4a89-9ce8-9fe099210a12","html_url":"https://github.com/apache/incubator-kie-optaplanner","commit_stats":{"total_commits":8640,"total_committers":163,"mean_commits":53.00613496932515,"dds":0.3178240740740741,"last_synced_commit":"ad31e7335f08adf3ed895b5f1069c1d6e23705ed"},"previous_names":[],"tags_count":331,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fincubator-kie-optaplanner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fincubator-kie-optaplanner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fincubator-kie-optaplanner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fincubator-kie-optaplanner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/incubator-kie-optaplanner/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253509792,"owners_count":21919590,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["artificial-intelligence","branch-and-bound","constraint-programming","constraint-solver","constraints","employee-rostering","java","local-search","mathematical-optimization","metaheuristics","optimization","rostering","scheduling","simulated-annealing","solver","tabu-search","traveling-salesman"],"created_at":"2024-07-31T16:00:28.363Z","updated_at":"2025-12-22T23:04:45.461Z","avatar_url":"https://github.com/apache.png","language":"Java","funding_links":[],"categories":["Java","人工智能","artificial-intelligence","📦 Legacy \u0026 Inactive Projects"],"sub_categories":[],"readme":"////\nLicensed to the Apache Software Foundation (ASF) under one\nor more contributor license agreements.  See the NOTICE file\ndistributed with this work for additional information\nregarding copyright ownership.  The ASF licenses this file\nto you under the Apache License, Version 2.0 (the\n\"License\"); you may not use this file except in compliance\nwith the License.  You may obtain a copy of the License at\n\n  http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing,\nsoftware distributed under the License is distributed on an\n\"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, either express or implied.  See the License for the\nspecific language governing permissions and limitations\nunder the License.\n////\n\n:projectKey: org.optaplanner:optaplanner\n:sonarBadge: image:https://sonarcloud.io/api/project_badges/measure?project={projectKey}\n:sonarLink: link=\"https://sonarcloud.io/dashboard?id={projectKey}\"\n\n:branch: main\n\n:jenkinsUrl: https://eng-jenkins-csb-business-automation.apps.ocp-c1.prod.psi.redhat.com/job/KIE/job/optaplanner\n:branchJenkinsUrl: {jenkinsUrl}/job/{branch}\n:toolsFolderJenkinsUrl: {branchJenkinsUrl}/job/tools\n:releaseFolderJenkinsUrl: {branchJenkinsUrl}/job/release\n\nimage::optaplanner-docs/src/modules/ROOT/images/shared/optaPlannerLogo.png[link=\"https://www.optaplanner.org/\",OptaPlanner,150,150,align=\"center\"]\n\nimage:https://img.shields.io/maven-central/v/org.optaplanner/optaplanner-bom?logo=apache-maven\u0026style=for-the-badge[\"Maven artifact\", link=\"https://ossindex.sonatype.org/component/pkg:maven/org.optaplanner/optaplanner-bom\"]\nimage:https://img.shields.io/badge/stackoverflow-ask_question-orange.svg?logo=stackoverflow\u0026style=for-the-badge[\"Stackoverflow\", link=\"https://stackoverflow.com/questions/tagged/optaplanner\"]\nimage:https://img.shields.io/badge/zulip-join_chat-brightgreen.svg?logo=zulip\u0026style=for-the-badge[\n\"Join Zulip Chat\", link=\"https://kie.zulipchat.com/#narrow/stream/232679-optaplanner\"]\nimage:https://img.shields.io/github/commit-activity/m/kiegroup/optaplanner?label=commits\u0026style=for-the-badge[\"Commit Activity\", link=\"https://github.com/kiegroup/optaplanner/pulse\"]\nimage:https://img.shields.io/github/license/kiegroup/optaplanner?style=for-the-badge\u0026logo=apache[\"Livense\", link=\"https://www.apache.org/licenses/LICENSE-2.0\"]\nimage:https://img.shields.io/badge/JVM-11--17-brightgreen.svg?style=for-the-badge[\"JVM support\", link=\"https://github.com/kiegroup/optaplanner/actions/workflows/pull_request.yml\"]\nimage:https://img.shields.io/badge/Maven-3.x-blue?style=for-the-badge[\"Maven\",link=\"https://maven.apache.org/install.html\"]\nimage:https://img.shields.io/github/languages/code-size/kiegroup/optaplanner?style=for-the-badge[\"Code size\", link=\"https://github.com/kiegroup/optaplanner/actions/workflows/pull_request.yml\"]\n\n{sonarBadge}\u0026style=for-the-badge\u0026metric=reliability_rating[\"Reliability Rating\", {sonarLink}]\n{sonarBadge}\u0026metric=security_rating[\"Security Rating\", {sonarLink}]\n{sonarBadge}\u0026metric=sqale_rating[\"Maintainability Rating\", {sonarLink}]\n{sonarBadge}\u0026metric=coverage[\"Coverage\", {sonarLink}]\n\nA fast, easy-to-use, open source AI constraint solver for software developers\n\n== Looking for Quickstarts?\n\nOptaPlanner's quickstarts are located in the https://github.com/kiegroup/optaplanner-quickstarts[optaplanner-quickstarts repository].\n\n== Quick development start\n\nTo build and run from source:\n\n----\n$ mvn clean install -Dquickly\n$ cd optaplanner-examples\n$ mvn exec:java\n----\n\nTo develop with IntelliJ IDEA, Eclipse or VSCode, open the root `pom.xml` as a new project\nand configure a _Run/Debug configuration_ like this:\n\n* Type: Application\n* Main class: `org.optaplanner.examples.app.OptaPlannerExamplesApp`\n* VM options: `-Xmx2G -server` (memory only needed when using the big datasets in the examples)\n* Program arguments: (none)\n* Working directory: `$MODULE_DIR$` (must resolve to optaplanner-examples directory)\n* Use classpath of module: `optaplanner-examples`\n\n== Contributing to OptaPlanner\n\nThis is an open source project, and you are more than welcome to contribute :heart:!\n\n\n* If you're just starting out with OptaPlanner and want to contribute,\ntake a look at our https://issues.redhat.com/issues/?jql=project%20%3D%20PLANNER%20AND%20status%20in%20(Open%2C%20Reopened)%20AND%20labels%20%3D%20starter%20ORDER%20BY%20priority%20DESC[starter issues].\nThey're specifically chosen to be easier for first time contributors.\n\n* If you want to contribute or start an opinionated discussion, join our https://groups.google.com/g/optaplanner-dev[discussion] or send an e-mail directly to optaplanner-dev@googlegroups.com.\n\n* If you want to submit an issue, check out the https://issues.redhat.com/projects/PLANNER/issues[OptaPlanner Jira project].\n\n=== Time to make a change?\n\nEvery 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.\n\n=== Contributing\n\n. Fork it (https://github.com/kiegroup/optaplanner).\n. Create your feature branch: (`git checkout -b feature`).\n. Commit your changes with a comment: (`git commit -am 'Add some feature'`).\n. Push to the branch to GitHub: (`git push origin feature`).\n. Create a new pull request.\n\n=== Code standards\n\nYour 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:\n----\nmvn clean install\n----\nFor 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].\n\n=== Building your OptaPlanner project\n\nUse one of the following ways to build your OptaPlanner project:\n\n- :rocket: *build-fast*: `mvn clean install -Dquickly` skips any checks and code analysis (~1 min)\n\n- :hammer: *build-normally*: `mvn clean install` runs tests, checks code style, skips documentation  (~17 min)\n\n- :receipt: *build-doc*: `mvn clean install` at `optaplanner/optaplanner-docs` creates asciidoctor documentation `target/optaplanner-docs-*/html_single/index.html` (~2 min)\n\n- :mechanical_arm: *build-all*: `mvn clean install -Dfull` runs all checks + creates documentation and distribution files (~20 min)\n\n== OptaPlanner CI status\n\nYou can check the CI status of the OptaPlanner repositories from the https://kiegroup.github.io/optaplanner/[Chain Status webpage].\n\n=== Jenkins CI Jobs (need VPN access) ===\n\nAll Jenkins jobs can be found under the OptaPlanner folder: {jenkinsUrl}\n\nInteresting Jenkins CI jobs (need VPN access):\n\n- {toolsFolderJenkinsUrl}/job/update-quarkus-all/[Update Quarkus version]\n- {toolsFolderJenkinsUrl}/job/update-drools-optaplanner/[Update Drools version]\n- {releasefolderjenkinsurl}/job/optaplanner-release[Release pipeline] (only available on release branches)\n- {releasefolderjenkinsurl}/job/optaplanner-post-release[Post-Release pipeline] (only available on release branches)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fincubator-kie-optaplanner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fincubator-kie-optaplanner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fincubator-kie-optaplanner/lists"}