gpt4 book ai didi

optimization - OptaPlanner 是否支持对连续变量的优化和约束?

转载 作者:行者123 更新时间:2023-12-03 16:00:15 24 4
gpt4 key购买 nike

我正在阅读文档中相互矛盾的内容。

一方面,这段话似乎表明连续规划变量是可能的:

A planning value range is the set of possible planning values for a planning variable. This set can be a discrete (for example row 1, 2, 3 or 4) or continuous (for example any double between 0.0 and 1.0).



另一方面,在定义计划变量时,您必须指定 ValueRangeProvider用于值集的字段上的注释:

The Solution implementation has method which returns a Collection. Any value from that Collection is a possible planning value for this planning variable.



这两个片段都在文档的同一部分 ( http://docs.jboss.org/drools/release/latest/optaplanner-docs/html_single/#d0e2518 )

那么,它是哪个?我可以使用完整的 double作为我的计划变量,或者我是否需要将其范围限制为特定 Collection 中的值?

查看提供的实际算法,我没有看到任何实际上适合优化连续变量的算法,所以我怀疑这是可能的,但最好能澄清并明确说明。

最佳答案

我们正在努力完全支持连续变量。但是目前(在 6.0.0.CR2 中)它还没有得到很好的支持 .

值范围确实可以是连续范围,但实际使用它们的管道尚不存在。我们最近取得了很好的进展,见https://issues.jboss.org/browse/PLANNER-160 .

以下是它的工作原理:
您将能够使用 @ValueRangeProvider返回 ValueRange 的方法的注释(而不是 Collection )。

一个 ValueRange将是一个界面,支持选择随机值、获取大小、...
开箱即用,我们将支持 IntValueRange , DoubleValueRange , BigDecimalValueRange , ...
(实现细节:我们将把这些集合返回方法 retrofit 到 CollectionValueRange 中。)

然后 ValueSelector 实现将直接使用它。

至于优化连续变量的适用性:

  • JIT 随机选择将非常快速并且非常节省内存。
  • 如果您有一个 NP 完全/NP 难问题,那么 OptaPlanner 将是一个很好的选择。如果您只有连续变量(而不是单个离散变量),那么您的问题不太可能是 NP 完全的(除非您的约束证明了这一点),在这种情况下,您最好使用自定义的、手工制作的多项式算法(因为它不是 NP 完全的,所以有一个“简单”的解决方案)。
  • 关于optimization - OptaPlanner 是否支持对连续变量的优化和约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18343221/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com