OptaPlanner-用于优化计划和调度问题的约束求解器

2020-10-13 20:09:09

OptaPlanner是一个人工智能约束解算器,它优化计划和调度问题,如车辆路线问题、员工排班、维护调度、任务分配、排课、云优化、会议调度、Job Shop调度、装箱等。每个组织都面临这样的挑战:分配有限的受限资源(员工、资产、时间和/或金钱)来提供产品或服务。OptaPlanner提供更高效的计划,从而降低成本和提高服务质量。

OptaPlanner是一个轻量级、可嵌入的计划引擎,它使日常Java程序员能够高效地解决优化问题。它还兼容其他JVM语言(如Kotlin和Scala)。约束适用于普通的域对象,可以调用现有的代码。不需要以数学方程的形式输入约束。在幕后,OptaPlanner将复杂的人工智能优化算法(如禁忌搜索、模拟退火、延迟接受等元启发式)与非常高效的得分计算和其他最先进的约束求解技术相结合。

OptaPlanner是开源软件,在Apache License下发布。它是用100%纯JavaJVM编写的,可以在任何™上运行,也可以在Maven中央存储库中使用。它可以与Quarkus和Spring Boot配合使用。

//作为输入的我的域特定类。

我的花名册问题=...;

SolverFactory<;MyRoster>;Factory=SolverFactory。

.createFromXmlResource(";.../mySolverConfig.xml";);

求解器<;MyRoster>;solver=factory.buildSolver();

//我的域特定类作为输出。

MyRoster Solution=solver.solve(问题);

For(MyShift Shift:解决方案.getShift()){。

//现在每个班次都分配给一个员工。

AssertNotNull(shit.getEmployee());

}。

想咨询专家吗?Red Hat提供经过认证的二进制文件,并提供企业咨询服务。有关更多信息,请联系optaplanner-info。