第 12 章 Red Hat build of OptaPlanner on Spring Boot: a National timetable quick Start guide


本指南指导您完成使用 OptaPlanner 的约束解决人工智能(AI)创建 Spring Boot 应用程序的过程。您将构建可针对学生和教师优化时限的 REST 应用程序。

timeTableAppScreenshot

通过使用 AI 遵循以下硬和软 调度限制,您的服务会将 Lesson 实例分配给 TimeslotRoom 实例:

  • 房间最多可以有一节时间。
  • 教师可以指导大多数课程同时进行学习。
  • 学员最多可以同时参加一门课程。
  • 教师更喜欢在单一房间教授。
  • 教员更喜欢教授在课程之间的顺序课程和分解。

以数学方式讲,中立时间是 NP-hard 问题。这意味着很难扩展。只需通过与 brute 强制实现所有可能的组合迭代将花费数以百万计的数据集,即使在超级计算机上也是如此。需要的是,AI 约束解决者(如 OptaPlanner)具有在合理的时间内提供接近优化解决方案的高级算法。认为是合理的时间,取决于问题的目标。

先决条件

  • OpenJDK 11 或更高版本已安装。红帽构建的 Open JDK 可从红帽客户门户中的 Software Downloads 页面获得(需要登录)。
  • 已安装 Apache Maven 3.6 或更高版本。Maven 可从 Apache Maven Project 网站获取。
  • 提供了 IDE,如 IntelliJ IDEA、VSCode、Eclipse 或 NetBeans。

12.1. 下载并构建 Spring Boot National timetable 快速启动

要查看红帽使用 Spring Boot 产品的 OptaPlanner 构建 OptaPlanner 项目的完整示例,请从红帽客户门户网站下载初学者应用程序。

流程

  1. 导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:

    • 产品:流程自动化管理器
    • Version: 7.12
  2. 下载 Red Hat Process Automation Manager 7.12.0 Kogito 和 OptaPlanner 8 Decision Services Quickstarts (rhpam-7.12.0-kogito-and-optaplanner-quickstarts.zip)。
  3. 提取 rhpam-7.12.0-kogito-and-optaplanner-quickstarts.zip 文件。
  4. 下载 Red Hat Process Automation Manager 7.12.0 Kogito 和 OptaPlanner 8 Decision Services Maven Repositroy (rhpam-7.12.0-kogito-maven-repository.zip)。
  5. 提取 rhpam-7.12.0-kogito-maven-repository.zip 文件。
  6. rhpam-7.12.0-kogito-maven-repository/maven-repository 子目录的内容复制到 ~/.m2/repository 目录中。
  7. 导航到 optaplanner-quickstarts-8.11.1.Final-redhat-00006/ Technology/java-spring-boot 目录。
  8. 输入以下命令构建 Spring Boot school 计时建立项目:

    mvn clean install -DskipTests
  9. 要构建 Spring Boot orsling 项目,请输入以下命令:

    mvn spring-boot:run -DskipTests
  10. 要查看项目,请在网页浏览器中输入以下 URL:

    http://localhost:8080/
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.