class RefinementDescriptor(object): def __init__(self, builder): self._builder = builder self._refinement = Refinement() self._builder.getSimulationLearner().setRefinement(self._refinement) def addMostPromisingChildren(self): admissibleSet = AdmissibleSparseGridNodeSet() self._refinement.setAdmissibleSetCreator(admissibleSet) return MostPromisingChildrenDescriptor(self._refinement) def refineMostPromisingNodes(self): admissibleSet = RefinableNodesSet() self._refinement.setAdmissibleSetCreator(admissibleSet) return RefineCurrentNodesDescriptor(self._refinement) def withBalancing(self): self._refinement.setBalancing(True) return self def withAverageWeightening(self): self._refinement.setAverageWeightening(True) return self def withAdaptTimeWindow(self, value): self._refinement.setAdaptTimeWindow(value) return self def withAdaptMaxLevel(self, level): self._refinement.setAdaptMaxLevel(level) return self