optaplanner 与固定实体的碰撞
optaplanner collision with pinned entities
在我的 optaplanner 课程安排项目中,用户在计划算法开始之前添加了一些固定讲座。使用 @PlanningPin
.
使它们不可移动
问题是:一旦它们被固定,它们就不会沿着 ConstratinsStream 传播。所以碰撞约束不起作用,它们不会与非固定实体发生碰撞。
这是一个最小的非工作 hello-world-constraint:
约束定义:
factory.from(Lecture.class).filter(t -> helloWorld(t)).penalize...
你好世界功能:
public static boolean helloWorld(Lecture m) {
if (m.isFixed()) {System.out.println("hello world"); }
return true;
}
我假设固定实体应该沿着流传播是正确的吗?如果是的话,有人可以提示我的错误可能在哪里吗?
实体在流中传播,无论它们是否固定。
但是如果一个实体被固定并且计划变量是 null
,那么就像 non-pinned 个实体一样,它不会被 .from()
传播,只有 [=12] =].不同之处在于 non-pinned 实体将由 Construction Heuristic 生成 non-null。
在我的 optaplanner 课程安排项目中,用户在计划算法开始之前添加了一些固定讲座。使用 @PlanningPin
.
问题是:一旦它们被固定,它们就不会沿着 ConstratinsStream 传播。所以碰撞约束不起作用,它们不会与非固定实体发生碰撞。 这是一个最小的非工作 hello-world-constraint:
约束定义:
factory.from(Lecture.class).filter(t -> helloWorld(t)).penalize...
你好世界功能:
public static boolean helloWorld(Lecture m) {
if (m.isFixed()) {System.out.println("hello world"); }
return true;
}
我假设固定实体应该沿着流传播是正确的吗?如果是的话,有人可以提示我的错误可能在哪里吗?
实体在流中传播,无论它们是否固定。
但是如果一个实体被固定并且计划变量是 null
,那么就像 non-pinned 个实体一样,它不会被 .from()
传播,只有 [=12] =].不同之处在于 non-pinned 实体将由 Construction Heuristic 生成 non-null。