You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Optaplanner ConstraintFactory.from返回未初始化实体问题求解

问题原因解释

该行为属于OptaPlanner的正常设计,核心是混淆了「未初始化规划实体」和「nullable规划变量取null值的已初始化实体」两个概念:

  • ConstraintFactory.from()方法只会过滤未完成初始化的规划实体,也就是规划变量还没有被分配任何合法值的实体。
  • 你在lesson字段的@PlanningVariable注解中显式配置了nullable = true,相当于告知OptaPlanner:null是lesson变量的合法取值之一,此时lesson为null的Enrollment属于完全初始化完成的合法实体,自然会被from()方法返回,不会被过滤。

你新增非空过滤的写法是完全正确的,所有用到开启了nullable的规划变量的约束,都需要先判断变量非空再调用后续方法,避免空指针异常。


内容的提问来源于stack exchange,提问作者Radical

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 03:24:02