3.3. 规划问题的解决方案

计划问题有很多解决方案。

几种解决方案类别有:

可能的解决方案
可能的解决方案是任何解决方案,无论它是否破坏了任意数量的限制。规划问题通常具有大量可能的解决方案。其中许多解决方案都不可用。
可行的解决方案
可行的解决方案是不会破坏任何(负)硬约束的解决方案。可行的解决方案数量与可能的解决方案数量相对。有时没有可行的解决方案。每种可行的解决方案都是可能的解决方案。
最佳解决方案
最佳解决方案是具有最高分数的解决方案。规划问题通常具有几个最佳解决方案。它们始终至少有一个最佳解决方案,即使是没有可行的解决方案,且最佳解决方案不可行。
最佳解决方案发现
最佳解决方案是实施在指定时间内获得的最高分数的解决方案。找到的最佳解决方案可能可行,考虑到足够的时间,这是最佳解决方案。

Counterintuitive,可能的解决方案数量是很大(如果正确计算),即使数据集小也是如此。

planner-engine 分发文件夹中提供的示例中,大多数实例都有大量可能的解决方案。由于无法保证找到最佳解决方案,任何实施都强制评估所有可能解决方案的子集。

OptaPlanner 支持多种优化算法,通过非常广泛的可能的解决方案来高效地偏离。

根据用例,一些优化算法的性能优于其他算法,但无法提前了解。使用 OptaPlanner,您可以通过更改 XML 或代码的几行中的 solver 配置来切换优化算法。