Deprecated API
Contents
-
Terminally Deprecated ElementsElementDescriptionUse
ConstraintWeightOverridesinstead.UseConstraintWeightOverridesinstead.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.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.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.UseHardMediumSoftScore.hardScore()instead.UseHardMediumSoftScore.mediumScore()instead.UseHardMediumSoftScore.softScore()instead.UseHardMediumSoftBigDecimalScore.hardScore()instead.UseHardMediumSoftBigDecimalScore.mediumScore()instead.UseHardMediumSoftBigDecimalScore.softScore()instead.UseHardMediumSoftLongScore.hardScore()instead.UseHardMediumSoftLongScore.mediumScore()instead.UseHardMediumSoftLongScore.softScore()instead.UseHardSoftScore.hardScore()instead.UseHardSoftScore.softScore()instead.UseHardSoftBigDecimalScore.hardScore()instead.UseHardSoftBigDecimalScore.softScore()instead.UseHardSoftLongScore.hardScore()instead.UseHardSoftLongScore.softScore()instead.UseSimpleScore.score()instead.UseSimpleBigDecimalScore.score()instead.UseSimpleLongScore.score()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.UseScore.initScore()instead.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.in favor ofConstraintStreamImplType.BAVET.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 solutionThe 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.Deprecated on account of never having worked in the first place.Deprecated on account of never having worked in the first place.Deprecated on account of never having worked in the first place.Deprecated on account of never having worked in the first place.Score DRL is deprecated and will be removed in a future major version of Timefold. See DRL to Constraint Streams migration recipe.Score DRL is deprecated and will be removed in a future major version of Timefold. See DRL to Constraint Streams migration recipe.Score DRL is deprecated and will be removed in a future major version of Timefold. See DRL to Constraint Streams migration recipe.Score DRL is deprecated and will be removed in a future major version of Timefold. See DRL to Constraint Streams migration recipe.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.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.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.
-
Deprecated PackagesPackageDescriptionWhen multi-threaded solving, ensure your domain classes use @
PlanningIdinstead.
-
Deprecated InterfacesInterfaceDescriptionUse
SolutionManagerinstead.PreferProblemChange.PreferRecommendedAssignmentinstead.
-
Deprecated ClassesClassDescriptionImplement
IBendableScoreinstead.ImplementScoreinstead.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.UseDefaultSolutionManagerinstead.
-
Deprecated Enum ClassesEnum ClassDescriptionWhen multi-threaded solving, ensure your domain classes use @
PlanningIdinstead.
-
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 FieldsFieldDescriptionThe maximumSubListSize on the SubListChangeMoveSelectorConfig is deprecated and will be removed in a future major version of Timefold. Use
SubListSelectorConfig.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 MethodsMethodDescriptionSupport 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.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.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.UseHardMediumSoftScore.hardScore()instead.UseHardMediumSoftScore.mediumScore()instead.UseHardMediumSoftScore.softScore()instead.UseHardMediumSoftBigDecimalScore.hardScore()instead.UseHardMediumSoftBigDecimalScore.mediumScore()instead.UseHardMediumSoftBigDecimalScore.softScore()instead.UseHardMediumSoftLongScore.hardScore()instead.UseHardMediumSoftLongScore.mediumScore()instead.UseHardMediumSoftLongScore.softScore()instead.UseHardSoftScore.hardScore()instead.UseHardSoftScore.softScore()instead.UseHardSoftBigDecimalScore.hardScore()instead.UseHardSoftBigDecimalScore.softScore()instead.UseHardSoftLongScore.hardScore()instead.UseHardSoftLongScore.softScore()instead.UseSimpleScore.score()instead.UseSimpleBigDecimalScore.score()instead.UseSimpleLongScore.score()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.UseScore.initScore()instead.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.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 solutionThe 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.Deprecated on account of never having worked in the first place.Deprecated on account of never having worked in the first place.Deprecated on account of never having worked in the first place.Deprecated on account of never having worked in the first place.Score DRL is deprecated and will be removed in a future major version of Timefold. See DRL to Constraint Streams migration recipe.Score DRL is deprecated and will be removed in a future major version of Timefold. See DRL to Constraint Streams migration recipe.Score DRL is deprecated and will be removed in a future major version of Timefold. See DRL to Constraint Streams migration recipe.Score DRL is deprecated and will be removed in a future major version of Timefold. See DRL to Constraint Streams migration recipe.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.ConstraintConfigurationwas replaced byConstraintWeightOverrides.Unused, but kept for backward compatibility.
-
Deprecated ConstructorsConstructorDescription
-
Deprecated Enum ConstantsEnum ConstantDescriptionin favor of
ConstraintStreamImplType.BAVET.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.
-
Deprecated Annotation Interface ElementsAnnotation Interface ElementDescriptionSupport 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.
ConstraintWeightOverridesinstead.