OptaPlanner 轻量级规划调度引擎

Posted ejinxian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OptaPlanner 轻量级规划调度引擎相关的知识,希望对你有一定的参考价值。

OptaPlanner 官网

OptaPlanner是一个约束求解器,它能够对商业资源规划问题进行优化,例如车辆路径规划问题(VRP),雇员排班问题(Employee Rostering),云计算资源调度问题(Cloud Optimization),任务分配问题(Task Assignment),车间调度问题(JSP)和背包问题(Bin Packing)等。许多公司都面临着这样一个调度难题:分配一组有限的资源(员工、资产、时间和金钱)来提供产品或服务。OptaPlanner做的就是提供更有效的规划方案,以提高服务质量并降低成本。

OptaPlanner是一个轻量化、可嵌入的规划引擎,它让普通的Java工程师能够有效地解决优化问题,它还与其他JVM语言(如Kotlin和Scala)兼容。在问题建模方面,OptaPlanner的约束作用在普通的域对象上,且无需键入复杂的数学公式,可以重复使用现有代码。在问题求解方面,OptaPlanner结合了许多复杂的启发式和元启发式算法(如禁忌搜索、模拟退火、逾期接受和变邻域搜索),能够提供非常有效的优化服务

求解问题类型引擎使用特点例子
规划问题主要使用影子变量(shadow variable)旅行商问题、车辆路径规划问题等路径规划问题
调度问题较少使用影子变量护士排班、会议调度、排课问题、考场安排、赛程安排、任务指派、病床分配、车间调度等资源调度问题

plannerExamplesAppScreenshot

以上是关于OptaPlanner 轻量级规划调度引擎的主要内容,如果未能解决你的问题,请参考以下文章

Optaplanner规划引擎的工作原理及简单示例

Optaplanner逐步学习 : 基本概念 - Optaplanner,规划问题, 约束,方

Optaplanner终于支持多线程并行运行 - Multithreaded incremental solving

Optaplanner:检查链式规划变量是不是有锚

python中的轻量级定时任务调度库:schedule

基于 Docker 的 ELK 高可用集群架构