Class TerminationConfig
java.lang.Object
ai.timefold.solver.core.config.AbstractConfig<TerminationConfig>
ai.timefold.solver.core.config.solver.termination.TerminationConfig
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription@Nullable Long@Nullable Long@NonNull TerminationConfigTypically implemented by constructing a new instance and callingAbstractConfig.inherit(AbstractConfig)on it.@Nullable Boolean@Nullable String@Nullable Long@Nullable DiminishedReturnsTerminationConfig@Nullable Long@Nullable Long@Nullable Long@Nullable Long@Nullable Long@Nullable Long@Nullable Duration@Nullable IntegerClass<? extends Termination>Deprecated, for removal: This API element is subject to removal in a future version.A custom terminationClass is deprecated and will be removed in a future major version of Timefold.@Nullable TerminationCompositionStyle@Nullable List<@NonNull TerminationConfig>@Nullable Long@Nullable Long@Nullable Long@Nullable Long@Nullable String@Nullable Long@Nullable Duration@Nullable Integer@NonNull TerminationConfiginherit(@NonNull TerminationConfig inheritedConfig) Inherits each property of theinheritedConfigunless that property (or a semantic alternative) is defined by this instance (which overwrites the inherited behaviour).booleanReturn true if this TerminationConfig configures a termination condition.voidoverwriteSpentLimit(@Nullable Duration spentLimit) voidoverwriteUnimprovedSpentLimit(@Nullable Duration unimprovedSpentLimit) voidsetBestScoreFeasible(@Nullable Boolean bestScoreFeasible) voidsetBestScoreLimit(@Nullable String bestScoreLimit) voidsetDaysSpentLimit(@Nullable Long daysSpentLimit) voidsetDiminishedReturnsConfig(@Nullable DiminishedReturnsTerminationConfig diminishedReturnsConfig) voidsetHoursSpentLimit(@Nullable Long hoursSpentLimit) voidsetMillisecondsSpentLimit(@Nullable Long millisecondsSpentLimit) voidsetMinutesSpentLimit(@Nullable Long minutesSpentLimit) voidsetMoveCountLimit(@Nullable Long moveCountLimit) voidsetScoreCalculationCountLimit(@Nullable Long scoreCalculationCountLimit) voidsetSecondsSpentLimit(@Nullable Long secondsSpentLimit) voidsetSpentLimit(@Nullable Duration spentLimit) voidsetStepCountLimit(@Nullable Integer stepCountLimit) voidsetTerminationClass(Class<? extends Termination> terminationClass) Deprecated, for removal: This API element is subject to removal in a future version.A custom terminationClass is deprecated and will be removed in a future major version of Timefold.voidsetTerminationCompositionStyle(@Nullable TerminationCompositionStyle terminationCompositionStyle) voidsetTerminationConfigList(@Nullable List<@NonNull TerminationConfig> terminationConfigList) voidsetUnimprovedDaysSpentLimit(@Nullable Long unimprovedDaysSpentLimit) voidsetUnimprovedHoursSpentLimit(@Nullable Long unimprovedHoursSpentLimit) voidsetUnimprovedMillisecondsSpentLimit(@Nullable Long unimprovedMillisecondsSpentLimit) voidsetUnimprovedMinutesSpentLimit(@Nullable Long unimprovedMinutesSpentLimit) voidsetUnimprovedScoreDifferenceThreshold(@Nullable String unimprovedScoreDifferenceThreshold) voidsetUnimprovedSecondsSpentLimit(@Nullable Long unimprovedSecondsSpentLimit) voidsetUnimprovedSpentLimit(@Nullable Duration unimprovedSpentLimit) voidsetUnimprovedStepCountLimit(@Nullable Integer unimprovedStepCountLimit) voidshortenTimeMillisSpentLimit(long timeMillisSpentLimit) voidvisitReferencedClasses(@NonNull Consumer<Class<?>> classVisitor) Call the class visitor on each (possibly null) Class instance provided to this config by the user (including those provided in child configs).@NonNull TerminationConfigwithBestScoreFeasible(@NonNull Boolean bestScoreFeasible) @NonNull TerminationConfigwithBestScoreLimit(@NonNull String bestScoreLimit) @NonNull TerminationConfigwithDaysSpentLimit(@NonNull Long daysSpentLimit) @NonNull TerminationConfig@NonNull TerminationConfigwithDiminishedReturnsConfig(@NonNull DiminishedReturnsTerminationConfig diminishedReturnsConfig) @NonNull TerminationConfigwithHoursSpentLimit(@NonNull Long hoursSpentLimit) @NonNull TerminationConfigwithMillisecondsSpentLimit(@NonNull Long millisecondsSpentLimit) @NonNull TerminationConfigwithMinutesSpentLimit(@NonNull Long minutesSpentLimit) @NonNull TerminationConfigwithMoveCountLimit(@NonNull Long moveCountLimit) @NonNull TerminationConfigwithScoreCalculationCountLimit(@NonNull Long scoreCalculationCountLimit) @NonNull TerminationConfigwithSecondsSpentLimit(@NonNull Long secondsSpentLimit) @NonNull TerminationConfigwithSpentLimit(@NonNull Duration spentLimit) @NonNull TerminationConfigwithStepCountLimit(@NonNull Integer stepCountLimit) withTerminationClass(Class<? extends Termination> terminationClass) Deprecated, for removal: This API element is subject to removal in a future version.A custom terminationClass is deprecated and will be removed in a future major version of Timefold.@NonNull TerminationConfigwithTerminationCompositionStyle(@NonNull TerminationCompositionStyle terminationCompositionStyle) @NonNull TerminationConfigwithTerminationConfigList(@NonNull List<@NonNull TerminationConfig> terminationConfigList) @NonNull TerminationConfigwithUnimprovedDaysSpentLimit(@NonNull Long unimprovedDaysSpentLimit) @NonNull TerminationConfigwithUnimprovedHoursSpentLimit(@NonNull Long unimprovedHoursSpentLimit) @NonNull TerminationConfigwithUnimprovedMillisecondsSpentLimit(@NonNull Long unimprovedMillisecondsSpentLimit) @NonNull TerminationConfigwithUnimprovedMinutesSpentLimit(@NonNull Long unimprovedMinutesSpentLimit) @NonNull TerminationConfigwithUnimprovedScoreDifferenceThreshold(@NonNull String unimprovedScoreDifferenceThreshold) @NonNull TerminationConfigwithUnimprovedSecondsSpentLimit(@NonNull Long unimprovedSecondsSpentLimit) @NonNull TerminationConfigwithUnimprovedSpentLimit(@NonNull Duration unimprovedSpentLimit) @NonNull TerminationConfigwithUnimprovedStepCountLimit(@NonNull Integer unimprovedStepCountLimit) Methods inherited from class ai.timefold.solver.core.config.AbstractConfig
toString
-
Constructor Details
-
TerminationConfig
public TerminationConfig()
-
-
Method Details
-
getTerminationClass
Deprecated, for removal: This API element is subject to removal in a future version.A custom terminationClass is deprecated and will be removed in a future major version of Timefold. -
setTerminationClass
@Deprecated(forRemoval=true) public void setTerminationClass(Class<? extends Termination> terminationClass) Deprecated, for removal: This API element is subject to removal in a future version.A custom terminationClass is deprecated and will be removed in a future major version of Timefold. -
getTerminationCompositionStyle
-
setTerminationCompositionStyle
public void setTerminationCompositionStyle(@Nullable TerminationCompositionStyle terminationCompositionStyle) -
getDiminishedReturnsConfig
-
setDiminishedReturnsConfig
public void setDiminishedReturnsConfig(@Nullable DiminishedReturnsTerminationConfig diminishedReturnsConfig) -
getSpentLimit
-
setSpentLimit
-
getMillisecondsSpentLimit
-
setMillisecondsSpentLimit
-
getSecondsSpentLimit
-
setSecondsSpentLimit
-
getMinutesSpentLimit
-
setMinutesSpentLimit
-
getHoursSpentLimit
-
setHoursSpentLimit
-
getDaysSpentLimit
-
setDaysSpentLimit
-
getUnimprovedSpentLimit
-
setUnimprovedSpentLimit
-
getUnimprovedMillisecondsSpentLimit
-
setUnimprovedMillisecondsSpentLimit
-
getUnimprovedSecondsSpentLimit
-
setUnimprovedSecondsSpentLimit
-
getUnimprovedMinutesSpentLimit
-
setUnimprovedMinutesSpentLimit
-
getUnimprovedHoursSpentLimit
-
setUnimprovedHoursSpentLimit
-
getUnimprovedDaysSpentLimit
-
setUnimprovedDaysSpentLimit
-
getUnimprovedScoreDifferenceThreshold
-
setUnimprovedScoreDifferenceThreshold
public void setUnimprovedScoreDifferenceThreshold(@Nullable String unimprovedScoreDifferenceThreshold) -
getBestScoreLimit
-
setBestScoreLimit
-
getBestScoreFeasible
-
setBestScoreFeasible
-
getStepCountLimit
-
setStepCountLimit
-
getUnimprovedStepCountLimit
-
setUnimprovedStepCountLimit
-
getScoreCalculationCountLimit
-
setScoreCalculationCountLimit
-
getMoveCountLimit
-
setMoveCountLimit
-
getTerminationConfigList
-
setTerminationConfigList
public void setTerminationConfigList(@Nullable List<@NonNull TerminationConfig> terminationConfigList) -
withTerminationClass
@Deprecated(forRemoval=true) public TerminationConfig withTerminationClass(Class<? extends Termination> terminationClass) Deprecated, for removal: This API element is subject to removal in a future version.A custom terminationClass is deprecated and will be removed in a future major version of Timefold. -
withTerminationCompositionStyle
public @NonNull TerminationConfig withTerminationCompositionStyle(@NonNull TerminationCompositionStyle terminationCompositionStyle) -
withDiminishedReturns
-
withDiminishedReturnsConfig
public @NonNull TerminationConfig withDiminishedReturnsConfig(@NonNull DiminishedReturnsTerminationConfig diminishedReturnsConfig) -
withSpentLimit
-
withMillisecondsSpentLimit
-
withSecondsSpentLimit
-
withMinutesSpentLimit
-
withHoursSpentLimit
-
withDaysSpentLimit
-
withUnimprovedSpentLimit
-
withUnimprovedMillisecondsSpentLimit
public @NonNull TerminationConfig withUnimprovedMillisecondsSpentLimit(@NonNull Long unimprovedMillisecondsSpentLimit) -
withUnimprovedSecondsSpentLimit
public @NonNull TerminationConfig withUnimprovedSecondsSpentLimit(@NonNull Long unimprovedSecondsSpentLimit) -
withUnimprovedMinutesSpentLimit
public @NonNull TerminationConfig withUnimprovedMinutesSpentLimit(@NonNull Long unimprovedMinutesSpentLimit) -
withUnimprovedHoursSpentLimit
public @NonNull TerminationConfig withUnimprovedHoursSpentLimit(@NonNull Long unimprovedHoursSpentLimit) -
withUnimprovedDaysSpentLimit
public @NonNull TerminationConfig withUnimprovedDaysSpentLimit(@NonNull Long unimprovedDaysSpentLimit) -
withUnimprovedScoreDifferenceThreshold
public @NonNull TerminationConfig withUnimprovedScoreDifferenceThreshold(@NonNull String unimprovedScoreDifferenceThreshold) -
withBestScoreLimit
-
withBestScoreFeasible
-
withStepCountLimit
-
withUnimprovedStepCountLimit
public @NonNull TerminationConfig withUnimprovedStepCountLimit(@NonNull Integer unimprovedStepCountLimit) -
withScoreCalculationCountLimit
public @NonNull TerminationConfig withScoreCalculationCountLimit(@NonNull Long scoreCalculationCountLimit) -
withMoveCountLimit
-
withTerminationConfigList
public @NonNull TerminationConfig withTerminationConfigList(@NonNull List<@NonNull TerminationConfig> terminationConfigList) -
overwriteSpentLimit
-
calculateTimeMillisSpentLimit
-
shortenTimeMillisSpentLimit
public void shortenTimeMillisSpentLimit(long timeMillisSpentLimit) -
overwriteUnimprovedSpentLimit
-
calculateUnimprovedTimeMillisSpentLimit
-
isConfigured
public boolean isConfigured()Return true if this TerminationConfig configures a termination condition. Note: this does not mean it will always terminate: ex: bestScoreLimit configured, but it is impossible to reach the bestScoreLimit. -
inherit
Description copied from class:AbstractConfigInherits each property of theinheritedConfigunless that property (or a semantic alternative) is defined by this instance (which overwrites the inherited behaviour).After the inheritance, if a property on this
AbstractConfigcomposition is replaced, it should not affect the inherited composition instance.- Specified by:
inheritin classAbstractConfig<TerminationConfig>- Returns:
- this
-
copyConfig
Description copied from class:AbstractConfigTypically implemented by constructing a new instance and callingAbstractConfig.inherit(AbstractConfig)on it.- Specified by:
copyConfigin classAbstractConfig<TerminationConfig>- Returns:
- new instance
-
visitReferencedClasses
Description copied from class:AbstractConfigCall the class visitor on each (possibly null) Class instance provided to this config by the user (including those provided in child configs). Required to create the bean factory in Quarkus.- Specified by:
visitReferencedClassesin classAbstractConfig<TerminationConfig>- Parameters:
classVisitor- The visitor of classes. Can accept null instances of Class.
-