【发布时间】:2015-08-26 23:24:03
【问题描述】:
我已经从 optaplanner 示例的课程课程示例中扩展了我的问题库。
由于需要解决现有问题,我开始使用 2 个变量,均来自“来自实体的值范围提供者”。
现在我正在努力改进我的解决方案,并且, 当我检查解决方案时,我意识到有些讲座可以更好(基于分数),如果它们只是交换,或者向左或向右移动等等。
我不确定这种方法是否能解决这个问题,但我发现,使用 nearSelection,规划器可以“粗略”移动,尤其是基于它们的相似性(自定义距离计)
但是,问题从这里开始,我无法正确配置附近的选择,这是我最新的配置 xml
<changeMoveSelector>
<entitySelector id="entitySelector1">
<entityClass>....Lecture</entityClass>
</entitySelector>
<valueSelector>
<variableName>period</variableName>
<nearbySelection>
<originEntitySelector mimicSelectorRef="entitySelector1"/>
<nearbyDistanceMeterClass>.....LectureNearbyDistanceMeter</nearbyDistanceMeterClass>
<parabolicDistributionSizeMaximum>40</parabolicDistributionSizeMaximum>
</nearbySelection>
</valueSelector>
</changeMoveSelector>
如果我不提供 variableName,那么它就不起作用,因为配置器无法自动选择它,但是,我不能将 variableName 放在 valueSelector 中,它抱怨 “java.lang.IllegalArgumentException:valueSelector (org.optaplanner.core.impl.heuristic.selector.value.nearby.NearEntityNearbyValueSelector@2f66e802) 具有可变属性类型(....期间) 它不是 originEntitySelector 的 entityClass (..Lecture) 的超类。”
谁能给我一个线索,我在这里做错了什么?
【问题讨论】:
-
附近的选择不能考虑分数(至少目前还没有为它设计):“距离”(可以是任何东西)在 IIRC 开始时确定一次。
标签: optaplanner