我正在用optaplanner进行生产进度计划,它具有两个计划实体Task和PDItem,如下所示:
Hi Optaplanner小组:我正在使用optaplanner进行生产计划程序,它具有两个计划实体,Task和PDItem,如下所示:
@PlanningEntity(difficultyComparatorClass = TaskDifficultyComparator.class)
public class Task {
private Integer waitting_time; //planning variable
@PlanningVariable(valueRangeProviderRefs = {"wtRange"})
public Integer getWaitting_time() {
return waitting_time;
}
@ValueRangeProvider(id = "wtRange")
public CountableValueRange<Integer> WaitTimeRange_v2() {
return ValueRangeFactory.createIntValueRange(this.searchRangeDown,this.searchRange+1);
}
@PlanningEntity(difficultyComparatorClass = TaskDifficultyComparator.class)
public class PDItem {
private DyeMachineType machine_type; //planning variable
@PlanningVariable(valueRangeProviderRefs = {"macRange"})
public DyeMachineType getMachine_type() {
return machine_type;
}
@ValueRangeProvider(id = "macRange")
public ArrayList<DyeMachineType> getDyemachinetype_list() {
return this.dyemachinetype_list;
}
但是当我启动程序时,它显示如下:
线程“主”中的异常java.lang.IllegalArgumentException:该配置(QueuedEntityPlacerConfig(null,null))没有配置entityClass(null),并且因为在entityClassSet中有多个([class Planning_v3.Domain.Task,Planning_v3类.Domain.PDItem]),则无法自动推断。在org.optaplanner.core.config.AbstractConfig.deduceEntityDescriptor(AbstractConfig.java:86)在org.optaplanner.core.config.constructionheuristic.placer.QueuedEntityPlacerConfig.buildEntitySelectorConfig(QueuedEntityPlacerConfig.java:144)在org.optaplanner.core.config.constructionheuristic.placer.QueuedEntityPlacerConfig.buildEntityPlacer(QueuedEntityPlacerConfig.java:107)在org.optaplanner.core.config.constructionheuristic.placer.QueuedEntityPlacerConfig.buildEntityPlacer(QueuedEntityPlacerConfig.java:43)在org.optaplanner.core.config.constructionheuristic.ConstructionHeuristicPhaseConfig.buildPhase(ConstructionHeuristicPhaseConfig.java:166)处在org.optaplanner.core.config.constructionheuristic.ConstructionHeuristicPhaseConfig.buildPhase(ConstructionHeuristicPhaseConfig.java:51)处在org.optaplanner.core.config.solver.SolverConfig.buildPhaseList(SolverConfig.java:367)在org.optaplanner.core.config.solver.SolverConfig.buildSolver(SolverConfig.java:270)在org.optaplanner.core.impl.solver.AbstractSolverFactory.buildSolver(AbstractSolverFactory.java:61)在Planning_v3.APP.PlanningAPP3.main(PlanningAPP3.java:47)
请帮助您!非常感谢!
请帮助您!非常感谢!
您当前有2个带有@PlanningEntity
批注的类,它们也至少具有一个真正的@PlanningVariable
(!=阴影变量)。因此,您有2个真正的计划实体类(阴影实体不计算在内)。
[非常罕见。在大多数情况下,如果您按照this section in the docs的准则设计好的模型,则最终不会获得2个真正的计划实体类,并且省去了很多麻烦。] >
话虽这么说,但在某些情况下确实有意义。 (乍看之下,您的情况似乎不是其中一种,请先阅读该指南):