[英]Does OptaPlanner support optimizations and constraints on continuous variables?
我正在阅读文档中相互矛盾的内容。
一方面,这段话似乎表明可能存在连续的计划变量:
计划值范围是计划变量的可能计划值的集合。 此集合可以是离散的(例如,行1、2、3或4)或连续的(例如,介于0.0和1.0之间的任何双精度数)。
另一方面,定义计划变量时,必须在用于值集的字段上指定ValueRangeProvider
批注:
解决方案实现具有返回Collection的方法。 该集合中的任何值都是该计划变量的可能计划值。
这两个片段都在文档的同一部分中( 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 。
它的工作方式如下:您也可以在返回ValueRange
(而不是Collection
)的方法上使用@ValueRangeProvider
批注。
ValueRange
将是一个接口,支持选择随机值,获取大小,...开箱即用,我们将支持IntValueRange
, DoubleValueRange
, BigDecimalValueRange
,...(实现细节:我们将对这些Collection进行改装-将方法返回到CollectionValueRange
。)
然后,ValueSelector实现将直接使用它。
至于优化连续变量的适用性:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.