第 12 章 Red Hat build of OptaPlanner on Spring Boot: a National timetable quick Start guide
本指南指导您完成使用 OptaPlanner 的约束解决人工智能(AI)创建 Spring Boot 应用程序的过程。您将构建可针对学生和教师优化时限的 REST 应用程序。

通过使用 AI 遵循以下硬和软 调度限制,您的服务会将 Lesson
实例分配给 Timeslot
和 Room
实例:
- 房间最多可以有一节时间。
- 教师可以指导大多数课程同时进行学习。
- 学员最多可以同时参加一门课程。
- 教师更喜欢在单一房间教授。
- 教员更喜欢教授在课程之间的顺序课程和分解。
以数学方式讲,中立时间是 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 项目的完整示例,请从红帽客户门户网站下载初学者应用程序。
流程
导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:
- 产品:流程自动化管理器
- Version: 7.12
-
下载 Red Hat Process Automation Manager 7.12.0 Kogito 和 OptaPlanner 8 Decision Services Quickstarts (
rhpam-7.12.0-kogito-and-optaplanner-quickstarts.zip
)。 -
提取
rhpam-7.12.0-kogito-and-optaplanner-quickstarts.zip
文件。 -
下载 Red Hat Process Automation Manager 7.12.0 Kogito 和 OptaPlanner 8 Decision Services Maven Repositroy (
rhpam-7.12.0-kogito-maven-repository.zip
)。 -
提取
rhpam-7.12.0-kogito-maven-repository.zip
文件。 -
将
rhpam-7.12.0-kogito-maven-repository/maven-repository
子目录的内容复制到~/.m2/repository
目录中。 -
导航到
optaplanner-quickstarts-8.11.1.Final-redhat-00006/ Technology/java-spring-boot
目录。 输入以下命令构建 Spring Boot school 计时建立项目:
mvn clean install -DskipTests
要构建 Spring Boot orsling 项目,请输入以下命令:
mvn spring-boot:run -DskipTests
要查看项目,请在网页浏览器中输入以下 URL:
http://localhost:8080/