Deprecated API
Contents
-
Terminally Deprecated ElementsElementDescriptionUse
ConstraintWeightOverridesinstead.UseConstraintWeightOverridesinstead.UsePlanningPininstead.Deprecated in favor ofPlanningEntity.comparatorClass().Deprecated in favor ofPlanningEntity.comparatorFactoryClass().Deprecated in favor ofPlanningEntity.NullComparator.Deprecated in favor ofPlanningEntity.NullComparatorFactory.Prefer usingPlanningPin.Prefer usingPlanningPin.When multi-threaded solving, ensure your domain classes use @PlanningIdinstead.Support for custom scores is deprecated and will be removed in Timefold Solver 2.0.When multi-threaded solving, ensure your domain classes use @PlanningIdinstead.Deprecated in favor ofShadowVariable(normal shadow variable withCustomShadowVariable.variableListenerClass()) andPiggybackShadowVariable(ifCustomShadowVariable.variableListenerRef()is used).UsePlanningVariable.allowsUnassigned()instead.Deprecated in favor ofPlanningVariable.NullComparator.Deprecated in favor ofPlanningVariable.NullComparatorFactory.Deprecated in favor ofPlanningVariable.comparatorClass().Deprecated in favor ofPlanningVariable.comparatorFactoryClass().ImplementIBendableScoreinstead.ImplementScoreinstead.Do not rely on constraint package in user code.UseScoreAnalysis.getConstraintAnalysis(String)instead.UseBendableScore.hardOrSoftScore(int)instead.UseBendableScore.hardScore(int)instead.UseBendableScore.hardScores()instead.UseBendableScore.softScore(int)instead.UseBendableScore.softScores()instead.UseBendableScore.of(int[], int[])instead.UseBendableBigDecimalScore.hardOrSoftScore(int)instead.UseBendableBigDecimalScore.hardScore(int)instead.ai.timefold.solver.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScore.getHardScores()UseBendableBigDecimalScore.hardScores()instead.UseBendableBigDecimalScore.softScore(int)instead.ai.timefold.solver.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScore.getSoftScores()UseBendableBigDecimalScore.softScores()instead.UseBendableLongScore.hardOrSoftScore(int)instead.UseBendableLongScore.hardScore(int)instead.UseBendableLongScore.hardScores()instead.UseBendableLongScore.softScore(int)instead.UseBendableLongScore.softScores()instead.UseBendableLongScore.of(long[], long[])instead.UseHardMediumSoftScore.hardScore()instead.UseHardMediumSoftScore.mediumScore()instead.UseHardMediumSoftScore.softScore()instead.UseHardMediumSoftScore.of(int, int, int)instead.UseHardMediumSoftBigDecimalScore.hardScore()instead.UseHardMediumSoftBigDecimalScore.mediumScore()instead.UseHardMediumSoftBigDecimalScore.softScore()instead.UseHardMediumSoftLongScore.hardScore()instead.UseHardMediumSoftLongScore.mediumScore()instead.UseHardMediumSoftLongScore.softScore()instead.UseHardMediumSoftLongScore.of(long, long, long)instead.UseHardSoftScore.hardScore()instead.UseHardSoftScore.softScore()instead.UseHardSoftScore.of(int, int)instead.UseHardSoftBigDecimalScore.hardScore()instead.UseHardSoftBigDecimalScore.softScore()instead.UseHardSoftBigDecimalScore.of(BigDecimal, BigDecimal)instead.UseHardSoftLongScore.hardScore()instead.UseHardSoftLongScore.softScore()instead.UseHardSoftLongScore.of(long, long)instead.UseSimpleScore.score()instead.UseSimpleScore.of(int)instead.UseSimpleBigDecimalScore.score()instead.UseSimpleBigDecimalScore.of(BigDecimal)instead.UseSimpleLongScore.score()instead.UseSimpleLongScore.of(long)instead.PreferConstraintMatch.getConstraintRef()instead.PreferConstraintMatch.getConstraintRef()instead.PreferConstraintMatch.getConstraintRef()instead.PreferConstraintRef.of(String, String).PreferIndictment.getIndictedObject().Calling this method by user code is not recommended and will lead to unforeseen consequences. UseProblemChangeinstead.Calling this method by user code is not recommended and will lead to unforeseen consequences. UseProblemChangeinstead.Calling this method by user code is not recommended and will lead to unforeseen consequences. UseProblemChangeinstead.Calling this method by user code is not recommended and will lead to unforeseen consequences. UseProblemChangeinstead.Calling this method by user code is not recommended and will lead to unforeseen consequences. UseProblemChangeinstead.Calling this method by user code is not recommended and will lead to unforeseen consequences. UseProblemChangeinstead.Calling this method by user code is not recommended and will lead to unforeseen consequences. UseProblemChangeinstead.Calling this method by user code is not recommended and will lead to unforeseen consequences. UseProblemChangeinstead.Calling this method by user code is not recommended and will lead to unforeseen consequences. UseProblemChangeinstead.Calling this method by user code is not recommended and will lead to unforeseen consequences. UseProblemChangeinstead.UseIBendableScore.hardLevelsSize()instead.UseIBendableScore.levelsSize()instead.UseIBendableScore.softLevelsSize()instead.No point in using this method anymore.No point in using this method anymore.No point in using this method anymore.No point in using this method anymore.UseSolutionManagerinstead.for removal as it is not necessary on the public API.PreferConstraint.getConstraintRef().PreferConstraint.getConstraintRef().PreferConstraint.getConstraintRef().Constraint package should no longer be used, useConstraintBuilder.asConstraint(String)instead.Deprecated in favor ofConstraintCollectors.max(QuadFunction, Function), as this method can lead to unavoidable score corruptions.Deprecated in favor ofConstraintCollectors.max(TriFunction, Function), as this method can lead to unavoidable score corruptions.Deprecated in favor ofConstraintCollectors.max(Function, Function), as this method can lead to unavoidable score corruptions.Deprecated in favor ofConstraintCollectors.max(BiFunction, Function), as this method can lead to unavoidable score corruptions.Deprecated in favor ofConstraintCollectors.max(Function, Function), as this method can lead to unavoidable score corruptions.Deprecated in favor ofConstraintCollectors.min(QuadFunction, Function), as this method can lead to unavoidable score corruptions.Deprecated in favor ofConstraintCollectors.min(TriFunction, Function), as this method can lead to unavoidable score corruptions.Deprecated in favor ofConstraintCollectors.min(Function, Function), as this method can lead to unavoidable score corruptions.Deprecated in favor ofConstraintCollectors.min(BiFunction, Function), as this method can lead to unavoidable score corruptions.Deprecated in favor ofConstraintCollectors.min(Function, Function), as this method can lead to unavoidable score corruptions.UseConstraintFactory.forEachIncludingUnassigned(Class)instead.This method is deprecated in favor ofConstraintFactory.forEach(Class), which exhibits the same behavior for planning variables which both allow and don't allow unassigned values.PreferConstraintFactory.forEachUniquePair(Class), which exhibits the same behavior for planning variables which both allow and don't allow unassigned values.PreferConstraintFactory.forEachUniquePair(Class, BiJoiner), which exhibits the same behavior for planning variables which both allow and don't allow unassigned values.PreferConstraintFactory.forEachUniquePair(Class, BiJoiner...), which exhibits the same behavior for planning variables which both allow and don't allow unassigned values.PreferConstraintFactory.forEachUniquePair(Class, BiJoiner, BiJoiner), which exhibits the same behavior for planning variables which both allow and don't allow unassigned values.PreferConstraintFactory.forEachUniquePair(Class, BiJoiner, BiJoiner, BiJoiner), which exhibits the same behavior for planning variables which both allow and don't allow unassigned values.PreferConstraintFactory.forEachUniquePair(Class, BiJoiner, BiJoiner, BiJoiner, BiJoiner), which exhibits the same behavior for planning variables which both allow and don't allow unassigned values.Do not rely on any constraint package in user code.PreferUniConstraintStream.impact(Score)and equivalent bi/tri/... overloads.PreferUniConstraintStream.impact(Score)and equivalent bi/tri/... overloads.PreferUniConstraintStream.penalize(Score)and equivalent bi/tri/... overloads.PreferUniConstraintStream.penalize(Score)and equivalent bi/tri/... overloads.Preferpenalize()andConstraintWeightOverrides.Preferpenalize()andConstraintWeightOverrides.PreferUniConstraintStream.reward(Score)and equivalent bi/tri/... overloads.PreferUniConstraintStream.reward(Score)and equivalent bi/tri/... overloads.Preferreward()andConstraintWeightOverrides.Preferreward()andConstraintWeightOverrides.There is only one implementation.in favor ofConstraintStreamImplType.BAVET.Users should not manually construct instances of this event.Users should not manually construct instances of this event.Users should not manually construct instances of this event.Deprecated on account ofNoChangePhasehaving no use.PreferProblemChange.PreferRecommendedAssignmentinstead.PreferSolver.addProblemChanges(List).It is recommended to useSolverManager.solveBuilder()It is recommended to useSolverManager.solveBuilder()It is recommended to useSolverManager.solveBuilder()It is recommended to useSolverManager.solveBuilder()while also providing a consumer for the best solutionIt is recommended to useSolverManager.solveBuilder()while also providing a consumer for the best solutionIt is recommended to useSolverManager.solveBuilder()while also providing a consumer for the best solutionDeprecated in favor ofEntitySelectorConfig.getComparatorClass()Deprecated in favor ofEntitySelectorConfig.getComparatorFactoryClass()Deprecated in favor ofEntitySelectorConfig.setComparatorClass(Class)Deprecated in favor ofEntitySelectorConfig.setComparatorFactoryClass(Class)Deprecated in favor ofEntitySelectorConfig.comparatorClass.Deprecated in favor ofEntitySelectorConfig.comparatorFactoryClass.Deprecated in favor ofEntitySelectorConfig.withComparatorClass(Class)Deprecated in favor ofEntitySelectorConfig.withComparatorFactoryClass(Class)useEntitySorterManner.DESCENDINGinsteaduseEntitySorterManner.DESCENDING_IF_AVAILABLEinsteadThe maximumSubListSize on the SubListChangeMoveSelectorConfig is deprecated and will be removed in a future major version of Timefold. UseSubListSelectorConfig.getMaximumSubListSize()instead.The minimumSubListSize on the SubListChangeMoveSelectorConfig is deprecated and will be removed in a future major version of Timefold. UseSubListSelectorConfig.getMinimumSubListSize()instead.The maximumSubListSize on the SubListChangeMoveSelectorConfig is deprecated and will be removed in a future major version of Timefold. UseSubListSelectorConfig.getMaximumSubListSize()instead.The minimumSubListSize on the SubListChangeMoveSelectorConfig is deprecated and will be removed in a future major version of Timefold. UseSubListSelectorConfig.getMinimumSubListSize()instead.The maximumSubListSize on the SubListChangeMoveSelectorConfig is deprecated and will be removed in a future major version of Timefold. UseSubListSelectorConfig.setMaximumSubListSize(Integer)instead.The minimumSubListSize on the SubListChangeMoveSelectorConfig is deprecated and will be removed in a future major version of Timefold. UseSubListSelectorConfig.setMinimumSubListSize(Integer)instead.The maximumSubListSize on the SubListSwapMoveSelectorConfig is deprecated and will be removed in a future major version of Timefold. UseSubListSelectorConfig.getMaximumSubListSize()instead.The minimumSubListSize on the SubListSwapMoveSelectorConfig is deprecated and will be removed in a future major version of Timefold. UseSubListSelectorConfig.getMinimumSubListSize()instead.The maximumSubListSize on the SubListSwapMoveSelectorConfig is deprecated and will be removed in a future major version of Timefold. UseSubListSelectorConfig.getMaximumSubListSize()instead.The minimumSubListSize on the SubListSwapMoveSelectorConfig is deprecated and will be removed in a future major version of Timefold. UseSubListSelectorConfig.getMinimumSubListSize()instead.The maximumSubListSize on the SubListSwapMoveSelectorConfig is deprecated and will be removed in a future major version of Timefold. UseSubListSelectorConfig.setMaximumSubListSize(Integer)instead.The minimumSubListSize on the SubListSwapMoveSelectorConfig is deprecated and will be removed in a future major version of Timefold. UseSubListSelectorConfig.setMinimumSubListSize(Integer)instead.ai.timefold.solver.core.config.heuristic.selector.move.MoveSelectorConfig.getSorterComparatorClass()Deprecated in favor ofMoveSelectorConfig.getComparatorClass()Deprecated in favor ofMoveSelectorConfig.getComparatorFactoryClass()Deprecated in favor ofMoveSelectorConfig.setComparatorClass(Class)Deprecated in favor ofMoveSelectorConfig.setComparatorFactoryClass(Class)Deprecated in favor ofMoveSelectorConfig.comparatorClass.Deprecated in favor ofMoveSelectorConfig.comparatorFactoryClass.Deprecated in favor ofMoveSelectorConfig.withComparatorClass(Class)Deprecated in favor ofMoveSelectorConfig.withComparatorFactoryClass(Class)Deprecated in favor ofValueSelectorConfig.getComparatorClass()Deprecated in favor ofValueSelectorConfig.getComparatorFactoryClass()Deprecated in favor ofValueSelectorConfig.setComparatorClass(Class)Deprecated in favor ofValueSelectorConfig.setComparatorFactoryClass(Class)Deprecated in favor ofValueSelectorConfig.comparatorClass.ai.timefold.solver.core.config.heuristic.selector.value.ValueSelectorConfig.sorterWeightFactoryClassDeprecated in favor ofValueSelectorConfig.comparatorFactoryClass.Deprecated in favor ofValueSelectorConfig.withComparatorClass(Class)Deprecated in favor ofValueSelectorConfig.withComparatorFactoryClass(Class)useValueSorterManner.DESCENDINGinsteaduseValueSorterManner.DESCENDING_IF_AVAILABLEinsteaduseValueSorterManner.ASCENDINGinsteaduseValueSorterManner.ASCENDING_IF_AVAILABLEinsteadDeprecated, no longer has any effect.Deprecated, no longer has any effect.Deprecated on account of never having worked in the first place.Deprecated, no longer has any effect.Deprecated on account of never having worked in the first place.Deprecated, no longer has any effect.Deprecated on account of never having worked in the first place.Deprecated, no longer has any effect.Deprecated on account of never having worked in the first place.Deprecated, no longer has any effect.Deprecated, no longer has any effect.Deprecated, no longer has any effect.Deprecated on account of deprecatingNoChangePhase.There is only one implementation, so this method is deprecated. This method no longer has any effect.All support for Score DRL was removed when Timefold was forked from OptaPlanner. See DRL to Constraint Streams migration recipe.There is only one implementation, so this method is deprecated. This method no longer has any effect.All support for Score DRL was removed when Timefold was forked from OptaPlanner. See DRL to Constraint Streams migration recipe.There is only one implementation, so this method is deprecated. This method no longer has any effect.All support for Score DRL was removed when Timefold was forked from OptaPlanner. See DRL to Constraint Streams migration recipe.All support for Score DRL was removed when Timefold was forked from OptaPlanner. See DRL to Constraint Streams migration recipe.PreferEnvironmentMode.STEP_ASSERT.UseEnvironmentMode.isIntrusivelyAsserted()instead.UseEnvironmentMode.isFullyAsserted()instead.PreferEnvironmentMode.NO_ASSERT.A custom terminationClass is deprecated and will be removed in a future major version of Timefold.A custom terminationClass is deprecated and will be removed in a future major version of Timefold.A custom terminationClass is deprecated and will be removed in a future major version of Timefold.PreferEntityDescriptor.getEntityForEachFilter()()}.When multi-threaded solving, ensure your domain classes use @PlanningIdinstead.UseConstraintWeightOverridesinstead.ConstraintConfigurationwas replaced byConstraintWeightOverrides.Uncountable value ranges were never fully supported in many places throughout the solver and therefore never gained traction. UseCountableValueRangeinstead, and configure a step.PreferBigDecimalValueRange.The solver automatically generates undo moves, this method is no longer used.In favor ofAbstractMove, which no longer requires undo moves to be implemented either.Undo moves are automatically generated by the solver. Implementations of this class no longer have any effect any may be removed.PreferMove.doMoveOnly(ScoreDirector)instead, undo moves no longer have any effect.Deprecated in favor ofComparatorFactory.UsePhaseCommandinstead.Deprecated on account of having no use.Deprecated on account of deprecatingNoChangePhase.Deprecated on account ofNoChangePhasehaving no use.UseDefaultSolutionManagerinstead.Unused, but kept for backward compatibility.this semantics is deprecated and kept around for backward compatibility reasons. It will be removed in 2.0, together with the from() family of methods, along with this entire enum.PreferDefaultRecommendedAssignmentinstead.Only used when Users manually construct instances ofBestSolutionChangedEvent.
-
Deprecated PackagesPackageDescriptionWhen multi-threaded solving, ensure your domain classes use @
PlanningIdinstead.
-
Deprecated InterfacesInterfaceDescriptionUse
PlanningPininstead.Deprecated in favor ofPlanningEntity.NullComparator.Deprecated in favor ofPlanningEntity.NullComparatorFactory.Prefer usingPlanningPin.Deprecated in favor ofPlanningVariable.NullComparator.Deprecated in favor ofPlanningVariable.NullComparatorFactory.UseSolutionManagerinstead.PreferProblemChange.PreferRecommendedAssignmentinstead.Deprecated in favor ofComparatorFactory.UsePhaseCommandinstead.
-
Deprecated ClassesClassDescriptionImplement
IBendableScoreinstead.ImplementScoreinstead.Deprecated on account of deprecatingNoChangePhase.UseConstraintWeightOverridesinstead.Uncountable value ranges were never fully supported in many places throughout the solver and therefore never gained traction. UseCountableValueRangeinstead, and configure a step.PreferBigDecimalValueRange.In favor ofAbstractMove, which no longer requires undo moves to be implemented either.Undo moves are automatically generated by the solver. Implementations of this class no longer have any effect any may be removed.Deprecated on account of having no use.Deprecated on account of deprecatingNoChangePhase.UseDefaultSolutionManagerinstead.
-
Deprecated Enum ClassesEnum ClassDescriptionWhen multi-threaded solving, ensure your domain classes use @
PlanningIdinstead.There is only one implementation.
-
Deprecated Record Classes
-
Deprecated Annotation InterfacesAnnotation InterfaceDescriptionUse
ConstraintWeightOverridesinstead.UseConstraintWeightOverridesinstead.UseConstraintWeightOverridesinstead.Deprecated in favor ofShadowVariable(normal shadow variable withCustomShadowVariable.variableListenerClass()) andPiggybackShadowVariable(ifCustomShadowVariable.variableListenerRef()is used).
-
Deprecated FieldsFieldDescriptionDeprecated in favor of
EntitySelectorConfig.comparatorClass.Deprecated in favor ofEntitySelectorConfig.comparatorFactoryClass.The maximumSubListSize on the SubListChangeMoveSelectorConfig is deprecated and will be removed in a future major version of Timefold. UseSubListSelectorConfig.getMaximumSubListSize()instead.The minimumSubListSize on the SubListChangeMoveSelectorConfig is deprecated and will be removed in a future major version of Timefold. UseSubListSelectorConfig.getMinimumSubListSize()instead.The maximumSubListSize on the SubListSwapMoveSelectorConfig is deprecated and will be removed in a future major version of Timefold. UseSubListSelectorConfig.getMaximumSubListSize()instead.The minimumSubListSize on the SubListSwapMoveSelectorConfig is deprecated and will be removed in a future major version of Timefold. UseSubListSelectorConfig.getMinimumSubListSize()instead.Deprecated in favor ofMoveSelectorConfig.comparatorClass.Deprecated in favor ofMoveSelectorConfig.comparatorFactoryClass.Deprecated in favor ofValueSelectorConfig.comparatorClass.ai.timefold.solver.core.config.heuristic.selector.value.ValueSelectorConfig.sorterWeightFactoryClassDeprecated in favor ofValueSelectorConfig.comparatorFactoryClass.Deprecated, no longer has any effect.Deprecated, no longer has any effect.
-
Deprecated MethodsMethodDescriptionDeprecated in favor of
PlanningEntity.comparatorClass().Deprecated in favor ofPlanningEntity.comparatorFactoryClass().Prefer usingPlanningPin.Support for custom scores is deprecated and will be removed in Timefold Solver 2.0.When multi-threaded solving, ensure your domain classes use @PlanningIdinstead.UsePlanningVariable.allowsUnassigned()instead.Deprecated in favor ofPlanningVariable.comparatorClass().Deprecated in favor ofPlanningVariable.comparatorFactoryClass().Do not rely on constraint package in user code.UseScoreAnalysis.getConstraintAnalysis(String)instead.UseBendableScore.hardOrSoftScore(int)instead.UseBendableScore.hardScore(int)instead.UseBendableScore.hardScores()instead.UseBendableScore.softScore(int)instead.UseBendableScore.softScores()instead.UseBendableScore.of(int[], int[])instead.UseBendableBigDecimalScore.hardOrSoftScore(int)instead.UseBendableBigDecimalScore.hardScore(int)instead.ai.timefold.solver.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScore.getHardScores()UseBendableBigDecimalScore.hardScores()instead.UseBendableBigDecimalScore.softScore(int)instead.ai.timefold.solver.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScore.getSoftScores()UseBendableBigDecimalScore.softScores()instead.UseBendableLongScore.hardOrSoftScore(int)instead.UseBendableLongScore.hardScore(int)instead.UseBendableLongScore.hardScores()instead.UseBendableLongScore.softScore(int)instead.UseBendableLongScore.softScores()instead.UseBendableLongScore.of(long[], long[])instead.UseHardMediumSoftScore.hardScore()instead.UseHardMediumSoftScore.mediumScore()instead.UseHardMediumSoftScore.softScore()instead.UseHardMediumSoftScore.of(int, int, int)instead.UseHardMediumSoftBigDecimalScore.hardScore()instead.UseHardMediumSoftBigDecimalScore.mediumScore()instead.UseHardMediumSoftBigDecimalScore.softScore()instead.UseHardMediumSoftLongScore.hardScore()instead.UseHardMediumSoftLongScore.mediumScore()instead.UseHardMediumSoftLongScore.softScore()instead.UseHardMediumSoftLongScore.of(long, long, long)instead.UseHardSoftScore.hardScore()instead.UseHardSoftScore.softScore()instead.UseHardSoftScore.of(int, int)instead.UseHardSoftBigDecimalScore.hardScore()instead.UseHardSoftBigDecimalScore.softScore()instead.UseHardSoftBigDecimalScore.of(BigDecimal, BigDecimal)instead.UseHardSoftLongScore.hardScore()instead.UseHardSoftLongScore.softScore()instead.UseHardSoftLongScore.of(long, long)instead.UseSimpleScore.score()instead.UseSimpleScore.of(int)instead.UseSimpleBigDecimalScore.score()instead.UseSimpleBigDecimalScore.of(BigDecimal)instead.UseSimpleLongScore.score()instead.UseSimpleLongScore.of(long)instead.PreferConstraintMatch.getConstraintRef()instead.PreferConstraintMatch.getConstraintRef()instead.PreferConstraintMatch.getConstraintRef()instead.PreferConstraintRef.of(String, String).PreferIndictment.getIndictedObject().Calling this method by user code is not recommended and will lead to unforeseen consequences. UseProblemChangeinstead.Calling this method by user code is not recommended and will lead to unforeseen consequences. UseProblemChangeinstead.Calling this method by user code is not recommended and will lead to unforeseen consequences. UseProblemChangeinstead.Calling this method by user code is not recommended and will lead to unforeseen consequences. UseProblemChangeinstead.Calling this method by user code is not recommended and will lead to unforeseen consequences. UseProblemChangeinstead.Calling this method by user code is not recommended and will lead to unforeseen consequences. UseProblemChangeinstead.Calling this method by user code is not recommended and will lead to unforeseen consequences. UseProblemChangeinstead.Calling this method by user code is not recommended and will lead to unforeseen consequences. UseProblemChangeinstead.Calling this method by user code is not recommended and will lead to unforeseen consequences. UseProblemChangeinstead.Calling this method by user code is not recommended and will lead to unforeseen consequences. UseProblemChangeinstead.UseIBendableScore.hardLevelsSize()instead.UseIBendableScore.levelsSize()instead.UseIBendableScore.softLevelsSize()instead.No point in using this method anymore.No point in using this method anymore.No point in using this method anymore.No point in using this method anymore.for removal as it is not necessary on the public API.PreferConstraint.getConstraintRef().PreferConstraint.getConstraintRef().PreferConstraint.getConstraintRef().Constraint package should no longer be used, useConstraintBuilder.asConstraint(String)instead.Deprecated in favor ofConstraintCollectors.max(QuadFunction, Function), as this method can lead to unavoidable score corruptions.Deprecated in favor ofConstraintCollectors.max(TriFunction, Function), as this method can lead to unavoidable score corruptions.Deprecated in favor ofConstraintCollectors.max(Function, Function), as this method can lead to unavoidable score corruptions.Deprecated in favor ofConstraintCollectors.max(BiFunction, Function), as this method can lead to unavoidable score corruptions.Deprecated in favor ofConstraintCollectors.max(Function, Function), as this method can lead to unavoidable score corruptions.Deprecated in favor ofConstraintCollectors.min(QuadFunction, Function), as this method can lead to unavoidable score corruptions.Deprecated in favor ofConstraintCollectors.min(TriFunction, Function), as this method can lead to unavoidable score corruptions.Deprecated in favor ofConstraintCollectors.min(Function, Function), as this method can lead to unavoidable score corruptions.Deprecated in favor ofConstraintCollectors.min(BiFunction, Function), as this method can lead to unavoidable score corruptions.Deprecated in favor ofConstraintCollectors.min(Function, Function), as this method can lead to unavoidable score corruptions.UseConstraintFactory.forEachIncludingUnassigned(Class)instead.This method is deprecated in favor ofConstraintFactory.forEach(Class), which exhibits the same behavior for planning variables which both allow and don't allow unassigned values.PreferConstraintFactory.forEachUniquePair(Class), which exhibits the same behavior for planning variables which both allow and don't allow unassigned values.PreferConstraintFactory.forEachUniquePair(Class, BiJoiner), which exhibits the same behavior for planning variables which both allow and don't allow unassigned values.PreferConstraintFactory.forEachUniquePair(Class, BiJoiner...), which exhibits the same behavior for planning variables which both allow and don't allow unassigned values.PreferConstraintFactory.forEachUniquePair(Class, BiJoiner, BiJoiner), which exhibits the same behavior for planning variables which both allow and don't allow unassigned values.PreferConstraintFactory.forEachUniquePair(Class, BiJoiner, BiJoiner, BiJoiner), which exhibits the same behavior for planning variables which both allow and don't allow unassigned values.PreferConstraintFactory.forEachUniquePair(Class, BiJoiner, BiJoiner, BiJoiner, BiJoiner), which exhibits the same behavior for planning variables which both allow and don't allow unassigned values.Do not rely on any constraint package in user code.PreferUniConstraintStream.impact(Score)and equivalent bi/tri/... overloads.PreferUniConstraintStream.impact(Score)and equivalent bi/tri/... overloads.PreferUniConstraintStream.penalize(Score)and equivalent bi/tri/... overloads.PreferUniConstraintStream.penalize(Score)and equivalent bi/tri/... overloads.Preferpenalize()andConstraintWeightOverrides.Preferpenalize()andConstraintWeightOverrides.PreferUniConstraintStream.reward(Score)and equivalent bi/tri/... overloads.PreferUniConstraintStream.reward(Score)and equivalent bi/tri/... overloads.Preferreward()andConstraintWeightOverrides.Preferreward()andConstraintWeightOverrides.Deprecated on account ofNoChangePhasehaving no use.PreferSolver.addProblemChanges(List).It is recommended to useSolverManager.solveBuilder()It is recommended to useSolverManager.solveBuilder()It is recommended to useSolverManager.solveBuilder()It is recommended to useSolverManager.solveBuilder()while also providing a consumer for the best solutionIt is recommended to useSolverManager.solveBuilder()while also providing a consumer for the best solutionIt is recommended to useSolverManager.solveBuilder()while also providing a consumer for the best solutionDeprecated in favor ofEntitySelectorConfig.getComparatorClass()Deprecated in favor ofEntitySelectorConfig.getComparatorFactoryClass()Deprecated in favor ofEntitySelectorConfig.setComparatorClass(Class)Deprecated in favor ofEntitySelectorConfig.setComparatorFactoryClass(Class)Deprecated in favor ofEntitySelectorConfig.withComparatorClass(Class)Deprecated in favor ofEntitySelectorConfig.withComparatorFactoryClass(Class)The maximumSubListSize on the SubListChangeMoveSelectorConfig is deprecated and will be removed in a future major version of Timefold. UseSubListSelectorConfig.getMaximumSubListSize()instead.The minimumSubListSize on the SubListChangeMoveSelectorConfig is deprecated and will be removed in a future major version of Timefold. UseSubListSelectorConfig.getMinimumSubListSize()instead.The maximumSubListSize on the SubListChangeMoveSelectorConfig is deprecated and will be removed in a future major version of Timefold. UseSubListSelectorConfig.setMaximumSubListSize(Integer)instead.The minimumSubListSize on the SubListChangeMoveSelectorConfig is deprecated and will be removed in a future major version of Timefold. UseSubListSelectorConfig.setMinimumSubListSize(Integer)instead.The maximumSubListSize on the SubListSwapMoveSelectorConfig is deprecated and will be removed in a future major version of Timefold. UseSubListSelectorConfig.getMaximumSubListSize()instead.The minimumSubListSize on the SubListSwapMoveSelectorConfig is deprecated and will be removed in a future major version of Timefold. UseSubListSelectorConfig.getMinimumSubListSize()instead.The maximumSubListSize on the SubListSwapMoveSelectorConfig is deprecated and will be removed in a future major version of Timefold. UseSubListSelectorConfig.setMaximumSubListSize(Integer)instead.The minimumSubListSize on the SubListSwapMoveSelectorConfig is deprecated and will be removed in a future major version of Timefold. UseSubListSelectorConfig.setMinimumSubListSize(Integer)instead.ai.timefold.solver.core.config.heuristic.selector.move.MoveSelectorConfig.getSorterComparatorClass()Deprecated in favor ofMoveSelectorConfig.getComparatorClass()Deprecated in favor ofMoveSelectorConfig.getComparatorFactoryClass()Deprecated in favor ofMoveSelectorConfig.setComparatorClass(Class)Deprecated in favor ofMoveSelectorConfig.setComparatorFactoryClass(Class)Deprecated in favor ofMoveSelectorConfig.withComparatorClass(Class)Deprecated in favor ofMoveSelectorConfig.withComparatorFactoryClass(Class)Deprecated in favor ofValueSelectorConfig.getComparatorClass()Deprecated in favor ofValueSelectorConfig.getComparatorFactoryClass()Deprecated in favor ofValueSelectorConfig.setComparatorClass(Class)Deprecated in favor ofValueSelectorConfig.setComparatorFactoryClass(Class)Deprecated in favor ofValueSelectorConfig.withComparatorClass(Class)Deprecated in favor ofValueSelectorConfig.withComparatorFactoryClass(Class)Deprecated, no longer has any effect.Deprecated on account of never having worked in the first place.Deprecated, no longer has any effect.Deprecated on account of never having worked in the first place.Deprecated, no longer has any effect.Deprecated on account of never having worked in the first place.Deprecated, no longer has any effect.Deprecated on account of never having worked in the first place.Deprecated, no longer has any effect.Deprecated, no longer has any effect.There is only one implementation, so this method is deprecated. This method no longer has any effect.All support for Score DRL was removed when Timefold was forked from OptaPlanner. See DRL to Constraint Streams migration recipe.There is only one implementation, so this method is deprecated. This method no longer has any effect.All support for Score DRL was removed when Timefold was forked from OptaPlanner. See DRL to Constraint Streams migration recipe.There is only one implementation, so this method is deprecated. This method no longer has any effect.All support for Score DRL was removed when Timefold was forked from OptaPlanner. See DRL to Constraint Streams migration recipe.All support for Score DRL was removed when Timefold was forked from OptaPlanner. See DRL to Constraint Streams migration recipe.UseEnvironmentMode.isIntrusivelyAsserted()instead.UseEnvironmentMode.isFullyAsserted()instead.A custom terminationClass is deprecated and will be removed in a future major version of Timefold.A custom terminationClass is deprecated and will be removed in a future major version of Timefold.A custom terminationClass is deprecated and will be removed in a future major version of Timefold.PreferEntityDescriptor.getEntityForEachFilter()()}.ConstraintConfigurationwas replaced byConstraintWeightOverrides.The solver automatically generates undo moves, this method is no longer used.PreferMove.doMoveOnly(ScoreDirector)instead, undo moves no longer have any effect.Unused, but kept for backward compatibility.
-
Deprecated ConstructorsConstructorDescriptionUsers should not manually construct instances of this event.Users should not manually construct instances of this event.Users should not manually construct instances of this event.
-
Deprecated Enum ConstantsEnum ConstantDescriptionin favor of
ConstraintStreamImplType.BAVET.useEntitySorterManner.DESCENDINGinsteaduseEntitySorterManner.DESCENDING_IF_AVAILABLEinsteaduseValueSorterManner.DESCENDINGinsteaduseValueSorterManner.DESCENDING_IF_AVAILABLEinsteaduseValueSorterManner.ASCENDINGinsteaduseValueSorterManner.ASCENDING_IF_AVAILABLEinsteadPreferEnvironmentMode.STEP_ASSERT.PreferEnvironmentMode.NO_ASSERT.Deprecated on account ofNoChangePhasehaving no use.this semantics is deprecated and kept around for backward compatibility reasons. It will be removed in 2.0, together with the from() family of methods, along with this entire enum.Only used when Users manually construct instances ofBestSolutionChangedEvent.
-
Deprecated Annotation Interface ElementsAnnotation Interface ElementDescriptionDeprecated in favor of
PlanningEntity.comparatorClass().Deprecated in favor ofPlanningEntity.comparatorFactoryClass().Prefer usingPlanningPin.Support for custom scores is deprecated and will be removed in Timefold Solver 2.0.When multi-threaded solving, ensure your domain classes use @PlanningIdinstead.UsePlanningVariable.allowsUnassigned()instead.Deprecated in favor ofPlanningVariable.comparatorClass().Deprecated in favor ofPlanningVariable.comparatorFactoryClass().
ConstraintWeightOverridesinstead.