第 9 章 红帽构建的 OptaPlanner 简介
OptaPlanner 是一个轻量级、可嵌入的规划引擎,可优化计划问题。它帮助普通 Java 编程人员有效地解决规划问题,它可将优化性与风险计算相结合。
例如,OptaPlanner 帮助解决各种用例:
- 员工/人员 :它有助于为 nurses 创建时间表并跟踪个人管理。
- 教育 时间表:它有助于安排课程、课程、考试和会议演示。
- shop Schedules :它跟踪车装行、计算机队列计划和 workforce 任务规划。
- 危机 :通过减少资源消耗(如文章和发证)来最小化浪费。
每个组织都面临规划问题;也就是说,它们提供有限的资源(员工、资产、时间和金钱)。
OptaPlanner 是 Apache 软件许可证 2.0 下的开源软件。它是 100% 纯 Java,在大多数 Java 虚拟机(JVM)上运行。
9.1. 计划问题
根据有限的资源及特定限制,计划问题 是一种最佳目标。最佳目标可以是任何数量,例如:
- 最大化利润 - 实现最大利润最佳目标。
- 最小化原则占用 - 最佳目标具有最低程度的环境影响。
- 最大化员工或客户的满意度 - 最佳目标将优先考虑员工或客户的需求。
实现这些目标的能力取决于可用的资源数量。例如,以下资源可能会受限制:
- 人员数量
- 时间量
- budget
- 物理资产,如 machinery, vehicles, computer, buildings
您还必须考虑与这些资源相关的特定限制,如个人工作小时数、使用某些机器或其它设备间的兼容性。
红帽构建的 OptaPlanner 帮助 Java 编程人员有效地解决约束满意度问题。它将优化 heuristics 和 metaheuristics 合并起来,且有有效的分数计算。