我遇到了一种情况,即在施工阶段只允许两次有效的移动。这导致在本地搜索阶段期间没有有效移动的情况。在本地搜索阶段尝试的所有动作都是不可行的。
这会在本地搜索阶段结束时生成NullPointerException
。
Exception in thread "main" java.lang.NullPointerException
at org.optaplanner.core.impl.solver.scope.DefaultSolverScope.getBestScoreWithUninitializedPrefix(DefaultSolverScope.java:205)
at org.optaplanner.core.impl.solver.DefaultSolver.outerSolvingEnded(DefaultSolver.java:216)
at org.optaplanner.core.impl.solver.DefaultSolver.solve(DefaultSolver.java:161)
at com.example.jobplanner.Application.main(Application.java:328)
以下是施工阶段发生的两次有效移动的痕迹。
CH step (0), time spent (151), score (0hard/0soft), selected move count (1), picked move (com.example.jobplanner.domain.ServiceJobChip@981500 => com.example.jobplanner.domain.ShopFloorBay@9da471).
Update [fact 0:5:4216052:4216052:10:DEFAULT:NON_TRAIT:com.example.jobplanner.domain.ServiceJobChip@4054f4]
CH step (1), time spent (158), score (0hard/0soft), selected move count (1), picked move (com.example.jobplanner.domain.ServiceJobChip@4054f4 => com.example.jobplanner.domain.ShopFloorBay@15ac5d5).
Construction Heuristic phase (0) ended: step total (2), time spent (159), best score (null).
我尝试优化的域名模型如下: