# All Classes

- All Classes Interface Summary Class Summary Enum Summary Exception Summary Annotation Types Summary
  Class | Description
  --- | ---
  AbstractAcceptor | Abstract superclass for `Acceptor`.
  AbstractBendableScore<S extends FeasibilityScore<S>> | Abstract superclass for bendable `Score` types.
  AbstractBendableScoreDefinition<S extends FeasibilityScore<S>> |
  AbstractBiJoiner<A,​B> |
  AbstractCachingEntitySelector |
  AbstractCachingMoveSelector |
  AbstractCachingValueSelector |
  AbstractCompositeTermination | Abstract superclass that combines multiple `Termination`s.
  AbstractConfig<C extends AbstractConfig> | A config class is a user friendly, validating configuration class that maps XML input.
  AbstractConstraint<Solution_,​ConstraintFactory extends InnerConstraintFactory<Solution_>> |
  AbstractConstraintSessionFactory<Solution_> |
  AbstractConstraintStream<Solution_> |
  AbstractConstraintStreamHelper<Right,​JoinedStream,​Joiner,​Predicate> |
  AbstractConstructionHeuristicForager |
  AbstractCountableValueRange<T> | Abstract superclass for `CountableValueRange` (and therefore `ValueRange`).
  AbstractCustomPhaseCommand<Solution_> | Deprecated. Use the {@link CustomPhaseCommand)} interface directly instead.
  AbstractEntityPlacer | Abstract superclass for `EntityPlacer`.
  AbstractEntitySelector | Abstract superclass for `EntitySelector`.
  AbstractEventSupport<E extends EventListener> |
  AbstractFinalistPodium | Abstract superclass for `FinalistPodium`.
  AbstractFromPropertyValueRangeDescriptor<Solution_> |
  AbstractIncrementalScoreCalculator<Solution_> | Deprecated. for removal
  AbstractJoiner |
  AbstractLocalSearchForager | Abstract superclass for `LocalSearchForager`.
  AbstractMove<Solution_> | Abstract superclass for `Move`.
  AbstractMoveScope<Solution_> |
  AbstractMoveSelector | Abstract superclass for `MoveSelector`.
  AbstractOriginalChangeIterator<S extends Move> |
  AbstractOriginalSwapIterator<S,​SubS> |
  AbstractPentaJoiner<A,​B,​C,​D,​E> |
  AbstractPhase<Solution_> |
  AbstractPhaseScope<Solution_> |
  AbstractPillarMoveSelectorConfig<C extends AbstractPillarMoveSelectorConfig<C>> |
  AbstractQuadJoiner<A,​B,​C,​D> |
  AbstractRandomChangeIterator<S extends Move> |
  AbstractRandomSwapIterator<S,​SubS> |
  AbstractScore<S extends Score> | Abstract superclass for `Score`.
  AbstractScoreDefinition<S extends Score<S>> | Abstract superclass for `ScoreDefinition`.
  AbstractScoreDirector<Solution_,​Factory_ extends AbstractScoreDirectorFactory<Solution_>> | Abstract superclass for `ScoreDirector`.
  AbstractScoreDirectorFactory<Solution_> | Abstract superclass for `ScoreDirectorFactory`.
  AbstractScoreHibernateType | This class is Hibernate specific, because JPA 2.1's @Converter currently cannot handle 1 class mapping to multiple SQL columns.
  AbstractScoreHolder<Score_ extends Score<Score_>> | Deprecated. for removal from public API
  AbstractScoreJacksonJsonDeserializer<Score_ extends Score<Score_>> | Jackson binding support for a `Score` type.
  AbstractScoreJacksonJsonSerializer<Score_ extends Score<Score_>> | Jackson binding support for a `Score` subtype.
  AbstractScoreJaxbXmlAdapter<Score_ extends Score<Score_>> |
  AbstractScoreJsonbAdapter<Score_ extends Score<Score_>> | JSON-B binding support for a `Score` type.
  AbstractScoreVerifier<Solution_> | Used in unit tests to assert that 1 particular solution has a specific weight for a specific constraint.
  AbstractScoreXStreamConverter |
  AbstractSelector | Abstract superclass for `Selector`.
  AbstractSolution<S extends Score> | Deprecated. Use `PlanningSolution.autoDiscoverMemberType()` instead.
  AbstractSolver<Solution_> | Common code between `DefaultSolver` and child solvers (such as `PartitionSolver`.
  AbstractStepScope<Solution_> |
  AbstractTabuAcceptor | Abstract superclass for all Tabu Acceptors.
  AbstractTabuSizeStrategy |
  AbstractTermination | Abstract superclass for `Termination`.
  AbstractTriJoiner<A,​B,​C> |
  AbstractUncountableValueRange<T> | Abstract superclass for `ValueRange` that is not a `CountableValueRange`).
  AbstractValueRangeDescriptor<Solution_> |
  AbstractValueSelector | Abstract superclass for `ValueSelector`.
  AcceptedLocalSearchForager | A `LocalSearchForager` which forages accepted moves and ignores unaccepted moves.
  Acceptor | An Acceptor accepts or rejects a selected `Move`.
  AcceptorConfig |
  AcceptorType |
  AlphabeticMemberComparator |
  AnchorShadowVariable | Specifies that a bean property (or a field) is the anchor of a chained `PlanningVariable`, which implies it's a shadow variable.
  AnchorShadowVariableDescriptor<Solution_> |
  AnchorVariableDemand |
  AnchorVariableListener<Solution_> |
  AnchorVariableSupply | Only supported for chained variables.
  AndCompositeTermination |
  ApplyStepOperation<Solution_> |
  AutoDiscoverMemberType | Determines if and how to automatically presume `ConstraintConfigurationProvider`, `ProblemFactCollectionProperty`, `ProblemFactProperty`, `PlanningEntityCollectionProperty`, `PlanningEntityProperty` and `PlanningScore` annotations on `PlanningSolution` members based from the member type.
  BasicPlumbingTermination | Concurrency notes: Condition predicate on (`BasicPlumbingTermination.problemFactChangeQueue` is not empty or `BasicPlumbingTermination.terminatedEarly` is true).
  BavetAbstractBiConstraintStream<Solution_,​A,​B> |
  BavetAbstractBiNode<A,​B> |
  BavetAbstractBiTuple<A,​B> |
  BavetAbstractConstraintStream<Solution_> |
  BavetAbstractNode |
  BavetAbstractTriConstraintStream<Solution_,​A,​B,​C> |
  BavetAbstractTriNode<A,​B,​C> |
  BavetAbstractTriTuple<A,​B,​C> |
  BavetAbstractTuple |
  BavetAbstractUniConstraintStream<Solution_,​A> |
  BavetAbstractUniNode<A> |
  BavetAbstractUniTuple<A> |
  BavetConstraint<Solution_> |
  BavetConstraintFactory<Solution_> |
  BavetConstraintSession<Solution_> |
  BavetConstraintSessionFactory<Solution_> |
  BavetEqualsAndComparisonIndex<Tuple_ extends BavetJoinBridgeTuple> |
  BavetEqualsIndex<Tuple_ extends BavetJoinBridgeTuple> |
  BavetFilterBiConstraintStream<Solution_,​A,​B> |
  BavetFilterBiNode<A,​B> |
  BavetFilterBiTuple<A,​B> |
  BavetFilterTriConstraintStream<Solution_,​A,​B,​C> |
  BavetFilterTriNode<A,​B,​C> |
  BavetFilterTriTuple<A,​B,​C> |
  BavetFilterUniConstraintStream<Solution_,​A> |
  BavetFilterUniNode<A> |
  BavetFilterUniTuple<A> |
  BavetFromUniConstraintStream<Solution_,​A> |
  BavetFromUniNode<A> |
  BavetFromUniTuple<A> |
  BavetGroupBiConstraintStream<Solution_,​GroupKey_,​ResultContainer_,​Result_> |
  BavetGroupBiNode<GroupKey_,​ResultContainer_,​Result_> |
  BavetGroupBiTuple<GroupKey_,​ResultContainer_,​Result_> |
  BavetGroupBridgeTuple |
  BavetGroupBridgeUniConstraintStream<Solution_,​A,​NewA,​ResultContainer_,​NewB> |
  BavetGroupBridgeUniNode<A,​NewA,​ResultContainer_,​NewB> |
  BavetGroupBridgeUniTuple<A,​NewA,​ResultContainer_,​NewB> |
  BavetGroupTuple |
  BavetIndex<Tuple_ extends BavetJoinBridgeTuple> |
  BavetIndexFactory |
  BavetIndexKey |
  BavetJoinBiConstraintStream<Solution_,​A,​B> |
  BavetJoinBiNode<A,​B> |
  BavetJoinBiTuple<A,​B> |
  BavetJoinBridgeBiConstraintStream<Solution_,​A,​B> |
  BavetJoinBridgeBiNode<A,​B> |
  BavetJoinBridgeBiTuple<A,​B> |
  BavetJoinBridgeConstraintStream<Solution_> |
  BavetJoinBridgeNode |
  BavetJoinBridgeTuple |
  BavetJoinBridgeUniConstraintStream<Solution_,​A> |
  BavetJoinBridgeUniNode<A> |
  BavetJoinBridgeUniTuple<A> |
  BavetJoinConstraintStream<Solution_> |
  BavetJoinNode |
  BavetJoinTriConstraintStream<Solution_,​A,​B,​C> |
  BavetJoinTriNode<A,​B,​C> |
  BavetJoinTriTuple<A,​B,​C> |
  BavetJoinTuple |
  BavetNode |
  BavetNodeBuildPolicy<Solution_> |
  BavetNoneIndex<Tuple_ extends BavetJoinBridgeTuple> |
  BavetScoringBiConstraintStream<Solution_,​A,​B> |
  BavetScoringBiNode<A,​B> |
  BavetScoringBiTuple<A,​B> |
  BavetScoringNode |
  BavetScoringTriConstraintStream<Solution_,​A,​B,​C> |
  BavetScoringTriNode<A,​B,​C> |
  BavetScoringTriTuple<A,​B,​C> |
  BavetScoringTuple |
  BavetScoringUniConstraintStream<Solution_,​A> |
  BavetScoringUniNode<A> |
  BavetScoringUniTuple<A> |
  BavetTuple |
  BavetTupleState |
  BenchmarkAggregator |
  BenchmarkAggregatorFrame |
  BenchmarkReport |
  BenchmarkReportConfig |
  BenchmarkResult |
  BenchmarkResultIO |
  BendableBigDecimalScore | This `Score` is based on n levels of `BigDecimal` constraints.
  BendableBigDecimalScoreConverter |
  BendableBigDecimalScoreDefinition |
  BendableBigDecimalScoreHibernateType |
  BendableBigDecimalScoreHolder |
  BendableBigDecimalScoreInliner |
  BendableBigDecimalScoreJacksonJsonDeserializer |
  BendableBigDecimalScoreJacksonJsonSerializer |
  BendableBigDecimalScoreJaxbXmlAdapter |
  BendableBigDecimalScoreJsonbAdapter |
  BendableBigDecimalScoreVerifier<Solution_> | To assert the constraints of a `SolverFactory` that uses a `BendableBigDecimalScore`.
  BendableBigDecimalScoreXStreamConverter |
  BendableLongScore | This `Score` is based on n levels of long constraints.
  BendableLongScoreConverter |
  BendableLongScoreDefinition |
  BendableLongScoreHibernateType |
  BendableLongScoreHolder |
  BendableLongScoreInliner |
  BendableLongScoreJacksonJsonDeserializer |
  BendableLongScoreJacksonJsonSerializer |
  BendableLongScoreJaxbXmlAdapter |
  BendableLongScoreJsonbAdapter |
  BendableLongScoreVerifier<Solution_> | To assert the constraints of a `SolverFactory` that uses a `BendableLongScore`.
  BendableLongScoreXStreamConverter |
  BendableScore | This `Score` is based on n levels of int constraints.
  BendableScoreConverter |
  BendableScoreDefinition |
  BendableScoreHibernateType |
  BendableScoreHolder |
  BendableScoreInliner |
  BendableScoreJacksonJsonDeserializer |
  BendableScoreJacksonJsonSerializer |
  BendableScoreJaxbXmlAdapter |
  BendableScoreJsonbAdapter |
  BendableScoreVerifier<Solution_> | To assert the constraints of a `SolverFactory` that uses a `BendableScore`.
  BendableScoreXStreamConverter |
  BestScoreFeasibleTermination |
  BestScoreProblemStatistic |
  BestScoreStatisticPoint |
  BestScoreSubSingleStatistic<Solution_> |
  BestScoreTermination |
  BestSolutionChangedEvent<Solution_> | Delivered when the `best solution` changes during solving.
  BestSolutionMutationProblemStatistic |
  BestSolutionMutationStatisticPoint |
  BestSolutionMutationSubSingleStatistic<Solution_> |
  BestSolutionRecaller<Solution_> | Remembers the `best solution` that a `Solver` encounters.
  BestSolutionRecallerConfig |
  BetaDistributionNearbyRandom |
  BiConstraintCollector<A,​B,​ResultContainer_,​Result_> | Usually created with `ConstraintCollectors`.
  BiConstraintStream<A,​B> | A `ConstraintStream` that matches two facts.
  BiConstraintStreamHelper<A,​B,​C> |
  BigDecimalValueRange |
  BigDecimalWeightedScoreImpacter |
  BigIntegerValueRange |
  BiJoiner<A,​B> | Created with `Joiners`.
  BiTuple<A,​B> |
  BlockDistributionNearbyRandom |
  BooleanValueRange |
  BreadthFirstNodeComparator | Investigate nodes layer by layer: investigate shallower nodes first.
  CachedListRandomIterator<S> | This `Iterator` does not shuffle and is never ending.
  CachingEntitySelector | A `EntitySelector` that caches the result of its child `EntitySelector`.
  CachingMoveSelector | A `MoveSelector` that caches the result of its child `MoveSelector`.
  CachingValueSelector | A `ValueSelector` that caches the result of its child `ValueSelector`.
  CartesianProductMoveSelector | A `CompositeMoveSelector` that Cartesian products 2 or more `MoveSelector`s.
  CartesianProductMoveSelectorConfig |
  ChainedChangeMove<Solution_> |
  ChainedSwapMove<Solution_> |
  ChangeMove<Solution_> |
  ChangeMoveSelector |
  ChangeMoveSelectorConfig |
  CheckBoxTree |
  ChildThreadPlumbingTermination |
  ChildThreadType |
  ClassAndPlanningIdComparator |
  CollectionInverseVariableDemand | To get an instance, demand a `CollectionInverseVariableDemand` from `InnerScoreDirector.getSupplyManager()`.
  CollectionInverseVariableListener |
  CollectionInverseVariableSupply |
  ComparatorSelectionSorter<Solution_,​T> | Sorts a selection `List` based on a `Comparator`.
  CompositeAcceptor | Combines several acceptors into one.
  CompositeBiJoiner<A,​B> |
  CompositeCountableValueRange<T> |
  CompositeMove<Solution_> | A CompositeMove is composed out of multiple other moves.
  CompositeMoveSelector | Abstract superclass for every composite `MoveSelector`.
  CompositePentaJoiner<A,​B,​C,​D,​E> |
  CompositeQuadJoiner<A,​B,​C,​D> |
  CompositeSelectionFilter<Solution_,​T> | Combines several `SelectionFilter`s into one.
  CompositeTriJoiner<A,​B,​C> |
  CompositeValueRangeDescriptor<Solution_> |
  ConcurrentMemoization<K,​V> | A thread-safe memoization that caches a calculation.
  ConfigUtils |
  Constraint | This represents a single constraint in the `ConstraintStream` API that impacts the `Score`.
  ConstraintCollectors | Creates an `UniConstraintCollector`, `BiConstraintCollector`, ... instance for use in `UniConstraintStream.groupBy(Function, UniConstraintCollector)`, ...
  ConstraintConfiguration | Allows end users to change the constraint weights, by not hard coding them.
  ConstraintConfigurationDescriptor<Solution_> |
  ConstraintConfigurationProvider | Specifies that a property (or a field) on a `PlanningSolution` class is a `ConstraintConfiguration`.
  ConstraintFactory | WARNING: The ConstraintStreams/ConstraintProvider API is TECH PREVIEW.
  ConstraintMatch | Retrievable from `ConstraintMatchTotal.getConstraintMatchSet()`.
  ConstraintMatchAwareIncrementalScoreCalculator<Solution_,​Score_ extends Score> | Allows a `IncrementalScoreCalculator` to report `ConstraintMatchTotal`s for explaining a score (= which score constraints match for how much) and also for score corruption analysis.
  ConstraintMatchAwareIncrementalScoreCalculator<Solution_> | Deprecated. in favor of `ConstraintMatchAwareIncrementalScoreCalculator`
  ConstraintMatchScoreComparator | Deprecated. If you need this, it is trivial to implement via `Comparator.comparing(Function)`.
  ConstraintMatchTotal | Explains the `Score` of a `PlanningSolution`, from the opposite side than `Indictment`.
  ConstraintMatchTotalBestScoreStatisticPoint |
  ConstraintMatchTotalBestScoreSubSingleStatistic<Solution_> |
  ConstraintMatchTotalScoreComparator | Deprecated. If you need this, it is trivial to implement via `Comparator.comparing(Function)`.
  ConstraintMatchTotalStepScoreStatisticPoint |
  ConstraintMatchTotalStepScoreSubSingleStatistic<Solution_> |
  ConstraintProvider | WARNING: The ConstraintStreams/ConstraintProvider API is TECH PREVIEW.
  ConstraintSession<Solution_> | An instance of this class must be used in only one thread.
  ConstraintSessionFactory<Solution_> |
  ConstraintStream | A constraint stream is a declaration on how to match `one`, `two` or more objects.
  ConstraintStreamImplType |
  ConstraintStreamScoreDirector<Solution_> | FP streams implementation of `ScoreDirector`, which only recalculates the `Score` of the part of the `working solution` that changed, instead of the going through the entire `PlanningSolution`.
  ConstraintStreamScoreDirectorFactory<Solution_> | FP streams implementation of `ScoreDirectorFactory`.
  ConstraintVerifier<ConstraintProvider_ extends ConstraintProvider,​Solution_> |
  ConstraintWeight | Specifies that a bean property (or a field) set the constraint weight and score level of a constraint.
  ConstraintWeightDescriptor<Solution_> |
  ConstructionHeuristicDecider<Solution_> |
  ConstructionHeuristicForager |
  ConstructionHeuristicForagerConfig |
  ConstructionHeuristicMoveScope<Solution_> |
  ConstructionHeuristicPhase<Solution_> | A `ConstructionHeuristicPhase` is a `Phase` which uses a construction heuristic algorithm, such as First Fit, First Fit Decreasing, Cheapest Insertion, ...
  ConstructionHeuristicPhaseConfig |
  ConstructionHeuristicPhaseLifecycleListener<Solution_> |
  ConstructionHeuristicPhaseLifecycleListenerAdapter<Solution_> | An adapter for `ConstructionHeuristicPhaseLifecycleListener`.
  ConstructionHeuristicPhaseScope<Solution_> |
  ConstructionHeuristicPickEarlyType |
  ConstructionHeuristicStepScope<Solution_> |
  ConstructionHeuristicType |
  CountableValueRange<T> | A `ValueRange` that is ending.
  CustomPhase<Solution_> | A `CustomPhase` is a `Phase` which uses `CustomPhaseCommand`s.
  CustomPhaseCommand<Solution_> | Runs a custom algorithm as a `Phase` of the `Solver` that changes the planning variables.
  CustomPhaseConfig |
  CustomPhaseScope<Solution_> |
  CustomShadowVariable | Specifies that a bean property (or a field) is a custom shadow of 1 or more `PlanningVariable`'s.
  CustomShadowVariable.NullVariableListener | Workaround for annotation limitation in `CustomShadowVariable.variableListenerClass()`.
  CustomShadowVariableDemand | Unlike other `Demand`s, a custom demand isn't equalized based on its sources, but based on its target.
  CustomShadowVariableDescriptor<Solution_> |
  CustomStepScope<Solution_> |
  DeepPlanningClone | Marks a problem fact class as being required to be deep planning cloned.
  DefaultBiConstraintCollector<A,​B,​ResultContainer_,​Result_> |
  DefaultConstraintVerifier<ConstraintProvider_ extends ConstraintProvider,​Solution_> |
  DefaultConstructionHeuristicForager |
  DefaultConstructionHeuristicPhase<Solution_> | Default implementation of `ConstructionHeuristicPhase`.
  DefaultCustomPhase<Solution_> | Default implementation of `CustomPhase`.
  DefaultExhaustiveSearchPhase<Solution_> | Default implementation of `ExhaustiveSearchPhase`.
  DefaultLocalSearchPhase<Solution_> | Default implementation of `LocalSearchPhase`.
  DefaultMultiConstraintAssertion<Solution_> |
  DefaultMultiConstraintVerification<Solution_> |
  DefaultPartitionedSearchPhase<Solution_> | Default implementation of `PartitionedSearchPhase`.
  DefaultPillarSelector |
  DefaultPlannerBenchmark |
  DefaultPlannerBenchmarkFactory |
  DefaultQuadConstraintCollector<A,​B,​C,​D,​ResultContainer_,​Result_> |
  DefaultRandomFactory |
  DefaultScoreManager<Solution_> |
  DefaultSingleConstraintAssertion<Solution_> |
  DefaultSingleConstraintVerification<Solution_> |
  DefaultSolver<Solution_> | Default implementation for `Solver`.
  DefaultSolverFactory<Solution_> |
  DefaultSolverJob<Solution_,​ProblemId_> |
  DefaultSolverManager<Solution_,​ProblemId_> |
  DefaultSolverScope<Solution_> |
  DefaultSolverThreadFactory | Similar to `Executors`'s DefaultThreadFactory, but allows settings a namePrefix.
  DefaultSubChainSelector | This is the common `SubChainSelector` implementation.
  DefaultTriConstraintCollector<A,​B,​C,​ResultContainer_,​Result_> |
  DefaultUniConstraintCollector<A,​ResultContainer_,​Result_> |
  Demand<S extends Supply> | A subsystem submits a demand for a `Supply`.
  DepthFirstNodeComparator | Investigate deeper nodes first.
  DescriptorPolicy |
  DestroyOperation<Solution_> |
  DoubleValueRange |
  DowncastingValueSelector |
  DroolsAbstractAccumulateFunction<ResultContainer_,​InTuple,​OutTuple> |
  DroolsAbstractBiCollectingGroupByCollectorProcessor<ResultContainer1,​ResultContainer2,​InTuple,​KeyTuple,​OutTuple> |
  DroolsAbstractBiConstraintStream<Solution_,​A,​B> |
  DroolsAbstractConstraintStream<Solution_> |
  DroolsAbstractGroupBy<InTuple,​OutTuple> |
  DroolsAbstractGroupByAccumulator<InTuple> |
  DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> |
  DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> |
  DroolsAbstractUniCollectingGroupByCollectorProcessor<ResultContainer,​InTuple,​KeyTuple,​OutTuple> |
  DroolsAbstractUniConstraintStream<Solution_,​A> |
  DroolsAccumulateContext<ResultContainer_> | Each context is uniquely identified by its `System.identityHashCode(Object)`.
  DroolsBiCondition<A,​B,​PatternVar> |
  DroolsBiGroupByAccumulator<A,​B,​NewA,​NewB> |
  DroolsBiRuleStructure<A,​B,​PatternVar> |
  DroolsBiToQuadGroupByAccumulator<A,​B,​NewA,​NewB,​NewC,​NewD> |
  DroolsBiToTriGroupByAccumulator<A,​B,​NewA,​NewB,​NewC> |
  DroolsCondition<PatternVar,​T extends DroolsRuleStructure<PatternVar>> | Encapsulates the low-level rule creation and manipulation operations via the Drools executable model DSL (see `PatternDSL`.
  DroolsCondition.Mutator<InTuple,​OutPatternVar,​R extends DroolsRuleStructure<OutPatternVar>,​C extends DroolsCondition<OutPatternVar,​R>> |
  DroolsConstraint<Solution_> |
  DroolsConstraintFactory<Solution_> |
  DroolsConstraintSession<Solution_> |
  DroolsConstraintSessionFactory<Solution_> |
  DroolsExistsBiConstraintStream<Solution_,​A,​B> |
  DroolsExistsQuadConstraintStream<Solution_,​A,​B,​C,​D> |
  DroolsExistsTriConstraintStream<Solution_,​A,​B,​C> |
  DroolsExistsUniConstraintStream<Solution_,​A> |
  DroolsFilterBiConstraintStream<Solution_,​A,​B> |
  DroolsFilterQuadConstraintStream<Solution_,​A,​B,​C,​D> |
  DroolsFilterTriConstraintStream<Solution_,​A,​B,​C> |
  DroolsFilterUniConstraintStream<Solution_,​A> |
  DroolsFromUniConstraintStream<Solution_,​A> |
  DroolsGroupingBiConstraintStream<Solution_,​NewA,​NewB> |
  DroolsGroupingQuadConstraintStream<Solution_,​NewA,​NewB,​NewC,​NewD> |
  DroolsGroupingTriConstraintStream<Solution_,​NewA,​NewB,​NewC> |
  DroolsGroupingUniConstraintStream<Solution_,​NewA> |
  DroolsJoinBiConstraintStream<Solution_,​A,​B> |
  DroolsJoinQuadConstraintStream<Solution_,​A,​B,​C,​D> |
  DroolsJoinTriConstraintStream<Solution_,​A,​B,​C> |
  DroolsPatternBuilder<T> | Instances of `PatternDSL.PatternDef` are mutable and as such can not be reused by constraint streams that could result in mutually different rules.
  DroolsQuadCondition<A,​B,​C,​D,​PatternVar> |
  DroolsQuadGroupByAccumulator<A,​B,​C,​D,​NewA,​NewB,​NewC,​NewD> |
  DroolsQuadRuleStructure<A,​B,​C,​D,​PatternVar> |
  DroolsQuadToBiGroupByAccumulator<A,​B,​C,​D,​NewA,​NewB> |
  DroolsQuadToTriGroupByAccumulator<A,​B,​C,​D,​NewA,​NewB,​NewC> |
  DroolsRuleStructure<PatternVar> | Represents the left-hand side of a Drools rule.
  DroolsScoreDirector<Solution_> | Drools implementation of `ScoreDirector`, which directs the Rule Engine to calculate the `Score` of the `working solution`.
  DroolsScoreDirectorFactory<Solution_> | Drools implementation of `ScoreDirectorFactory`.
  DroolsScoringBiConstraintStream<Solution_,​A,​B> |
  DroolsScoringQuadConstraintStream<Solution_,​A,​B,​C,​D> |
  DroolsScoringTriConstraintStream<Solution_,​A,​B,​C> |
  DroolsScoringUniConstraintStream<Solution_,​A> |
  DroolsTriCondition<A,​B,​C,​PatternVar> |
  DroolsTriGroupByAccumulator<A,​B,​C,​NewA,​NewB,​NewC> |
  DroolsTriRuleStructure<A,​B,​C,​PatternVar> |
  DroolsTriToBiGroupByAccumulator<A,​B,​C,​NewA,​NewB> |
  DroolsTriToQuadGroupByAccumulator<A,​B,​C,​NewA,​NewB,​NewC,​NewD> |
  DroolsUniCondition<A,​PatternVar> |
  DroolsUniRuleStructure<A,​PatternVar> |
  DroolsUniToBiGroupByAccumulator<A,​NewA,​NewB> |
  DroolsUniToQuadGroupByAccumulator<A,​NewA,​NewB,​NewC,​NewD> |
  DroolsUniToTriGroupByAccumulator<A,​NewA,​NewB,​NewC> |
  EasyScoreCalculator<Solution_,​Score_ extends Score> | Used for easy java `Score` calculation.
  EasyScoreCalculator<Solution_> | Deprecated. in favor of `EasyScoreCalculator`
  EasyScoreDirector<Solution_> | Easy java implementation of `ScoreDirector`, which recalculates the `Score` of the `working solution` every time.
  EasyScoreDirectorFactory<Solution_> | Easy implementation of `ScoreDirectorFactory`.
  EmptyValueRange<T> |
  EntityDependentSortingValueSelector |
  EntityDescriptor<Solution_> |
  EntityIndependentFilteringValueSelector |
  EntityIndependentInitializedValueSelector |
  EntityIndependentValueRangeDescriptor<Solution_> |
  EntityIndependentValueSelector |
  EntityMimicRecorder |
  EntityPlacer |
  EntityPlacerConfig<C extends EntityPlacerConfig> | General superclass for `QueuedEntityPlacerConfig` and `PooledEntityPlacerConfig`.
  EntityRatioTabuSizeStrategy |
  EntitySelector | Selects instances of 1 `PlanningEntity` annotated class.
  EntitySelectorConfig |
  EntitySorterManner | The manner of sorting `PlanningEntity` instances.
  EntityTabuAcceptor |
  EnvironmentMode | The environment mode also allows you to detect common bugs in your implementation.
  EqualsLookUpStrategy |
  ExhaustiveSearchDecider<Solution_> |
  ExhaustiveSearchLayer |
  ExhaustiveSearchNode |
  ExhaustiveSearchPhase<Solution_> | A `ExhaustiveSearchPhase` is a `Phase` which uses an exhaustive algorithm, such as Brute Force.
  ExhaustiveSearchPhaseConfig |
  ExhaustiveSearchPhaseLifecycleListener<Solution_> |
  ExhaustiveSearchPhaseScope<Solution_> |
  ExhaustiveSearchStepScope<Solution_> |
  ExhaustiveSearchType |
  ExternalizedAnchorVariableSupply | Alternative to `AnchorVariableListener`.
  ExternalizedCollectionInverseVariableSupply | Alternative to `CollectionInverseVariableListener`.
  ExternalizedSingletonInverseVariableSupply | Alternative to `SingletonInverseVariableListener`.
  FactTuple |
  FairSelectorProbabilityWeightFactory<Solution_> |
  FeasibilityScore<S extends FeasibilityScore> | Deprecated. Moved `FeasibilityScore.isFeasible()` up to `Score`.
  FieldAccessingSolutionCloner<Solution_> |
  FieldAccessingSolutionCloner.Unprocessed |
  FileProblemProvider<Solution_> |
  FilteringBiJoiner<A,​B> |
  FilteringEntitySelector |
  FilteringMoveSelector |
  FilteringPentaJoiner<A,​B,​C,​D,​E> |
  FilteringQuadJoiner<A,​B,​C,​D> |
  FilteringTriJoiner<A,​B,​C> |
  FilteringValueSelector |
  FinalistPodium | A podium gathers the finalists (the `LocalSearchMoveScope`s which might win) and picks the winner.
  FinalistPodiumType |
  FixedSelectorProbabilityWeightFactory<Solution_,​Selector_ extends Selector> |
  FixedTabuSizeStrategy |
  FlatteningHardSoftScoreComparator | Compares 2 `HardSoftScore`s based on the calculation of the hard multiplied by a weight, summed with the soft.
  FromEntityPropertyValueRangeDescriptor<Solution_> |
  FromEntityPropertyValueSelector<Solution_> | This is the common `ValueSelector` implementation.
  FromSolutionEntitySelector | This is the common `EntitySelector` implementation.
  FromSolutionPropertyValueRangeDescriptor<Solution_> |
  FromSolutionPropertyValueSelector | This is the common `ValueSelector` implementation.
  GenericMoveSelector | Abstract superclass for every generic `MoveSelector`.
  GenuineVariableDescriptor<Solution_> |
  GraphSupport |
  GreatDelugeAcceptor |
  GroupByCollectorProcessor<InTuple,​OutTuple> |
  HardMediumSoftBigDecimalScore | This `Score` is based on 3 levels of `BigDecimal` constraints: hard, medium and soft.
  HardMediumSoftBigDecimalScoreConverter |
  HardMediumSoftBigDecimalScoreDefinition |
  HardMediumSoftBigDecimalScoreHibernateType |
  HardMediumSoftBigDecimalScoreHolder |
  HardMediumSoftBigDecimalScoreInliner |
  HardMediumSoftBigDecimalScoreJacksonJsonDeserializer |
  HardMediumSoftBigDecimalScoreJacksonJsonSerializer |
  HardMediumSoftBigDecimalScoreJaxbXmlAdapter |
  HardMediumSoftBigDecimalScoreJsonbAdapter |
  HardMediumSoftBigDecimalScoreXStreamConverter |
  HardMediumSoftLongScore | This `Score` is based on 3 levels of long constraints: hard, medium and soft.
  HardMediumSoftLongScoreConverter |
  HardMediumSoftLongScoreDefinition |
  HardMediumSoftLongScoreHibernateType |
  HardMediumSoftLongScoreHolder |
  HardMediumSoftLongScoreInliner |
  HardMediumSoftLongScoreJacksonJsonDeserializer |
  HardMediumSoftLongScoreJacksonJsonSerializer |
  HardMediumSoftLongScoreJaxbXmlAdapter |
  HardMediumSoftLongScoreJsonbAdapter |
  HardMediumSoftLongScoreVerifier<Solution_> | To assert the constraints of a `SolverFactory` that uses a `HardMediumSoftLongScore`.
  HardMediumSoftLongScoreXStreamConverter |
  HardMediumSoftScore | This `Score` is based on 3 levels of int constraints: hard, medium and soft.
  HardMediumSoftScoreConverter |
  HardMediumSoftScoreDefinition |
  HardMediumSoftScoreHibernateType |
  HardMediumSoftScoreHolder |
  HardMediumSoftScoreInliner |
  HardMediumSoftScoreJacksonJsonDeserializer |
  HardMediumSoftScoreJacksonJsonSerializer |
  HardMediumSoftScoreJaxbXmlAdapter |
  HardMediumSoftScoreJsonbAdapter |
  HardMediumSoftScoreVerifier<Solution_> | To assert the constraints of a `SolverFactory` that uses a `HardMediumSoftScore`.
  HardMediumSoftScoreXStreamConverter |
  HardSoftBigDecimalScore | This `Score` is based on 2 levels of `BigDecimal` constraints: hard and soft.
  HardSoftBigDecimalScoreConverter |
  HardSoftBigDecimalScoreDefinition |
  HardSoftBigDecimalScoreHibernateType |
  HardSoftBigDecimalScoreHolder |
  HardSoftBigDecimalScoreInliner |
  HardSoftBigDecimalScoreJacksonJsonDeserializer |
  HardSoftBigDecimalScoreJacksonJsonSerializer |
  HardSoftBigDecimalScoreJaxbXmlAdapter |
  HardSoftBigDecimalScoreJsonbAdapter |
  HardSoftBigDecimalScoreVerifier<Solution_> | To assert the constraints of a `SolverFactory` that uses a `HardSoftBigDecimalScore`.
  HardSoftBigDecimalScoreXStreamConverter |
  HardSoftDoubleScore | Deprecated. Double-based scores are deprecated as floating point numbers are not associative (A + B + C == C + B + A) and therefore they are not compatible with incremental score calculation.
  HardSoftDoubleScoreDefinition | Deprecated. Double-based scores are deprecated as floating point numbers are not associative (A + B + C == C + B + A) and therefore they are not compatible with incremental score calculation.
  HardSoftDoubleScoreHibernateType | Deprecated.
  HardSoftDoubleScoreHolder | Deprecated. Double-based scores are deprecated as floating point numbers are not associative (A + B + C == C + B + A) and therefore they are not compatible with incremental score calculation.
  HardSoftDoubleScoreJacksonJsonDeserializer | Deprecated.
  HardSoftDoubleScoreJacksonJsonSerializer | Deprecated.
  HardSoftDoubleScoreJaxbXmlAdapter | Deprecated.
  HardSoftDoubleScoreJsonbAdapter | Deprecated.
  HardSoftDoubleScoreXStreamConverter | Deprecated. Double-based scores are deprecated as floating point numbers can't represent a decimal number correctly.
  HardSoftLongScore | This `Score` is based on 2 levels of long constraints: hard and soft.
  HardSoftLongScoreConverter |
  HardSoftLongScoreDefinition |
  HardSoftLongScoreHibernateType |
  HardSoftLongScoreHolder |
  HardSoftLongScoreInliner |
  HardSoftLongScoreJacksonJsonDeserializer |
  HardSoftLongScoreJacksonJsonSerializer |
  HardSoftLongScoreJaxbXmlAdapter |
  HardSoftLongScoreJsonbAdapter |
  HardSoftLongScoreVerifier<Solution_> | To assert the constraints of a `SolverFactory` that uses a `HardSoftLongScore`.
  HardSoftLongScoreXStreamConverter |
  HardSoftScore | This `Score` is based on 2 levels of int constraints: hard and soft.
  HardSoftScoreConverter |
  HardSoftScoreDefinition |
  HardSoftScoreHibernateType |
  HardSoftScoreHolder |
  HardSoftScoreInliner |
  HardSoftScoreJacksonJsonDeserializer |
  HardSoftScoreJacksonJsonSerializer |
  HardSoftScoreJaxbXmlAdapter |
  HardSoftScoreJsonbAdapter |
  HardSoftScoreVerifier<Solution_> | To assert the constraints of a `SolverFactory` that uses a `HardSoftScore`.
  HardSoftScoreXStreamConverter |
  HeuristicConfigPolicy |
  HighestScoreFinalistPodium | Default implementation of `FinalistPodium`.
  HillClimbingAcceptor |
  ImmutableLookUpStrategy |
  IncrementalScoreCalculator<Solution_,​Score_ extends Score> | Used for incremental java `Score` calculation.
  IncrementalScoreCalculator<Solution_> | Deprecated. in favor of `IncrementalScoreCalculator`
  IncrementalScoreDirector<Solution_> | Incremental java implementation of `ScoreDirector`, which only recalculates the `Score` of the part of the `working solution` that changed, instead of the going through the entire `PlanningSolution`.
  IncrementalScoreDirectorFactory<Solution_> | Incremental implementation of `ScoreDirectorFactory`.
  Indictment | Explains the `Score` of a `PlanningSolution`, from the opposite side than `ConstraintMatchTotal`.
  IndictmentScoreComparator | Deprecated. If you need this, it is trivial to implement via `Comparator.comparing(Function)`.
  IndictmentScoreTotalComparator | Deprecated. If you need this, it is trivial to implement via `Comparator.comparing(Function)`.
  InitializedValueSelector | Prevents creating chains without an anchor.
  InitializingScoreTrend | Bounds the possible `Score`s for a `PlanningSolution` as more and more variables are initialized (while the already initialized variables don't change).
  InitializingScoreTrendLevel | Bounds 1 score level of the possible `Score`s for a `PlanningSolution` as more and more variables are initialized (while the already initialized variables don't change).
  InnerBiConstraintStream<A,​B> |
  InnerConstraintFactory<Solution_> |
  InnerQuadConstraintStream<A,​B,​C,​D> |
  InnerScoreDirector<Solution_> |
  InnerScoreDirectorFactory<Solution_> |
  InnerTriConstraintStream<A,​B,​C> |
  InnerUniConstraintStream<A> |
  InstanceProblemProvider<Solution_> |
  IntValueRange |
  IntWeightedScoreImpacter |
  InverseRelationShadowVariable | Specifies that a bean property (or a field) is the inverse of a `PlanningVariable`, which implies it's a shadow variable.
  InverseRelationShadowVariableDescriptor<Solution_> |
  IterableSelector<T> |
  JaxbSolutionFileIO<Solution_> |
  Joiners | Creates an `BiJoiner`, `TriJoiner`, ... instance for use in `UniConstraintStream.join(Class, BiJoiner)`, ...
  JoinerType |
  KeyAsElementMapConverter |
  KieSolverAssemblerService | Only called for solver configuration files in a kjar that have the `ResourceType.SOLVER` extension.
  KOptMove<Solution_> |
  KOptMoveSelector |
  KOptMoveSelectorConfig | THIS IS VERY EXPERIMENTAL.
  LambdaBeanPropertyMemberAccessor | A `MemberAccessor` based on a getter and optionally a setter.
  LateAcceptanceAcceptor |
  LinearDistributionNearbyRandom | `P(x) = 2/m - 2x/m²`.
  ListIterable<T> | An extension on the `Iterable` interface that supports `ListIterable.listIterator()` and `ListIterable.listIterator(int)`.
  ListIterableSelector<T> |
  ListValueRange<T> |
  LocalSearchDecider<Solution_> |
  LocalSearchForager | Collects the moves and picks the next step from those for the `LocalSearchDecider`.
  LocalSearchForagerConfig |
  LocalSearchMoveScope<Solution_> |
  LocalSearchPhase<Solution_> | A `LocalSearchPhase` is a `Phase` which uses a Local Search algorithm, such as `Tabu Search`, `Simulated Annealing`, `Late Acceptance`, ...
  LocalSearchPhaseConfig |
  LocalSearchPhaseLifecycleListener<Solution_> |
  LocalSearchPhaseLifecycleListenerAdapter<Solution_> | An adapter for `LocalSearchPhaseLifecycleListener`.
  LocalSearchPhaseScope<Solution_> |
  LocalSearchPickEarlyType |
  LocalSearchStepScope<Solution_> |
  LocalSearchType |
  LongValueRange |
  LongWeightedScoreImpacter |
  LookUpManager |
  LookUpStrategy |
  LookUpStrategyResolver | This class is thread-safe.
  LookUpStrategyType | Determines how `ScoreDirector.lookUpWorkingObject(Object)` maps a `problem fact` or a `planning entity` from an external copy to the internal one.
  ManualEntityMimicRecorder |
  MemberAccessor | Fast and easy access to a `Member` of a bean, which is a property (with a getter and optional setter `Method`) or a `Field`.
  MemberAccessorFactory |
  MemberAccessorFactory.MemberAccessorType |
  MemoryUseMeasurement |
  MemoryUseProblemStatistic |
  MemoryUseStatisticPoint |
  MemoryUseSubSingleStatistic<Solution_> |
  MillisecondsSpentNumberFormat |
  MimicRecordingEntitySelector |
  MimicRecordingValueSelector |
  MimicReplayingEntitySelector |
  MimicReplayingValueSelector |
  MixedCheckBox |
  MixedCheckBox.MixedCheckBoxStatus |
  MovableChainedTrailingValueFilter<Solution_> |
  Move<Solution_> | A Move represents a change of 1 or more `PlanningVariable`s of 1 or more `PlanningEntity`s in the working `PlanningSolution`.
  MoveCountPerStepMeasurement |
  MoveCountPerStepProblemStatistic |
  MoveCountPerStepStatisticPoint |
  MoveCountPerStepSubSingleStatistic<Solution_> |
  MoveEvaluationOperation<Solution_> |
  MoveIteratorFactory<Solution_> | An interface to generate an `Iterator` of custom `Move`s.
  MoveIteratorFactoryConfig |
  MoveIteratorFactoryToMoveSelectorBridge | Bridges a `MoveIteratorFactory` to a `MoveSelector`.
  MoveListFactory<Solution_> | A simple interface to generate a `List` of custom `Move`s.
  MoveListFactoryConfig |
  MoveListFactoryToMoveSelectorBridge | Bridges a `MoveListFactory` to a `MoveSelector`.
  MoveSelector | Generates `Move`s.
  MoveSelectorConfig<C extends MoveSelectorConfig> | General superclass for `ChangeMoveSelectorConfig`, etc.
  MoveTabuAcceptor |
  MoveThreadOperation<Solution_> |
  MoveThreadRunner<Solution_> |
  MultiConstraintAssertion |
  MultiConstraintVerification<Solution_> |
  MultiThreadedConstructionHeuristicDecider<Solution_> |
  MultiThreadedLocalSearchDecider<Solution_> |
  MutationCounter<Solution_> |
  NaturalScoreComparator | Deprecated. If you need this, it is trivial to implement via `Comparator.comparing(Function)`.
  NearbyDistanceMatrix |
  NearbyDistanceMeter<O,​D> |
  NearbyRandom | Strategy pattern to select a index of a nearby ordered value range according to a probability distribution.
  NearbySelectionConfig |
  NearbySelectionDistributionType |
  NearEntityNearbyEntitySelector |
  NearEntityNearbyValueSelector |
  NoChangeCustomPhaseCommand | Makes no changes.
  NoChangeMove<Solution_> | Makes no changes.
  NoChangePhase<Solution_> | A `NoChangePhase` is a `Phase` which does nothing.
  NoChangePhaseConfig |
  NodeExplorationType |
  NoneBiJoiner<A,​B> |
  NoneLookUpStrategy |
  NonePentaJoiner<A,​B,​C,​D,​E> |
  NoneQuadJoiner<A,​B,​C,​D> |
  NoneTriJoiner<A,​B,​C> |
  NullableCountableValueRange<T> |
  NullValueReinitializeVariableEntityFilter<Solution_> | Behaves as if it was a UninitializedVariableEntityFilter, except when the variable is `PlanningVariable.nullable()`.
  OptaPlannerBenchmarkCli | Run this class from the command line interface to run a benchmarkConfigFile directly (using the normal classpath from the JVM).
  OptaPlannerJacksonModule | This class adds all Jackson serializers and deserializers.
  OptaPlannerJsonbConfig | This class adds all JSON-B adapters.
  OptaPlannerRuleEventListener |
  OptimisticBoundFirstNodeComparator | Investigate the nodes with a better optimistic bound first, then deeper nodes.
  OrCompositeTermination |
  OrderByMoveIndexBlockingQueue<Solution_> |
  OrderByMoveIndexBlockingQueue.MoveResult<Solution_> |
  OriginalOrderNodeComparator | Investigate deeper nodes first, in order.
  ParabolicDistributionNearbyRandom | `P(x) = 3(m - x)²/m³`.
  PartitionChangedEvent<Solution_> |
  PartitionChangedEvent.PartitionChangedEventType |
  PartitionChangeMove<Solution_> | Applies a new best solution from a partition child solver into the global working solution of the parent solver.
  PartitionedSearchPhase<Solution_> | A `PartitionedSearchPhase` is a `Phase` which uses a Partition Search algorithm.
  PartitionedSearchPhaseConfig |
  PartitionedSearchPhaseLifecycleListener<Solution_> |
  PartitionedSearchPhaseScope<Solution_> |
  PartitionedSearchStepScope<Solution_> |
  PartitionQueue<Solution_> | This class is thread-safe.
  PartitionSolver<Solution_> |
  PentaFunction<A,​B,​C,​D,​E,​R> | Represents a function that accepts five arguments and produces a result.
  PentaJoiner<A,​B,​C,​D,​E> | Created with `Joiners`.
  PentaPredicate<A,​B,​C,​D,​E> | Represents a predicate (boolean-valued function) of five arguments.
  Phase<Solution_> | A phase of a `Solver`.
  PhaseConfig<C extends PhaseConfig> |
  PhaseLifecycleListener<Solution_> |
  PhaseLifecycleListenerAdapter<Solution_> | An adapter for `PhaseLifecycleListener`.
  PhaseLifecycleSupport<Solution_> | Internal API.
  PhaseToSolverTerminationBridge |
  PickedMoveTypeBestScoreDiffStatisticPoint |
  PickedMoveTypeBestScoreDiffSubSingleStatistic<Solution_> |
  PickedMoveTypeStepScoreDiffStatisticPoint |
  PickedMoveTypeStepScoreDiffSubSingleStatistic<Solution_> |
  PillarChangeMove<Solution_> | This `Move` is not cacheable.
  PillarChangeMoveSelector |
  PillarChangeMoveSelectorConfig |
  PillarSelector | A pillar is a `List` of entities that have the same planning value for each (or a subset) of their planning values.
  PillarSelectorConfig |
  PillarSwapMove<Solution_> | This `Move` is not cacheable.
  PillarSwapMoveSelector |
  PillarSwapMoveSelectorConfig |
  PinEntityFilter<Solution_> | Filters out entities that return true for the `PlanningPin` annotated boolean member.
  PinningFilter<Solution_,​Entity_> | Decides on accepting or discarding a `PlanningEntity`.
  Placement<Solution_> |
  PlannerBenchmark | A planner benchmark that runs a number of single benchmarks.
  PlannerBenchmarkConfig | To read it from XML, use `PlannerBenchmarkConfig.createFromXmlResource(String)`.
  PlannerBenchmarkException | If at least one of the `SingleBenchmarkResult`s of a `PlannerBenchmark` fail, the `PlannerBenchmark` throws this exception after all `SingleBenchmarkResult`s are finished and the benchmark report has been written.
  PlannerBenchmarkFactory | Builds `PlannerBenchmark` instances.
  PlannerBenchmarkResult | Represents the benchmarks on multiple `Solver` configurations on multiple problem instances (data sets).
  PlanningEntity | Specifies that the class is a planning entity.
  PlanningEntity.NullDifficultyComparator | Workaround for annotation limitation in `PlanningEntity.difficultyComparatorClass()`.
  PlanningEntity.NullDifficultyWeightFactory | Workaround for annotation limitation in `PlanningEntity.difficultyWeightFactoryClass()`.
  PlanningEntity.NullMovableEntitySelectionFilter | Deprecated.
  PlanningEntity.NullPinningFilter | Workaround for annotation limitation in `PlanningEntity.pinningFilter()` ()}.
  PlanningEntityCollectionProperty | Specifies that a property (or a field) on a `PlanningSolution` class is a `Collection` of planning entities.
  PlanningEntityProperty | Specifies that a property (or a field) on a `PlanningSolution` class is a planning entity.
  PlanningId | Specifies that a bean property (or a field) is the id to match when `locating` an externalObject (often from another `Thread` or JVM).
  PlanningIdLookUpStrategy |
  PlanningPin | Specifies that a boolean property (or field) of a `PlanningEntity` determines if the planning entity is pinned.
  PlanningScore | Specifies that a property (or a field) on a `PlanningSolution` class holds the `Score` of that solution.
  PlanningScore.NullScoreDefinition | Workaround for annotation limitation in `PlanningScore.scoreDefinitionClass()`.
  PlanningSolution | Specifies that the class is a planning solution.
  PlanningSolution.NullSolutionCloner | Workaround for annotation limitation in `PlanningSolution.solutionCloner()`.
  PlanningVariable | Specifies that a bean property (or a field) can be changed and should be optimized by the optimization algorithms.
  PlanningVariable.NullReinitializeVariableEntityFilter | Deprecated.
  PlanningVariable.NullStrengthComparator | Workaround for annotation limitation in `PlanningVariable.strengthComparatorClass()`.
  PlanningVariable.NullStrengthWeightFactory | Workaround for annotation limitation in `PlanningVariable.strengthWeightFactoryClass()`.
  PlanningVariableGraphType |
  PlanningVariableReference | A reference to a genuine `PlanningVariable` or a shadow variable.
  PlanningVariableReference.NullEntityClass | Workaround for annotation limitation in `PlanningVariableReference.entityClass()`.
  PolymorphicScoreJacksonJsonDeserializer | Jackson binding support for a `Score` type (but not a subtype).
  PolymorphicScoreJacksonJsonSerializer | Jackson binding support for a `Score` type (but not a subtype).
  PooledEntityPlacer |
  PooledEntityPlacerConfig |
  ProbabilityEntitySelector |
  ProbabilityMoveSelector |
  ProbabilityValueSelector |
  ProblemBasedSubSingleStatistic<Solution_,​StatisticPoint_ extends StatisticPoint> |
  ProblemBenchmarkResult<Solution_> | Represents 1 problem instance (data set) benchmarked on multiple `Solver` configurations.
  ProblemBenchmarksConfig |
  ProblemFactChange<Solution_> | A ProblemFactChange represents a change in 1 or more problem facts of a `PlanningSolution`.
  ProblemFactCollectionProperty | Deprecated. In favor of `ProblemFactCollectionProperty`.
  ProblemFactCollectionProperty | Specifies that a property (or a field) on a `PlanningSolution` class is a `Collection` of problem facts.
  ProblemFactProperty | Deprecated. In favor of `ProblemFactProperty`.
  ProblemFactProperty | Specifies that a property (or a field) on a `PlanningSolution` class is a problem fact.
  ProblemProvider<Solution_> | Subclasses need to implement `equals()` and `hashCode()` which are used by `ProblemBenchmarksConfig.buildProblemBenchmarkList(org.optaplanner.core.config.SolverConfigContext, org.optaplanner.benchmark.impl.result.SolverBenchmarkResult, Solution_[])`.
  ProblemStatistic | 1 statistic of `ProblemBenchmarkResult`.
  ProblemStatisticType |
  PureSubSingleStatistic<Solution_,​StatisticPoint_ extends StatisticPoint> | 1 statistic of `SubSingleBenchmarkResult`.
  QuadConstraintCollector<A,​B,​C,​D,​ResultContainer_,​Result_> | Usually created with `ConstraintCollectors`.
  QuadConstraintStream<A,​B,​C,​D> | A `ConstraintStream` that matches four facts.
  QuadFunction<A,​B,​C,​D,​R> | Represents a function that accepts four arguments and produces a result.
  QuadJoiner<A,​B,​C,​D> | Created with `Joiners`.
  QuadPredicate<A,​B,​C,​D> | Represents a predicate (boolean-valued function) of four arguments.
  QuadTuple<A,​B,​C,​D> |
  QueuedEntityPlacer |
  QueuedEntityPlacerConfig |
  QueuedValuePlacer |
  QueuedValuePlacerConfig |
  RandomFactory |
  RandomType | Defines the pseudo random number generator.
  RandomUtils |
  ReflectionBeanPropertyMemberAccessor | A `MemberAccessor` based on a getter and optionally a setter.
  ReflectionFieldMemberAccessor | A `MemberAccessor` based on a field.
  ReflectionHelper | Avoids the usage of Introspector to work on Android too.
  ReflectionMethodMemberAccessor | A `MemberAccessor` based on a single read `Method`.
  ReflectionsKieVfsUrlType | Deprecated. for removal
  ReflectionsKieVfsUrlType.ReflectionsKieVfsDir |
  ReflectionsKieVfsUrlType.ReflectionsKieVfsFile |
  ReflectionsWorkaroundClasspathHelper | Deprecated. in favor of Quarkus extension or Spring Boot starter.
  ReinitializeVariableValueSelector | Prevents reassigning of already initialized variables during Construction Heuristics and Exhaustive Search.
  ReportHelper |
  RhinoJavaScriptPoolSizer | This class exists separately, as Rhino is an optional dependency and the imports would have immediately triggered `ClassNotFoundException`s if present on `ConfigUtils` directly.
  ScanAnnotatedClassesConfig | Deprecated. in favor of the Quarkus extension or Spring Boot starter which handle annotation scanning more efficiently.
  Score<Score_ extends Score> | A Score is result of the score function (AKA fitness function) on a single possible solution.
  ScoreBounder |
  ScoreCalculationCountTermination |
  ScoreCalculationSpeedProblemStatistic |
  ScoreCalculationSpeedStatisticPoint |
  ScoreCalculationSpeedSubSingleStatistic<Solution_> |
  ScoreDefinition<S extends Score<S>> | A ScoreDefinition knows how to compare `Score`s and what the perfect maximum/minimum `Score` is.
  ScoreDefinitionType |
  ScoreDifferencePercentage |
  ScoreDirector<Solution_> | The ScoreDirector holds the `working solution` and calculates the `Score` for it.
  ScoreDirectorFactory<Solution_> | Builds a `ScoreDirector`.
  ScoreDirectorFactoryConfig |
  ScoreFirstNodeComparator | Investigate the nodes with a better optimistic bound first, then deeper nodes.
  ScoreHolder<Score_ extends Score<Score_>> | This class is injected as a global by `DroolsScoreDirector` into the Drools DRL.
  ScoreImpactType |
  ScoreInliner<Score_ extends Score<Score_>> |
  ScoreJacksonJsonSerializer<Score_ extends Score<Score_>> | Deprecated. in favor of `HardSoftScoreJacksonJsonSerializer` and variants.
  ScoreManager<Solution_> | A stateless service to help calculate `Score`, `ConstraintMatchTotal`, `Indictment`, etc.
  ScoreSubSingleBenchmarkRankingComparator |
  ScoreUtils |
  SelectedCountLimitEntitySelector |
  SelectedCountLimitMoveSelector |
  SelectedCountLimitValueSelector |
  SelectionCacheLifecycleBridge |
  SelectionCacheLifecycleListener |
  SelectionCacheType | There is no INHERIT by design because 2 sequential caches provides no benefit, only memory overhead.
  SelectionFilter<Solution_,​T> | Decides on accepting or discarding a selection (which is a `PlanningEntity`, a planningValue, a `Move` or a `Selector`).
  SelectionIterator<S> |
  SelectionListIterator<S> |
  SelectionOrder | Defines in which order the elements or a selector are selected.
  SelectionProbabilityWeightFactory<Solution_,​T> | Create a probabilityWeight for a selection (which is a `PlanningEntity`, a planningValue, a `Move` or a `Selector`).
  SelectionSorter<Solution_,​T> | Decides the order of a `List` of selection (which is a `PlanningEntity`, a planningValue, a `Move` or a `Selector`).
  SelectionSorterOrder |
  SelectionSorterWeightFactory<Solution_,​T> | Creates a weight to decide the order of a collections of selections (a selection is a `PlanningEntity`, a planningValue, a `Move` or a `Selector`).
  Selector | General interface for `MoveSelector`, `EntitySelector` and `ValueSelector` which generates `Move`s or parts of them.
  SelectorConfig<C extends SelectorConfig> | General superclass for `MoveSelectorConfig`, `EntitySelectorConfig` and `ValueSelectorConfig`.
  SetupOperation<Solution_> |
  ShadowVariableDescriptor<Solution_> |
  ShufflingEntitySelector |
  ShufflingMoveSelector |
  ShufflingValueSelector |
  SimpleBigDecimalScore | This `Score` is based on 1 level of `BigDecimal` constraints.
  SimpleBigDecimalScoreConverter |
  SimpleBigDecimalScoreDefinition |
  SimpleBigDecimalScoreHibernateType |
  SimpleBigDecimalScoreHolder |
  SimpleBigDecimalScoreInliner |
  SimpleBigDecimalScoreJacksonJsonDeserializer |
  SimpleBigDecimalScoreJacksonJsonSerializer |
  SimpleBigDecimalScoreJaxbXmlAdapter |
  SimpleBigDecimalScoreJsonbAdapter |
  SimpleBigDecimalScoreVerifier<Solution_> | To assert the constraints of a `SolverFactory` that uses a `SimpleBigDecimalScore`.
  SimpleBigDecimalScoreXStreamConverter |
  SimpleDoubleScore | Deprecated. Double-based scores are deprecated as floating point numbers are not associative (A + B + C == C + B + A) and therefore they are not compatible with incremental score calculation.
  SimpleDoubleScoreDefinition | Deprecated. Double-based scores are deprecated as floating point numbers are not associative (A + B + C == C + B + A) and therefore they are not compatible with incremental score calculation.
  SimpleDoubleScoreHibernateType | Deprecated.
  SimpleDoubleScoreHolder | Deprecated. Double-based scores are deprecated as floating point numbers are not associative (A + B + C == C + B + A) and therefore they are not compatible with incremental score calculation.
  SimpleDoubleScoreJacksonJsonDeserializer | Deprecated.
  SimpleDoubleScoreJacksonJsonSerializer | Deprecated.
  SimpleDoubleScoreJaxbXmlAdapter | Deprecated.
  SimpleDoubleScoreJsonbAdapter | Deprecated.
  SimpleDoubleScoreXStreamConverter | Deprecated. Double-based scores are deprecated as floating point numbers can't represent a decimal number correctly.
  SimpleLongScore | This `Score` is based on 1 level of long constraints.
  SimpleLongScoreConverter |
  SimpleLongScoreDefinition |
  SimpleLongScoreHibernateType |
  SimpleLongScoreHolder |
  SimpleLongScoreInliner |
  SimpleLongScoreJacksonJsonDeserializer |
  SimpleLongScoreJacksonJsonSerializer |
  SimpleLongScoreJaxbXmlAdapter |
  SimpleLongScoreJsonbAdapter |
  SimpleLongScoreVerifier<Solution_> | To assert the constraints of a `SolverFactory` that uses a `SimpleLongScore`.
  SimpleLongScoreXStreamConverter |
  SimpleScore | This `Score` is based on 1 level of int constraints.
  SimpleScoreConverter |
  SimpleScoreDefinition |
  SimpleScoreHibernateType |
  SimpleScoreHolder |
  SimpleScoreInliner |
  SimpleScoreJacksonJsonDeserializer |
  SimpleScoreJacksonJsonSerializer |
  SimpleScoreJaxbXmlAdapter |
  SimpleScoreJsonbAdapter |
  SimpleScoreVerifier<Solution_> | To assert the constraints of a `SolverFactory` that uses a `SimpleScore`.
  SimpleScoreXStreamConverter |
  SimulatedAnnealingAcceptor | The time gradient implementation of simulated annealing.
  SingleBenchmarkResult | Represents 1 benchmark for 1 `Solver` configuration for 1 problem instance (data set).
  SingleBiJoiner<A,​B> |
  SingleConstraintAssertion |
  SingleConstraintVerification<Solution_> |
  SinglePentaJoiner<A,​B,​C,​D,​E> |
  SingleQuadJoiner<A,​B,​C,​D> |
  SingleStatisticType |
  SingletonInverseVariableDemand |
  SingletonInverseVariableListener |
  SingletonInverseVariableSupply | Currently only supported for chained variables, which guarantee that no 2 entities use the same planningValue.
  SingletonIterator<T> |
  SingleTriJoiner<A,​B,​C> |
  SmallScalingOrderedSet<E> | An ordered `Set` which is implemented as a `ArrayList` for a small `Set.size()` and a `LinkedHashSet` for a big `Set.size()`.
  Solution<S extends Score> | Deprecated. Use `PlanningScore`, `ProblemFactCollectionProperty` and `ProblemFactProperty` instead.
  SolutionCloner<Solution_> | Clones a `PlanningSolution` during planning.
  SolutionDescriptor<Solution_> |
  SolutionFileIO<Solution_> | Reads or writes a `PlanningSolution` from or to a `File`.
  SolutionPartitioner<Solution_> | Splits one `solution` into multiple partitions.
  SolutionTabuAcceptor | Deprecated.
  Solver<Solution_> | A Solver solves a planning problem and returns the best solution found.
  SolverBenchmarkBluePrintConfig |
  SolverBenchmarkBluePrintType |
  SolverBenchmarkConfig<Solution_> |
  SolverBenchmarkResult | Represents 1 `Solver` configuration benchmarked on multiple problem instances (data sets).
  SolverConfig | To read it from XML, use `SolverConfig.createFromXmlResource(String)`.
  SolverConfigContext | Do not use this class, it is an internal class.
  SolverEventListener<Solution_> |
  SolverEventSupport<Solution_> | Internal API.
  SolverFactory<Solution_> | Creates `Solver` instances.
  SolverJob<Solution_,​ProblemId_> | Represents a `problem` that has been submitted to solve on the `SolverManager`.
  SolverLifecycleListener<Solution_> |
  SolverLifecycleListenerAdapter<Solution_> | An adapter for `SolverLifecycleListener`.
  SolverManager<Solution_,​ProblemId_> | A SolverManager solves multiple planning problems of the same domain, asynchronously without blocking the calling thread.
  SolverManagerConfig |
  SolverRankingType |
  SolverRankingWeightFactory | Defines an interface for classes that will be used to rank solver benchmarks in order of their respective performance.
  SolverStatus | The status of `problem` submitted to the `SolverManager`.
  SortingEntitySelector |
  SortingMoveSelector |
  SortingValueSelector |
  SourcedVariableListener<Entity_> | Often used to externalize data for a `Supply` from the domain model itself.
  StatefulVariableListener<Entity_> | Deprecated. `VariableListener` can now be stateful too.
  StatisticPoint | Implementations must be immutable.
  StatisticType |
  StatisticUtils |
  StepCountingHillClimbingAcceptor |
  StepCountingHillClimbingType | Determines what increment the counter of Step Counting Hill Climbing.
  StepCountTermination |
  StepScoreProblemStatistic |
  StepScoreStatisticPoint |
  StepScoreSubSingleStatistic<Solution_> |
  StrategicOscillationByLevelFinalistPodium | Strategic oscillation, works well with Tabu search.
  SubChain | A subList out of a single chain.
  SubChainChangeMove<Solution_> |
  SubChainChangeMoveSelector |
  SubChainChangeMoveSelectorConfig |
  SubChainReversingChangeMove<Solution_> |
  SubChainReversingSwapMove<Solution_> | This `Move` is not cacheable.
  SubChainSelector |
  SubChainSelectorConfig |
  SubChainSwapMove<Solution_> | This `Move` is not cacheable.
  SubChainSwapMoveSelector |
  SubChainSwapMoveSelectorConfig |
  SubPillarConfigPolicy |
  SubPillarType |
  SubSingleBenchmarkRankBasedComparator |
  SubSingleBenchmarkResult | Represents 1 benchmark run for 1 Single Benchmark configuration for 1 `Solver` configuration for 1 problem instance (data set).
  SubSingleBenchmarkRunner<Solution_> |
  SubSingleStatistic<Solution_,​StatisticPoint_ extends StatisticPoint> | 1 statistic of `SubSingleBenchmarkResult`.
  Supply | Supplies something for 1 or multiple subsystems.
  SupplyManager | Provides a `Supply` for subsystems that submit a `Demand`.
  SwapMove<Solution_> |
  SwapMoveSelector |
  SwapMoveSelectorConfig |
  SwingUncaughtExceptionHandler |
  SwingUtils |
  TabuSizeStrategy |
  TailChainSwapMove<Solution_> | Also known as a 2-opt move.
  TailChainSwapMoveSelector | Also known as a 2-opt move selector.
  TailChainSwapMoveSelectorConfig | Also known as a 2-opt move selector config.
  TangoColorFactory |
  TemporalValueRange<Temporal_ extends Temporal & Comparable<? super Temporal_>> |
  Termination | A Termination determines when a `Solver` or a `Phase` should stop.
  TerminationCompositionStyle |
  TerminationConfig |
  TestGenCorruptedScoreException |
  TestGenCorruptedScoreReproducer | Detects corrupted score for the given journal.
  TestGenCorruptedVariableListenerReproducer | Detects variable listener corruption.
  TestGenDroolsExceptionReproducer | Reproduces the exception originally thrown by Drools during a call to KIE session.
  TestGenDroolsScoreDirector<Solution_> |
  TestGenDroolsScoreDirectorFactory<Solution_> |
  TestGenFact |
  TestGenFactField |
  TestGenHeadCuttingMutator<T> |
  TestGenInlineValue | Inline value is a value of a shadow variable.
  TestGenKieSessionDelete |
  TestGenKieSessionEventSupport |
  TestGenKieSessionFireAllRules |
  TestGenKieSessionInsert |
  TestGenKieSessionJournal |
  TestGenKieSessionListener |
  TestGenKieSessionOperation |
  TestGenKieSessionUpdate |
  TestGenNullFact |
  TestGenOriginalProblemReproducer |
  TestGenRemoveRandomBlockMutator<T> |
  TestGenValueFact |
  ThreadUtils |
  TimeMillisSpentTermination |
  ToIntQuadFunction<A,​B,​C,​D> | Represents a function that accepts four arguments and produces an int-valued result.
  ToIntTriFunction<A,​B,​C> | Represents a function that accepts three arguments and produces an int-valued result.
  ToLongQuadFunction<A,​B,​C,​D> | Represents a function that accepts four arguments and produces a long-valued result.
  ToLongTriFunction<A,​B,​C> | Represents a function that accepts three arguments and produces a long-valued result.
  TotalRankSolverRankingWeightFactory | This `SolverRankingWeightFactory` orders a `SolverBenchmarkResult` by how many times each of its `SingleBenchmarkResult`s beat `SingleBenchmarkResult`s of the other `SolverBenchmarkResult`.
  TotalRankSolverRankingWeightFactory.TotalRankSolverRankingWeight |
  TotalScoreSingleBenchmarkRankingComparator |
  TotalScoreSolverRankingComparator | This ranking `Comparator` orders a `SolverBenchmarkResult` by its total `Score`.
  TrendBasedScoreBounder |
  TriConstraintCollector<A,​B,​C,​ResultContainer_,​Result_> | Usually created with `ConstraintCollectors`.
  TriConstraintStream<A,​B,​C> | A `ConstraintStream` that matches three facts.
  TriConstraintStreamHelper<A,​B,​C,​D> |
  TriFunction<A,​B,​C,​R> | Represents a function that accepts three arguments and produces a result.
  TriJoiner<A,​B,​C> | Created with `Joiners`.
  TriPredicate<A,​B,​C> | Represents a predicate (boolean-valued function) of three arguments.
  TriTuple<A,​B,​C> |
  UndoScoreImpacter |
  UniConstraintCollector<A,​ResultContainer_,​Result_> | Usually created with `ConstraintCollectors`.
  UniConstraintStream<A> | A `ConstraintStream` that matches one fact.
  UniConstraintStreamHelper<A,​B> |
  UnimprovedStepCountTermination |
  UnimprovedTimeMillisSpentScoreDifferenceThresholdTermination |
  UnimprovedTimeMillisSpentTermination |
  UnionMoveSelector | A `CompositeMoveSelector` that unions 2 or more `MoveSelector`s.
  UnionMoveSelectorConfig |
  UpcomingSelectionIterator<S> | IMPORTANT: The constructor of any subclass of this abstract class, should never call any of its child `Selector`'s `Iterator.hasNext()` or `Iterator.next()` methods, because that can cause descendant `Selector`s to be selected too early (which breaks `MimicReplayingEntitySelector`).
  ValueMimicRecorder |
  ValueRange<T> | A ValueRange is a set of a values for a `PlanningVariable`.
  ValueRangeDescriptor<Solution_> |
  ValueRangeFactory | Factory for `ValueRange`.
  ValueRangeIterator<S> |
  ValueRangeProvider | Provides the planning values that can be used for a `PlanningVariable`.
  ValueRatioTabuSizeStrategy |
  ValueSelector | Selects values from the `ValueRangeProvider` for a `PlanningVariable` annotated property.
  ValueSelectorConfig |
  ValueSorterManner | The manner of sorting a values for a `PlanningVariable`.
  ValueTabuAcceptor |
  VariableDescriptor<Solution_> |
  VariableListener<Entity_> | Changes shadow variables when a genuine planning variable changes.
  VariableListener<Entity_> | Deprecated. in favor of `VariableListener`
  VariableListenerAdapter<Entity_> | Deprecated.
  VariableListenerNotifiable |
  VariableListenerNotification |
  VariableListenerNotificationType |
  VariableListenerSupport<Solution_> |
  WebsiteResourceUtils |
  WeightedScoreImpacter |
  WeightFactorySelectionSorter<Solution_,​T> | Sorts a selection `List` based on a `SelectionSorterWeightFactory`.
  WorkingSolutionAware<T> |
  WorstScoreSolverRankingComparator | This ranking `Comparator` orders a `SolverBenchmarkResult` by its worst `Score`.
  XStreamConfigReader |
  XStreamSolutionFileIO<Solution_> | Security warning: only use this class with XML files from a trusted source, because `XStream` is configured to allow all permissions, which can be exploited if the XML comes from an untrusted source.