Project Icon

incubator-kie-optaplanner

AI驱动的开源约束求解器 优化复杂业务问题

incubator-kie-optaplanner是一款开源AI约束求解器,专注于解决复杂的调度、规划和资源分配问题。该项目支持Java 11-17,采用Maven 3.x构建。它提供了丰富的示例和快速入门指南,方便开发者快速上手。作为Apache孵化项目,incubator-kie-optaplanner欢迎社区贡献,不断优化性能和扩展功能。

//// 授权给Apache软件基金会(ASF),根据一个或多个贡献者许可协议。 有关版权所有权的更多信息,请参阅随本作品分发的NOTICE文件。 ASF根据Apache许可证2.0版("许可证")向您授予本文件的使用权; 除非符合许可证的规定,否则您不得使用本文件。 您可以在以下网址获取许可证的副本:

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

除非适用法律要求或书面同意,否则根据许可证分发的软件是基于 "按原样"的基础提供的,不附带任何明示或暗示的担保或条件。 有关许可证下具体的管理权限和限制,请参阅许可证。 ////

:projectKey: org.optaplanner:optaplanner :sonarBadge: image:https://sonarcloud.io/api/project_badges/measure?project={projectKey} :sonarLink: link="https://sonarcloud.io/dashboard?id={projectKey}"

:branch: main

:jenkinsUrl: https://eng-jenkins-csb-business-automation.apps.ocp-c1.prod.psi.redhat.com/job/KIE/job/optaplanner :branchJenkinsUrl: {jenkinsUrl}/job/{branch} :toolsFolderJenkinsUrl: {branchJenkinsUrl}/job/tools :releaseFolderJenkinsUrl: {branchJenkinsUrl}/job/release

image::optaplanner-docs/src/modules/ROOT/images/shared/optaPlannerLogo.png[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构件", 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[ "加入Zulip聊天", link="https://kie.zulipchat.com/#narrow/stream/232679-optaplanner"] image:https://img.shields.io/github/commit-activity/m/kiegroup/optaplanner?label=commits&style=for-the-badge["提交活动", link="https://github.com/kiegroup/optaplanner/pulse"] image:https://img.shields.io/github/license/kiegroup/optaplanner?style=for-the-badge&logo=apache["许可证", link="https://www.apache.org/licenses/LICENSE-2.0"] image:https://img.shields.io/badge/JVM-11--17-brightgreen.svg?style=for-the-badge["JVM支持", link="https://github.com/kiegroup/optaplanner/actions/workflows/pull_request.yml"] image:https://img.shields.io/badge/Maven-3.x-blue?style=for-the-badge["Maven",link="https://maven.apache.org/install.html"] image:https://img.shields.io/github/languages/code-size/kiegroup/optaplanner?style=for-the-badge["代码大小", link="https://github.com/kiegroup/optaplanner/actions/workflows/pull_request.yml"]

{sonarBadge}&style=for-the-badge&metric=reliability_rating["可靠性评级", {sonarLink}] {sonarBadge}&metric=security_rating["安全评级", {sonarLink}] {sonarBadge}&metric=sqale_rating["可维护性评级", {sonarLink}] {sonarBadge}&metric=coverage["覆盖率", {sonarLink}]

一个快速、易用、开源的人工智能约束求解器,专为软件开发人员设计

== 寻找快速入门指南?

OptaPlanner的快速入门指南位于 https://github.com/kiegroup/optaplanner-quickstarts[optaplanner-quickstarts 仓库]。

== 快速开发启动

从源代码构建并运行:


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

要使用IntelliJ IDEA、Eclipse或VSCode进行开发,请将根目录下的pom.xml作为新项目打开, 并配置一个_运行/调试配置_,如下所示:

  • 类型:应用程序
  • 主类:org.optaplanner.examples.app.OptaPlannerExamplesApp
  • VM选项:-Xmx2G -server(仅在使用示例中的大型数据集时需要内存)
  • 程序参数:(无)
  • 工作目录:$MODULE_DIR$(必须解析为optaplanner-examples目录)
  • 使用模块的类路径:optaplanner-examples

== 为OptaPlanner做出贡献

这是一个开源项目,我们非常欢迎您的贡献 :heart:!

=== 准备做出改变?

所有变更都必须通过GitHub拉取请求(PR)提交。OptaPlanner使用持续集成(CI)。在你提交PR后,OptaPlanner CI会对你的分支进行检查,以确保你的PR不会引入错误。如果CI发现潜在问题,我们友好的PR维护者会帮助你解决。

=== 贡献步骤

  1. 复刻仓库 (https://github.com/kiegroup/optaplanner)。
  2. 创建你的功能分支:(git checkout -b feature)。
  3. 提交你的更改并附上注释:(git commit -am '添加某项功能')。
  4. 将分支推送到GitHub:(git push origin feature)。
  5. 创建一个新的拉取请求。

=== 代码标准

你的代码会在每次Maven构建期间自动按照"导入和代码样式"约定进行格式化。CI检查也会强制执行这些约定,所以在创建PR之前,请确保使用maven构建你的项目:

mvn clean install

有关如何设置代码样式检查的信息,请参阅IDE设置说明

=== 构建你的OptaPlanner项目

使用以下方式之一构建你的OptaPlanner项目:

  • :rocket: 快速构建mvn clean install -Dquickly 跳过任何检查和代码分析(约1分钟)

  • :hammer: 常规构建mvn clean install 运行测试,检查代码样式,跳过文档(约17分钟)

  • :receipt: 构建文档:在optaplanner/optaplanner-docs目录下运行mvn clean install创建asciidoctor文档target/optaplanner-docs-*/html_single/index.html(约2分钟)

  • :mechanical_arm: 全面构建mvn clean install -Dfull 运行所有检查 + 创建文档和分发文件(约20分钟)

== OptaPlanner CI状态

你可以从链状态网页查看OptaPlanner仓库的CI状态。

=== Jenkins CI作业(需要VPN访问)===

所有Jenkins作业可在OptaPlanner文件夹下找到:{jenkinsUrl}

有趣的Jenkins CI作业(需要VPN访问):

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号