All Classes and Interfaces
Class
Description
Abstract superclass for
Acceptor
.Deprecated, for removal: This API element is subject to removal in a future version.
Abstract superclass that combines multiple
Termination
s.A config class is a user-friendly, validating configuration class that maps XML input.
Abstract superclass for
CountableValueRange
(and therefore ValueRange
).It is expected that if two instances share the same properties,
they are
equal
to one another.Abstract superclass for
EntityPlacer
.Abstract superclass for
FinalistPodium
.This and its subclasses exist so that Gizmo only needs to generate code where it is necessary for it to be generated.
Abstract superclass for
LocalSearchForager
.Abstract superclass for
Move
.Abstract superclass for
MoveSelector
.AbstractMoveSelectorFactory<Solution_,MoveSelectorConfig_ extends MoveSelectorConfig<MoveSelectorConfig_>>
Calculating
NearbyDistanceMatrix
is very expensive,
therefore we want to reuse it as much as possible.AbstractNearbySelector<Solution_,ChildSelector_ extends PhaseLifecycleListener<Solution_>,ReplayingSelector_ extends PhaseLifecycleListener<Solution_>>
Deprecated, for removal: This API element is subject to removal in a future version.
Implement
Score
instead.Abstract superclass for
ScoreDefinition
.AbstractScoreDirector<Solution_,Score_ extends Score<Score_>,Factory_ extends AbstractScoreDirectorFactory<Solution_,Score_>>
Abstract superclass for
ScoreDirector
.Abstract superclass for
ScoreDirectorFactory
.Deprecated, for removal: This API element is subject to removal in a future version.
This class has been deprecated as the Hibernate 6 does not provide full backward compatibility
for the
CompositeUserType
.Abstract superclass for
ScoreHolder
.Unlike
AbstractScoreHolder.IntMatchExecutor
and its counterparts, this is not being used on CS-D code paths.Jackson binding support for a
Score
type.Jackson binding support for a
Score
subtype.JAXB binding support for a
Score
type.JSON-B binding support for a
Score
type.Deprecated, for removal: This API element is subject to removal in a future version.
Score DRL is deprecated and will be removed in a future major version of OptaPlanner.
Deprecated, for removal: This API element is subject to removal in a future version.
Prefer JAXB for serialization into XML.
Abstract superclass for
Selector
.Common code between
DefaultSolver
and child solvers (such as PartitionSolver
).Abstract superclass for all Tabu Acceptors.
Abstract superclass for
Termination
.Abstract superclass for
ValueRange
that is not a CountableValueRange
).Some
Demand
implementation classes are defined by their VariableDescriptor
and nothing else.Common ancestor for specialized planning variable listeners.
A
LocalSearchForager
which forages accepted moves and ignores unaccepted moves.An Acceptor accepts or rejects a selected
Move
.Specifies that a bean property (or a field) is the anchor of a chained
PlanningVariable
, which implies it's a shadow
variable.Only supported for chained variables.
Only selects values from the child value selector that are assigned.
Determines if and how to automatically presume
ConstraintConfigurationProvider
, ProblemFactCollectionProperty
, ProblemFactProperty
,
PlanningEntityCollectionProperty
, PlanningEntityProperty
and PlanningScore
annotations
on PlanningSolution
members based from the member type.Concurrency notes:
Condition predicate on (
BasicPlumbingTermination.problemFactChangeQueue
is not empty or BasicPlumbingTermination.terminatedEarly
is true).This
Score
is based on n levels of BigDecimal
constraints.Deprecated, for removal: This API element is subject to removal in a future version.
This class has been deprecated as the Hibernate 6 does not provide full backward compatibility
for the
CompositeUserType
.Deprecated, for removal: This API element is subject to removal in a future version.
Score DRL is deprecated and will be removed in a future major version of OptaPlanner.
Deprecated, for removal: This API element is subject to removal in a future version.
Score DRL is deprecated and will be removed in a future major version of OptaPlanner.
Deprecated, for removal: This API element is subject to removal in a future version.
Prefer JAXB for serialization into XML.
This
Score
is based on n levels of long constraints.Deprecated.
This class has been deprecated as the Hibernate 6 does not provide full backward compatibility
for the
CompositeUserType
.Deprecated, for removal: This API element is subject to removal in a future version.
Score DRL is deprecated and will be removed in a future major version of OptaPlanner.
Deprecated, for removal: This API element is subject to removal in a future version.
Score DRL is deprecated and will be removed in a future major version of OptaPlanner.
Deprecated, for removal: This API element is subject to removal in a future version.
Prefer JAXB for serialization into XML.
This
Score
is based on n levels of int constraints.Deprecated, for removal: This API element is subject to removal in a future version.
This class has been deprecated as the Hibernate 6 does not provide full backward compatibility
for the
CompositeUserType
.Deprecated, for removal: This API element is subject to removal in a future version.
Score DRL is deprecated and will be removed in a future major version of OptaPlanner.
Deprecated, for removal: This API element is subject to removal in a future version.
Score DRL is deprecated and will be removed in a future major version of OptaPlanner.
Deprecated, for removal: This API element is subject to removal in a future version.
Prefer JAXB for serialization into XML.
Delivered when the
best solution
changes during solving.Remembers the
best solution
that a Solver
encounters.Used to build a
Constraint
out of a BiConstraintStream
, applying optional configuration.Usually created with
ConstraintCollectors
.A
ConstraintStream
that matches two facts.Created with
Joiners
.Investigate nodes layer by layer: investigate shallower nodes first.
This
Iterator
does not shuffle and is never ending.A
EntitySelector
that caches the result of its child EntitySelector
.A
MoveSelector
that caches the result of its child MoveSelector
.A
ValueSelector
that caches the result of its child ValueSelector
.A
CompositeMoveSelector
that Cartesian products 2 or more MoveSelector
s.Exists so that particular user-provided classes,
which are instantiated by OptaPlanner from
SolverConfig
,
only ever have one instance.To get an instance, demand a
CollectionInverseVariableDemand
from InnerScoreDirector.getSupplyManager()
.Sorts a selection
List
based on a Comparator
.Combines several acceptors into one.
A CompositeMove is composed out of multiple other moves.
Abstract superclass for every composite
MoveSelector
.This represents a single constraint in the
ConstraintStream
API
that impacts the Score
.Creates an
UniConstraintCollector
, BiConstraintCollector
, ...Allows end users to change the constraint weights, by not hard coding them.
Specifies that a property (or a field) on a
PlanningSolution
class is a ConstraintConfiguration
.The factory to create every
ConstraintStream
(for example with ConstraintFactory.forEach(Class)
)
which ends in a Constraint
returned by ConstraintProvider.defineConstraints(ConstraintFactory)
.Marker interface for constraint justifications.
Retrievable from
ConstraintMatchTotal.getConstraintMatchSet()
and Indictment.getConstraintMatchSet()
.Allows a
IncrementalScoreCalculator
to report ConstraintMatchTotal
s
for explaining a score (= which score constraints match for how much)
and also for score corruption analysis.Used by Constraint Streams'
Score
calculation.Implementations must be thread-safe, in order to enable parallel test execution.
Specifies that a bean property (or a field) set the constraint weight and score level of a constraint.
A
ConstructionHeuristicPhase
is a Phase
which uses a construction heuristic algorithm,
such as First Fit, First Fit Decreasing, Cheapest Insertion, ...An adapter for
ConstructionHeuristicPhaseLifecycleListener
.A
ValueRange
that is ending.Deprecated, for removal: This API element is subject to removal in a future version.
Deprecated in favor of
ShadowVariable
(normal shadow variable with CustomShadowVariable.variableListenerClass()
)
and PiggybackShadowVariable
(if CustomShadowVariable.variableListenerRef()
is used).Workaround for annotation limitation in
CustomShadowVariable.variableListenerClass()
.Marks a problem fact class as being required to be deep planning cloned.
Default implementation of
ConstraintJustification
, returned by ConstraintMatch.getJustification()
unless the user defined a custom justification mapping.DefaultConstraintVerifier<ConstraintProvider_ extends ConstraintProvider,Solution_,Score_ extends Score<Score_>>
Default implementation of
ConstructionHeuristicPhase
.Default implementation of
ExhaustiveSearchPhase
.Default implementation of
LocalSearchPhase
.Default implementation of
PartitionedSearchPhase
.Deprecated, for removal: This API element is subject to removal in a future version.
Use
DefaultSolutionManager
instead.Default implementation for
Solver
.Similar to
Executors
's DefaultThreadFactory, but allows settings a namePrefix.This is the common
SubChainSelector
implementation.A subsystem submits a demand for a
Supply
.Investigate deeper nodes first.
Determines how members (fields and methods) of the domain (for example the
planner variable
)
are accessed.Note: Floating point numbers (float, double) cannot represent a decimal number correctly.
Drools implementation of
ScoreDirector
, which directs the Rule Engine to calculate the Score
of the working solution
.Drools implementation of
ScoreDirectorFactory
.Used for easy java
Score
calculation.Easy java implementation of
ScoreDirector
, which recalculates the Score
of the working solution
every time.Easy implementation of
ScoreDirectorFactory
.Selects destinations for list variable change moves.
Points to a list variable position specified by an entity and an index.
A notifiable listening for
EntityNotification
s.General superclass for
QueuedEntityPlacerConfig
and PooledEntityPlacerConfig
.Selects instances of 1
PlanningEntity
annotated class.The manner of sorting
PlanningEntity
instances.The environment mode also allows you to detect common bugs in your implementation.
A
ExhaustiveSearchPhase
is a Phase
which uses an exhaustive algorithm, such as Brute Force.Alternative to
AnchorVariableListener
.Alternative to
CollectionInverseVariableListener
.Alternative to
IndexVariableListener
.Alternative to
SingletonInverseVariableListener
.Alternative to
SingletonListInverseVariableListener
.A podium gathers the finalists (the
LocalSearchMoveScope
s which might win) and picks the winner.This is the common
ValueSelector
implementation.This is the common
EntitySelector
implementation.This is the common
ValueSelector
implementation.Abstract superclass for every generic
MoveSelector
.Loads a class if we have the Gizmo-generated bytecode for it,
otherwise the current
Thread
's context ClassLoader
.Generates the bytecode for the MemberAccessor of a particular Member
Describe and provide simplified/unified access for
Member
.This
Score
is based on 3 levels of BigDecimal
constraints: hard, medium and soft.Deprecated, for removal: This API element is subject to removal in a future version.
This class has been deprecated as the Hibernate 6 does not provide full backward compatibility
for the
CompositeUserType
.Deprecated, for removal: This API element is subject to removal in a future version.
Score DRL is deprecated and will be removed in a future major version of OptaPlanner.
Deprecated, for removal: This API element is subject to removal in a future version.
Prefer JAXB for serialization into XML.
This
Score
is based on 3 levels of long constraints: hard, medium and soft.Deprecated, for removal: This API element is subject to removal in a future version.
This class has been deprecated as the Hibernate 6 does not provide full backward compatibility
for the
CompositeUserType
.Deprecated, for removal: This API element is subject to removal in a future version.
Score DRL is deprecated and will be removed in a future major version of OptaPlanner.
Deprecated, for removal: This API element is subject to removal in a future version.
Score DRL is deprecated and will be removed in a future major version of OptaPlanner.
Deprecated, for removal: This API element is subject to removal in a future version.
Prefer JAXB for serialization into XML.
This
Score
is based on 3 levels of int constraints: hard, medium and soft.Deprecated, for removal: This API element is subject to removal in a future version.
This class has been deprecated as the Hibernate 6 does not provide full backward compatibility
for the
CompositeUserType
.Deprecated, for removal: This API element is subject to removal in a future version.
Score DRL is deprecated and will be removed in a future major version of OptaPlanner.
Deprecated, for removal: This API element is subject to removal in a future version.
Score DRL is deprecated and will be removed in a future major version of OptaPlanner.
Deprecated, for removal: This API element is subject to removal in a future version.
Prefer JAXB for serialization into XML.
This
Score
is based on 2 levels of BigDecimal
constraints: hard and soft.Deprecated, for removal: This API element is subject to removal in a future version.
This class has been deprecated as the Hibernate 6 does not provide full backward compatibility
for the
CompositeUserType
.Deprecated, for removal: This API element is subject to removal in a future version.
Score DRL is deprecated and will be removed in a future major version of OptaPlanner.
Deprecated, for removal: This API element is subject to removal in a future version.
Score DRL is deprecated and will be removed in a future major version of OptaPlanner.
Deprecated, for removal: This API element is subject to removal in a future version.
Prefer JAXB for serialization into XML.
This
Score
is based on 2 levels of long constraints: hard and soft.Deprecated, for removal: This API element is subject to removal in a future version.
This class has been deprecated as the Hibernate 6 does not provide full backward compatibility
for the
CompositeUserType
.Deprecated, for removal: This API element is subject to removal in a future version.
Score DRL is deprecated and will be removed in a future major version of OptaPlanner.
Deprecated, for removal: This API element is subject to removal in a future version.
Score DRL is deprecated and will be removed in a future major version of OptaPlanner.
Deprecated, for removal: This API element is subject to removal in a future version.
Prefer JAXB for serialization into XML.
This
Score
is based on 2 levels of int constraints: hard and soft.Deprecated, for removal: This API element is subject to removal in a future version.
This class has been deprecated as the Hibernate 6 does not provide full backward compatibility
for the
CompositeUserType
.Deprecated, for removal: This API element is subject to removal in a future version.
Score DRL is deprecated and will be removed in a future major version of OptaPlanner.
Deprecated, for removal: This API element is subject to removal in a future version.
Score DRL is deprecated and will be removed in a future major version of OptaPlanner.
Deprecated, for removal: This API element is subject to removal in a future version.
Prefer JAXB for serialization into XML.
Default implementation of
FinalistPodium
.Bendable score is a
Score
whose IBendableScore.hardLevelsSize()
and IBendableScore.softLevelsSize()
are only known at runtime.Used for incremental java
Score
calculation.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
.Incremental implementation of
ScoreDirectorFactory
.Specifies that a bean property (or a field) is an index of this planning value in another entity's
PlanningListVariable
.Only supported for
list variables
.Prevents creating chains without an anchor.
Bounds the possible
Score
s for a PlanningSolution
as more and more variables are initialized
(while the already initialized variables don't change).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).Specifies that a bean property (or a field) is the inverse of a
PlanningVariable
, which implies it's a shadow
variable.Used via
ServiceLoader
so that the constraint streams implementation can be fully split from its API,
without getting split packages or breaking backwards compatibility.THIS CLASS IS EXPERIMENTAL AND UNSUPPORTED.
A
MemberAccessor
based on a getter and optionally a setter.P(x) = 2/m - 2x/m²
.An ordered
Set
which is implemented as a ArrayList
for a small Set.size()
and a LinkedHashSet
for a big Set.size()
.Moves an element of a
list variable
.An extension on the
Iterable
interface that supports ListIterable.listIterator()
and ListIterable.listIterator(int)
.Swaps two elements of a
list variable
.A listener sourced on a
PlanningListVariable
.Collects the moves and picks the next step from those for the
LocalSearchDecider
.A
LocalSearchPhase
is a Phase
which uses a Local Search algorithm,
such as Tabu Search
, Simulated Annealing
,
Late Acceptance
, ...An adapter for
LocalSearchPhaseLifecycleListener
.This class is thread-safe.
Determines how
ScoreDirector.lookUpWorkingObject(Object)
maps
a problem fact
or a planning entity
from an external copy to the internal one.Supply whose value is pre-computed and cached the first time
MemoizingSupply.read()
is called.Use for unit-testing
ProblemChange
s.A Move represents a change of 1 or more
PlanningVariable
s of 1 or more PlanningEntity
s
in the working PlanningSolution
.Bridges a
MoveIteratorFactory
to a MoveSelector
.Bridges a
MoveListFactory
to a MoveSelector
.Generates
Move
s.General superclass for
ChangeMoveSelectorConfig
, etc.A list that delegates get and set operations to multiple delegates.
A mutable key-value tuple.
A mutable tuple of four values.
A mutable tuple of three values.
Implementations are expected to be stateless.
Strategy pattern to select a index of a nearby ordered value range according to a probability distribution.
Specifies that a bean property (or a field) references the next element in the same
PlanningListVariable
.Makes no changes.
Makes no changes.
A
NoChangePhase
is a Phase
which does nothing.A notifiable’s purpose is to execute variable listener methods.
A notification represents some kind of change of a planning variable.
Run this class from the command line interface
to run a benchmarkConfigFile directly (using the normal classpath from the JVM).
This class adds all Jackson serializers and deserializers.
This class adds all JSON-B adapters.
Investigate the nodes with a better optimistic bound first, then deeper nodes.
Investigate deeper nodes first, in order.
An immutable key-value tuple.
P(x) = 3(m - x)²/m³
.Applies a new best solution from a partition child solver into the global working solution of the parent solver.
A
PartitionedSearchPhase
is a Phase
which uses a Partition Search algorithm.This class is thread-safe.
Represents a function that accepts five arguments and produces a result.
Created with
Joiners
.Represents a predicate (boolean-valued function) of five arguments.
A phase of a
Solver
.An adapter for
PhaseLifecycleListener
.Internal API.
Specifies that a bean property (or a field) is a custom shadow variable that is updated by another shadow variable's
variable listener.
Workaround for annotation limitation in
PiggybackShadowVariable.shadowEntityClass()
.This
Move
is not cacheable.A pillar is a
List
of entities that have the same planning value for each (or a subset)
of their planning values.This
Move
is not cacheable.Filters out entities that return true for the
PlanningPin
annotated boolean member.Decides on accepting or discarding a
PlanningEntity
.A planner benchmark that runs a number of single benchmarks.
To read it from XML, use
PlannerBenchmarkConfig.createFromXmlResource(String)
.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.Builds
PlannerBenchmark
instances.Represents the benchmarks on multiple
Solver
configurations on multiple problem instances (data sets).Specifies that the class is a planning entity.
Workaround for annotation limitation in
PlanningEntity.difficultyComparatorClass()
.Workaround for annotation limitation in
PlanningEntity.difficultyWeightFactoryClass()
.Workaround for annotation limitation in
PlanningEntity.pinningFilter()
()}.Specifies that a property (or a field) on a
PlanningSolution
class is a Collection
of planning entities.Specifies that a property (or a field) on a
PlanningSolution
class is a planning entity.Specifies that a bean property (or a field) can be changed and should be optimized by the optimization algorithms.
Specifies that a boolean property (or field) of a
PlanningEntity
determines if the planning entity is pinned.Specifies that a property (or a field) on a
PlanningSolution
class holds the Score
of that solution.Deprecated, for removal: This API element is subject to removal in a future version.
Specifies that the class is a planning solution.
Workaround for annotation limitation in
PlanningSolution.solutionCloner()
.Specifies that a bean property (or a field) can be changed and should be optimized by the optimization algorithms.
Workaround for annotation limitation in
PlanningVariable.strengthComparatorClass()
.Workaround for annotation limitation in
PlanningVariable.strengthWeightFactoryClass()
.A reference to a genuine
PlanningVariable
or a shadow variable.Workaround for annotation limitation in
PlanningVariableReference.entityClass()
.Jackson binding support for a
Score
type (but not a subtype).Jackson binding support for a
Score
type (but not a subtype).Specifies that a bean property (or a field) references the previous element in the same
PlanningListVariable
.Represents 1 problem instance (data set) benchmarked on multiple
Solver
configurations.A ProblemChange represents a change in one or more
planning entities
or problem facts
of a PlanningSolution
.Provides a layer of abstraction over
ProblemChange
and the
deprecated ProblemFactChange
to preserve backward compatibility.Allows external changes to the
working solution
.Deprecated, for removal: This API element is subject to removal in a future version.
Prefer
ProblemChange
.Specifies that a property (or a field) on a
PlanningSolution
class is a Collection
of problem facts.Specifies that a property (or a field) on a
PlanningSolution
class is a problem fact.Subclasses need to implement
equals()
and hashCode()
which are used by ProblemBenchmarksFactory.buildProblemBenchmarkList(org.optaplanner.benchmark.impl.result.SolverBenchmarkResult, Solution_[])
.1 statistic of
ProblemBenchmarkResult
.1 statistic of
SubSingleBenchmarkResult
.Used to build a
Constraint
out of a QuadConstraintStream
, applying optional configuration.Usually created with
ConstraintCollectors
.A
ConstraintStream
that matches four facts.Represents a function that accepts four arguments and produces a result.
Created with
Joiners
.Represents a predicate (boolean-valued function) of four arguments.
An immutable tuple of four values.
Defines the pseudo random number generator.
A
MemberAccessor
based on a getter and optionally a setter.A
MemberAccessor
based on a field.Avoids the usage of Introspector to work on Android too.
A
MemberAccessor
based on a single read Method
.Prevents reassigning of already initialized variables during Construction Heuristics and Exhaustive Search.
A Score is result of the score function (AKA fitness function) on a single possible solution.
The ScoreDirector holds the
working solution
and calculates the Score
for it.Builds a
ScoreDirector
.All
ScoreDirectorFactory
implementations must provide an implementation of this interface,
as well as an entry in META-INF/services/org.optaplanner.core.impl.score.director.ScoreDirectorFactoryService file.Build by
SolutionManager.explain(Object)
to hold ConstraintMatchTotal
s and Indictment
s
necessary to explain the quality of a particular Score
.Investigate the nodes with a better optimistic bound first, then deeper nodes.
Deprecated, for removal: This API element is subject to removal in a future version.
Score DRL is deprecated and will be removed in a future major version of OptaPlanner.
Deprecated, for removal: This API element is subject to removal in a future version.
Use
SolutionManager
instead.There is no INHERIT by design because 2 sequential caches provides no benefit, only memory overhead.
Decides on accepting or discarding a selection,
which is either a
PlanningEntity
, a planning value, a Move
or a Selector
).Defines in which order the elements or a selector are selected.
Create a probabilityWeight for a selection
(which is a
PlanningEntity
, a planningValue, a Move
or a Selector
).Decides the order of a
List
of selection
(which is a PlanningEntity
, a planningValue, a Move
or a Selector
).Creates a weight to decide the order of a collections of selections
(a selection is a
PlanningEntity
, a planningValue, a Move
or a Selector
).General interface for
MoveSelector
, EntitySelector
and ValueSelector
which generates Move
s or parts of them.Specifies that a bean property (or a field) is a custom shadow variable of 1 or more source variables.
Defines several
ShadowVariable
annotations on the same element.Workaround for annotation limitation in
ShadowVariable.sourceEntityClass()
.Serves for detecting shadow variables' corruption.
This
Score
is based on 1 level of BigDecimal
constraints.Deprecated, for removal: This API element is subject to removal in a future version.
This class has been deprecated as the Hibernate 6 does not provide full backward compatibility
for the
CompositeUserType
.Deprecated, for removal: This API element is subject to removal in a future version.
Score DRL is deprecated and will be removed in a future major version of OptaPlanner.
Deprecated, for removal: This API element is subject to removal in a future version.
Score DRL is deprecated and will be removed in a future major version of OptaPlanner.
Deprecated, for removal: This API element is subject to removal in a future version.
Prefer JAXB for serialization into XML.
This
Score
is based on 1 level of long constraints.Deprecated, for removal: This API element is subject to removal in a future version.
This class has been deprecated as the Hibernate 6 does not provide full backward compatibility
for the
CompositeUserType
.Deprecated, for removal: This API element is subject to removal in a future version.
Score DRL is deprecated and will be removed in a future major version of OptaPlanner.
Deprecated, for removal: This API element is subject to removal in a future version.
Score DRL is deprecated and will be removed in a future major version of OptaPlanner.
Deprecated, for removal: This API element is subject to removal in a future version.
Prefer JAXB for serialization into XML.
This
Score
is based on 1 level of int constraints.Deprecated, for removal: This API element is subject to removal in a future version.
This class has been deprecated as the Hibernate 6 does not provide full backward compatibility
for the
CompositeUserType
.Deprecated, for removal: This API element is subject to removal in a future version.
Score DRL is deprecated and will be removed in a future major version of OptaPlanner.
Deprecated, for removal: This API element is subject to removal in a future version.
Score DRL is deprecated and will be removed in a future major version of OptaPlanner.
Deprecated, for removal: This API element is subject to removal in a future version.
Prefer JAXB for serialization into XML.
The time gradient implementation of simulated annealing.
Represents 1 benchmark for 1
Solver
configuration for 1 problem instance (data set).Currently only supported for chained variables and
list variables
,
which guarantee that no 2 entities use the same planningValue.Clones a
PlanningSolution
during planning.Reads or writes a
PlanningSolution
from or to a File
.Splits one
solution
into multiple partitions.To fully de-normalize a planning solution freshly loaded from persistent storage,
two operations need to happen:
Variable listeners need to run,
reading the state of all entities and computing values for their shadow variables.
Score needs to be calculated and stored on the planning solution.
A Solver solves a planning problem and returns the best solution found.
Represents 1
Solver
configuration benchmarked on multiple problem instances (data sets).To read it from XML, use
SolverConfig.createFromXmlResource(String)
.Internal API.
Creates
Solver
instances.Represents a
problem
that has been submitted to solve on the SolverManager
.An adapter for
SolverLifecycleListener
.A SolverManager solves multiple planning problems of the same domain,
asynchronously without blocking the calling thread.
Defines an interface for classes that will be used to rank solver benchmarks
in order of their respective performance.
The status of
problem
submitted to the SolverManager
.Used to externalize data for a
Supply
from the domain model itself.A
SolverStatistic
that has no state or event listenerImplementations must be immutable.
Determines what increment the counter of Step Counting Hill Climbing.
Strategic oscillation, works well with Tabu search.
A subList out of a single chain.
This
Move
is not cacheable.This
Move
is not cacheable.Represents 1 benchmark run for 1 Single Benchmark configuration for 1
Solver
configuration for 1 problem
instance (data set).1 statistic of
SubSingleBenchmarkResult
.Supplies something for 1 or multiple subsystems.
Also known as a 2-opt move.
Also known as a 2-opt move selector.
Also known as a 2-opt move selector config.
Represents a function that accepts four arguments and produces an int-valued result.
Represents a function that accepts three arguments and produces an int-valued result.
Represents a function that accepts four arguments and produces a long-valued result.
Represents a function that accepts three arguments and produces a long-valued result.
This
SolverRankingWeightFactory
orders a SolverBenchmarkResult
by how many times each of its
SingleBenchmarkResult
s beat SingleBenchmarkResult
s of the other SolverBenchmarkResult
.Used to build a
Constraint
out of a TriConstraintStream
, applying optional configuration.Usually created with
ConstraintCollectors
.A
ConstraintStream
that matches three facts.Represents a function that accepts three arguments and returns no result.
Represents a function that accepts three arguments and produces a result.
Created with
Joiners
.An immutable tuple of three values.
Represents a predicate (boolean-valued function) of three arguments.
Only selects values from the child value selector that are unassigned.
Used to build a
Constraint
out of a UniConstraintStream
, applying optional configuration.Usually created with
ConstraintCollectors
.A
ConstraintStream
that matches one fact.A
CompositeMoveSelector
that unions 2 or more MoveSelector
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
).A ValueRange is a set of a values for a
PlanningVariable
.Factory for
ValueRange
.Provides the planning values that can be used for a
PlanningVariable
.Selects values from the
ValueRangeProvider
for a PlanningVariable
annotated property.The manner of sorting a values for a
PlanningVariable
.A listener sourced on a basic
PlanningVariable
.This class is not thread-safe.
Holds a variable listener and all its source variable descriptors.
Sorts a selection
List
based on a SelectionSorterWeightFactory
.This class merges solver.xsd and benchmark.xsd into a single XML Schema file that contains both Solver and Benchmark XML
types under a single namespace of the benchmark.xsd.
Deprecated, for removal: This API element is subject to removal in a future version.
Prefer JAXB for serialization into XML.
IBendableScore
instead.