搜索

第 12 章 Red Hat build of OptaPlanner on Spring Boot: a school timetable quick start Guide

download PDF

本指南指导您了解使用 OptaPlanner 的约束解决 artificial 智能(AI)的 Spring Boot 应用程序的过程。您将构建一个 REST 应用程序,针对学生和老师优化院校时间。

timeTableAppScreenshot

您的服务会自动将 Lesson 实例分配给 TimeslotRoom 实例,方法是使用 AI 遵循以下硬和软 调度限制

  • 个空间最多可以同时有一处。
  • 老师可以同时在上课时进行教学。
  • 学员最多可以同时参加。
  • 教授者更倾向于在单一房间学习。
  • 指导者更倾向于在课间学习顺序课时和不类差距。

数学会上讲,该学校的时间范围是一个 NP-hard 问题。这意味着很难扩展。只需将所有可能的组合与括号一起进行迭代,可以在非平量数据集中使用数百万年,即使在超级计算器上也是如此。幸运的是,AI 约束解决诸如 OptaPlanner 等高级算法具有在合理的时间内提供最接近的解决方案。被视为有合理的时间,它取决于问题的目标。

先决条件

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

12.1. 下载并构建 Spring Boot school 快速入门

要查看红帽使用 Spring Boot 产品构建 OptaPlanner 的 school 时间项目的已完成示例,请从红帽客户门户网站下载入门应用程序。

流程

  1. 进入红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉列表中选择产品和版本:

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

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

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

    http://localhost:8080/
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.